A kart racing at night in the rain, the floodlights mirrored in the wet asphalt, rendered with ray-traced light

Open source · Bevy & wgpu · pre-release

The open engine
for living worlds.

osage is an open-source game engine for large open worlds, built in the open by people and AI agents. Its first world, osage kart, races on the same track from an integrated GPU to full ray tracing.

Ray-traced light at night in the rain — tier T4, 2560 × 1440, 32.8 ms a frame on an NVIDIA L4. Every picture on this page is the game, as the bench renders it.

The first world

osage kart

A racing game built to prove the engine: tight arcade handling, a living circuit around it, and the same race shared by every kind of client — native, browser, phone or AI agent.

Karts leaving the grid, flames from their exhausts and tyre smoke behind them
Off the line: a boost from a perfect start, flames and tyre smoke — tier T4, 29.9 ms a frame on an NVIDIA L4.

Drive, drift, fly

Drift for a three-level mini-turbo, throttle off the line for a perfect start, slipstream to a boost. Over a crest, a press of the button is a trick: the kart rolls through the air as a rigid body and bounces on the tyre that lands first.

Items and battles

Crates of amber glass hold nitro, tyres, cones, oil, rockets, smoke, drones, bumpers and a pit-crew push. Battle mode in an arena, three lives each.

Six circuits, cups, ghosts

Pinewood, Gull Point, Harbour Town, Red Gorge, Eagle Ridge and The Paddock — forest, coast, town, canyon, mountain, meadow — raced in cups, against the clock with ghosts, in four engine classes against bots of three skills.

Together

Online through WebTransport or WebSocket with exact client prediction, two players on one screen, or a phone's browser with touch controls. A live leaderboard any browser on the network can open.

A circuit that lives

The crowd stands up and cheers when a kart goes by — each spectator in their own way and time. Birds take off as you pass, rabbits bolt, deer raise their heads. Rain, night under floodlights, replays as television would shoot them, a photo mode with a real lens.

Made of open parts

Every piece is its own crate — physics, tracks, items, bots, crowd, roadside, sound — reusable by any world. Content comes from open libraries — CC0 photographs and models from Poly Haven — or is generated by the program.

Rendering

Light, as light does

At its highest tier osage kart traces its light with Bevy Solari: the sun, the sky and every lamp reach a surface only where nothing stands between, and every lit surface lights the others. osage adds its own denoiser — no proprietary SDK — that averages each surface over the frames before and filters along the scene's edges.

Any hardware

One world, four tiers

The same world, every technique chosen per tier, each tier with a frame-time budget that a bench measures on reference hardware. If the best picture fails on a machine, the game finds the best one that works, effect by effect.

T1

Old integrated GPUs

WebGL2 and GLES3: a flat sky and fog, procedural trees, FXAA. Budget: 30 frames a second.

T2

Today's integrated GPUs

WebGPU: physical atmosphere, shadows, ambient occlusion, bloom, textured ground. Budget: 60 frames a second at 1080p, set on an Intel Iris Xe.

T3

Discrete GPUs

A photographed sky as light, modelled trees and grass, soft shadows, TAA and motion blur. Budget: 60 frames a second; 14.4 ms at 1440p on an NVIDIA L4.

T4

Ray tracing

Direct and indirect light traced by the GPU (Bevy Solari, ReSTIR) and osage's own denoiser. Budget: 30 frames a second at 1440p — met on an NVIDIA L4, rain and night included.

The engine

Built for worlds, not just games

Neither a fork nor a rewrite from scratch: osage builds on Bevy and wgpu, gives back upstream what belongs there, and writes what nothing open provides yet.

  • An open world protocol. Native, browser, phone, headless — every client joins the same world at its own fidelity.
  • Accountable AI agents. An agent races, observes and acts through MCP tools, under a delegation from a responsible human.
  • Worlds as modules. A world's rules and content live in their own crates, apart from the engine, under permissive licences.
  • Mixed worlds. Real devices can mirror into a world, and in-world actions can drive them, with safety enforced next to the device.
  • Mechanisms, not policy. The engine provides the tools; game rules and privacy belong to each world and its operator.

In the open

Every change explains itself

osage is organised so that many people and AI agents can work on it at once, and so that anyone can see why it is the way it is.

Play

Download the Windows build from the releases, unzip, run play.bat. On an RTX card, try play.bat --tier T4.

Build

git clone https://github.com/smichea/osage
cd osage
cargo run --release -p osage-kart-server &
cargo run --release -p osage-kart-native

Contribute

Read CONTRIBUTING and, for AI agents, AGENTS. Pick a workstream, measure before and after, and write down why.

About the name

osage stands for Open Source Advanced Game Engine. Osage is also the name of the Osage Nation, a sovereign Native American nation. This project is not affiliated with, endorsed by, or speaking for the Osage Nation. It uses none of the Nation's symbols, imagery, language or culture, unless the Nation chooses otherwise; the maintainer has written to the Nation to ask for its view, and its position will be published and respected.