Lab 09 · hands-on
Feel the game feel
A lab with no code: you do the jumping and you turn the invisible layer on and off. Toggle coyote time, jump buffer, variable jump, hit-stop, shake, squash — and feel the same mechanic go from alive to dead.
How to play
Desktop: ←/→ (or A/D) to move, Space/↑ to jump (hold longer — jump higher). Phone: buttons at the bottom. The task: build up speed, run off the ledge and clear the gap onto the green target. The key experience: jump slightly after the edge — with coyote time you still make it ("COYOTE!" pops up); turn off coyote and buffer — the same late jump does nothing and you fall into the gap. That is what invisible fairness in controls means.
What to notice: 1) turn off coyote and buffer → the late jump off the ledge does nothing and you fall into the gap; turn coyote back on → you make it (and with buffer alone the late jump is "deferred" until you land — instructive too). 2) variable jump: tap the jump vs hold it — different heights; turn it off → every jump goes to max height and you lose control. 3) turn off hit-stop+shake+squash — the jump and the landing go "papery": same physics, dead feel.
🏠 What's next
Go back to the lesson, section "🎮 Play / poke at it" — where to feel someone else's feel: Celeste (coyote/variable jump), zeroing out coyote in Celeste Classic, testing responsiveness with a QA eye.
Connections
from the lesson
Game feel — the theory behind the toggles: a forgiveness window around the ~200 ms reaction time, hit-stop as "weight", smoothing.
crossover
Doom — a high, stable frame rate is feel too, before any juice at all.
What to notice afterwards (observation checklist)
- Cleared the gap with a "late" jump and saw "COYOTE!".
- Turned off coyote+buffer and fell into the gap on the same input.
- Felt variable jump: a short tap vs a hold = different heights.
- Turned off all the juice — and felt how "dead" the same mechanic became.