Hex-based Campaign Design (Part 1)
Campaign Design by the Hex
In my quest for rapid campaign development, I came across an elegant idea called Six sided gaming: Hex magic on Greywulf’s Microlite d20 site. Subtitled “the lazy gamer’s guide to world building,” Six sided gaming suggests launching your campaign with an adventure in a single hex, then placing adventures in each of the six surrounding hexes, assigning hex terrain and encounters to match the adventures you’ve chosen. As the campaign grows, you simply populate the next “ring” of surrounding hexes, and so on and so on.
Defining the campaign by its adventures—instead of the other way round—is a great time-saver and perfect for the busy GM. With Greywulf’s kind permission, I’ve expanded the concept into a slightly different approach, but with the same time-saving goal. In Part 1 of Hex-based Campaign Design, we’ll start with a hex map and its terrain.
The Hex Map
The underlying goal of Hex-based Campaign Design is to create a playable setting with as little effort as possible, so I recommend starting with a small map. The sub-hex map from our Hex Templates post (shown at right) is a good start, at a scale of 5 miles per sub-hex. This makes the template’s larger, atlas-scale, hexes 25 miles wide.
As you work on the sub-hex template, keep the large hex boundaries in mind, as it’ll make life easier when you expand the map and scale up to the atlas level.
N.B. The sub-hex template is now available in Hexographer format on the Hex Templates page.
Choose Climate
The first task is to determine climate. This affects the precise terrain you place in the next step. For example, if you’re placing forest, climate indicates what type of growth exists (e.g., conifers in cold climes, deciduous in temperate, or jungle in tropical areas). While not exact, the guidelines below are sufficient for our purposes:
- Arctic – Cold all year round
- Sub-arctic – Four distinct seasons, with a short, cool summer
- Temperate – Four distinct seasons, each of roughly equal duration
- Sub-tropical – Four distinct seasons, with a short, warm winter
- Tropical – Hot all year round
Assign Hex Terrain
Terrain placement does not rely on a random function, since it’s too easy to end up with unrealistic results (e.g., swamps next to deserts or mountains next to plains). Besides, who wants to roll dice for each hex anyway? Instead, I assign a primary terrain type to each atlas hex, then fill in the remaining sub-hexes with related terrain types. This lets you place terrain sensibly, but with the benefit of some speed.
Let’s begin with some basic terrain types:
- Water – lake, sea, or ocean; may be ice-covered in arctic/sub-arctic, or seaweed-choked in tropical/sub-tropical areas
- Swamp – marsh, bog, fen, or moor; will be partially frozen most or all of the year in arctic/sub-arctic climes
- Desert – arid land; sandy in tropical/sub-tropical, barrens in temperate, or snowfield in arctic/sub-arctic
- Plains – grassland, savannah, heath, or scrub; this is farmland in settled hexes, tundra in arctic
- Forest – woodland; mixed deciduous/evergreen in temperate, conifers in sub-arctic, or jungle in tropical/sub-tropical
- Hills – rocky ground, rough or broken land (up to 1,000′ above sea level)
- Mountains – peaks, ridges, and mesas (1,001′ or more above sea level)
Assign a terrain type of your choosing to the sub-hex at the centre of the atlas hex. This defines the atlas hex’s primary terrain type. The rest of the sub-hexes are broken down as follows:
- 18 whole hexes – assign 9 primary terrain, 6 secondary terrain, and 3 tertiary (or “wildcard”) terrain; distribute these as you see fit
- 12 half-hexes – there are 2 half-hexes along each edge of the atlas hex; assign any non-wildcard terrain as desired
Terrain type designations are pretty straight-forward:
- Primary (P) – the most prevalent terrain type in the atlas hex
- Secondary (S) – the second-most common terrain relative to the primary type
- Tertiary (T) – the third-most common terrain relative to the primary type
- Wildcard (W) – highly uncommon, but possible, terrain relative to the primary type
Secondary, tertiary, and “wildcard” options for each terrain type are shown on the following table:
| Water |
Swamp |
Desert |
Plains |
Forest |
Hills |
Mountains |
|
| Water | P | W | W | W | W | W | - |
| Swamp | W | P | - | W | W | - | - |
| Desert | W | - | P | W | - | W | W |
| Plains | S [1] | S | T | P [4] | S | T | - |
| Forest | T [2] | T | - | S | P [5] | W [8] | T [11] |
| Hills | W | - | S [3] | T | T [6] | P [9] | S |
| Mountains | - | - | W | - | W [7] | S [10] | P [12] |
Footnotes
|
|||||||
When all the sub-hexes are filled, you may move onto an adjacent atlas hex, whose primary terrain type is any valid terrain on the table above (i.e., primary, secondary, tertiary, or wildcard). If you need some polyhedral guidance, assign the following weights and roll 1d12:
| d12 Result | Adjacent Hex Terrain [1] |
| 1-6 | Primary |
| 7-9 | Secondary |
| 10-11 | Tertiary |
| 12 | Wildcard |
Footnotes
|
|
Example
Let’s assume a temperate climate. I’ll assign “Plains” to the centre hex, which becomes the atlas hex’s primary terrain. According to the “Plains” column on the Terrain table, the remaining sub-hexes are assigned as:
- Plains (P) – 9 hexes
- Forest (S) – 6 hexes
- Hills (T) – 3 hexes (alternatively, you could sprinkle up to 3 wildcard hexes: water, swamp, and desert)
- Plains, Forest, or Hills – 12 half-hexes
I roll 1d12 for each of the six adjacent atlas hexes. Based on the primary terrain of “Plains” in the current hex, my results on the Adjacent Hex Terrain table are shown below:
- 1d12 = 4 (Primary = Plains)
- 1d12 = 11 (Tertiary = Hills)
- 1d12 = 9 (Secondary = Forest)
- 1d12 = 8 (Secondary = Forest)
- 1d12 = 5 (Primary = Plains)
- 1d12 = 8 (Secondary = Forest)
Using these primary terrain results, I can easily fill in the adjacent atlas hexes (cutting the distribution by 50% since only half of each adjacent atlas hex is shown). The image at right shows only the primary terrain assignments (based on the d12 results above) in the remaining atlas hexes on the map.
Scaling Up
The atlas hex on your map is 25 miles wide, which matches the hex scale on the Atlas template. When mapping on the atlas level, populate each hex with the primary terrain of each atlas hex on your sub-hex map.
However, the atlas template is very big, so I recommend that you transfer your sub-hex map to the Regional template first. This approach lets you fill in a Regional map rather quickly (there are roughly 7 sub-hex templates in one Regional map), and since this still represents a considerable amount of real estate, your setting should have plenty of space.
Either way, you can rather quickly expand your campaign using a series of sub-hex templates like the one you created above (all map scales noted in this post are located on our hex templates page).
Next Steps
The completed sub-hex template, scaled at 5 miles per individual hex, should be more than sufficient to get your campaign off to a good start (as a side note, if you’re incorporating the Mid-size Campaign approach, you’ve just created your map). In Part 2 of Hex-based Campaign Design, we’ll populate your hexes with some interesting things you can start building adventures around.



Nice! I like this, I’ve been working on maps lately and this will help for sure.
Thanks, kaeosdad. Be sure to tune in next week for Part 2!
I saw your posts over at Hexographer and thought you did a great job. I’m using the hex mapping to beta test a board game I’m designing, but your posts are very informative for the sandbox Swords and Wizardry campaign I’m running. Thanks for posting!
@Brenton Haerr : Thanks, Brenton. I checked out Wilderfast on your site, and the map looks cool. One thing I’m using Hexographer for is rapid campaign development – it’s a real timesaver and the maps come out looking great. Thanks again — I appreciate the links!
Great post!