Game Dev 101
Progress
0/22

Learn 2D game development from first principles.

For software engineers who have never made a game.

Crystal Caves mid-run: the player firing across a generated cave, a crystal to the left and the minimap in the corner
Crystal Caves, the complete game you build in lesson 21.

How the lessons work

Play first
Each lesson opens with an interactive demo. Change sliders, toggle features, and feel the concept before reading the theory.
Built for engineers
“For software engineers” boxes map game ideas onto things you already know: pure functions, state, events, SLOs.
Cumulative
Every lesson reuses earlier ones. By world 7 the capstone game uses all of them at once.
Engine-ready
“In Godot” boxes show where each concept lives in a real engine.

Seven worlds, every lesson

  1. 1

    Foundations

    What a game is, and the loop that runs it.

    1. 1What Makes a Game
    2. 2The Game Loop
    3. 3Delta Time & Fixed Timesteps
    4. 4Coordinates & Transforms
  2. 2

    Motion & Math

    Vectors, velocity, input and angles: the maths of moving things.

    1. 5Vectors
    2. 6Velocity, Acceleration & Friction
    3. 7Handling Input
    4. 8Angles & Trigonometry
  3. 3

    Physics & Collisions

    Detect when things touch and make them react.

    1. 9Collision Detection
    2. 10Gravity, Jumping & Collision Response
  4. 4

    Visuals & Worlds

    Sprites, tilemaps and cameras.

    1. 11Sprites & Animation
    2. 12Tilemaps
    3. 13Cameras & Scrolling
  5. 5

    Game Architecture

    Organising code: scene graphs, state machines, events.

    1. 14Scene Graphs & Entities
    2. 15State Machines
    3. 16Events & the Observer Pattern
  6. 6

    Gameplay Systems

    Randomness, procedural generation and AI.

    1. 17Randomness & Procedural Generation
    2. 18AI: Steering & Pathfinding
  7. 7

    Polish & Shipping

    Game feel, UI, audio, and your first complete game.

    1. 19Game Feel & Juice
    2. 20Game States, UI & Audio
    3. 21Capstone: Crystal Caves
    4. 22Next Level: From Scratch to Godot

How the curriculum was put together

The order follows the path used by university intro courses such as Harvard’s CS50 Games and community college game programming syllabi: game loop → delta time → collision detection & response → sprites and animation → maps → state machines → AI, plus the core patterns from Robert Nystrom’s Game Programming Patterns (game loop, update method, component, observer, state) and the “game feel / juice” practices popularised by indie developers. Everything is taught in plain TypeScript on an HTML canvas first, so nothing is hidden behind an engine.