Build a top-down RPG world with TileMapLayer. You'll paint tilesets, set up terrain autotiling, add collision, fix depth with Y-sort, and walk between rooms through real doors.
10
Lessons
1000
XP Reward
Beginner
Difficulty
No videos to zone out to. You write the code yourself in the browser, and Code Checks show what your code passed as you go.
Campaign preview: The complete 2D top-down RPG this campaign builds toward


Start the first 2 lessons free. Membership unlocks the other 8, plus every other quest and campaign.
Membership is US$25 per month or US$200 per year. Eligible new members start with 7 days free. Card required.
0 of 10 lessons completed
Member download: included with Guild Hall membership.
It is the finished project for the whole quest. Use it to compare your work or to recover a broken step.
Build a top-down RPG world with TileMapLayer. You'll paint tilesets, set up terrain autotiling, add collision, fix depth with Y-sort, and walk between rooms through real doors.
Finish it, then keep the momentum. Here's the logical next step.
Recommended
2D Top-Down Combat & Damage
Quest 4 of 11 in the 2D Top-Down RPG campaign.
Build real-time top-down combat: Area2D hitboxes and hurtboxes, a reusable HealthComponent, melee swings, knockback, i-frames, and hit feedback that actually feels good.
First 4 lessons free6-9 hours
State Machine AI for 3D Enemies
Optional. Not part of your current route. Needs: Code From Zero, or you can already read GDScript.
Build a full state machine AI for 3D enemies in Godot 4.x. They chase, attack, circle, back away, and react to damage with real knockback and combo tracking, the kind of enemy that actually feels alive.
First 4 lessons free10-14 hours
Advanced Inventory UI
Optional. Not part of your current route. Needs: Finish Inventory System first; Finish Stats & Leveling System first.
Turn your inventory backend into a real, playable UI: drag-and-drop, tooltips, an equipment doll, a hotbar, and save/load.
Guild Hall7-9 hours
Browse campaigns Submit a build to the Showcase Back to your dashboard