Roguelike
Procedural dungeons, turn-based combat, and permadeath — built one syntax beat at a time.
Start Part 1Overview
The Roguelike project has two parts: a four-part dungeon crawler and a collection of standalone map generation tutorials. The dungeon crawler covers grid movement, enemy AI, random room layouts, items, and permadeath. The map generation tutorials — Drunkard's Walk, Cellular Automata, BSP Dungeons, Noise Terrain, and Synthesis — each teach a different procedural generation algorithm you can use in any project.
Unlike a video tutorial where you watch someone else code, every line of GDScript is typed from memory. You will write TileMapLayer lookups, RandomNumberGenerator seeds, typed array operations, and enum-based strategy switches without copying from a reference. This deliberate recall practice makes the patterns stick.
The project assumes you are comfortable with Godot basics (CharacterBody2D, signals, scene instancing). If those are new to you, start with Arena Survivor first. By the end you will have a fully procedural dungeon game and a deep understanding of four different map generation techniques you can apply to any Godot project.
Prerequisites
- ✓Complete Arena Survivor or be comfortable with CharacterBody2D, signals, and scene instancing
- ✓Familiarity with GDScript basics: variables, functions, conditionals, loops
- ✓A modern web browser (everything runs in-browser, no install needed)
What You'll Learn
- •Implement grid-snapped turn-based movement on a TileMapLayer
- •Build enemy AI with chase behavior and turn-based attack calculations
- •Generate procedural dungeons with four different algorithms (drunkard walk, cellular automata, BSP, noise)
- •Manage inventory with typed arrays, equipment stats, and item pickup signals
- •Combine multiple generation strategies behind an enum with seeded randomness
Build a roguelike in Godot 4 with procedural dungeon generation, turn-based grid movement, combat mechanics, and permadeath — all typed from memory in GDScript.
Part 1: Into the Cave
Create tile-based dungeon rooms, implement grid-snapped movement with Input actions, and build the core game loop for a turn-based roguelike in GDScript.
Part 2: Every Turn Has Teeth
Add turn-based combat with attack calculations, enemy AI that chases the player, health tracking, and damage signals in GDScript.
Part 3: The Dungeon Breathes
Generate procedural dungeon layouts with random room placement, corridor connections, and seeded RandomNumberGenerator for reproducible levels.
Part 4: Mutations in the Dust
Add item pickups, inventory management with typed arrays, equipment stat modifiers, and permadeath progression mechanics.
Drunkard's Walk
Generate organic cave maps with a random walker algorithm — set a starting position, pick random directions, and carve floor tiles until you hit a coverage target.
Cellular Automata
Smooth random noise into natural cave chambers using the cellular automata 4-5 rule — fill the grid, count neighbors, snapshot state, and iterate.
BSP Dungeons
Build structured dungeon layouts with Binary Space Partitioning — recursively subdivide space, place rooms in leaves, and connect them with corridors.
Noise Terrain
Use Godot's FastNoiseLite to generate terrain — create noise, add fractal octaves for detail, shape an island with distance falloff, clean up disconnected tiles with flood fill, and spawn the player.
Synthesis
Combine all four map generation algorithms behind a strategy enum — switch generators and regenerate maps with new seeds at the press of a key.
GDScript Concepts Covered
Frequently Asked Questions
- How long does the full Roguelike project take?
- The dungeon crawler (Parts 1-4) takes roughly 3-5 hours. The five map generation tutorials add another 3-4 hours. Each tutorial is self-contained, so you can complete them across multiple sessions.
- Do I need to finish the dungeon crawler before the map generation tutorials?
- No. The map generation tutorials are standalone — each one teaches a single algorithm from scratch. They use the same Godot project as a vehicle but do not depend on Parts 1-4. You can do them in any order.
- What makes this different from a roguelike tutorial on YouTube?
- You type every line from memory instead of copying. Active recall builds stronger retention than passive watching. After finishing, you will be able to write RandomNumberGenerator seeds, TileMapLayer lookups, and dungeon carving algorithms without referencing documentation.