Godot & 2D Foundations
Meet the Godot editor, learn GDScript, and build real 2D games — movement, collisions, UI, animation, sound and tilemaps. By the end of Level 1 you can build and export a small complete 2D game to desktop.
Welcome to Godot
What a game engine is, install Godot 4.x, tour the editor, and run your first scene — a label that says hello.
The Scene Tree & the Inspector
Run It & Export It: Your First Playable
Your First Script: Hello from Code
Variables & Types
Maths & Comparisons
Making Decisions: if, elif, else
Repeating Yourself: for & while Loops
Lists of Things: Arrays
Labels & Lookups: Dictionaries
Functions: Your Own Commands
_ready() & _process(): Code That Runs Itself
Tweak Without Code: @export & the Debugger
Meet the 2D World: Node2D & Sprite2D
Showing a Character on Screen
The Input Map: Keys & Actions
Moving with Code: Velocity & delta
CharacterBody2D & move_and_slide()
Top-Down Movement (4 directions)
Platformer Movement: Gravity & Jump
Smooth Controls: Speed, Acceleration & Friction
What Is a Collision Shape?
Detecting Overlaps with Area2D
Signals: Nodes That Talk to Each Other
Picking Up Coins (Area2D + signals)
Solid Walls & Floors (collision layers)
RigidBody2D: Letting Physics Take Over
Bouncing, Gravity & Mass
Groups: Tagging Many Nodes at Once
Reusable Scenes: Make a Prefab
Spawning with instantiate()
Shooting Bullets & Spawning Enemies
Control Nodes: The UI Layer
Labels, Buttons & a Score Display
A CanvasLayer HUD That Stays on Screen
Frame-by-Frame: AnimatedSprite2D
The AnimationPlayer
Tweens: Smooth Movement & Effects
Sound Effects with AudioStreamPlayer
Background Music & Volume
Building Levels with TileMaps
TileSets, Collisions & Layers
Capstone 1: One-Button Arcade Game
Capstone 2: Top-Down Coin Collector
Capstone 3: A Simple Platformer
Capstone 4: Polish, Menu & Export to Desktop
Level Assessment
Coming soon
2D Mastery, Assets & Data
Architecture and game feel, a shaders intro, save/load, and a local database. Plus a full asset-creation strand — make your own pixel art, sound effects and music with free tools (and free AI tooling, used responsibly).
Autoloads: Game-Wide Singletons
Signals, Deeper: Custom Signals & Buses
What Is a State Machine?
A Clean Player State Machine (idle / run / jump)
Organising Your Scenes & Folders
Custom Resources: Your Own Data Types
Juice: Why Games Feel Good
Tweens for Punch & Pop
Screen Shake & Hit-Stop
Particles with GPUParticles2D
Cameras, Zoom & Parallax Backgrounds
Lights & Mood with Light2D
What Is a Shader?
Your First CanvasItem Shader
Uniforms: Controlling a Shader
Effects: Hit-Flash & Dissolve
A Simple Water / Wobble Shader
Where Games Save Data: user://
Saving with JSON
Loading & Restoring a Game
ConfigFile for Settings
A Settings Menu (volume, fullscreen)
Autosave & Checkpoints
Handling Missing or Broken Save Files
Data-Driven Design: Items as Resources
What Is a Database?
Adding SQLite to Godot
Creating Tables & Inserting Data
Reading Data: Queries
A Local High-Score Leaderboard
An Inventory Backed by Data
Free & Fair: CC0 Asset Libraries
Pixel Art Basics (Piskel / LibreSprite)
Colour, Palettes & Style
Sprite Sheets & Animation Frames
Drawing in Krita
Vector & UI Art with Inkscape
Sound Effects with jsfxr & Bfxr
Editing Audio in Audacity
Making Music with Bosca Ceoil / Beepbox
AI Asset Tools: Help & Honest Limits
Importing Assets into Godot
Building a Cohesive Art Style
Capstone: Design Your 2D Game
Capstone: Build It with Your Own Assets
Capstone: Save System & Data
Capstone: Polish & Export
Level Assessment
Coming soon
3D Game Development
Into the third dimension: 3D scenes, physics and lighting, importing models, animation trees, navigation and AI. Includes a 3D asset strand — model in Blender, plus free AI 3D and music tools. Build a complete 3D game.
Welcome to 3D: Scenes & Node3D
Moving in 3D: Transforms & Coordinates
Cameras & the 3D Viewport
Meshes & Primitives (MeshInstance3D)
Navigating & Building a 3D Scene
CharacterBody3D: A 3D Player
First-Person Movement & Mouse Look
Third-Person Movement & Camera
Gravity, Jumping & Slopes
Collisions in 3D
Raycasting: Seeing & Shooting
Importing 3D Models (glTF)
Materials & StandardMaterial3D
PBR: Realistic Surfaces
Textures & UV Basics
GridMap: Building 3D Levels from Tiles
Combining Meshes & Scenes
Performance: Keeping 3D Light
Lights in 3D (Directional, Omni, Spot)
The WorldEnvironment
Sky, Fog & Atmosphere
Shadows: Realtime vs Baked
Global Illumination Intro
Setting a Scene's Mood
Importing Animated Models
The AnimationPlayer in 3D
AnimationTree & State Machines
Blend Spaces: Walk → Run
Skeletons & Bones (basics)
Triggering Animations from Code
Navigation: NavigationRegion3D
Enemy AI & Pathfinding
Patrol, Chase & Detect
Positional 3D Audio
A 3D HUD & Interaction
Pickups, Doors & Triggers in 3D
Blender Basics for Game Art
Modelling a Simple Prop
Materials & UV Unwrapping in Blender
Exporting from Blender to Godot
Voxel Art with MagicaVoxel
Free AI 3D Tools & Their Limits
Music & Ambience for a 3D World
Capstone: Plan Your 3D Game
Capstone: Build the World & Player
Capstone: Enemies, Goals & Audio
Capstone: Polish & Export
Level Assessment
Coming soon
Multiplayer, Backend & Shipping
Build online multiplayer with Godot's high-level networking, stand up a game backend and database (Supabase / Nakama) for accounts and leaderboards, then publish to desktop, mobile and web. The capstone is a shipped multiplayer game in your portfolio.
How Online Multiplayer Works
Client, Server & the Authoritative Model
Latency, Lag & Why It Matters
Godot's Networking, Top to Bottom
Peers, IDs & Who Owns What
Hosting & Joining over LAN
Remote Procedure Calls (@rpc)
Sending Player Input Across the Network
MultiplayerSynchronizer: Syncing State
MultiplayerSpawner: Spawning Players
A Two-Player Game (part 1)
A Two-Player Game (part 2)
Handling Joins, Leaves & Disconnects
Keeping the Server in Charge (anti-cheat mindset)
LAN vs Internet: Ports & Relays
WebSocket & WebRTC for Browser Games
A Simple Lobby
Matchmaking Basics
A Headless Dedicated Server
Hosting Your Server for Free (Render / Railway / Fly.io)
What a Game Backend Does
Talking to the Web with HTTPRequest
Meet Supabase
Player Accounts & Sign-In
Saving Player Data to the Cloud
Online Leaderboards (part 1)
Online Leaderboards (part 2)
Keeping Keys & Players Safe (RLS)
Meet Nakama: A Game-First Backend
Choosing a Backend for Your Game
Export Templates & Presets
Exporting for Windows, macOS & Linux
Icons, Names & Versioning
Exporting to the Web (HTML5)
Publishing on itch.io
A Great Store Page
Testing Your Build Before Release
Exporting for Android
Touch Controls & Screen Sizes
Performance on Mobile
Publishing to Google Play
iOS & the App Store (what you need)
Steam & Ethical Monetisation (intro)
Final Capstone: Design Your Online Game
Final Capstone: Build Multiplayer + Backend
Final Capstone: Ship to Desktop, Web & Mobile
Final Capstone: Portfolio & Showcase
Final Assessment + Portfolio Review
Coming soon
Build a Whole Game
One complete game per topic, from the first design note to a playable online build — the skills of Levels 1–4 put to work on a single project you can hand somebody to play. Take a game once its prerequisite level is done, in any order.
2D Platformer — Online Multiplayer
Tight jump feel, tilemap levels and enemies — then host-and-join play with a shared world and an online scoreboard.
24 lessonsGame 23D RPG — Online Multiplayer
A shared 3D world you and your friends run around in: characters as data, a camera rig that behaves, and real ENet networking.
7 lessonsGame 33D Multiplayer — Boss Fighting
A block-built arena, a third-person hero with Mixamo animations, and a boss you take on alone or with friends.