Friday, December 8, 2017

Procedural Generation of a Hex-Crawl Redux

Previously, I had written up procedures on how to procedurally generate a hex map. There are a few flaws in those procedures as they are way more cumbersome than feasible for a table. Rather than rolling and populating a hex map as Players travel through them, Hex-maps should be created prior to play, but can still be created procedurally as before. The biggest issue I ran into with the previous procedures is that they left rather sparsely populated maps, and whenever roads were rolled, they made you re-write the entire rest of the map. These procedures eliminate that, and create more robustly gameable hex-maps. Rather than creating the entire map on the fly, regions are created and then the space between them is filled to connect them together.



 Procedural Generation of a Hex Crawl Region.


Each region in your "game world" needs two things for it's inception: a starting settlement and a starting dungeon. OSR has produced a great deal of dungeons so you can just search for one someone has already written. You can either make your own settlement or use one of the Towns, Cities, or Villages I've made.

Once you have your first settlement, you add a road that goes through 2d6 hexes leading elsewhere. This road will serve as the backbone for the region. You can use the What direction does this Road go in table and the 1d6 hex direction table to make the road.



What direction does this Road go in? (2d6)

2It abruptly ends (It's missing in this hex, but continues on past it)
3 It exits the nearest clockwise edge from entrance
4-5It exits the 2nd nearest clockwise edge from entrance
6-8It exits through the Opposite Edge
9-10It exits the 2nd nearest counterclockwise edge from entrance
11It exits the nearest counterclockwise edge from entrance
12It forks (roll again for branch distance and what the branch ends in)

Author's Notes: Roads are mechanically favored to continue in straight lines and shouldn't end up making loops within themselves. Personally, I really like the idea of roads having meaningful things on both sides and this way you also start with another known location and a way to reach it from the starting settlement.

Now for what populates the end of the road you roll on the Road Destination table below.

Road Destination Table (1d10)
1-3 Village
4-5Town
6-7Natural Landmark
8-9Fortified Keep
10City


Populating Hexes


So at this point you'll have One Settlement, One Road, and One Road Destination. You'll also have 2d6 hexes which need to be populated as well. The content of these hexes is determined by first classifying them as a Polite Land's hex or as a Wilderness hex. Polite Lands Hexes are the 6 hexes surrounding a city or the hex occupied by a town. All other hexes are Wilderness Hexes. You fill each hex by rolling 3 1d6's and then consulting the Tables below to determine their contents.

Polite Lands Hex Conent (1d6)
1-3
Populated
4
Ruined
5
Desolate
6
Wet

Wilderness Hex Content (1d6)
1
Populated
2-4
Ruined
5
Desolate
6
Wet

Populated Hex Filling (1d10)
1
Lumberyard
2
Hunting Camp
3
Trading Post
4
Mine
5
Farmland
6
Village
7
Estate
8
Church 1 
9
Bridge
10
Roadside Inn

Ruined Hex Filling (1d8)
1
Trading Post
2
Mine
3
Farmland
4
Village
5
Estate
6
Church 1 
7
Bridge
8
Roadside Inn

Desolate Hex Filling (1d6)
1
Road 2 
2
Sign/Route-Marker
3
Campsite
4
Fountain
5
Idol of Favor
6
Well

Wet Hex Filling (1d4)
1
Waterfall
2
River 3 
3
Stream
4
Pond

1. Consult the Table below to determine what kind of church it is
Church Alignment Table
1-3
Lawful Church
4-5
Neutral Temple
6
Chaotic Altar

2. Roads are 2d4 hexes long. After rolling for the number of hexes, roll 1d(Road Length) to determine which portion of the road this is. Then roll for what destination lies at each end of the road, and what direction the road travels in.

3. Rivers are 1d10 hexes long and are otherwise generated as roads without destination.

At this point you'll have a few roads leading to villages, towns, and possibly even a road to a different city. Now simply fill in any gaps around the roads hexes and add a border of single hexes around the entire region. For the border hexes do not roll for the length of any roads and rivers, these simply leads away and to another region

Now that we have a geographic hex-map, we need to add terrain for each.

Hex Terrain


Starting at the first hex you populated with your starting settlement, roll a 1d6 and go that many columns across the Hex Terrain Table to determine the starting terrain. For every other hex, use the Table to determine the adjacent terrain.

Hex Terrain Table  (1d20)
RollPlainsForestHillsMountainsSwampWater
1-9PlainsForestHillsMountainsSwampWater
10-14ForestPlainsMountainsHillsWaterSwamp
15-17HillsSwampPlainsForestPlainsPlains
18MountainsHillsForestPlainsHillsHills
19SwampMountainsSwampSwampMountainsMountains
20WaterWaterWaterWaterForestForest

Author's Notes: Assume water terrain hexes to mean coasts, deltas, and lagoons rather than open sea. Seas and Oceans are only added by Towns and Cities with ports. 

Example of how the table works:

After fill a Hex with the Plains terrain, you would want to fill the the terrain of the surrounding hexes. Going clockwise starting at the flat top of the hex you assign each surrounding hex a terrain type. Lets say you go From Hex 0,0 to Hex 0,-2 You would roll a d20 five times and what ever terrain is rolled is the terrain of that hex. Let's say we rolled the following 11,7,15,6, and 2. This means that around this hex are hills, forest, and more plains.


Now that we have determined the terrain of each hex, we are able to add natural landmarks and monster lairs.

Natural Landmarks

Count the number of hexes total in your region. Roll a 1d12 until you have a sum equal or greater than that number, that is how many natural landmarks are present in the region. For example if you have 21 hexes in your region, you would roll a 1d12 a number of times until the sum of your roll equals or is greater than 21. Lets assume that you had rolled the following: 10, 4, 3, 2, and 5. That's 5 rolls which means there are 5 natural landmarks in this region. Place them where you feel is appropriate.

Monster Lairs

Each wilderness hex has a 1 in 6 chance of having a monster lair within it. Polite lands are free from monster lairs.


Final Touches

At this point you have a decently sized hex map filled with intractable items but you are limited with informing your players about it. There are a further four final things necessary for your Hex-Map to be completed.

1. Naming every road, river, and uniform unit of terrain
2. Drawing a map for your players
3. Adding Dungeons
4. Constructing a rumor table

While the first three are straightforward, here are my procedures for constructing a rumor table.

1. Each city gets 4 rumors, each town gets 3 rumors, each village and keep gets 1 rumor
2. Every named terrain region gets a rumor of what monsters remain inside
3. Each monster lair gets a rumor, half are vague the other explicit
4. Each Natural Landmark gets a rumor
5. Each Road towards a settlement in a different region gets a rumor

This should give you a decently sized region to hex-crawl through full of a variety of things for players to interact with and a way for them to become informed about the contents of the area.

Here is an example of a hex-crawl constructed using these rules.

6 comments:

  1. I have a few questions:
    1. if the water hexes are coasts and deltas, doesn't that mean they must be adjacent to the sea, regardless of ports?
    2. wouldn't a river's destination also be the sea?
    3. where do you put the starting dungeon in relation to the starting town?
    4: how large is one of the hexes? if they are larger than one mile, shouldn't it be more likely for villages to fill hexes?
    5. How are the regions connected?

    ReplyDelete
    Replies
    1. 1. I was using those words to generically mean large bodies of water that aren't the open seas.
      2. I have no idea how rivers actually work, but I don't see why it would matter for players for each river to exit to the sea unless they are using them as paths to the oceans.
      3. I usually do the same hex just to have them be plundered in the first session.
      4. I use 6 mile hexes for my games, but my "geographical density goal" is to mimic the Pokemon games with a great deal of distance between each location to allow for interesting things to occur during travel. I also use wandering monster "lair" encounters around cities and towns to spawn villages or farms.
      5. In the example region given I would just start at one of the towns/cities a road goes to like 4? hexes away from the border of the the already made region and just make that region from scratch. Then just fill in the gaps. I hope this helps!

      Delete
  2. Going to combine this with the my Red Tide book tables. Fantastic work, broski

    ReplyDelete
  3. Generally I like where this is going! I agree with Pilgrim that it might be worth considering rivers more heavily, as historically these were arteries of commerce (you don't have to build them like roads, and it's easier to haul tons of bulk cargo by water than on a road too). Pick a major historical European city at random and odds are very high that a river runs through it (with coastal/maritime cities like Athens and Venice being the main exceptions).

    ... then again, my players are constantly building dugout canoes and using those to travel very quickly by river, so depending on the behavior you want to encourage, maybe don't.

    ReplyDelete
    Replies
    1. I guess an easy fix would just be to draw a river going through the region after it is finished and have it touch a few settlements. I have a few ideas for a railroad system and I think after I have that polished I would make rivers the same way. That way we could have "speedways" that mechanically consistent.

      Delete
  4. This comment has been removed by the author.

    ReplyDelete