Skip to main content

Tetra

A simple 2D game framework written in Rust.

Example Code

use tetra::graphics::{self, Color};use tetra::{Context, ContextBuilder, State};
struct GameState;
impl State for GameState {    fn draw(&mut self, ctx: &mut Context) -> tetra::Result {        // Cornflower blue, as is tradition        graphics::clear(ctx, Color::rgb(0.392, 0.584, 0.929));        Ok(())    }}
fn main() -> tetra::Result {    ContextBuilder::new("Hello, world!", 1280, 720)        .build()?        .run(|_| Ok(GameState))}

Installation

tetra = "0.6"

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