
The Yet Another Roguelike Tutorial is the canonical starting point for people interested in building a traditional roguelike. Written in Python, it leverages the TCOD library, a toolkit tailor-made roguelike development, which includes ASCII based tile rendering, event handling tuned for turn-based play, field of view calculations, and save/load systems.
Godot has none of these things.
What Godot does have is a powerful node and scene architecture, Resource system for data-driven development, and signal-based event model which provide everything you need to design a roguelike as a component-driven system from the ground up. The Godot Roguelike Basic Set (GRBS) series documents what that looks like in practice as it follows the structure of the TCOD tutorial, implemented in Godot 4.6 and GDScript, including retro-inspired pixel art and effects as opposed to a ASCII characters rendered in a console. The path from empty project to playable roguelike looks quite different than the Python version, but Godot’s component-driven architecture will provide you with an extensible framework you can keep building on after the tutorial ends.
Named in honor of the original Dungeons and Dragons Basic Set, the finished project can be played on itch.io.

Contents:
Part 0 – Project Setup
Part 1 – Creating and Moving a Character
Part 2 – Entities and the Map
Part 3 – Procedural Dungeon Generation
Part 4 – Field of View
Part 5 – Placing and Interacting with Enemies
Part 6 – Doing and Taking Damage
Part 7 – User Interface
Part 8 – Items and Inventory
Part 9 – Ranged Scrolls and Targeting
Part 10 – Delving Deeper into the Dungeon
Part 11 – Increasing Difficulty
Part 12 – Equipment
The TCOD tutorial introduces saving and loading in part 10, as the built in save/load features of the toolkit do all the heavy lifting. Godot requires a bespoke solution to be developed, so rather than try to backfill saving and loading 9 steps worth of content in one shot, the save/load handler will be introduced right out of the gate in step 1.
Other idiomatic Godot architectural decisions, including data-driven entity definitions, state-machine-based input handlers, and a UI that isn’t limited to the confines of a text-based console, are documented over the course of the series. Readers should be able to continue to iterate on these concepts to suit their own project’s needs. Each part will include a link to the project repo on GitHub.
It is assumed that the reader is already familiar with creating and running a scene in Godot, working with nodes, and writing and executing GDScript code. For those readers new to Godot, here is a selection of excellent beginner tutorials to get started with:
The D&D Basic Set provided me countless hours of dungeon crawling adventures as a kid. Whether you are new to roguelikes or just new to Godot, it’s my sincere hope that the GRBS will be the start of a new series of your own roguelike adventures.
The Basic Set homage is unofficial Fan Content permitted under the Fan Content Policy. Not approved/endorsed by Wizards. Portions of the materials used are property of Wizards of the Coast. ©Wizards of the Coast LLC
Leave a comment