Keywords: development

The "room" generation I displayed earlier provides some tactical variation for my action adventure game, but it doesn't help define any plot points. For that, I've been hoping to find some clues in the overworld generation.

Thus far, my plan is to refer to a maze of childless BSP nodes. Each node will contain a "dungeon" maze of rooms. Players will begin inside a hub node. Completion of the hub quest will offer another quest and a key for the connected nodes. Those nodes will have their own quests. Completing their quests will be necessary to perform the hub's quest. Some of those nodes will be hubs as well and require the same of their newly opened connections. The result will be a chain of quests and the game will end where it began.

This gives me some structure to play around in, but I'm not sure what the dungeon quests will be. I imagine they'll involve boss assassinations and scavenger hunts (including those which encourage backtracking through old areas with new key items). However, I hope to add more variety. There will at least be puzzles. I'd like to include some reasonably difficult ones for nonessential items, but I likely won't evaluate them past their number of steps for completion.

Getting to this point took way too long.
  • I wasted a lot of time researching how to assign biomes to each node. I now believe random selections with blended edges at the connections are best. Realism defined by strict adherence to models is no match for plausible interference. Especially when there's magic involved. I'd rather have variety in node neighbors and make environmental anomalies part of the implied narrative.
  • Similarly, I'm still researching plot generation techniques as if they apply to my project. What I'm finding tends to focus on dynamic plots and/or preexisting nouns. However, all I want are static reasons to explore the map. For the first iteration, I might be better off creating NPCs in maze-defined locations as the map is generated and then assigning random permutations of triggers and events. I'm really curious about the stories that will develop just by players filling in the sequential gaps. The chaining nature of the hub quests might provide all of the cohesiveness I require.
  • I had to determine a map size... and what I had in mind was something which could stretch to meet the floor of a room in case I want some sort of kaiju action. The floor size is 39x21. That's 819 rooms to slog through. I cut the dimensions to 13x7 (91 rooms) and plan to simply triple them when displaying the map. I find the small size fine because the individual rooms are large, I want games to finish reasonably quickly and I don't want to run out of content.

    However, the smaller the dimensions, the greater the chance of creating small BSP nodes. The smaller the BSP node, the less maze permutations there are. (There's less tile choices to fork the path.) The less maze permutations there are, the more likely nodes of the same size will have similar mazes. Too many dungeons could look the same.

    I eventually decided to just treat tunnel nodes as part of the node in their outgoing connection. In other words, nodes with 2 connections should merge with every node going away from the starting hub until they join a node with 1 or 3+ connections (a dead end or a hub). This grants more tiles to work with. It also allows dungeons to bend a bit so they're not always boring rectangles.

    It's not a direct enough solution to get rid of the problem completely though. Note how this abstract mockup merged one 3x2 area while leaving 3 more. I might add some hidden rooms to mix things up.