Skip to main content

Balaur A deterministic 2D & 3D game engine.

Node-based scenes, and scripts that reload in milliseconds. Written in Rust.

For multiplayer games

Deterministic by default.

  • A fixed 60 Hz tick.
  • Record inputs and replay the whole session.
  • HTTP, WebSockets and WebTransport.

For level design

Design in real time.

  • Place, move and scale.
  • View properties.
  • Press play to start the game.

For programmers

Scripts reload instantly.

  • Rune scripting with Rust syntax and async/await.
  • Hot reload with breakpoint support.
  • Plugins in Rust or C.

For animators

2D and 3D animation.

  • Mesh skinning with bones and painted weights.
  • Pose with two-bone IK and look-at.
  • 3D rigs imported from glTF.

For artists

Lights, shadows and shaders.

  • 2D lights and occluders.
  • Materials in WESL.
  • Post-processing, particles, tile maps, sprites and meshes.
Two 2D lights over a scene, the shapes casting shadows from occluders

Nodes and scenes

A tree of nodes with scripts attached, saved as TOML.

Scripting in Rune

Rust's syntax, instant reload, async/await, and a debugger in the editor.

Instant hot reload

Save a script and the new code is live in milliseconds.

Determinism, always on

Same inputs, same outputs on every platform.

2D and 3D physics

Rapier under both, stepped on a fixed 60 Hz tick.

Rendering

2D and 3D.

Animation and skeletons

Clips and tweens, 2D bones with skinned polygons, 3D rigs from glTF, two-bone IK.

The editor

Itself a Balaur project: scene tree, inspector, gizmos, timeline, rig tools, play-in-editor.

Networking

HTTP, WebSockets and WebTransport, with compression.

Every platform

Destkop: Windows, macOS and Linux.
Mobile: iOS, Android.
And Web.

Export

Bytecode, scenes and assets go into a single executable, one per platform.

Built with Rust

Written in Rust, reusing popular libraries: Rapier, wgpu, egui, rodio, Rune.

Free and open source, MIT, for Windows, macOS, Linux, iOS, Android and Web.