2 unstable releases
0.2.0 | Aug 27, 2024 |
---|---|
0.1.0 | Jun 29, 2024 |
#21 in Rendering engine
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
- vulkan-validation-layers (requires the Vulkan SDK installed on your system)
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
- Apache License, Version 2.0
(LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) - MIT license
(LICENSE-MIT or http://opensource.org/licenses/MIT)
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
~648K SLoC