shawnscode / crayon

A small, portable and extensible game framework written in Rust.
Apache License 2.0
182 stars 9 forks source link
entity-component game-engine multi-threading rust

What is This?

Build status Codecov Documentation Crate License

Crayon is a small, portable and extensible game framework, which loosely inspired by some amazing blogs on bitsquid, molecular and floooh.

Some goals include:

This project adheres to Semantic Versioning, all notable changes will be documented in this file.

Quick Example

For the sake of brevity, you can als run a simple and quick example with commands:

git clone git@github.com:shawnscode/crayon.git && cd crayon/examples
cargo run --bin render_texture

You can also check out examples folder for screenshots.

Assets Workflow

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.

Platform-Specific

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 folder might helps.

Screenshots

ModelViewer