All Projects → shawnscode → Crayon

shawnscode / Crayon

Licence: apache-2.0
A small, portable and extensible game framework written in Rust.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Crayon

Adapt
Advanced Developer Async Programming Toolkit
Stars: ✭ 26 (-84.05%)
Mutual labels:  multi-threading, game-engine
Openminer
Minecraft-like game engine written in C++17 with a client/server architecture and support for Lua modding
Stars: ✭ 156 (-4.29%)
Mutual labels:  game-engine
Matter Js
a 2D rigid body physics engine for the web ▲● ■
Stars: ✭ 12,522 (+7582.21%)
Mutual labels:  game-engine
Mos
Lightweight game engine.
Stars: ✭ 153 (-6.13%)
Mutual labels:  game-engine
Esp8266 game engine
Used ili9341 or ST7735. Contains a virtual machine running games from RAM.
Stars: ✭ 149 (-8.59%)
Mutual labels:  game-engine
Shiva
Modern Cross-Platform C++ Engine with modularity (MIT). Maintains here: https://github.com/KomodoPlatform/antara-gaming-sdk
Stars: ✭ 154 (-5.52%)
Mutual labels:  game-engine
Zengine
2D | 3D Game development library
Stars: ✭ 145 (-11.04%)
Mutual labels:  game-engine
Raz
Modern & multiplatform game engine in C++17
Stars: ✭ 161 (-1.23%)
Mutual labels:  game-engine
Fxgl
Stars: ✭ 2,378 (+1358.9%)
Mutual labels:  game-engine
Fpsgame
A primary FPS game developed by CPP,including real-time rendering,action processing,collision detection,keyboard response,etc.
Stars: ✭ 152 (-6.75%)
Mutual labels:  game-engine
Pomdog
An open source game engine for C++20 🐶 🎮
Stars: ✭ 151 (-7.36%)
Mutual labels:  game-engine
Innocenceengine
Cross-platform modern game engine.
Stars: ✭ 149 (-8.59%)
Mutual labels:  game-engine
Acl Ue4 Plugin
The official Animation Compression Library Unreal Engine 4 plugin
Stars: ✭ 156 (-4.29%)
Mutual labels:  game-engine
Awesome Pico 8
A curated list of awesome PICO-8 resources, carts, tools and more
Stars: ✭ 1,955 (+1099.39%)
Mutual labels:  game-engine
Instead
INSTEAD - Simple Text Adventure Interpreter
Stars: ✭ 157 (-3.68%)
Mutual labels:  game-engine
Sqlcell
SQLCell is a magic function for the Jupyter Notebook that executes raw, parallel, parameterized SQL queries with the ability to accept Python values as parameters and assign output data to Python variables while concurrently running Python code. And *much* more.
Stars: ✭ 145 (-11.04%)
Mutual labels:  multi-threading
Xray 15
X-Ray Engine 1.5 expansion. Original version was used in S.T.A.L.K.E.R.: Clear Sky.
Stars: ✭ 151 (-7.36%)
Mutual labels:  game-engine
Plasma
Cyan Worlds's Plasma game engine
Stars: ✭ 153 (-6.13%)
Mutual labels:  game-engine
Spearmint
Spearmint — an updated id Tech 3 engine for continuing the classics and creating new games.
Stars: ✭ 161 (-1.23%)
Mutual labels:  game-engine
Netstack
Lightweight toolset for creating concurrent networking systems for multiplayer games
Stars: ✭ 157 (-3.68%)
Mutual labels:  multi-threading

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:

  • 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;
  • etc.

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 [email protected]: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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].