Wednesday, February 24, 2016

Mapping Procedure, take I


Making maps is probably one of the central activities we Dungeon Masters do.  As beings responsible for the presentation of a fantasy world to our players, maps are an incredibly useful tool.  There are abundant resources available on the interwebs for map-making of all kinds, and most of those resources refer to procedural or random map creation, from geomorph dungeon tiles jig-sawed together to create a dungeon quickly or for hex-by-hex surface map creation at whatever mileage scale you decide.  These approaches are quick, and require little input from the DM, simply a little random-rolling, maybe an aesthetic choice or two, and then it's done.  The map is made, and you are ready to play.

There is, however, a rather substantial flaw with this approach - it totally, completely kills any kind of logic or order to your game world, on both a large and small scale.  This, in turn, kills any kind of realism and precludes any kind of sensible, large-scale organization, at least not without a huge investment of work that could have been spent on making a quality map the first time around.

I have been crafting the Prodigy map for over 8 months now, and I’m nowhere near done.  But, I can already see as I work, hex-by-hex, the hierarchy of regions, how places will be structured, and likely areas of adventure.  The key, I have found, is two-fold.  The first step is to draw (no hexes or anything) what you want the land to look like.  This will likely go through several iterations, which is ok - this map will sustain years of play if you make it large enough (a couple million square miles will do).  Your last iteration should be a topological map, a map with contour lines showing the elevation of rough regions.  Ideally, this last contour map is on some kind of tracing paper, so that you can afterwards secure a sheet of graph paper underneath to see both the grid (of hexes or squares) and the contour map.

Then open up your favorite map software (Microsoft Publisher is the only one I can recommend, and I'll later get into why Hexographer and Campaign Cartographer, both of which I have and have used, are insufficient), create a hex grid with the appropriate number of hexes, and begin coloring in each hex according to your drawing, with a different color for each elevation range.  This goes by faster than you might expect.

Now, a lot of people would be done here - you have the map, so just add cities, roads, rivers, etc. and then you're done, right?  No, you are just beginning.

Elevation, specific elevation levels, are the core of cartography and world-building.  They will place your rivers and cities for you, determine your roads, help you anticipate weather conditions, determine crops, placement of wild animals, etc.  Having elevation ranges is a start, but is no substitute.  This is where a commitment to realism comes into play.  Alexis Smolensk has a fantastic procedural process to determine hex elevation based on a previous hex, producing realistic terrain with a degree of variability.  He explains it well, so go read it and then come back, because while his method is thorough, it is unfinished.

Welcome back.  Alexis' approach skips our first step - actually drawing the map and envisioning what it looks like before plotting it out.  You'll want to automate the dice-rolling and elevation determination procedure with a program like Excel, so that after you input a hex's elevation, you will get three elevation results for the neighboring hex - you are subtracting 21 from dice value and multiplying by 1/12th the base height to get the change in elevation.  So, produce the raw result, produce the result if the total elevation increases (absolute value of the difference between 21 and your roll), and produce the result where the elevation decreases (negative absolute value of the difference).  Then pick a starting point, pick an elevation for that location within the range suggested by the hex's color, write it in the hex, and apply our modified method.

Say I use the following scheme:

D. Green
Land
499
Green
500
999
Light Green
1000
1999
Yellow
2000
3499
Orange
3500
4999
Red
5000
6999
Dark Red
7000
8999
Purple
9000
11000

And I have a Dark Green hex bordering a Green hex, and the Dark Green hex currently has an elevation of 234'.  I run it through my Excel spreadsheet and get 3 results: 312', 312', and 156'.  I'll use the 312' result, since I'm going from a lower hex to a higher hex.  Now, this new hex doesn't have the elevation required for a Green hex.  This is ok - just change the color of the hex to Dark Green.  As you continue to move into higher and higher hex colors, your general elevation will increase, but at a variable rate.  You will end up with natural peaks and valleys, mountain passes, and mighty rivers.

The next way we need to modify Alexis' method is with regard to two things: negative elevation and lakes.  Alexis assumes, since he uses no pre-existing map, that whenever you reach negative elevation you have reached the sea.  Since you already know where the sea is, if you create a hex with negative elevation inland (probably due to a river continuing to slope downward but away from the ocean), you have 2 choices: either change the map and put in an ocean or sea there, or transform that hex into a lake hex, with the highest possible water level that doesn't change the generating hex into a lake as well.  Then, keep generating terrain, and every adjacent hex with an elevation lower than the water level is also a lake hex.

I'd recommend using a new color for lake hexes and for marsh hexes (lakes that touch the ocean will be brackish (i.e. a mix of salt and fresh-water) and will be above sea level but mostly covered with water), since those hexes will become incredibly important when populating your world.

The next step is to place towns and cities using Welshpiper for number and approximate distance between locations and using the conflux of rivers to place settlements as much as possible.  Remember that the rivers generated with this method are where there are currently rivers, or where there were rivers many years ago - deserts are often the remains of extensive water systems, so if building a desert, you can use the same process, but there won't be any water actually coursing down those river channels.  However, lakes provide great locations for oases or wells…

This map takes your original idea and runs it through a thorough randomization which can take a rough(ish) map and make it highly specific and quickly gameable.  It will be months of effort, but the end result is far superior to any cobbled-together cartographic contraption.

With regard to Hexographer and Campaign Cartographer, Hexographer is a wonderful tool for sketching purposes, but the difficulty in adding and editing text makes it impractical for this kind of use.  Campaign Cartographer is an excellent way to produce beautiful map products, but the difficulty in editing shapes once they have been laid out and the difficulties in adding or editing text makes using it for this purpose inadvisable.  Now, were I to sell this map, I'd release it in two versions - a beautiful Campaign Cartography one to communicate rough ideas about the map and for player consumption and then the Publisher one for actual DM use.

No comments:

Post a Comment