Sunday, June 14, 2015

Basic Random Terrain Generator

This is a test and has been long coming. Those of you following the blog for some time now (shocking, but I believe those people do, in fact, exist ...), might remember the 2d10-idea and the Noircana-rambles. Well, it's time to integrate those ideas into Lost Songs of the Nibelungs. I am right now in a stage where I need to start thinking about DM tools. My goal here is to provide a GM with everything he needs to build a setting from scratch (without forcing him to roll dice for hours). Here is a start ...

Historic setting, random territory? WTF?!

Lost Songs is set in a quasi-historical setting, 550 A.D. in the former Roman/Germanic territory. We know what that looks like, right? Just take a look at google maps and you'll get the lay of the land easy enough. Major settlements? Not a problem. Wikipedia or some history buff will help. Or get a book about the subject in the local library, there are plenty of those, too. So why even bother with a random generator?

My idea here is to give the players the same feeling of exploration those Germanic settlers must have had back then. Sure, the trappings are the same: the rests of Roman empire and the original tribes surrounded by dark forests. But they didn't know what we know now and they most certainly had a completely different (alien, even) conception of where they lived. A bit like the idea that the earth is flat, just more complex than that (if you will). Take a look at the Tabula Peutingeriana, an actual Roman road map and you'll see what I'm getting at:

Do not trust the form ... [source]
From top to bottom: Dalmatian coast, Adriatic Sea, southern Italy, Sicily
and African Mediterranean coast ... [source]
See what I mean? It's strange. And it's from the more sophisticated Roman culture, which at the time already had been ghosts of a past long gone. How they did it in the Dark Ages? Your guess is a good as mine, but I'm pretty sure they only had a vague concept of their surroundings, like knowing what's notable in a days travel and a general idea what's in the cardinal directions. "Rome is to the south, cannibals are in the east ...", stuff like that.

I believe mirroring this uncertainty by throwing the characters into (for the players) mostly unknown territory will get that little historical fact better across. They were second generation settlers in a strange and far away land and the first to explore it. It's an important aspect of the game.

Okay then, but could it be done?

It's been a while, but I once upon a time had an idea to use the result of 2d10 for more than just results of 1 to 100. It may also be 1d20 or d10 +/- d10 or two separate d10, for that matter. So with one roll you actually get up to 6 different results (example: a roll or 2 and 6 could be the numbers 26 (d100), 06 (d20, leading die 1-5 = 0; 6-10 = 1), 8 (d10 + d10), -6 (d10 - d10), 2 and 6). Make those numbers work together and you get a whole lot of data from just one roll (my first attempt at this, an anthropomorphic character-generator, can be found here and the post about it is here).

I'd like to try my hand at one of those for Lost Songs. I don't know how many random territory generator I had the pleasure to see out in the wild, but they were legion. The difference of what I'm doing here to what I've seen so far is to find an approach to simulate a natural flow of the land. Two factors are important for this: elevations and complexity. Actually it's as simple as that. Between those two factors a DM can easily determine the type of terrain and even get an idea of weather and vegetation. Incidentally this corresponds with using 2d10. Let me show:

