| Crates.io | rusty_console_game_engine |
| lib.rs | rusty_console_game_engine |
| version | 0.4.1 |
| created_at | 2025-09-07 13:50:51.386691+00 |
| updated_at | 2025-09-11 22:39:46.400414+00 |
| description | A Rust port of the olcConsoleGameEngine |
| homepage | https://github.com/rip-super/RustyConsoleGameEngine |
| repository | https://github.com/rip-super/RustyConsoleGameEngine |
| max_upload_size | |
| id | 1828145 |
| size | 8,561,516 |
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. ⚠️
⚠️ Make sure to use conhost.exe to run any console games. ⚠️
Add the engine to your Cargo.toml:
[dependencies]
rusty_console_game_engine = "0.4.1"
Then create a game:
use rusty_console_game_engine::prelude::*;
struct Demo;
impl ConsoleGame for Demo {
fn app_name(&self) -> &str {
"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);
if engine.key_pressed(SPACE) {
engine.audio.play_note(D4, 500);
}
true
}
}
fn main() {
let mut engine = ConsoleGameEngine::new(Demo);
engine
.construct_console(150, 150, 4, 4)
.expect("Console Construction Failed");
engine.start();
}
To see more typical use cases of the engine, check out the 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
Piano - Piano to play different notes