Godot Lab piece 04 · verified physics playthrough, desktop + mobile

The Big Cheese

The village cheese-roll is on, and this year you are the cheese. A real rigid body barreling down the long hillside — torque to roll, a grounded hop, and physics doing the rest: hay stacks burst, fences splinter at speed, geese flap off honking, and the tumbling villagers never quite catch up. Authored end-to-end by AI agents in the real Godot 4 engine.

Play it now

Arrows / A D roll · Space hop · touch buttons on mobile · game data 1.7 MB (+ engine wasm, cached after first load)

▶  Play

The concept is the contract

The piece was concepted first — a sunrise key-art sheet, a wheel-and-villagers character sheet and a callout board set the palette: meadow greens, cheese gold, sky blue, festival bunting. Every named element in those sheets was then authored as a real asset, and every audit round judged the build against them.

The Big Cheese concept key art
Concept key art — the contract the piece is audited against
The Big Cheese live in the engine
The same hillside, live in the engine

Gray boxes before art

The whole course ran and was beaten as gray boxes before any art existed. That is where the physics got honest: the wheel wedged dead against a hay pyramid until bales got a burst impulse and the wheel a grip-assist force; the course was re-authored against the wheel's measured jump envelope. An automated player drives every build downhill to a verified win on each audit round, with telemetry streaming to the console for the softlock probe.

blockout gray boxes
Blockout: the full course playing as gray boxes and tinted bands
hay smash in the finished game
The same physics with its art on — a hay stack mid-burst

A Blender pipeline with a normal-map pass

Every sprite is a Blender render shipped twice — once as color, once encoding camera-space surface normals — so the sunrise is a true PointLight2D whose warm light rolls across the wheel's rind, the hay, the pickets and the meadow. The villagers chasing you are rigged Blender characters running retargeted CMU motion capture (clip 09_02), rendered to sprite rows.

props beside their normal-map passes
The shipped props (top) beside their camera-space normal passes (bottom)
mocap villager run frames
The chasers: two villagers, four mocap run frames each (CMU 09_02)

Measured, honestly

The lab audits with Playwright on this host's software renderer (no GPU), so the frame-rate rows below are a worst case — real hardware runs the compatibility renderer far faster.

MeasurementValueConditions
Game data (.pck)1.74 MBrelease export, ETC2/ASTC textures
Engine payload (.wasm)35.4 MBGodot 4.3 web runtime, fixed cost, browser-cached after first load
Verified full run32–35 s course, 7–8 s airtime, 1 flipautopilot playthrough, every audit round
Audit roundsblockout 2 · art 3fix-all-then-re-audit until a round found nothing
Audit frame rate~1–2 fpsSwiftShader software GL — worst case; physics stays real-time via step catch-up

Real engine features, earned

RigidBody2D player

The wheel is a real physics body: torque to roll, angular damping, a grounded hop impulse, contact-normal ground sensing.

Rigid-body hay & fences

Hay pyramids are stacked bodies that burst on fast impact; fences swap to tumbling rigid halves when smashed at speed.

Sunrise Light2D

A camera-following sun over normal-mapped renders, with occluder shadows — the lab's signature, in daylight for the first time.

GPU particles

Grass clods off the wheel at speed, hay bursts, landing dust, goose feathers, three-color finish confetti.

Parallax + physics camera

Screen-locked sky/hills/hedgerow bands over a 950 px descent; velocity lookahead and speed-scaled zoom.

Mocap chasers

Two Blender-rigged villagers running CMU capture, looping behind you and never quite catching up.

torque 420khop 680 px/s coyote 0.08 shop buffer 0.12 s hit-stop 50 msbale burst 240·mass grip assist 2200·masszoom 1.0→0.82 mud damp 3.2arrows + WASD + touch pause + reduced motionlocalization-ready strings