Dungeon23 tech showcase: cyclic dungeon generation

Dungeon23 tech showcase: cyclic dungeon generation

December 29, 2022
Dungeon23, Anointed23

Figured I'd get a little into the sausage on one particular thing I found that I'll be using quite a bit.

Cyclic dungeon generation is a really, really cool thing that I saw posted about on twitter (from @riseupcomus I believe?), and from there I've seen other people posting about it too. In general it's a great read just for picking out good design patterns for making little moments in a level, dungeon, etc - Zelda is described as the big influence but you can see this kind of technique for design going pretty clearly into a lot of soulslike areas, for instance. So I decided to give the randomization from it a shot! I'm intending a mix of bigger "destination" regions and smaller "interstitial" regions so I'm not terribly worried about the size at this juncture, but it's built such that you can pretty easily compound on it if you want.


I rolled on the d12 table 3 times (once for the initial cycle, two for two subcycles) and got:

10. False Goal

The dungeoneers are presented with a short path to what initially appears to be the goal. However, it is revealed that the “goal” is a trap or trick, and that the true goal lies at the end of a long path that extends from the false goal chamber (or a chamber nearby). There is a 1-in-3 chance that this long path to the true goal is concealed by a secret.

3. Hidden Shortcut

The dungeoneers are presented with a long and dangerous path to the goal. However, a secret short and less dangerous path to the goal is hidden in (or near) the start chamber.

8. Monster Patrol

A very powerful monster patrols a short circular path between the start and the goal. Players moving through the start, goal, or any chambers in between must be careful to avoid the monster. There is likely something valuable in a chamber patrolled by the monster that the dungeoneers must retrieve or manipulate.

So to start, just so I can wrap my head around it, I used mermaidjs to draw out a little diagram based on this:

A diagram of the cycle as described.

Afterwards, I thought about it a bit in terms of "how do these pieces fit together".

  • A false goal as the primary loop is something that feels like another aspect, the Foreshadowing loop: something where you can see the destination but can't get there. (The overlap doesn't bother me because the point is to spark ideas, not so much be extremely prescriptive with it.) In this case, I think it makes sense to be a "it looks like you can approach the destination but there's a major trap or hazard in the way" kind of thing. Think like the arrow tower in Demon's Souls 3-1 (we'll ignore the people who do go straight through it for now). The other path won't be secret because that's a little much for main-loop. (This is also a great way to introduce one of those classic Souls boss shortcuts if there's a boss at the end of this, have there be some way to disable the trap or hazard or whatever.)
  • For the hidden path, for similar reasons, I'm going to interpret this as "if you have the proper equipment and a good roll you can bypass this, otherwise you'll take the longer route". It's not guaranteed they'll have whatever equipment, it depends on what Regions they'd done before this and what they'd picked up along the way, but it's a nice way to avoid tanking resources as they go.
  • For the monster patrol, this is a great place for good loot gated by a nasty enemy.

So from there I started drawing. 2-8 is the false goal cycle, 3-4-5 is the hidden path subcycle 1, and 6-7 is the monster patrol subcycle 2.

A map of points 1 through 9. A solid line connects 1, 2, 3, 4, 5, 6, 8, and 9. A dotted line labeled "False Goal" connects 2 and 8. A dotted line labeled "Hidden Path" connects 3 and 5. A dotted line labeled "Monster Patrol" connects 6 and 7.

This is an extremely serviceable map! I've already got an idea of which of those Region ideas I want to use it for. (I'm using the graph paper in the back of the planner for sketching out generalized, disconnected pointmaps in pencil so I can tweak them as necessary - for instance, if I end up going with the one I'm thinking of I'll probably add a point between 2 and 8 for the "trap". Once the thing starts for real, they go on the pages proper in pen.)

Anyway, check out Cyclic Dungeon Generation!

(Read the original on cohost here!)


Comments

You can use your Bluesky account to reply to this post.

(Learn how this is implemented here.)