Expand description
ZENgine is a simple open-source modular game engine built in Rust for didactical purpose
§Example
Here is a simple “Hello World” ZENgine app:
use zengine::Engine;
fn main() {
Engine::default()
.add_system(hello_world_system)
.run();
}
fn hello_world_system() {
println!("hello world");
}
§This Crate
The zengine
crate is a container crate that makes it easier to consume ZENgine subcrates.
If you prefer, you can also consume the individual ZENgine crates directly.
Each module in the root of this crate, can be found on crates.io
with zengine_
appended to the front, e.g. engine
-> zengine_engine
.
Modules§
- asset
- Load and store Assets for the Engine.
- audio
- Provides types and module for audio playback.
- core
- Core functionalities.
- ecs
- Entity-component-system.
- gamepad
- ZENgine interface with
GilRs
- “Game Input Library for Rust” - to handle gamepad inputs. - graphic
- Graphics functionlities. eg: Camera, Texture, Render, Sprite.
- input
- Resources and events for inputs
- log
- A lightweight logging facade.
- math
- Math types.
- physics
- Collision system and shapes
- window
- Creation, configuration and management of the main window.
Structs§
- Engine
- A container of engine logic and data.
Enums§
- Engine
Event - List of all engine events
- Stage
- The possible stages in the engine pipeline
Traits§
- Module
- A collection of engine logics and configurations.
Attribute Macros§
- zengine_
main - Generate the required Android boilerplate.
Derive Macros§
- Asset
- Generates an impl of the
Asset
trait. - Component
- Generates an impl of the
Component
trait. - Input
Type - Generates an impl of the
InputType
trait. - Resource
- Generates an impl of the
Resource
trait. - Unsendable
Resource - Generates an impl of the
UnsendableResource
trait.