Tuesday, January 28, 2014

Ground Rules Revisited - Hexes Again

A while back (a long while actually), I built a bunch of tables designed to create random hex maps that were not completely nonsensical. The result was Ground Rules, a web-based hex generator. I've been reworking the tables underlying the generator a bit, in hopes of putting something together that would work in a PDF format.

When I built the first set of tables I used a Fudge-dice based system, which had some interesting characteristics, but ultimately proved a bit limited. When I created the web tables I converted everything over to straight random ranges, using the code I'd written to handle the other random tables on the PBE Games site. My first step in rebuilding all this has been to go back into Excel and rebuilt the tables there so I can more easily tweak results. That part is done. It's time for some testing.

Rather than just hammer out a few maps -- I did quite a bit of that during my initial work on the project, I thought I'd do something a bit more detailed, and build a little sandbox using Ground Rules as the core mechanic for generating the terrain and features. With that in mind...

Hey, a hex map!
This is my starting map. I've decided to do two hex overlays for this project, 36-miles hexes and 6-mile hexes. The map is currently showing only the 36-mile hexes, though the key entries use the smaller versions. Ground Rules is built on six basic terrain types, plain, forest, ocean, mountain, wetland, and desert. There are variants of each, including variants that cross terrain types, which is why I've shown three colors per terrain type. I'll be trying to use darker colors for more extreme versions of the terrain category and lighter versions for lesser versions of the terrain. Using forest as an example, dark to light would be: forest, light woods, scrub. Plains would be: scrub, plains, dry plains. As you can see, terrain types are not exact.

To use Ground Rules, I need to track the hex type because that's how I choose what terrain table to roll for neighboring hexes. Types are A1-A7, one per terrain type, plus A1 for a randomizer hex. These also correspond to the base terrain tables. The codes are:

  • A1 - Random
  • A2 - Ocean
  • A3 - Plain
  • A4 - Forest
  • A5 - Mountain
  • A6 - Desert
  • A7 - Wetlands

And here's the basic process:
  1. Select a terrain table using these guidelines:
    • Pick the most frequently appearing terrain code (A1-A7) from the surrounding hexes. In case of ties use the lowest value code, i.e. if there are two A4 hexes and two A2 hexes, use A2.
    • If there are no generated neighboring hexes, use code A1.
  2. Generate and record the result. Note that the actual terrain may not match the terrain type entry. There can be forest in the plain or mountains in the forests -- but hopefully no wetlands in the desert!
I'm going to use the basic rules above for the 36-mile hexes. For the 6-mile hexes, I'll be changing things up a bit. The A1 type is effectively a randomizer hex that adds some chaos to the map. Since the big hexes should be determining the overall terrain of their sub-hexes, I'll be treating any A1 hex rolled as it's parent terrain type, which should favor the parent terrain.

I've grayed out a bunch of hexes to keep focused. I may stray beyond those areas on the 36-mile hex map, but I'm going to try and stay within the indicated bounds on the 6-mile hex map. To start I've made a few choices about the kind of area I want. I know I want some coastline, mountains to the west, forests to the north, and a big swamp to the south. My base town is on a coastal plain, so I'll mark that too. Here's the resulting map.
As you can see I've stuck to the highlighted area quite well!. This looks kind of bland and boring, because there's no color yet, but it's enough to get started with Ground Rules. My next step is to start picking random hexes and establish their terrain using the process outlined above. I'll be back with the results next time.


  1. Do you have any plans for this sandbox you're rolling up?

    1. I don't at the moment. I plan on spending a fair bit of time on the map-building portion, which includes laying out some basic encounter areas and the like. I don't know how deep I'll go into individual encounters though. I may do it as a sort of gazetteer series.


Note: all comments are moderated to block spammers. Please be polite.