/toxoid

A modern, cross-platform, highly modular / decoupled, data-driven, ECS-based game engine written in Rust with scripting support for C#, JavaScript and Rust to Rust (WASM), hot-reloading, WebGPU rendering, and web target support.

Primary LanguageRustApache License 2.0Apache-2.0

Toxoid Engine

⚠️ Warning ⚠️ - This repository is under construction.

Web Target

Set up Emscripten: https://emscripten.org/docs/getting_started/downloads.html

Examples

How to run examples:

rustup target add wasm32-unknown-emscripten
make example-snake

Snake:

ToxoidSnake.mov

Multiplayer Spine Bone Animation and ImGui:

ToxoidMultiplayerBoneAnimation.mp4

Notes

  • Supported Spine Version - 4.1.24 ESS

Related Projects

  • Powers my UGC game / multiplayer online sandbox RPG Legend of Worlds.
  • Also maintain flecs-polyglot - A universal scripting API for flecs on all languages that compile to WebAssembly.

Credits

This technology would not be possible without:

  • Flecs: A fast, lightweight (zero dependency), and portable entity component system written in C.
  • Sokol: Headers-only cross-platform C renderer with WebGPU support.
  • Emscripten: A complete compiler toolchain to WebAssembly, using LLVM, with a special focus on speed, size, and the Web platform.
  • Rust: A memory-safe systems programming language.