A real bug that could happen to a player
In 1-3, stepping off a ledge into a one-unit pit could send the cat out of the bottom of the world. The cause was the game's own safety net. It is meant to rescue a cat who is buried in solid ground, but it treated "touching a wall" as "buried" and searched for an escape four units down. A safety net that cannot tell touching from buried is itself a bug, and here the cat fell out of the world for nothing.
The routine now only nudges a cat that is merely touching, and leaves real burials on the old path. A second, smaller case, a one-pixel recovery after a checkpoint, no longer reports as an error.
Helper moves that pick a verified spot
Every teleport the AI uses (carries, "put on the post", the fighter helpers) now picks a verified free spot instead of the raw goal point. The same mistake showed up in the game itself: after Snookums is beaten the game put the cat at a spot inside the compost heap in 2-3, because the code assumed the floor was at zero. It now finds the walkable surface there, and the same assumption was audited in the other boss placements.
Fighting by prediction
Two AI changes were each about the same idea.
- Barnaby. The Shop Floor boss is now handled by a fighter that predicts where he will drop each object, instead of a fixed script. A fixed script only works when the boss is where it expects him to be.
- Snookums. When she hides in the pocket between the lean-to leg and the mower, the AI lures her out onto the grass. It also tries the airing-shelf springboard secret in 1-3, and a warp-box detour that looped in 3-2 is fixed.
The numbers, and why some runs do not count
Thirteen hidden passes ran over two days. The best clean one: all 24 stages, all 8 boss stages beaten, no boss assists anywhere, 7 deaths, 0 stalls, 178 seconds of real time. The first pass of the stretch took 296 seconds with 21 deaths and one error. A later run reached 175 seconds and 3,468 seconds of game time, with 37 of 40 secrets found.
Two of the passes ran while another program pinned the CPU, with frame rates of 124 to 294 against 800 and more, so they are not compared. The log's frame-time line now says when a machine did not keep up, because a verification run on a busy computer is worthless. A silent run is also proven in the log now: every run writes "audio off, listener volume 0" on its first line and in its summary, and a start-up path that briefly un-muted a headless run is gone. One accounting fix: the stage summary line that was being counted as a soft lock (223 of 1,225 lines) is relabelled.
Art
Roo Roo was a Border terrier; on Joel's call he becomes a black Labrador, and the first step is a recolour to a near-black coat with charcoal highlights on the same shapes. Small fixes to Pip's lying toes, Bruiser's scratching foot, Samus's gaskin and lying forearm, and Roo Roo's climbing paws all pass independent review with minors.
A blind art loop has limits. One large character went through four rounds of redrawing against an independent reviewer, scored 4 and 5, then 5 and 5, then 6 and 6, then 6 and 6 again (a pass needs 7 on both). The conclusion was that the next step is a human look at the real scene rather than a fifth blind round.
