Punball · systems design
A platformer built around momentum, readable landings, and checkpoints. A mistake costs a life before it costs the whole run.
§ 1
Use arrows or A/D to run. Space, Z, W, Up, or K jumps; holding jump changes the jump height. Down or S ducks. X, J, L, or Shift throws yarn after that power is acquired. Touch buttons provide the same actions.
Stomping enemies bounces the cat. Short coyote-time and input-buffer windows help a late or early jump register. The simulation resolves collision independently of the painted sprites.
§ 2
Start with nine lives, capped at nine. Catnip and yarn change the cat’s abilities. A golden bell gives ten seconds of protection. Milk restores a life. Checkpoints retain score, bookmarks, and defeated regular enemies, but a death removes powers; a boss checkpoint resets the boss.
Bookmarks give 100 points each; collecting 100 restores a life. Catnip and yarn give 1,000 points, milk 500, and a bell 1,000. A cleared boss gives 5,000 times the room number. Completing all five rooms adds 10,000 plus 1,000 per remaining life.
§ 3
Living Room, Kitchen, Study, Attic, and Basement form the campaign. Each has a clock, authored platforms, hazards, and a book boss. The clock after a checkpoint respawn is at least 60 seconds. Losing the last life ends the run.
§ 4
A fixed-step TypeScript simulation drives Canvas 2D, directional character sprites, and layered room art. The active score board has a versioned key so old scoring rules do not mix with current runs. The game has no online co-op or persistent character progression.