... now with 35% more arrogance!

Friday, April 7, 2017

Random Non-Linear Dungeons

There was a recent forum discussion about non-linear or "jaquayed" dungeon generation. Justin Alexander introduced the term "jaquaying" to describe a method of non-linear dungeon design that uses lots of loops and alternate paths to avoid the stifling, railroaded feel of linear dungeons. What the forum discussion centered on was the problem of random dungeon generation, for example Appendix A in the AD&D Dungeon Master's Guide. Most random dungeon generators only produce loops by accident.

What Appendix A does, and many alternative generators copy, is it generates shapes or paths. You start at Room 1 and roll for doors or exits on each wall. Each exit leads to either another room or a corridor heading in some direction. Every so many feet of traveling down the corridor, you roll to see if the corridor turns, branches, ends in a T, or intersects with another corridor.

As you generate corridors (or, for that matter, additional rooms that have their own set of exits,) there is a random chance that the direction indicated would lead into an already mapped area, creating a loop. The chance improves as the map fills up. This means that such loops are more likely to be small, which means less of an opportunity for players to exploit the structure of the dungeon to bypass dangerous areas, slip around behind opponents, or evade pursuit. You wind up with less interesting dungeons that way.

My opinion: you really need to move away from randomly-rolled shapes if you want a better chance of getting loops. The way I see it, you have two choices:

  1. Start with a network of major corridors that already includes loops, then randomly connect rooms and minor corridors to that base structure.
  2. Roll for the destination of corridors or exits, instead of rolling for their shapes.
The best way to explain #1 is to look at the way Appendix A handles starting areas. The first dungeon level starts with either a random room (jump to Table V) or one of five starter areas with a good choice of rooms and passages leading off from the first room. To force loops into your random dungeon, you could similarly have five pre-defined corridor networks that include loops and alternate paths, then check each corridor every 60 feet for branching corridors or doors to build your dungeon around that framework.

For #2, you would replace any roll for direction with a roll for destination, for example rolling for a room number. You would then connect an exit or passage to that destination, adjusting the shape of the corridor to fit the map. As long as there's a possibility of rolling an already-mapped room as a destination, you will get some loops in your dungeon.

You can, of course, mix the two methods with each other or with the random shape method.

I have a couple experimental approaches to each method that I will present in separate posts.

No comments:

Post a Comment