▶  Play it now! ← Build notes

Gearwind // Isles of the Sky

SNES-authenticity gate: 22/22 pieces passed
the prompt that started it
 I want you to build an overhead action-adventure game at the level of The Legend
of Zelda: A Link to the Past on SNES. It is a fantasy game with a steampunk
aesthetic, built around aviation and floating islands in the sky. It should be
utterly perfect—art, animation, combat feel, world design, music, everything at
the quality of a real SNES-era Zelda title. Do this in vanilla JS and HTML5 canvas

Divide the work into the smallest pieces that can be built and judged
independently. For each piece, fan out a builder sub-agent and a separate harsh
critic sub-agent with fresh context. The critic must inspect the real running
output, pull up actual A Link to the Past screenshots, and compare them side by
side blind: could ours pass as a lost SNES Zelda game? If not, it names the
single biggest gap and sends it back. /loop until it wins.

Maintain a simple live progress page showing the work evolving over time.
Fan out sub-agents and ultracode.
31workflows run
227builder + critic agents
36.7Msub-agent tokens
19,123tool calls by agents
51critic verdicts on disk
506probe scripts written by critics
~40,900lines of game code
PASSED engine core loop, input, capture tooling — smoke tested
PASSED tiles Cliff rim exact-16 repeat 43%→93%, all contours ≥85%. Blind test: YES. Critic killed 5 of its own objections with measurements.
PASSED player Passed twice. Critic pixel-verified arm pump, goggle lens, eye dash
PASSED hud All counter icons in ref contrast range; strip byte-matched to ALttP layout
PASSED movement Unstick landed — the hard softlock class is closed. Critic notes the escape rule is component-blind but passed it.
PASSED combat PASSED. Combat audible: swing/hit/clink/poof all fire correctly (brass rings, hide thuds); +6 to +11 dB over the score; 29 swings gave 25 distinct pitches. Unreachable sounds 9→1.
PASSED enemies Hit reaction fixed and measured: kb [1.89,-2.59] 17.6px/10f (tin-soldier ref 16), 5-frame latched flash, walk→hurt→pause, 3-frame hitstop both sides. Outline closure 100%.
PASSED audio-engine ONE AudioContext, verified 5 ways and order-independent. Effects wear the score's reverb (86ms echo at -13.2dB) and its 9kHz band limit. Median +1.9dB full / +6.1dB speaker over the score; before the fix 33/33 were under it.
PASSED music-overworld Score sustains RMS 0.035-0.055 and switches overworld→village→dungeon→boss on the right boundaries
PASSED sfx PASSED twice. Enemies voiced: beetle gear→steam pair, bat snuff, slime cuff→land, tin soldier clink→land, riveter. Peak 8 voices = budget, never exceeded; 100 of 101 enemy draws distinct pitch.
PASSED overworld PASSED. Doorstep loop fixed in the right file (0 bounces, verified without game.js's latch). Third enemy shipped: 0→1→3→5 ramp across screens, committed hop, telegraph reads. Beetle aim 96.4%.
PASSED transitions Sky stages 0-4 all reach the screen and are visually distinct; room + screen scrolls animate
PASSED title Brass beveled pixel logo, parallax clouds, floating isles, dirigible, 1993 SKYFORGE
PASSED dungeon PASSED. 24 pots across 7 rooms, 18.3% heart drop rising to 36.6% on a near-empty row (ALttP's low-health bias). Health at the boss: 1 half → 3-6. Hatch opens both ways; cleared rooms and keys persist.
PASSED npc-dialog Stop-slop 43/50. Cast split into 4 rhythms; chest template broken (absent-owner slot 6/6→2/6); plaque personification 4/8→1/8, signs 3/8→1/8. B5 "valve" collision fixed by hand so the noun stays unique to the boss.
PASSED boss PASSED. Game-over card now truthful: phase-2 death shows "KETTLEBACK REWINDS THIS ROUND" and the retry starts at hp 12, the top of phase 2.
PASSED items PASSED. Real movable cursor: A assigns, B fires that item in the world (verified by use, not by reading the panel), name follows the cursor while the ring stays on the equipped item, choice survives doors/death/continue. Keys correctly refused. 400-press fuzz: 0 violations.
PASSED chapter1 Lead verdict: "DONE bar one fix." That fix landed in round 27; its follow-on charm bug fixed by hand and verified in both halves.
PASSED integration PASSED twice. Subscreen de-modernised (tracker+bar gone), border ramp byte-identical to dialog, NPC overlap 14px→0px ink, empty heart row at death, world verified frozen under the menu
PASSED player-death PASSED twice. Boss letterbox now 38 visible frames = bridge 38 exactly (was 9). Aperture clamped: 9 real deaths, 640+ frames, never runs off a map edge.
PASSED ending Lead played it end to end: shard→jam→shudder→rise→ship→marla→look→card→fade→hold; ending theme returns at rise, sky steps 4→3, A returns to the title
PASSED save-load PASSED. localStorage round trip through a real page reload; corrupt JSON, bogus version and cleared storage all leave the title booting.

▚ engine

round-00-engine
engine round-00-engine

▚ hud

round-01
hud round-01hud round-01hud round-01
round-01b
hud round-01bhud round-01bhud round-01b
round-02
hud round-02hud round-02hud round-02
round-03
hud round-03hud round-03hud round-03
round-04
hud round-04hud round-04hud round-04
round-07
hud round-07hud round-07

▚ player

round-01
player round-01player round-01player round-01
round-01b
player round-01bplayer round-01bplayer round-01b
round-02
player round-02player round-02player round-02
round-03
player round-03player round-03player round-03
round-04
player round-04player round-04player round-04

▚ tiles

round-01
tiles round-01tiles round-01tiles round-01
round-01b
tiles round-01btiles round-01btiles round-01b
round-02
tiles round-02tiles round-02tiles round-02
round-03
tiles round-03tiles round-03tiles round-03
round-04
tiles round-04tiles round-04tiles round-04
round-07
tiles round-07tiles round-07

▚ movement

round-02
movement round-02movement round-02movement round-02

▚ combat

round-03
combat round-03combat round-03combat round-03
round-04
combat round-04combat round-04combat round-04
round-07
combat round-07combat round-07

▚ enemies

round-03
enemies round-03enemies round-03enemies round-03
round-04
enemies round-04enemies round-04enemies round-04
round-07
enemies round-07enemies round-07

▚ dialog

round-05
dialog round-05dialog round-05dialog round-05

▚ transitions

round-05
transitions round-05transitions round-05transitions round-05

▚ dungeon

round-06
dungeon round-06dungeon round-06

▚ overworld

round-06
overworld round-06overworld round-06

▚ integration

round-10
integration round-10integration round-10
round-15
integration round-15

▚ intro

round-10
intro round-10

▚ village

round-12
village round-12

▚ current

round-24
current round-24current round-24current round-24