Reviews of the parts nobody has played
Four read-only reviews covered the flow and menus, Samus, three boss fights, and enemies, hazards and pickups. Each finding was checked against the code before it was fixed. Nothing was run; the checks were the compiler and the next test pass.
Stuck or lost states
- The world map had no way out: no button went back to the title. B, X or Esc now arms "BACK TO TITLE" and a second press goes.
- After a pollen sneeze near the end of a grass patch the cat could lose all steering for good, and a cat killed mid-sneeze respawned with dead controls. Both fixed.
- The game now pauses when the window loses focus or a pad disconnects, so Alt-Tab no longer costs a life.
- A stage won at the very moment the clock ran out, or the last life was lost, could show GAME OVER over the level-complete screen and still mark the stage cleared. Taking the goal now stops the clock and ignores a death during the celebration.
Samus. After a co-op warp, a cat who rode in on Samus was driven twice at once. One player's whistle could mount the other player. On a gamepad every claw tap also whistled, because the 0.3 s hold the design describes had never been added. She could be mounted mid-roll, which made the whole ride immune to hits.
Bosses. A short boss intro could replay after an earlier death and reset a half-won fight. Roo Roo now stops where he fits in the trap in phase three instead of walking at a wall for ever after a stray hairball, and Barnaby no longer rears up with nothing to tidy.
Making the bosses fun, not a puzzle with a hidden rule
All nine boss fights were read for hidden rules, actions that silently do nothing, windows too short to react to, and long waits. About thirty fixes came out of it.
- Bruiser could not be beaten after his first intro. A timing clash between his wake-up and his intro left him switched off for good, ignoring every hit. Nobody had caught it because the intros never play while the AI is driving.
- The claw counts on every boss. It used to show a full hit and do nothing.
- No platforms over a head you have to stomp. While a boss is stunned and stompable, the shelves and ledges above his head step aside, so landing on the head always works.
- Every move that does nothing now answers. A shrug and a "nope" sound mark a hairball at a switch that only takes a claw, a pour that just misses Barnaby, and a cat waiting in Roo Roo's trap at the wrong time.
- Roo Roo teaches his own win condition. In his first two phases only a soaked cat can dig the boot out of the trap, but a dry cat could sit there for ever with nothing to say why. A cat who is too light now gets the "that does not work here" puff, and the intro line says to get soaked first.
Thin ledges, and the stacked ledges of the climbing stages, can also now be jumped up through and landed on, like the one-way platforms of the classic side-scrollers.
Twenty fairness fixes in fourteen stages
Every stage was read for moments that are unfair rather than hard.
- In 1-1, walking off the top ledge could drop you, unseen, into the stage's only deadly pit. A small lip now makes leaving that way deliberate.
- In 5-1, a frog that cannot be beaten sat under a low ceiling where it could not be jumped either. It now sits in the open.
- In 2-3, a narrow slot right before the Snookums fight needed a double jump to climb out of. It is filled in.
- Checkpoints that put you inside a crate, in a cramped pocket, or right next to an enemy were moved, and after respawning you get a moment's safety.
- In 3-3 each board's outer end has a small lip, so being knocked off the outside of a board no longer drops the cat up to 32 units back down the climb. Enemies there went from 11 to 9. In 1-2 the gap to come up for air between the two washing-machine bulkheads is 4 units wide instead of 3.
Sound: what was missing, and how loud things really were
- Drowning in silence. The sound bank the game ships had no water sounds at all: no splash in or out, no paddle, no air-clock bubbles and, worst, no drowning sound, so a cat drowned in silence in the nine water stages. Running the audio build step on its own also dropped the catnip sounds. Both are fixed at the source, and the bank now holds all 162 of 162 sounds.
- Loudness measured, not guessed. The sounds added this week were measured at their real in-game loudness. A hairball hitting a wall was louder than firing it, the claw and roll sat under the footsteps, and the snoring and grass rustle were close to inaudible on laptop speakers.
Menus that work with any pad
Button prompts now name the real buttons for the pad in your hands. Before, they always said A and B, and on a pad with the confirm and cancel buttons swapped the file-erase screen's "B to keep it" was actually the confirm button, so following the prompt erased the save. The Options screen also gained volume, sound effects volume, full screen or window, vsync, screen shake, controller rumble, a TV margin for screens that crop the picture, and a KEYS page for remapping the keyboard (picking a key another action uses swaps the two). A window is always a whole multiple of the 480 by 270 picture, so the pixel art never scales by a fraction. A save that fails now says so on the world map instead of vanishing silently.
Movement that feels right
Eight small fixes: no false "landing" in mid-air when rising past a ledge, a jump pressed just before landing on an enemy now gives the big bounce, a jump pressed early in a roll is kept, springs give the high bounce on a tap like enemies do, a roll off a ledge no longer flings you, the quickest tap no longer gives the tallest jump, a diagonal press no longer drops you through a ledge, and landing on ice no longer stops the cat dead, so the rink slides as designed.
Fixing our own fixes
A fresh review of the day's changes found four mistakes in them: the stream machine could lose its settings after an idle restart, the full screen or window choice was saved backwards, the platforms over a boss's head could stay hidden after a death, and a recovery path tripped over itself. All four are fixed. Everything compiles with no errors or warnings; none of it has been played.
