Saturday 4 June 2022

A Lorry-Load of Sand

Filling the Sandbox
Hex-shaped sandbox:
the gag writes itself

Whether starting a new campaign or simply needing to expand the "known world" to reflect the players' expanding range of operations, or because you dropped them through a hatch to China, a decent wilderness map is a necessity which is sometimes needed quickly.

By "decent" I mean: gives the DM ideas and information which can be fed to the players as scenarios, plots, and NPC motivations, and is able to support play when the players decide to ignore everything and wander off into the wilds to see what they find.

Arneson recommended setting four "adventures" per 100 square miles (i.e., 10 x 10 miles; Arneson seems to have been a bit reluctant to use hexes in the early days, perhaps because of a lack of suppliers of hexpaper). Gygax, in the DMG (p47) modulates encounter frequency by population density and terrain. This post combines these two facets of wilderness into an interactive cavalcade of numbers to get your map off the ground quickly. The calculation assumes that Arneson's number is based on forest (6 checks per day in Gygax's table) and wilderness (1 in 10 chance in DMG). It also allows for 25% of encounters in non-wild areas being patrols, which are not lairs. The chance of a lair being a fortress is left to the encounter tables proper.

The function below takes various parameters which you can manipulate to suit. The output is a long list of hexes and the number of lairs in each hex generated with a random poisson distribution based on the average number of encounters based on the above factors. I've amalgamated Gygax's population levels so that each hex shows the number of lairs if it is wilderness, sparsely populated, or densely populated. Similarly, each hex is listed for each terrain type since clearly I don't know what the terrain is on your individual map.

You can also choose between a simple list of "give me 100 hexes" or an area coverage with hexes numbered in the classic Judges Guild method of 3212 being the 32nd column of the map, and hex 12 of that column. The defaults for the area option are set to match the Judges Guild Wilderness maps's layout of 52 columns and 34 hexes per column (you need to set 5-mile hex size manually if actually using the JG mapping system). If you are a freak that has hexes oriented with the points up the page, you'll have to adjust to fit.

So, as an example, if I'm looking at CISO Map 1 at the Plain of Cairns, I could generate 15 hexes, selecting only "plain" and "hills" but, since the village of Dorn in in there, keeping all three levels of civilisation active. If, for example, I get this result:

# Encounters by Terrain
HexPlainHills
10/1/02/1/1
20/3/0
30/1/00/0/1
42/0/1
50/1/02/0/0
60/1/1
72/0/0
81/0/1
9
101/1/0
11
121/0/0
131/0/1
142/0/0
151/0/1

Starting in hex 3629 (wild, hills) I have two lairs (I rolled hobgoblins and werewolves on DMG tables). South one hex (wild and split between hills and plain, so I would usually take the higher number), we have nothing rolled for wild. Since each civilisation level is diced for independently it is possible for a hex to be, like this, free of monsters on wilderness but populated on sparse or dense. Beware of fudging the result to be "more interesting" as the tendency is to over-egg the pudding.

Then, going now to the hex southwest of Dorn (plain, patrolled) I have a lair (merchants are rolled but they don't lair, so a re-roll gives wild boar). The hex south of that (plain, wild), is clear, and the final hex in that column (3730 on the map) is again empty (the 1 indicated being for patrolled, not wilderness). 

Hex #6 equates to Dorn itself and we have a lair in the same hex - a halfling village.

And so on. Alternatively, I could have generated the lairs for the entire map and walked down the columns in a similar way, making notes as I go.

Here's the tool:

[Update: I've added a seed option. Basically, if you supply the same (numerical) seed the results will be the same for the same other options (number and size of hexes), so you can effectively bookmark a result and come back to it later].

Hex width (miles):
Base rate (encounters per 100sqm):
Output:
Population levels:  
Terrains:
# Hexes:
Seed:

No comments:

Post a Comment