Godot Lab · 3D · RigidBody3D mini-golf · verified playthrough, desktop + mobile

Breakfast Links

Somebody built a mini-golf course across the breakfast table, and the ball is waiting. Three holes of real 3D physics: up a toast ramp sunk into the felt, through a toast arch, around a pancake stack past a syrup pool that grips the ball, then through a mug tunnel between sugar-cube walls to the strawberry flag. The lab's first 3D piece — a real RigidBody3D ball under real-time DirectionalLight3D shadows, on Blender-baked food props — concepted, modelled, tuned and verified end to end by AI agents.

Play it now

←→ / A D aim · hold W / ↑ power · Space putt · P pause · M reduced motion · touch buttons on mobile · tap once for sound · game data 12.8 MB (+ engine wasm, cached after first load)

▶  Play

The concept is the contract

The piece was concepted first — a key-art sheet, a prop sheet and an overhead three-hole layout set the language: felt fairways with piped-crust curbs on a gingham cloth, butter yellows, toast browns, jam reds. Every named element in those sheets was then authored as a real Blender asset, and every audit round judged the live build against them.

Breakfast Links concept key art
Concept key art — the contract the piece is audited against
Breakfast Links live in the engine
The same table live in the engine — hole 1's toast ramp and arch under the morning window light

Gray boxes before art

All three holes ran and were beaten as gray boxes before any art existed — including the automated drills the piece is audited by: a deliberate putt off the table edge (penalty + replace), a roll through the syrup pool and a hard escape putt, and a lip-out at too much speed. The autopilot re-aims per stroke from waypoints, so it self-corrects at any frame rate.

blockout gray boxes
Blockout: hole 1 as gray boxes and a placeholder bump
the same course with its art on
The same course with its Blender food on

Baked in Blender, punished by a probe

Every prop is a Blender asset: fused voxel-remeshed food shapes with baked or procedural-detail materials, exported as glbs — and the fairway curbs are generated from the same wall constants the engine uses for its colliders, so the visual and the physics agree by construction. The honest row: the first leaning toast ramp presented its 26 cm crust edge to the 15 cm ball — a wall, not a ramp. A telemetry probe (ball position, speed, contacts per tick) found it in one run; the toast now sits sunk into the felt so its rolling face starts at the ground.

pancake stack turntable, four angles
The hero prop: pancake stack with butter pat and a fused blob-chain syrup drip — Blender turntable, four angles

Three holes, three hazards

hole 2: pancake dogleg and syrup pool
Hole 2: the pancake dogleg — the syrup pool on the direct line multiplies drag 12×
hole 3: mug tunnel and sugar cubes
Hole 3: through the mug's real trimesh bore, between sugar-cube walls

Measured, honestly

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

MeasurementValueConditions
Game data (.pck)12.8 MBrelease export — 16 Blender glbs with baked textures + 8 sampled audio stems
Engine payload (.wasm)35.4 MBGodot 4.3 web runtime, fixed cost, browser-cached after first load
Verified full roundwin at level par — 8 strokes / par 8, off-table penalty drill and syrup crossing included (confirmed twice)autopilot playthrough with off-table, syrup and lip-out drills, every audit round
Collider-visual paritycurbs generated from collider constantsmug bore + toast = mesh colliders (trimesh / convex); pancake cylinder matched to the bottom cake
Audit roundsblockout 2 · art 7fix-all-then-re-audit until a round found nothing, then one confirming
Audit frame rate~2–3 fpsSwiftShader software GL — worst case; game time stays real via physics step catch-up

Real engine features, earned

RigidBody3D ball

A real 45-gram physics ball: impulse putts, bounce material, continuous collision so it never tunnels a curb at full power.

Mesh colliders

The mug's bore is a real trimesh — the ball rolls through the actual ceramic; toasts collide as convex hulls of their own render meshes.

Real-time 3D shadows

One warm DirectionalLight3D plays the kitchen window: every prop drops a true shadow map onto felt and gingham.

GPU particles in 3D

Crumb bursts off toast hits, syrup droplets, sugar dust and a three-color confetti pop on every hole-in.

Physics-state camera

Orbits behind the aim, chases the roll, and circles the cup on the win — with fixed cuts under reduced motion.

Material-cast audio

The ball answers the thing it hits: toast thud, ceramic ting, sugar knock, syrup squelch — all sampled stems, mixed per impact speed.

putt impulse 1.2–7 m/sball 45 g stop threshold 0.08 m/scup capture ≤1.25 m/s syrup damp 6.5 (12×)curb radius 0.11 m par 2·3·3off-table +1 stroke arrows + WASD + touchpause + reduced motion localization-ready strings