The Movement Lab

This is milestone 1 of the Retro-64 engine, running live: a 320×200 canvas at the PAL C64's 50 frames per second, one scrolling test room, and a player controller whose entire personality is data.

Pick a profile, then move every slider and feel what each number does. The two shipped profiles are deliberately opposite schools of C64 platforming:

  • Giana school — you accelerate, you slide, you steer mid-air, and a tapped jump is a hop while a held jump soars.
  • Jet Set Willy school — constant walking speed, and the instant you leave the ground the arc is committed. No steering until you land. Try to change direction mid-jump and the engine will politely ignore you.

What to try

  1. The staircase (left): climb it with Giana physics, then switch to Willy mid-room and feel how the same staircase becomes a puzzle of commitment.
  2. The spike pits: the 4-tile pit is comfortable; the 5-tile pit makes Willy players take off at the very last pixel.
  3. The wall (middle): both profiles clear it — one by 9 pixels, one by 4. Nudge gravity up a notch and watch it become impossible.
  4. The floating slab right of the wall: walk under it freely, jump under it and bump your head — a classic tile-collision test.
  5. The tower (right): use the small yellow platform, and notice you can jump up through platforms but always land on them coming down.
  6. Kill the inertia: switch off Inertia on the Giana profile — instant full speed, instant dead stop — and feel forty years of platformer arguments in one checkbox.
  7. Break it: set gravity to 0.02 and jump impulse to 6. This is why the sliders exist.

Everything here — physics, collision, rendering, input — is a folder of plain ES modules with no dependencies. The page you're reading is the only part that knows a CMS exists.

📓 How this was built — the Build Log