Skip to main content
Coding Quests

The project-based Godot roadmap

Learn Godot by building, not just watching

Most people who "study Godot for a year" still can't build a game, because watching a tutorial and building something are different skills. This is the order to actually learn in: understand the engine, learn GDScript, build one mechanic, then reusable systems, then a small finished game, and finally build without a tutorial open at all.

Prefer to browse resources by topic instead of an order? See the Godot tutorials library.

  1. 1

    Understand Godot's mental model

    Goal. Read any Godot project without getting lost. Understand scenes, nodes, the scene tree, and scripts.

    Concepts

    • A node does one job (a sprite, a collision shape, a camera)
    • A scene is a saved tree of nodes you can reuse
    • Parent/child structure and the scene tree
    • Attaching a script to a node, and running a scene
    Simplified scene-tree example: a starter sceneThis is the shape of almost every Godot scene: a root you run, a Player node with one script, and children that each do one job. Read it top to bottom.
    • Main : Node2DThe scene you press play on.
      • Player : CharacterBody2Dscriptplayer.gd. One node, one script, one job: be the player.
        • Sprite2D : Sprite2D
        • CollisionShape2D : CollisionShape2D
      • Camera2D : Camera2DFollows the player.

    Build this

    Make an empty scene, add a Node2D, give it a Sprite2D child, attach a one-line script that prints in _ready(), and press play.

    Where to learn it

    Progress check

    Can you say in one sentence each what a node, a scene, and a script are, and add a child node without a tutorial open?

    Common mistake

    Putting everything on one node. A scene is a small tree, and each node should have one job.

  2. 2

    Learn core GDScript

    Goal. Write small scripts from your own head instead of copying every line.

    Concepts

    • Variables and functions
    • Conditions and loops
    • Arrays and dictionaries
    • Node references ($ and @onready)
    • Signals: how nodes talk without depending on each other

    Build this

    A script that changes behavior based on player input, for example moving faster while a key is held, using variables and conditions.

    Where to learn it

    Progress check

    Can you write a script that changes behavior based on player input without following a full tutorial?

    Common mistake

    Forgetting delta on per-frame movement, so the game runs faster on a fast PC. Multiply movement by delta.

  3. 3

    Build one complete mechanic

    Goal. Move from syntax exercises to a single working mechanic that actually feels good to use.

    Concepts

    • CharacterBody2D movement with velocity, gravity, and input
    • Game feel: variable jump height, coyote time, input buffering
    • Tuning behavior through named constants instead of magic numbers

    Build this

    A platformer jump that feels good, or a top-down character controller. Pick one mechanic and make it feel intentional.

    Where to learn it

    Progress check

    Does your character move in a way that feels deliberate, and can you change how it feels by editing a couple of named values?

    Common mistake

    Chasing features before feel. One mechanic that feels great beats five that feel stiff.

  4. 4

    Build reusable systems

    Goal. Learn architecture beyond one script. Start separating responsibilities so a growing project doesn't collapse.

    Concepts

    • State machines: one active state at a time
    • Inventory data as Resources, separate from UI
    • Save systems: serialize data, not the scene tree
    • Signals to decouple systems; stats as data + modifiers

    Build this

    One reusable system you could drop into another project, an inventory or a state machine, with responsibilities kept separate.

    Where to learn it

    Progress check

    Can you add a new state (or a new item type) without editing the ones you already wrote?

    Common mistake

    One 500-line script that owns everything. Split it into nodes, Resources, and states.

  5. 5

    Combine systems into a small game

    Goal. Learn integration, scope control, debugging, and finishing, which are harder than building each system alone.

    Concepts

    • Wiring systems together with signals or an event bus
    • Scope discipline: keeping the game small enough to finish
    • Knowing the prerequisites before you start a campaign

    Build this

    A small game that combines two or three systems you already understand, following a complete campaign.

    Where to learn it

    Progress check

    Can you keep the scope small enough that you will actually finish it?

    Common mistake

    Scope creep. Combining systems is where projects die; keep the first one tiny.

  6. 6

    Finish and publish

    Goal. Complete, export, and share something real. Finishing is the skill tutorials never teach.

    Concepts

    • Defining what "finished" means and cutting everything else
    • Testing the full game loop start to end
    • Exporting and publishing to itch.io, then collecting feedback
    • Starting the next project with a smaller scope

    Build this

    Export your small game and put it on itch.io. A stranger should be able to play it start to finish.

    Where to learn it

    Progress check

    Can someone who has never seen your game play it from start to finish without you explaining it?

    Common mistake

    Never calling it done. Cut features, ship the loop, then start again smaller.

  7. 7

    Move toward independent development

    Goal. Stop needing step-by-step instructions. Build from a goal, not from a video.

    Concepts

    • Building from a one-line written goal
    • Reading the docs and debugging on purpose
    • Recreating a system without reopening the tutorial
    • Modifying a finished system, and combining unfamiliar ones

    Build this

    Rebuild a system you already learned, from a one-line description, without reopening the tutorial.

    Where to learn it

    Progress check

    Can you build a small feature from a written description with only the Godot docs open?

    Common mistake

    Reaching for a tutorial at the first error. Getting stuck and working your way out is the actual skill.

Start Stage 1 for free

You write real GDScript in the first two minutes, no account or card needed. The rest of the roadmap builds on it.

Once you've built a few systems, a complete campaign strings them into a finished game. Not sure where to begin? Start Here.