This is where it starts ...
To create a complex terrain you'd need more than one roll. To make expansion easy I assume one roll determines 1 hex-field. Column A gives the direction of how the terrain grows and/or if any layers are added to it. So you'll actually roll 3d10 per hex-field (the first roll is the exception, since it doesn't need a direction).

You see I added natural borders (column B) and Border Territory (column A) to give this some limits. Nothing of this is fixed yet but the basic assumptions. I'm not very happy with the descriptions in column B, for instance. So it's not the final version, but should give you all an idea what I'm working on right now ...

But I digress. What you get works well enough. How B and C could be interpreted could look a bit like those 100 results:

Mountains (natural border)

01. Impassable Mountainface
02. Steep Mountainface
03. Wrinkled Steep Mountain face
04. Wrinkled Mountainface
05. Wrinkled Mountainside
06. Wrinkled Mountainside
07. Hills to Mountain
08. Fractured Mountainside
09. Labyrinthine Fractured Mountainside

10. Chasm (special)

Sea (natural border)

11. The Sea
12. Shelfed Sea
13. Coastline with Islands (some trees)
14. Fractured Coast (some trees)
15. Flat Delta (some trees)
16. Flat Delta (some trees)
17. Undulating Delta (lots of trees)
18. Ragged Delta (lots of trees)
19. Labyrinthine Fractured Coastline (lots of trees)

20. Misty Valley (special)

Lakes and Moors

21. Fjord
22. Giant Lakes
23. A few Big Lakes (lots of trees)
24. Some Small Lakes (lots of trees)
25. Lakescape (lots of trees)
26. Lakescape (lots of trees)
27. Bog (lots of trees)
28. Moor (lots of trees)
29. Swamp (lots of trees)

30. Underground Lake (special)

Rivers and Plains

31. Plain (no trees)
32. Rolling Plain (some trees)
33. Big River through Plain (trees by river)
34. Big River through Rolling plain (trees by river
      and some trees)
35. Small Hills and Rivers (lots of trees)
36. Small Hills and Rivers (lots of trees)
37. Hills and Rivers (lots of trees)
38. Great Meandering River (some trees)
39. Labyrinthine Riverscape (lots of trees)

40. Underground River (special)

41. Cliffsides and Plains (no trees)
42. Rolling Plain (some trees)
43. Big River through rolling Plain (trees by river
      and some trees)
44. Rivers through Rolling plain (trees by river
      and some trees)
45. Hills and Rivers (lots of trees)
46. Hills and Rivers (lots of trees)
47. Cliffsides and Rivers (lots of trees)
48. Great Meandering River in hills (lots of trees)
49. Labyrinthine hilly Riverscape (lots of trees)

50. Caves (special)

eadows
51. Cliffsides and Plains (no trees)
52. Rolling Plain (some trees)
53. River through rolling Hillscape (lots of trees)
54. Streams through rolling Hillscape (lots of trees)
55. Hills and Streams (lots of trees)
56. Hills and Streams (lots of trees)
57. Cliffsides and Streams (lots of trees)
58. Meadows and steep hills (lots of trees)
59. Labyrinthine hills (lots of trees)

60. Dormant Vulcano (special)

Uplands

61. Plateau (no trees)
62. Rolling Plain (some trees)
63. Rolling Plain and Streams (trees by river)
64. Hills and Streams (lots of trees)
65. Hills, Cliffsides and Streams (lots of trees)
66. Hills, Cliffsides and Streams (lots of trees)
67. Hills, Valleys, Cliffsides and Streams (lots of trees)
68. Hills, Valleys, Cliffsides, Caves and Streams (lots of trees)
69. Labyrinthine Hills, Valleys, Cliffsides,
     Caves, Lakes and Streams (lots of trees)

70.  Open Cave in Cliffside (special)

Highlands

71. Plateau
72. Rolling Plain (some crippled trees)
73. Rolling Plain and Streams (some crippled trees)
74. Hills and Streams (some crippled trees)
75. Hills, Cliffsides and Streams (some crippled trees)
76. Hills, Cliffsides and Streams (some crippled trees)
77. Hills, Valleys, Cliffsides and Streams (some crippled trees)
78. Hills, Valleys, Cliffsides, Caves and Streams (some trees)
79. Labyrinthine Hills, Valleys, Cliffsides,
     Caves, Lakes and Streams (some trees)

80. Hot Springs (special)

Mountain Landscape

81. Plateau
82. Steep Plain
83. Stream through rolling Plain
84. Stream through rolling hills
85. Cliffsides, hills and streams
86. Cliffsides, hills and streams
87. Hills and Rivers
88. Vast meandering rockformations
89. Labyrinthine Mountainscape

90. Canyon (special)

High Mountain Landscapes

91. Cliffsides
92. Steep plain
93. Glacier through rolling plain
94. Glacier through rolling plain
95. Snow and stone
96. Snow and stone
97. Snowy cavernous mountain landscape
98. Fractured snowy cavernous mountain landscape
99. Labyrinthine snowy cavernous mountain landscape 

100. Deep Caverns (special)

Again, those are preliminary results only indicating the direction this is taking. But still, it gives me something to work with and it shows how the interaction between elevation and complexity creates all kinds of terrain. So far the premise holds. It produces the possible terrains between the northern sea and the alps in the south.

So you take an empty hex-map, make your first roll with 2d10 and write it into a field somewhere in the middle. Every roll after that is with 3d6. Growth always goes from that very first roll you made. If there is already a number in a bordering field, use that field to expand on. Add layers to a field by writing the additional number below the first number. Layers are always added to the last generated hex-field. Behold:


Example:
First roll: 26 - Second roll: 418 (2 layers) - Fifth roll:
563 (3 Layers) - Ninth roll: 613 - Tenth roll: 584 - ...

First roll is a 26, so what we got is below sea level and moderate in complexity, the d100 table says it's a lakescape with lots of trees. That's nice. Let's go on. The next roll is 418, direction is 4 and it's even deeper than the initial roll. It's a natural border, the landscape going from lakeside to rugged delta in the south. We also got two layers here, an 8 (connection to darkness) and a 9 (connection to fairy realm). I still need to write what the rest of the numbers mean (58 and 37), but it's clear why nobody would go there: evil and fairies make for a good monster mix and dangerous territory.

The roll after that is 563, direction is 5, 63 are relevant for terrain and end up being high but flat land with a river. It's a flat and windy area we some trees at the river. It's the higher terrain, so the water flows towards the lower numbers. We also have 3 layers here: 9, 7 and 8, some fairy influence, roman relics and a darkness. This should be interesting to explore, I think.

584 after that. This is a good example of what I'm talking about above: 26 leads the way, but since there already was a five, the new field grows on the first five. This is higher ground, so the rivers from above come from here and through rolling hills. It's above tree level here, so it's grass, grass and crippled trees going over to flat land with trees where the water is ...

613, the last roll in this example, is another natural border, a coast line with islands, to be exact.

So in theory it goes on like this until no more fields can be added. I need to test this a bit more and see if it works all the way through (a coastline could be directly border to some very high mountains, so I should address this, et cetera), but the basic principles work so far. A very good friend of mine offered to write a simulation of sorts to test this on a greater scale. We'll see if he comes through. It should be very interesting to see the results when he does.

Keep those numbers for ...

The following are just rough ideas I need to flesh out in the future. Rolling a d20 versus (BC) could give an indication of the weather. Roll under and the indicated weather is in the area, roll over and it's passing through (low numbers mean clear, windy, a bit cloudy, higher numbers would be rain, thunder storms and so on). The seasons should influence those weather tables considerably.

Roll 3d6 versus (B+C) for population. If it's under, people are living in the area, if it's above, there might be ruins of those that lived here before (roman or tribes) or no population at all. I chose 3d6 for this, because layers should alter the roll (roman relics make population more likely and so on) and the bell-curve makes it very likely that you'll get population in areas with moderate complexity and above sea level ...

That's it so far!

This is where I'm at so far. I hope it gave some of you a good idea what I'm doing here and maybe even inspired some of you for their own system. One of the reasons to write about this at this early stage is that here it's still easy to re-build this for a high fantasy setting, for instance (and I really wanted this written down somewhere ...). You can keep on reading with this example.

Please, feel free to comment on this and ask questions, if some of this is unclear. I'd be happy to talk about this, of course.


14 comments:

  1. Love the concept and the old map, I used it myself I'm a talk I gave last year.

    ReplyDelete
  2. Cool map! I wonder if it reflects the world seen by foot as opposed to car and plane?

    ReplyDelete
    Replies
    1. As far as I know, ancient and medieval maps are more similar to modern topological maps (like the London tube map) than to modern topographic maps: They show how you get from one location to the other and which alternate ways exist, but they do not show an area true to scale.

      Delete
    2. You need to keep the medium in mind on this one. It"s the complete Roman road system ... on a single scroll. That causes most of the distortion, and towards your question, as long as the traveler could ask which road do o take to get to the next town, topographical details aren't that important. You don't get accurate topographic maps (in Europe at least) until you reach the late Medieval or early Renaissance Italian portos, or harbor charts. As far as labs use, as late as the Napoleonic wars, topographic studies were non-existant. That was one of the big lessons which made West Point emphasize surveying and topographic maps in the pre-Civil War era. Which in turn caused the railroad industry to poach young officers like McClellan from the army.

      Delete
    3. What Onno and Rob said covered it all, I think (thanks, guys). Check the complete picture of that map on the wikipedia page linked above, Johnn, it's very interesting.

      Delete
    4. You need to keep the medium in mind on this one. It"s the complete Roman road system ... on a single scroll. That causes most of the distortion, and towards your question, as long as the traveler could ask which road do o take to get to the next town, topographical details aren't that important. You don't get accurate topographic maps (in Europe at least) until you reach the late Medieval or early Renaissance Italian portos, or harbor charts. As far as labs use, as late as the Napoleonic wars, topographic studies were non-existant. That was one of the big lessons which made West Point emphasize surveying and topographic maps in the pre-Civil War era. Which in turn caused the railroad industry to poach young officers like McClellan from the army.

      Delete
    5. You need to keep the medium in mind on this one. It"s the complete Roman road system ... on a single scroll. That causes most of the distortion, and towards your question, as long as the traveler could ask which road do o take to get to the next town, topographical details aren't that important. You don't get accurate topographic maps (in Europe at least) until you reach the late Medieval or early Renaissance Italian portos, or harbor charts. As far as labs use, as late as the Napoleonic wars, topographic studies were non-existant. That was one of the big lessons which made West Point emphasize surveying and topographic maps in the pre-Civil War era. Which in turn caused the railroad industry to poach young officers like McClellan from the army.

      Delete
  3. Interesting post.

    Let's go on. The next roll is 418, direction is and it's even deeper than the initial roll. It's a natural border, the landscape going from lakeside to rugged delta in the south. We also got two layers here, an 8 (connection to darkness) and a 9 (connection to fairy realm).

    I'm missing a step. Question: why (how) were the two layers generated in hex 418?

    ReplyDelete
    Replies
    1. Thanks! And thanks for stopping by! The rolls are linear, so the first roll is a 26, just plain land. The second roll is 418. If the first die in that result had turned up being 7 to 10, it'd have generated a layer right there with the 26, instead we got a 4, which means the 18 describes a new hex. The third roll was the 858, and that's automatically a layer because of the 8 as first result. The fourth is the 937, another layer, and with the fifth roll we finally get a new hex with the 5 in the lead ... and so on. The rolls are consecutive, but hexes may grow bigger, if you will, as the following rolls may create layers (which has a 40% chance, so it's bound to happen). I'm thinking about limiting the number of layers per hex (3 or 4, I think), but that's it.

      I hope that helps! That example linked above might help as well.

      Delete
    2. Actually, the example linked above has another link to Part 2, where the system is explained a little more in depth. That example is more like an intermission of sorts. Could have solved that one better, I guess :)

      Delete
  4. Got it - you roll for a newly entered hex until you get the next direction; any roll not specifying a change of direction is by definition a layer. Cool beans!

    ReplyDelete
  5. Thanks for the quick feedback; I just noticed your replies :)

    ReplyDelete
    Replies
    1. Not a problem! I'm around. I'm just not doing a lot with the blog right now. Still writing that game, though, and this little conversation just helped me to realize something: I need to find something that applies when you roll more than 4 Layers in a hex and that might just be population and infrastructure. I feel another table coming :)

      Delete

Recent developments made it necessary to moderate posts again. Sorry about that, folks.