Dungeon Generation Article Series

On this page you’ll find links to all the articles in my dungeon generation series.

Part 1 – Introduction
Part 2 – Beginning the generation process
Part 3 – Implement walking in random directions
Part 4 – Create corridors as we walk to create a maze
Part 5 – Adjust the chance to change corridor direction
Part 6 – Find and remove dead-ends
Part 7 – Adjust the sparseness of the maze by removing dead-ends
Part 8 – Add loops to dead-ends
Part 9 – Placing rooms in the maze
Part 10 – Adding doors to rooms

7 thoughts on “Dungeon Generation Article Series

  1. Pingback: A fine TDD Tutorial « Dom's Code

  2. Pingback: Zombie Accountant Sales, Thoughts « Ben Kane

  3. This was an excellent series, I was able to apply the code (with minor tweeks) to display a 3D dungeon in unity. I do have a quick question though, is there a way I could modify the code to not use the System.Drawing library without extensive re-writes? Unity doesn’t support it directly and I have to include the dll with my assets meaning that I can’t compile for mac but only under windows. I’d really appreciate it if you can reply with any ideas that could help me out. Again, awesome series!

  4. Great series. I’ve been trying to wrap my mind around procedural dungeons for a unity3D project, and this was exactly what I needed. Cheers, and thank you for taking the time to do these articles!

  5. Yup, I didn’t change much other than some minor tweaks, I kept everything in a 2D array and then basically built the floors and walls as “tiles” which were textured cubes. Planning on replacing those with meshes is my next step. 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s