Building Rogue

Learning Software Development One Dungeon at a Time

In 1980, a couple of programmers created a game in which the hero was an @, monsters were letters, treasure was punctuation, and the dungeon was rebuilt every time you played. More than four decades later, I’m building it again in C#, and I’m dragging you along with me.

The game is the excuse. The subject is software development: requirements, design, testing, state, saving and loading, refactoring, and what to do when the thing you designed three weeks ago turns out to be wrong. Rogue has to store data, enforce rules, validate input and survive a save file that lies to it. Squint and it’s a line-of-business application with a body count, which beats building another customer maintenance screen, something I have done repeatedly, and for money.

Every article uses an AI assistant, with a prompt you can run yourself and a way to check what comes back. One rule covers all of it: don’t put AI-generated code into the project unless you can explain what it does.

How to read the map

@
you, the hero, carrying a great deal of misplaced confidence
K
a kestrel that follows you around with real determination
!
a potion of unknown intent, which is every potion until you drink one
^
the trap you found the hard way
,
the Amulet of Yendor, the reason you went down there
>
the way down, which is where the trouble is

The chapters

Thirty-eight articles in two Sections so far, with a third on the way. The linked titles are out on Medium. The rest are written and waiting their turn, one a week.

Section 1: Entering the DungeonArticles 1 to 17, none out yet

A map, a hero, rooms joined by corridors, a kestrel that follows you around with real determination, and the tests to prove all of it works.

  1. 1Why Build a 1980 Game in 2026?
  2. 2Before We Code: What Are We Actually Building?
  3. 3Our First @
  4. 4Making @ Move
  5. 5Our First Dungeon Room
  6. 6Don’t Walk Through Walls
  7. 7A Dungeon Bigger Than the Screen
  8. 8Let the Computer Build the Dungeon
  9. 9Rooms Need Doors and Corridors
  10. 10Random Doesn’t Mean Unrepeatable
  11. 11The First Monster
  12. 12The Monster Moves
  13. 13Whose Turn Is It Anyway?
  14. 14Our Movement Code Is Becoming a Mess
  15. 15What Can the Player Actually See?
  16. 16Separate the Game From the Screen
  17. 17Can We Prove It Works?
Section 2: In Search of the AmuletArticles 18 to 38, none out yet

Combat, potions you shouldn’t trust, traps, hunger, twenty floors, death, victory, and a save file that refuses to be fooled.

  1. 18Now Let’s Actually Build Rogue
  2. 19Combat: @ Meets K
  3. 20Not All Monsters Are Created Equal
  4. 21Making Monsters Behave Differently
  5. 22There’s Something on the Floor
  6. 23The Inventory Problem
  7. 24Weapons and Armor
  8. 25Potions: What Did I Just Drink?
  9. 26A Red Potion Isn’t Necessarily Healing
  10. 27Scrolls and Other Temporary Effects
  11. 28The Dungeon Wants You Dead
  12. 29You Have to Eat Eventually
  13. 30Getting Stronger
  14. 31Going Down
  15. 32Making the Dungeon Harder
  16. 33Gold, Treasure and Scoring
  17. 34Death Means Death
  18. 35Saving a Dungeon
  19. 36Loading Yesterday’s Game Tomorrow
  20. 37Testing an Entire Adventure
  21. 38Have We Actually Built Rogue?

Section 3: Rogue Is Going MobileComing

The same engine on a phone, to find out whether all that separation actually paid off. Being written now.

The real Rogue

This series rebuilds Rogue; it doesn’t replace it. If you want the original, its history or the people who made it, start here.