A wall you can actually pass
The whale wall shipped impassable. The fix came from one line of arithmetic, not from playtesting.
Forty five seconds into every run a single wide candle arrives with one gap in it, and the gap slides up and down. It is the loudest moment of the minute. In the first build nobody got through it.
The obvious read was that the wall needed playtesting. The real answer was in the physics constants, and it took a minute to find.
A flap has one height
The ember has two numbers that decide everything: a flap sets vertical speed to 150 units per second upward, and gravity pulls at 520 units per second squared. From those, the height of a flap is fixed.
rise = 150² / (2 × 520) = 21.6 units
You cannot flap smaller. Tapping earlier does not shorten the arc, it stacks another one on top. So the tightest hover any player can hold swings 21.6 units from top to bottom, and no amount of skill shrinks it.
The gap was 34
The wall shipped with a 34 unit gap. The ember hitbox is 6 units tall, which leaves 28 units of clear travel. A 21.6 unit swing fits inside 28 with three units of slack on each side, and only if the swing is centred perfectly.
Then the gap moves. At an amplitude of 34 units and a period of 150 frames it sweeps 68 units in 1.25 seconds, about 1.4 units per frame. Crossing the wall takes 0.6 seconds. Three units of slack against a target moving 1.4 units per frame is not a skill test. It is a coin toss with a losing bias.
Eight seeds, zero finishes
We ran a scripted pilot across eight day seeds. The pilot aims at the centre of the next gap and flaps when the top of its current arc would still land below that centre. It is a decent stand in for a competent human.
- 34 gap, 34 amplitude, 150 frame period: 0 of 8 runs reached the bell, every death inside the wall
- 44 gap, 26 amplitude, 180 frame period: 0 of 8, still dying at the entrance
- 44 gap, 24 amplitude, 190 frame period: 7 of 8
- 48 gap, 24 amplitude, 200 frame period: 8 of 8, and the wall stopped feeling like anything
We shipped 44 / 24 / 190. The wall stays the hardest six tenths of a second in the run and it stops being a lottery. Seven of eight is the shape we wanted: you expect to pass, and you remember the time you did not.
The wick came off the wall too
Ordinary candles have a wick, a solid stub three units deep poking into the gap from each edge. It punishes edge scraping and leaves the centre clear, which is the whole point of the clean thread rule. On a 48 unit wide wall with a moving gap the wick adds nothing but noise, so the wall has none. Its difficulty is the motion.
All of these numbers live in one file, sim/constants.ts, and the test suite re-runs the eight seed sweep on every change. Balance drift is the kind of bug that hides for weeks otherwise.
Every number here comes out of sim/constants.ts, the one file the game reads its balance from.