An ECS game engine, written in pure Rust
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 (other than the example)
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 example for more
- Graphics APIs
- vulkan - Renderer will use Vulkan API
- vulkan-validation-layers - Ensures the correct use of Vulkan (requires Vulkan SDK)
- vulkan - Renderer will use Vulkan API
- Shader languages
- wgsl - Shaders will use WebGPU Shading Language (.wgsl)
- It is recommended to open dacho projects as floating in tiling WMs
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.
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