Build Status
Introduction
Crayon is an experimental purpose project, written with a minimalistic modular design philosophy. Its built from the ground up to focus on cache friendly data layouts in multicore environments with entity-component based architecture.
Warning: Its far from a stable version right now. You can checkout the Roadmap for more details.
Features v0.0.1
- [ECS] Entity component system with a data-driven designs.
- [TSK] Task based multi-thread system based on awesome crate Rayon.
- [RES] Abstract archive with default supports for native filesystem and zip.
- [RES] Resource management based on Referece-Count and LRU cache strategy.
- [GFX] Window and graphic context management based on glutin.
- [SCE] Hierachy-based transformation of position/rotaion/scale etc.
- [SCE] Automatic-bath based
Spritethat support easy and quick way to draw 2d images.
FAQ
How to Build?
In spite of the unstable status of this project, feel free to checkout and build to follow progress recently.
First of all, checkout the repository by:
And then you can run test cases with:
Why Rust ?
First of all, this is a part-time toy project of myself, so i don't really care if we ever have a game engine written in Rust.
And the most importantly, it makes sense for me to take the numerous advantages of modern programming language, instead of using languages like C/C++ which have many historical burden. In fact, this project has beed development with C++ for about four months, which produce a basic multi-thread, and much more pains.