Crayon is an experimental purpose game engine, 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.
Crayon alternatives and similar packages
Based on the "Game development" category.
Alternatively, view Crayon alternatives based on common mentions on social networks and blogs.
bevy9.9 9.9 Crayon VS bevyA refreshingly simple data-driven game engine built in Rust
Amethyst9.6 6.6 Crayon VS AmethystData-oriented and data-driven game engine written in Rust
piston9.1 0.0 Crayon VS pistonA modular game engine written in Rust
ggez9.0 5.7 Crayon VS ggezRust library to create a Good Game Easily
RG3D8.9 9.8 Crayon VS RG3D3D and 2D game engine written in Rust [Moved to: https://github.com/FyroxEngine/Fyrox]
rust-sdl28.5 4.1 Crayon VS rust-sdl2SDL2 bindings for Rust
specs8.3 6.1 Crayon VS specsSpecs - Parallel ECS
Coffee6.7 0.0 Crayon VS CoffeeAn opinionated 2D game engine for Rust
Tetra6.4 6.2 Crayon VS Tetra🎮 A simple 2D game framework written in Rust
Pinky6.2 0.0 Crayon VS PinkyAn NES emulator written in Rust
rust-sfml6.1 8.8 Crayon VS rust-sfmlSFML bindings for Rust
rust-sdl4.5 0.0 Crayon VS rust-sdlSDL bindings for Rust
RustAllegro2.8 4.8 Crayon VS RustAllegroA Rust wrapper and bindings of Allegro 5 game programming library
corange-rs2.1 0.0 L4 Crayon VS corange-rsCorange bindings
blit1.1 0.0 Crayon VS blit:space_invader: Blitting library for 2D sprites
rust-voxlap1.0 1.1 Crayon VS rust-voxlapVoxlap binding for Rust
specs-blit0.8 0.0 Crayon VS specs-blit🤹 2D sprite rendering extension for the specs ECS system
challonge-rs0.7 0.0 Crayon VS challonge-rsChallonge REST API Client
Access the most powerful time series database as a service
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Crayon or a related project?
What is This?
Crayon is a small, portable and extensible game framework, which loosely inspired by some amazing blogs on bitsquid, molecular and floooh.
Some goals include:
- Intuitive lifetime free interfaces and extensible through external code modules;
- Run on PCs, Mobiles and Web browsers from the same source;
- Stateless, layered, multithread render system with OpenGL(ES) 3.0 or WebGL 2.0 backend;
- Simplified assets workflow and asynchronous data loading from various filesystem;
- Unified interfaces for handling input devices across platforms;
- Built from the ground up to focus on multi-thread friendly with a work-stealing job scheduler;
This project adheres to Semantic Versioning, all notable changes will be documented in this [file](./CHANGELOG.md).
For the sake of brevity, you can als run a simple and quick example with commands:
git clone [email protected]:shawnscode/crayon.git && cd crayon/examples cargo run --bin render_texture
You can also check out [examples](./examples) folder for screenshots.
The asset workflow comes with the version 0.5.0. During the development, the assets could be stored in formats which could producing and editing by authoring tools directly, and it will be compiled into some kind of effecient format for runtime (which is dependent on platform and hardware devices usually).
The assets manipulation codes are placed under crayon-tools, checks out the repository for further details.
The WebAssembly supports is based on wasm-bindgen and web-sys, you could find detailed build instruction in the documents. And there is a simple wasm template under [tools](./tools/wasm-template) folder might helps.
*Note that all licence references and agreements mentioned in the Crayon README section above are relevant to that project's source code only.