Wednesday, April 24, 2013

Random Mapping

I've looked around and have also been doing some fiddling of my own on the subject of generating overland maps. The sort of small scale "wilderland" maps where one hex or other unit represents a fairly large area, something on the order of 30 miles across. Inspired by games like Source of the Nile, which I had many hours of fun with when I owned a copy "back in the day", and Adventures in Jimland, which I have also derived quite a bit of fun from more recently, I jotted down some notes and toyed around with generating maps. I'm still experimenting, but I'm hoping I might get more organized by writing this up, and possibly get some thoughtful feedback. (caveat: I'm making a number of assumptions based on my interests, the kind of game and the kind of "wilderland" I want, so everything here is subject to my taste and not set in stone)

So my preliminary explorations have taken me to this point:
I tried breaking down things into a few simple basic categories. So I have Elevation, divided into Low, Flat, Hilly, Mountainous. Of course, these are very coarse categories and meant to be relative, not absolute, nor does it cover how rugged the hills and mountains are.
The other main category I have is Vegetation, divided into Forest, Mixed (a mix of woods and open spaces, and/or open woodlands), and Open (grasslands, heaths, prairies, etc.). As I have decided the area I am starting with has a moist temperate climate (like England, more or less) I am leaving out drier "vegetation" for now. No deserts in this region, nor tundras or permafrost. There would be a chance for swamps, fens, bogs, marshes, or the like. In general terms, Wetlands (possibly with or without trees), in Low or Flat hexes, especially if there are sources of water, such as a river flowing through the area.

The gist of the idea is that a party would start out in a known hex. Their home base/town, on the edge of the wilderlands. The elevation and vegetation can be rolled for or decided by "executive fiat". This could be just a single starting hex or a line of hexes representing the known boundary. There should probably be at least one known river flowing out of (or even into, depending on taste). If there is a river or rivers those would be likely places for the main frontier towns.

So far I've tried something along these lines:
Roll 1D6 for Elevation of any starting hexes:
1 : Low
2-4 : Flat
5-6 : Hilly

Roll 1D6 for Vegetation in each starting hex:
1: Open
2-3 : Mixed
4-6 : Forest

If the hex is Low or Flat Elevation roll 1D6 again (subtract 1 from the roll if there is a river bordering or touching the hex):
1 :  Lake
2-4 : Wetland (based on "original" Vegetation; so, if the original was Open, it's an open swamp or fen; if the original was Mixed, it's a mix of open swamp/fen, with trees mixed in; and if the original was Forest it's a swampy forest)
5-6 : keep Vegetation as rolled above

As the party explores, the map gets added to. I have toyed with various ideas for this. For example, if I want to assume we start out on the lower elevations of some continent there could be a chance the elevation will be generally increase as one travels farther into the wilderlands.

Roll 1D6 for Elevation and compare to the hex you just left:
1 : Elevation decreases
2-3 : Elevation remains the same
4-5 : Elevation increases
6 : special (1 : Elevation decreases by 2; 2-3 : Elevation increases by 2; 4 : plateau; 5 : Elevation remains the same, but becomes more rugged; 6 : Elevation remains the same, but there's a river (cannot flow through any known hexes, so roll randomly for which hex sides it flows into and out of. If there is only one open hex side left the river has to flow out of this hex through that side.)  - these are just ideas, not tried out nor have I really worked out what they would mean in terms of encounters and such)

Roll 1D6 for vegetation and compare to the hex you just left:
1 : Vegetation "decreases" (Forest becomes Mixed, Mixed becomes Open. Could extend the Vegetation types and say Open becomes sparse?)
2-4 : Vegetation remains the same
5 : Vegetation "increases" (opposite of above. Could extend Forest to bogs, swamp, or rainforest, depending on Elevation (and/or ruggedness))
6 : special (1 : Vegetation decreases by 2; 2 : Vegetation increases by 2; 3 : recently burned; 4 : recently flooded; 5 : dense forest; 6 : impassable rugged terrain - these are just ideas, not tried out nor have I really worked out what they would mean in terms of encounters and such)

Roll 1D6 for Rivers:
1 : river turns left by one hex side
2 : river turns right by 1 hex side
3 : river turns left by 2 hex sides
4 : river turns right by 2 hex sides
5 : river turns opposite of last direction (that is, if the last river turning for that river was left it goes right and vice versa. This is to reduce the chance of a "corkscrew" river spiraling in on itself.)
6 : river forks, roll again for each branch (assuming 2 branches)

Alternate Rivers table, 1D6:
1 : river turns left by 1
2 : river turns right by 1
3 : river turns left (1-3) or right (4-6) by 2
4 : river turns opposite of last turning
5 : river forks, roll again for each branch (assuming 2 branches)
6 : special (1-2 : lake; 3-4 : swamp (if Elevation is Low or Flat) or cataract (if Elevation is Hilly or Mountainous); 5-6 : river ends, as a spring or small lake if going upstream or goes underground if going downstream)

Of course, a lot is left to the imagination to fill in details, rationale for what comes up, etc. This was my latest incarnation based on previous versions that I have tried out just to see what kinds of results and questions came up in the exercise, re-worked here in the course of typing it out. I will play around with it more myself. If anyone has any thoughts or actually tries it out I'd be interested to read your comments. Keep in mind, I "designed" (rather grandiose word for what I did here! ha ha) this to generate fairly simple basic terrain of large areas, not detailed in any way. I want details to arise in game play, encounters, etc.


  1. Great work promising much fun ahead...

  2. As soon as I can print out some hex paper, I'll give this a try.

    Not to pile things on your plate, but will you also be creating a system for sub hexes of these larger hexes?

  3. Thanks, guys
    I don't have any plans on expanding like that at this point, john. The main purpose for this exercise is to generate the broader picture while exploring an area, and give me broad categories of terrain types for encounters. My next step is to create random encounter/event tables based on those broad terrain categories; I envision some encounters being more likely in a swamp hex and others in mountains, etc. Greater chance of human bandits closer to the frontier and more chance of other kinds of encounters as one travels farther from "human habitation". I have collected a number of such tables from various sources, but most are based on specific rules, or specific worlds/backgrounds, with creatures I wouldn't have in mine (my concepts lean more towards the Tolkien-ian and other traditional fantasy, at least in terms what kinds of creatures, monsters and such one might encounter, rather than many fantasy rpgs that are chock full of a wide variety of creatures, some very outre. Nothing wrong with either approach, I believe. That's just the way I roll. ;)

  4. Out of curiosity why have you chosen 30-mile hexes? That seems to me to be rather large . . . and how many days will it take for a party to cross each terrain type?

    -- Jeff

  5. I only threw out 30 mile hexes as very rough idea. Don't get hung up on the numbers. I certainly won't worry myself about precision. Keeping track of lots of details is not my idea of fun. Your mileage may vary, as they say. ha ha

    The point I was trying to make is that I'm talking about pretty coarse maps, to generate general types of terrain for encounters and events. I'm not talking about maps where the party crosses multiple hexes in a single day. At best they might take a day to go from one hex to another. Events and situations could slow them down even more.