Tetra
Tetra is a simple 2D game framework written in Rust. It uses SDL2 for event handling and OpenGL 3.2+ for rendering.
Features
- XNA/MonoGame-inspired API
- Efficient 2D rendering, with draw call batching by default
- Easy input handling, via polling or events, with support for gamepads
- Deterministic game loop by default, à la Fix Your Timestep
- Common building blocks built-in, such as:
- Font rendering
- Cameras
- Screen scaling
Installation
To add Tetra to your project, add the following line to your Cargo.toml
file:
= "0.6"
You will also need to install the SDL2 native libraries - full details are provided in the documentation.
Examples
To get a simple window displayed on screen, the following code can be used:
use ;
use ;
;
You can see this example in action by running cargo run --example hello_world
.
The full list of examples is available here.
Support/Feedback
Tetra is fairly early in development, so you might run into bugs/flaky docs/general weirdness. Please feel free to open an issue/PR if you find something! You can also contact me via Twitter or the Rust Game Development Discord.