A very early in development game engine being created mostly for educational purposes.
- Multi-threading and concurrency in every aspect of the engine, using C++20 coroutines (based on folly's implementation).
- WebGPU graphics API for portability.
- Robust resource management API with resource dependencies and bundles support.
- Advanced materials with inheritance support and easy runtime (uniform) configuration, thanks to shader code reflection.
- Actor-based game object framework with advanced features like actor/component tick dependencies.
- Pushdown automaton and FSM-based game state management system.
demo/
: The code here is very temporary and subject to change pretty soon. This is the place where engine features are developed before becoming stable-ish and moving over toengine/
.engine/
: The code here is kinda finished. Obviously, the engine is very early in development and most of this code will be refactored at some point, but for now it's considered stable as it's working and has been tested.lib/
: The libraries that are either shared between other packages, or needed to be separately compiled (i.e. using a different C++ standard).resoures/
: Some internally used (e.g. shaders and materials) engine resources, as well as temporary testing resources.test/
: Some unit tests for various parts of the engine and support libraries.tools/
: Engine CLI tools, such asfbx2lem
mesh converter.
MIT