Using C++ to Build a Traditional Roguelike book cover

Using C++ to Build a Traditional Roguelike

Build a roguelike you can actually win — and understand every line of it.

C++ SDL3 Intermediate
Buy on Amazon →

One game, built properly

This is a book about building one game, properly: a turn-based, ASCII, procedurally generated dungeon crawler with permadeath — the kind the genre has been sharpening for forty years. You begin with a blank SDL3 window and end with a game that carves its own dungeons and grows its own caves, hides them under fog of war, fills them with monsters that hunt you around corners, and pays out a deep, dangerous descent with the three Amulets of SDL. There's no engine and no framework doing the thinking for you — just C++, SDL3 for the window and the pixels, and you. Every chapter ends with a program you can build, run, and play.

"But your roguelike tutorial is free. Why buy the book?"

Because they're two different things. The free series on this site gives you the code. The book gives you the understanding — and understanding is the part you keep for the next game you write.

Here's what the book adds that a web tutorial can't:

The tutorial teaches you to type a roguelike. The book teaches you to understand one.

What you'll build

The finished engine is small enough to read top to bottom in an afternoon, and the full source for all seventeen chapters is on GitHub, one folder per chapter.

Who it's for

Intermediate C++ programmers comfortable with classes, inheritance, smart pointers, and the standard library — no prior game-programming experience required. Newer than that? The companion Learning C++ by Building Games starts you from zero and builds a simpler roguelike this book deliberately goes beyond.

Prefer to learn free first? The complete tutorial lives here as Roguelikes in C++ with SDL3 — seventeen parts, each shipping a playable milestone. Read the series →