26 tiny games, each teaching exactly one idea. Play every one right here in the browser, then read the code that makes it work. It is the real code, the same files you would open in Godot.
Walk around using arrow keys. The starting lesson: one player, four directions, and the code that reads the keyboard.
Switch to a side view. Gravity pulls down constantly, and jumping only fights it for a moment.
Find your way through a maze. A StaticBody2D blocks the player; an Area2D notices a touch without blocking it.
Turn the player to face wherever the mouse goes, swap the cursor for a crosshair, and click the targets to pop them.
Click to fire. Every bullet is a brand-new copy of a saved scene, created the instant you press the button.
Subtract two positions to get an arrow pointing at the player, then walk along it. That is the whole trick.
An enemy that walks a fixed route, switching to the next spot on its list each time it arrives.
Build new enemies on a timer while the game is already running, instead of placing them by hand in the editor.
Pick up coins and watch a counter climb. Introduces signals: one event, two different files reacting to it.
Lose health by touching a hazard. Mixes a signal with a direct function call, and shows when to use each.
Race the clock. Reach the green goal in time and you win; let the timer hit zero and you lose.
Fall in a pit, lose a life, reappear at the start. Run out of lives and it is game over.
Two zones, two endings, one full-screen panel. Uses a flag so the game can only end once.
One script, three scenes. Each level fills in where to go next, so the same code sends you somewhere different.
Play, Options, Back. A menu is really just panels hiding and showing, with one visible at a time.
Two ways to make a noise: load a .wav file, or build a beep in code with no file at all.
Loop a song underneath the whole game, and pause it right where it is instead of starting over.
Squash and stretch the player between an idle and a walk. The animations live in the scene, not the code.
The first lesson where the world is bigger than the screen. Limits, smoothing and a deadzone, each one switchable so you can feel what it does.
Same jump as lesson 2, but it stops feeling broken. Coyote time, jump buffering and variable height. Flip them off to feel why they exist.
The warrior you have played since lesson 1 is one frame of a picture file. See how sprites work, then swap in any character you like.
Walk up behind a tree and disappear behind it, then come back down in front. One checkbox gives a flat top-down world a sense of depth.
A project, not a new idea: escape the maze before the chaser reaches you. Assembles Top-Down Movement, Walls and Collisions, and Enemy Follows Player.
Targets keep appearing, so destroy fifteen before they crowd you out. Assembles Mouse Aiming, Shooting Bullets, and Enemy Spawner.
Ten coins, twenty seconds, no second chances. Assembles Top-Down Movement, Collect Coins, and Timer Countdown.
Cross the pits, grab every coin, and make three lives last. Assembles Platformer Movement, Collect Coins, and Lives System.