Skip to content

v0.6.0

Latest

Choose a tag to compare

@github-actions github-actions released this 28 Oct 05:47
· 4 commits to main since this release

rocco is a 3D game engine in Odin that runs games written in Roc.

Your game is a Roc app: its state and its rules, as pure functions. Each step, update returns the next Model and view returns a Scene, which is data that describes what to draw, light, test and play. The engine is the Roc platform. It owns the window, the clock, input, the GPU, memory, audio and collision, and it turns each Scene into a frame. A Roc test can read a Scene with a pattern match, and the Bridge lets a script step a game and read its Scene from outside.

One checkout builds for macOS arm64 (Metal), Linux x64 (GL) and Windows x64 (D3D11). CI runs the example games on all three.

What the engine has

  • A Scene tree of Groups, Draws, Lights, Colliders and Speakers. The host draws at the display rate and interpolates each Draw between steps by its id.
  • glTF meshes and textures in Packs, PBR lighting and shadows.
  • Collision as data: Colliders in the Scene, and Queries whose results come back on the next step.
  • A UI tree for the HUD, laid out with Clay.
  • Keyboard and gamepad input on all three OSes.
  • Skinned animation with Clips and fades.
  • Sound: fire-and-forget Play Commands, and Speaker Nodes for sounds the game controls.
  • The Bridge: drive a running game over a socket to step it, read its Scene and take screenshots.

New in v0.6.0

  • Speakers. A sound that the game controls is now a Speaker Node in the Scene, with id, sound, gain, pitch, at and repeat : [Loop, Once]. The host pairs Speakers by id, so a Speaker keeps playing while its id stays, follows its Group as it moves, and stops when it leaves the Scene. Scene.loops and the Loop are gone: move each Loop to a Speaker. Each Manifest entry gains duration.
  • Tutorial chapter 8 plays its music, the door hum and a door creak from Speakers. guide/sound.md teaches them.

Links

Bundles

Built with the Roc nightly nightly-2026-10-11-7d256b9. Use the same nightly to run an app on these bundles.

Bundle URL
platform https://github.com/Pixelsprout/rocco-engine/releases/download/v0.6.0/platform-2gvPTPztQ7D8yQsMvRTD4rBKS8VmSwMCPZ432eWzNNtJ.tar.zst
linalg https://github.com/Pixelsprout/rocco-engine/releases/download/v0.6.0/linalg-4N62Pw77Sky6ba8RiBfvULjHuAQeQiqHbUor7qSeor7F.tar.zst
mesh https://github.com/Pixelsprout/rocco-engine/releases/download/v0.6.0/mesh-5Fmg6uFHADmSBmZxNWDg25VStK6mU7YqhkWEXHjMEGNP.tar.zst
ui https://github.com/Pixelsprout/rocco-engine/releases/download/v0.6.0/ui-5msrKWjNRwuEBomX2R1CBFRycCCjrQCPjhEvJXtwWbU6.tar.zst
camera https://github.com/Pixelsprout/rocco-engine/releases/download/v0.6.0/camera-QiJqL4WFPQGUbBCMZ5bzjdLHhgRz7BiUw1ngwxWwHtP.tar.zst