2 unstable releases

0.2.0 Aug 27, 2024
0.1.0 Jun 29, 2024

#27 in Rendering engine

MIT/Apache

145KB
4K SLoC

dacho

What is it

An ECS game engine, written in pure Rust

Disclaimer

This project is in it's early stage
A lot of features are still WIP or TODO
Expect breaking changes at each release
There is no documentation yet
The current ECS implementation is temporary

Usage

In dacho, you insert Systems into schedules

// A simple usage example

use dacho::prelude::*;

fn main() {
    let mut app = App::new("My game");

    app.start(|_| println!("Hello, World!"));

    app.keyboard(|_, key, is_pressed| {
        if is_pressed && key == Key::Space {
            println!("jump!");
        }
    });

    app.run();
}

See the dacho example for more

Cargo features

A checked box means the feature is on by default

Notes

  • If you are using a tiling WM, it is currently recommended that you make a rule to open dacho as floating

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions

Dependencies

~20–35MB
~663K SLoC