2026-10-07 · MITTENS THE KITTENS

Every required climb becomes a light tap, and the scenery gets fixed by the numbers

A day of difficulty work across Worlds 1 to 8 (closer checkpoints, more hearts, small steps instead of big jumps), a landing fix for thin shelves, and an art pass that finishes the set dressing for every world.

The bar: nothing required should be hard

The rule for the day was that every climb a player has to make should be a light tap of the jump button, about 1.25 units or less. A quick tap rises 1.78 units; a jump plus an air jump rises 5.47. Anything that needs more than a tap has to justify itself, and most could not. Every builder now checks its own critical path each time it builds.

What that looked like in practice:

  • 3-3, The Top Shelf. Every shelf was about 4 units above the one below, so each board needed a double jump. Each gap now has a short ladder of small boards, fixed to the shelves so they lean with the unit when it tips.
  • 4-2, The Boiling Room. The top of the toffee climb was a 2.75 unit jump followed by a 4 unit double jump. Five thin drying trays turn it into six small hops.
  • 5-1, Under the High Street. On the dry path, every pipe and bracket was a 1.5 to 2 unit hop and one gap was 4 units wide. A thin ledge beside each, and a stepping stone in the wide gap, make every step a tap. The wet route is unchanged.
  • 7-2, Behind the Boards. It was a 64 unit tower of 2.5 unit hops. It is now 46 units, laid out up, over and back, with the same 35 tokens and four enemies instead of six. Required hops over a light tap went from about 21 to 0.
  • 8-3. The invisible lamp brackets are gone: the eight lamps' own arms are the ledges now, exactly where they are drawn. Every required hop is 1.25 units or less.

One finding came up in three different worlds. Most of the difficulty was not tuning. It was geometry nobody could see: invisible ledges, walls on the running path, roofs half a unit off their drawings.

Behind the Counter, third attempt

6-2 was rebuilt for the third time in a day. Version two had the right outline and the wrong numbers: its climbs were 1.75 units against a quick tap's 1.78, so a short press failed, and the drawer rims were 2.0 apart. Version three is 75 by 19 units and goes up, over, down, over and up. Every climb is 1.5 units or less, the drawer rims are 1.0 apart, and the bottom drawer starts open, so you see what an open drawer is for before you have to open one.

The old shortcut skipped half the level. The new quiet way is a cable tie on a coil of drip line: claw it and the line drops into four soft treads up the same wall. Skips are closed with solid boards, since a jump plus an air jump covers 5.47 units.

A bug report said the cable tie never moved the cat. It was a fault in the test script: a realistic claw (face it, let go of the stick, claw) fires the tie, and a 150 ms hop lands on the first tread.

Checkpoints and hearts

The audit found that no stage after World 1 had a heart pickup, and that several stages left 40 to 118 units between respawn points. The rule became no more than about 30 units between checkpoints.

StageLongest gap beforeAfter
World 1 (72 at the start of 1-1)7233
2-3 The Line7026
4-1 The Cellar4224.5
5-1 Under the High Street4132.5
5-3 The One Open Lid5731

None of the 2-3 posts sits inside a breach, because respawning clears the pollen meter that stage is built around. 26 hearts went into 15 stages in Worlds 2 to 8, each halfway between two paw tokens on the route, and every stage in Worlds 2 to 6 now has at least one.

Thin shelves that let you slip past

Players kept slipping past thin shelves when they hopped onto them at an angle. The first guess was a collision bug, and there was none: in 24 scripted test hops the cat never passed through a shelf. What happened was that a sideways hop reaches the shelf's edge just after the jump starts coming down, so his feet are a few pixels under the top on arrival, and the game read that as jumping up through it.

The fix is in the movement code, so it applies to every level. If Mittens is falling and a thin shelf's top is at most 6 pixels above his feet, he lands on it. It only catches a shelf he is moving onto, never one his back edge brushes on the way past, and down plus jump still drops through.

  • Test hops that land: 12 of 24 before, 14 of 24 after. The rest cannot reach from that far at that press length, which is down to the layout.
  • Scripted routes re-checked: 6-2 19 of 19, 5-2 16 of 16, the 2-2 climb 22 of 22 (twice).

Falling out of the world in 1-2

The first scripted runs of the rebuild found a real one. The two deep pools in The Deep End had an open gap at the bottom of each end wall, so a cat walking along the pool bed walked out under the floor and fell. The walls now reach the pool bed. In the same pools the water weakens a jump, and a light tap rose only about half a unit against a 0.9 unit edge, so each pool now has a sunken step under its exit edge: two light taps get you out.

The first boss is a real bulldog

Bruiser was redrawn by hand as an English bulldog, and a smaller one: he stands about 4 units tall instead of 5. A smaller boss quietly changes which numbers are fair, so everything that depended on his height was revisited. His hit box over the back went from 4.6 to 3.8 units tall, so a hairball flying over him no longer hits thin air. The intro now lands its hairball on his nose instead of his collar, and the drool that shows how dizzy he is starts under his lip, because the sprite draws its own tongue and drool now. The new sheets keep every animation name, frame count and timing, so nothing in the fight had to be rewired.

Scenery, and what the checks missed

All eight worlds now have their set dressing planned and placed, from the sewer's cold pipework and street-name plates to the rink's spectators and the park's skyline. A gate script re-reads each level builder's own code every run and rejects any piece on a token, checkpoint, enemy lane, warp box or collider, and each gate is tested with deliberately broken placements it must reject (53 for the rink, 41 for the surgery, 46 for the park).

Passing the gates was not the same as looking right:

  • Backwards lettering. A "FISH / BAIT" signpost in 3-2 and a key board in 3-3 were mirrored in the plans. Every automated check passed. Looking at the rebuilt stage caught it.
  • Light that looked like dirt. The glowing pools under the sewer's street gratings read as brown stains. The cause was the colour, not the shape: the game blends sprites in linear light, so a faint saturated orange pulls a dark wall toward brown instead of brightening it. The three light sprites are now warm white and pale sodium yellow, which can only lift a wall.
  • Halos in the wrong place. In the sweet shop all 109 lamp halos sat above their lamps, because the plan measured the halo differently from how the game places it. Each now sits on its flame or bulb.
  • Props that read as the wrong thing. A compost bin looked like a treasure chest, a pale sprinkler pipe like a ledge, and in 2-2 17 window boxes and pipes looked like extra ledges. They were redone or removed, which brought the stage from 101 pieces of dressing to 86.
  • A tool that was too tidy. In World 3, placement rules compare the actual drawn pixels of neighbouring pieces. The first redraws spilled outside the old shapes and failed 25 overlap checks, so four pieces were redrawn to fit their old outline.

Counting how much a loop moves

An art review measured how much each boss animation actually changes from frame to frame, and several loops barely moved. Bruiser's end-of-fight nap changed 3% per frame and now changes 9%. His pounce went from 9% to 81%: take-off, stretch, tuck and a reach for the landing, where before the body just hung in the air. One bug was a maths slip: Bruce's tail was meant to wag like a windscreen wiper while he drops the ball, and it never moved at all. The earwig's walk changed 33 to 46 pixels per frame and only the leg tips moved; the new one changes 181 to 234.

For Samus, the rideable dog, a shadow under her chest had been painted navy and looked like a hole in her body. It is now her own darkest brown, and navy pixels on her went from 3,973 to 0.

Nothing from this day has been played by a person yet; the checks were scripted runs and compiler output.