Nine progressive chapters
Canvas → loop → entities → input → dt → collision → physics → camera → full game.
A pure-browser path from a blank canvas to a tiny physics playground — no frameworks, no installs, just HTML, CSS, and JavaScript.
Canvas → loop → entities → input → dt → collision → physics → camera → full game.
Gravity, speed, friction, camera lerp — tune feel live while you learn.
Reference solution, editable tinker code, and a play iframe side by side.
No engines, no npm inside the lab. Copy the final HTML and open it anywhere.
Each chapter ends with a working engine stage you can play and edit.
Short concept list and step-by-step instructions for that engine layer.
Every numeric constant is exposed — change gravity mid-lesson and re-run.
Study the chapter HTML, edit a fork, then play the result in the sandbox.