Thursday, October 26, 2017

Slope: Adding Contour to the Map

Slope is a pretty easy concept to grasp.  It's just how fast the ground rises as you go uphill, or more directly related to rivers, how fast it falls off as you go downstream.  If you have elevations already marked out on your maps, it's trivially easy to find (divide the change in elevation by the change in horizontal distance, making sure to convert your hex size into the same unit as the elevation, since you're probably using miles for hexes and feet for height).  And so I spent most of the last month working on the math to figure out the dimensions of a riverbed, only going back to slope once I realized that almost 30 days had passed since my last post.  And then I realized that slope isn't trivially easy to work out if, as is the case with most game maps, you don't have the elevation of each hex laid out for you.

I looked through some of the likely game materials I have, and the Wilderness Survival Guide does list some "default" elevations for different terrain types for the purposes of weather generation, but this by itself is totally insufficient for working out riverbed slopes.  For one thing, this would leave a river barely flowing with essentially no slope at all while it flows between hexes of the same terrain type, and then have waterfalls falling hundreds or thousands of feet when the terrain changed, or perhaps even flowing uphill if the terrain suddenly got hilly.  Everything else I saw just had vague references to terrain type elevations, mostly centered on how tall mountains or hills of various types might be.

Next I tried looking at real world measurements, but aside from the official elevation of various cities and the elevation of high points like mountain peaks, these weren't easy to find.  No one (except me apparently) is interested in how high the base of a hill is, or how high a river is, with the sole exception of the Yarlung Zangbo River in Tibet.  It's the world's highest river, with 3/4 of its length at elevations above 3000 meters, and 1/3 over 4000.  But one river simply isn't enough to build any kind of coherent system on.

So what I've settled on here isn't based firmly in reality, and hasn't been extensively playtested in any way, but it seems to feel about right.  If anything, it generates terrain a little slopier than you might expect in real life; I think I'd prefer something a little closer to real life, but for now at least, I'll take rivers with more rapids and cascades as a high adventure feature rather than a bug.

All right, the method:  the ocean is at an elevation of 0'.  For every river hex, roll a die appropriate to the surrounding terrain, consult the table, and add the result to the previous river hex's elevation.  If you're not starting at the ocean, just use the hex that's furthest downstream as the baseline; all elevations above that are relative to the baseline, rather than being relative to sea level.

Terrain type Die type
Die Roll Elevation Add




24 mile hex 12 mile hex 6 mile hex 1 mile hex
Swamp d2
1 negligible negligible negligible negligible
Plains d4
2 negligible negligible negligible negligible
Low Hills d6
3 100' 50' 25' 4'
Foothills d8
4 200' 100' 50' 8'
Low Mountains d10
5 300' 150' 75' 12'
Mountains d12
6 500' 250' 125' 21'



7 800' 400' 200' 33'



8 1300' 650' 325' 55'



9 2100' 1050' 525' 85'



10 3400' 1700' 850' 140'



11 4500' 2250' 1125' 185'



12 6000' 3000' 1500' 250'



13 10000' 5000' 2500' 415'

Low Hills and Low Mountains are kind of transitionary types, to be used for the lowest hex of hills or mountains in a range, or not.  Do what you want with them. 

Why is there a 13 on a table where the highest die you'd roll is a d12?  Because this table is primarily for working out the elevation of the low points of the hex, but I thought it might be useful to have the ability to randomly roll up the high point too.  If you're looking for the high point, roll again and add 1; this gives the chance that a small hill will poke up out of a swamp.  Of course, there is a very small chance that a mountain hex will have a high point barely above the level of the riverbed.  Maybe use d10+3 or d6+7 or something.  Suggestions for improvements are welcome.

Also keep in mind that if you're going back and making a more detailed map, like a 6 mile per hex version of a map you originally did in 24 miles per hex, make sure your overall slope is the same.  There can be places in the detail map where the riverbed is more level or more sloped than you found in the 24 mile hex, but it has to even out by the time you get across the hex.  If you have an 800' drop in the 24 mile hex, and you roll three "negligibles" in a row, that last 6 mile hex will have to have an 800' drop to keep it even.