rusty_console_game_engine 0.1.0

A Rust port of the olcConsoleGameEngine
docs.rs failed to build rusty_console_game_engine-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: rusty_console_game_engine-0.4.1

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
  • Documentation
  • Audio support
  • Image → sprite converter
  • Cross-platform support

🚀 Quickstart

Add the engine via a local path in your Cargo.toml:

[dependencies]

rusty_console_game_engine = { path = "../rusty_console_game_engine" }

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