2025-03-12

模倣子 mDnD Terrain Generation Examples

 Manga Index - mDnD - mDnD on Terrain 

Introduction

I'm going to try to lay out a fractal system for creating continents and coastlines, and terrain starting from a high level. The lower levels of detail will follow the same principles I lay our here, but perhaps with different tools.

The Layout

First off, the globe of the planet-world is approximated as an 20-sided figure, or icosahedron. This gives us twenty triangles as the surface, each of which may be divided further into smaller triangles, on down to a one-foot sized triangle.

Quick overview: the Earth has a surface area of approximately 200 million square miles. Thus each face of an icosahedron (d20 solid shape) would contain 10 million square miles.

fig 1.1. icosahedron (20 faces) as approximate globe

This means that the edge of each face would be some 5,000 miles.

We can endlessly tile a gigantic equilateral triangle thusly:

fig 1.2. triangular face tiled into four, then each of four into four, etc.

In other words, the first "cutting" or "tiling" gives us four equilateral triangles inside the original one, and each edge is half the edge length of the original. This dividing by two property is intriguing. It makes things simple and clean if we just use multiples of two. In other words, if we just say that the largest edge is 4,096 miles, then we can go all the way down to one foot, which we call the "zeroth tiling level" (1).  

To extend from the scale of the very small to the very large, i.e., the level at which characters might experience a town or dungeon up to planet size, we have tiling level and edge length:

tiling levelfeetmiles
010
120
240
380
4160
5320
6640
71280
82560
95120
101,0240
112,0480
124,0961
138,1922
1416,3844
1532,7688
1665,53616
17131,07232
18262,14464
19524,288128
201,048,576256
212,097,152512
224,194,3041,024
238,388,6082,048
2416,777,2164,096

fig 1.3. triangle edge sizes from one foot to planet size


So how do we generate a planet? The short take is that we have twenty spaces to be either ocean or landmass. So we roll 10d20 and whichever numbers come up are land, and we write those down. If we roll the same roll twice, we roll another die to add to the size of the same space.


fig. 1.4. Numbering of the triangles on the "globe"


So now we should have all we need to create the beginning of the topmost level of our randomly generated world.

Rolling Up Our First Planet


We start out by rolling 10d20: 10, 12, 16, 4, 15, 18, 19, 11, 3, 3

fig. 2.1. globe layout with ten die rolls


Note that segment three has two, and I've colored differently, so we can do something like make mountains there, or huge inland seas or lakes or whatever, or expand the segment out with isthmuses or nearby islands or whatever. There are effectively three three-panel same-sized continents, all of them "connected" by narrow straits (18 to 12 & 15, 16 & 3 to 10, and 19 to 11) (1). There are two separate oceans which may or may not be separated by a single strait 9 to 1 & 13, separated by the straight between 19 & 11.

Trying With Only Six Dice

We try rolling these: 8, 12, 4, 1, 19, 7

fig. 2.2. globe map with 6 die rolls


We get this, and as you can see we've got only one three-tile continent (yellow outline), with two island-continents connected to it and each other by straits (red circles), and one totally isolated island continents. There is one large ocean that goes all the way around the world and from pole to pole.

So a good number of dice may be between six and ten, unless it's some kind of desert or jungle planet you're after. Or it might be good to roll up several and pick the best one.

Into Deeper Resolution

Going back to figure 2.1, the lefthand side, we can drill down from the highest size levels, level 24, see figure 1.3., the "continent level, " which are some 4,000 miles on a side, down to triangles inside triangles. That is, we split up each triangle into four bits, which we number 1, 2, 4 (the points) and 3 (the center), and we can in turn split those bits into more bits.

fig. 3.1. gradation levels of nested triangles for terrain

We pick blobs of terrain to be of a certain type, but inside one triangle we can choose different types of terrain for smaller triangles within that one, and on and on. Thus we can pick an overall terrain for a whole area, and then detail it out, drilling down, as our adventurers delve into it and explore it, making maps, as such.

For example, we can start to flesh out the continent to the right side of the map we generated by rolling ten dice, in figure 2.1.

fig. 3.2. adding details to 10d20 map


A bit of notation, perhaps, here. We have level-24 triangle number nineteen, forming the west side of our continent. We've removed a couple of level-22 triangles from the #2 level-23 triangle, to make a more jagged coastline and open up the strait that would otherwise connect it to another continent. So we've switched triangles 19:2:1 and 19:2:2 from land to ocean. We've added a land bridge between our continent and the smaller continent of 10, so between 16 and 10, by changing 8:4:4 from ocean to land. We also made a little lake on the border of spaces 19 and 3. 

Note how all of these details are done two levels down from the level 24 "continental level." We could just as easily have made larger-scale changes at the level-23 triangles, for example, we could've change all of 8:4 to land for our land bridge, had we wanted it bigger.

Summary & Conclusions


With what we have so far, we can generate an entire planet for fantasy role-playing or whatever purpose. We can drill down to create more and more detail on demand.

What remains is systems and rules and such for actually doing the detail generation in real time, such as dice systems, tables, whatever. The idea is that we'd have an idea of what is going on where an adventure is to start, and then we need to fill in the map as the party explores it. We also need a system to reliably and quickly record what's going on.

A party may make a path along a river or other such feature, or follow a coastline, ignoring and skipping a lot of other stuff, so we need to be able to map what they cover, have them reach their target, and leave the rest relatively unspecified until and if it's explored later.

So a live generation system is needed, during actual play, as well as a system for setting up islands of detail such as dungeons, towns, or castles. Also, systems for generating things like castles, dungeons, and towns which may be encountered at random would be good as well.

________________________

(1) The straits could be handled by the DM as either isthmuses that connect the two landmasses, or straight wide enough to sail through, narrow, or even to wide to see across. The could be even a series of volcanic islands, or non-votcanic islands or atolls.

No comments:

Post a Comment