Tool: Random Dungeon Generator

Tool: Random Dungeon Generator

Tool: Random Dungeon Generator

Hey all,

I have spent a bit of time thinking about, and implementing a random dungeon generator for narrative games like Dungeon World. As the first principle of GMing Dungeon World is “Draw Maps, leave blanks” I was dissatisfied with many of the other Dungeon Generators out there, like those based on squares or geomorphs.

I thought about a tool that helped me tell a story, while still generating complex dungeons with loops and crosslinks (as The Alexandrian called it: “jaquayed” dungeons). I came up with a small python script that generates a graph representation of a dungeon based of “themed” lists of words describing rooms and connections between them. Currently I have implemented lists for Dungeons, Forests, Caves and Graves. i want to use this tool to create maps of MegaDungeons like in the Dark Souls games, where rooms are highly interconnected, paths loop unto themselves, and there exists a central nexus which allows travel to the entry points of each dungeon.

Currently no special logic is implemented to make sure the dungeon makes “sense”, but I found it highly amusing to think of ways to “rationalize” the layout of the dungeon. Additionally, you can only parametrize the number of sublevels and the maximum number of rooms per sublevel.

The generated graph is presented in text form in the dot format, which can be rendered quite nicely using online-tools such as http:\www.webgraphviz.com. The added benefit of the text representation is that it is easily adapted manually after the dungeon has been generated to fine-tune or modify parts of it.

I will just leave an example picture of a rendered graph here to start a discussion. I would be grateful for any comments that could improve this tool. I am not quite sure how i best would share the Python source code, but if anyone is interested, I will glady give it around. Of course, you would need Python to actually run the code.