rusty_console_game_engine 0.1.1

A Rust port of the olcConsoleGameEngine
Documentation

Cube

The Rusty Console Game Engine

A Rust port of the olcConsoleGameEngine. Make simple retro-style console games directly in the terminal, with an API closely matching the original C++ engine.

⚠️ Currently works only on Windows 10/11. ⚠️

✨ Features

  • Basic Console Rendering (text, colors, and shapes)
  • Sprites (.spr format)
  • Keyboard & mouse input

🛠 Roadmap

  • Publish to crates.io (available here)
  • Documentation
  • Audio support
  • Image → sprite converter
  • Cross-platform support

🚀 Quickstart

Add the engine to your Cargo.toml:

[dependencies]

rusty_console_game_engine = "0.1.1"

Then create a game:

use rusty_console_game_engine::*;

struct Demo;

impl ConsoleGame for Demo {
    fn create(&mut self, _engine: &mut ConsoleGameEngine<Self>) -> bool {
        true
    }

    fn update(&mut self, engine: &mut ConsoleGameEngine<Self>, _elapsed_time: f32) -> bool {
        engine.clear(FG_BLACK);
        engine.fill_circle(engine.mouse_x(), engine.mouse_y(), 5);

        true
    }
}

fn main() {
    let mut engine = ConsoleGameEngine::new(Demo);
    engine.set_app_name("Example");
    engine.construct_console(150, 150, 4, 4);
    engine.start();
}

To see more typical use cases of the engine, check out the examples!

🎮 Examples

Open conhost.exe (in the repo root) before running an example.

Platformer – Mario-style scrolling platformer

Mode7 – Pseudo 3D flying effect

Mazes – Maze generator and renderer

Raycaster - Simple raycasted world to explore