Your first game.
Your next big idea.
Make it playable.
Move it. Jump it. Make the rules. Learn to create JavaScript games through 50 hands-on builds—with code you can edit, worlds you can play and checks that explain what works.
updateWorld(deltaTime);
drawTheNextFrame();
The player feels it. ↗
From moving squares to complete games
Loading your journey…
The supplied canvas engine handles rendering and input; you write and extend the rules. Each lesson starts with a focused, independent experiment. Read the engine source to see how the pieces connect.
Start with basic HTML and JavaScript variables/functions. New to either? Practice HTML or JavaScript fundamentals first. Go in order or jump to the concept you need.
Loading your first experiment…
Need a nudge? Open a hint
See the game scaffold HTML
Runs in an isolated preview with network access blocked by its content policy. Use learning code only; an infinite loop may still freeze a browser tab. Stop replaces the preview when the browser remains responsive. Checks cover the stated tasks, not all possible behavior.
Take it further
Play your experiment
After Run, press Play inside the preview. Use arrows/WASD, Space, F or the touch controls. Step advances one frame. Check my work uses a fresh game and tests rules directly.
Game state explorer
Inspect position, velocity, score and objects. Click Refresh state while playing or after stepping to capture a new snapshot.
Run a lesson to inspect its game state.
Console & runtime messages
No messages yet.
Make a game. Understand every rule.
Progress means your current code passed the authored checks and you answered the concept question. Worked-example passes are labeled separately. Use the stretch tasks to make the result your own.
No account or AI service. Drafts and notes stay in this browser; storage can be cleared, so keep a backup. Your exported HTML runs your code outside the studio—review it before sharing.
Canvas reference on MDN ↗ · Game development on MDN ↗