TakWolf's Game Engine (tge)
A lightweight cross-platform 2D game framework written in pure Rust and based on OpenGL 3.3+.
Inspired by LÖVE.
Tge is currently in a very early stage of development. The API may be changed. Until the version to 0.1.0
.
Features
- 2D only and use pixel unit.
- Hardware-accelerated rendering base on OpenGL.
- Automatically process rendering batching.
- Dynamic font rendering with text layout.
- Interface for handling keyboard, mouse, touch, touchpad and gamepad.
- Audio play. (TODO)
Non goals
- 3D.
- Visual editor.
The following does not contain, but can easily work with other crates:
- Entity Component System (ECS).
- Physics engines and collision detection.
- Network.
Usage
Add the dependency line to your Cargo.toml
file:
[]
= "0.0.3"
To release performance, also add the following configs:
[]
= 3
Then create a basic template. Here is the minimal example that will create a window:
use *;
That is!
You can also see the examples/
directory to learn other examples.
Performance
See the example bunny_mark
and sprites
.
TODO
The following is working in progress:
- blend
- program uniform
- screenshot
- virtual assets path
- assets load async
- audio
- document
License
MIT OR Apache-2.0