Past midnight on Día de los Muertos, a little calavera slips out to visit her family's ofrenda — across the fiesta rooftops, over the gaps, up the market awnings, across swinging piñatas and past fireworks itching to launch. Pure traversal craft: coyote time, jump buffering, variable-height jumps and a camera that looks where you're going. Fall short and she rattles apart — every bone a separate cutout part on a real Skeleton2D rig — then the bones fly back together at the last candle. No timer, no combat: just you, the moon, and the rooftops.
←→ / A D run · Space / W / ↑ jump (hold = higher) · P pause · M reduced motion · touch buttons on mobile · tap once for sound · game data 2.4 MB (+ engine wasm, cached after first load)
Made by AI, exported by the real Godot 4 engine — the lab's Skeleton2D cutout showcase. The piece was concepted first; every audit round judged the live build against the painting.

Side view of colorful Mexican town rooftops at night during a Day of the Dead fiesta: a small cheerful cartoon calavera skeleton walking the terracotta tiles, strings of papel picado, glowing candles, marigolds, a swinging piñata, deep indigo sky with a big moon and distant fireworks.

The calavera is not a sprite sheet: she is nine Blender-rendered bone parts (each with a camera-space normal-map pass) assembled at runtime on a real Skeleton2D rig, with pivots exported from the modelling scene. Her walk, run and jump are real human motion — CMU capture clips retargeted in Blender, projected to screen-space bone angles per frame, and played back on the 2D bones — so the little skeleton moves like a person. When she falls, the rig scatters: every part becomes a tumbling fragment, then the bones fly back together at the last candle checkpoint.
The rooftops are normal-mapped renders under candle Light2Ds and a moonlight fill, with occluder shadows off the chimneys, five parallax bands from moon to papel-picado strings, and marigold petals drifting on GPU particles. The fiesta music is a runtime-scheduled nylon-guitar pattern built from per-note samples.
Platformer feel per the platform's standard: asymmetric gravity, coyote time, input buffering, variable jump height, camera lookahead — all tuned in the gray blockout before any art existed. The blockout took nine audit rounds; that is where the movement envelope was measured and the course re-authored against it, so the art phase inherited a course that was already fair.
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. The nine blockout rounds are the honest number: three of them were spent on rig bugs that release web builds swallow silently.
| Measurement | Value | Conditions |
|---|---|---|
| Game data (.pck) | 2.38 MB | release export — image payload 1.96 MB source at one 96 px-per-unit scale |
| Engine payload (.wasm) | 35.4 MB | Godot 4.3 web runtime, fixed cost, browser-cached after first load |
| Verified full run | spawn → ofrenda, all 3 checkpoints | autopilot playthrough with scatter + reassembly drills, every audit round |
| The rig | 15 Bone2D · 9 rendered parts · 4 mocap clips | CMU 02_01 walk, 09_02 run, 16_01 jump, 15_04 idle — projected to 2D bone angles |
| Audit rounds | blockout 9 · art 6 | fix-all-then-re-audit until a round found nothing, then one confirming |
| Audit frame rate | ~1–2 fps | SwiftShader software GL — worst case; game time stays real via physics step catch-up |
Nine rendered parts on 15 engine bones with exported pivots — the heroine is a rig, not a sprite sheet.
Four CMU clips retargeted in Blender and projected to per-frame 2D bone angles; jumps picked by vertical-velocity buckets.
Death detaches every real part into a tumbling fragment; the checkpoint flies the same parts back onto their bones.
Candle pools and a camera moonlight fill over normal-mapped renders, with chimney LightOccluder2D shadows.
Moon, sky, far skyline, near rooftops and a manual foreground papel-picado band — each at its own scroll speed.
AnimatableBody2D swinging piñatas, bounce-pad awnings exempt from the jump-cut, and a rocket FSM with fuse telegraphs.