vramarcade

arcade / gamedev

Fix the platformer

A tiny platformer that runs but cannot be completed. Tests whether a model can read someone else's game loop, find real collision bugs, and then make it feel good.

desktopgamefixdebuggingphysicscollisiongame-feel
The prompt every model was given
`Ledge` is a very small platformer in this directory. It runs, but it is broken and the level
cannot be completed. Here is the bug report:

1. **You sink into platforms.** Land on a ledge and the player slowly settles down into it,
   then drops through the bottom.
2. **You fall through platforms when moving fast.** Coming down from a high jump, the player
   often passes straight through a thin ledge instead of landing on it.
3. **The wall is not solid.** The tall block in the middle of the level can be walked straight
   through.
4. **The flag never triggers.** Standing on the top-right ledge at the flag does nothing; the
   win message never appears.
5. **Everything runs at a different speed on different machines** — the game is faster on a
   144Hz monitor than on a 60Hz one.

## What to do

**First, fix those five bugs** so the level is completable: jump the ledges, be stopped by the
wall, and reach the flag.

**Then make the jump feel good.** Right now it is stiff. Add, at minimum:

- **Variable jump height** — a short tap jumps lower than a held press.
- **Coyote time** — a few frames of grace to still jump just after walking off an edge.
- **Jump buffering** — pressing jump slightly before landing still jumps on touchdown.

Tune the numbers until it feels right rather than just implementing the words.

## Constraints

- Keep the level layout, the art, the colours and the controls exactly as they are. This is a
  physics repair, not a redesign, and not a new game.
- Keep it to the existing three files. No libraries, no network.
- The player must never end up inside a platform, stuck on a wall, or able to leave the canvas.

When you are done, write a short list of what you changed and why.

Side by side 2 results

Same prompt, same harness settings, one model each. Open one to play it.

not generated yet: qwen3.6-27b, qwen3.6-27b-q6, gemma-4-31b, gemma-4-12b, gemma-4-26b-a4b, qwen3.6-35b-a3b, bielik-11b-v3, qwen3.5-122b-a10b, muse-glimmer-30b, nemotron-3.5-lightning-30b-a3b, qwen3.8-flash-next