Tuesday, March 19, 2013

World Plotting

The following method is not completed.  I want to emphasize this.  I have been designing this in my head for only a few weeks, and its only been nine or ten days since I had the necessary epiphany to make this work.  However, so far it is going very well ... and I am one step beyond where this post will end, and it is still looking great.

Meanwhile, since this post as designed is getting pretty long, I am going to get it up and then start writing the next one.  All that you are about to read was invented as I wrote it.  It can always at a later time be upgraded, but so far I'm extremely happy with the result.

Let’s say you want to be able to generate a wilderness, or the part of a world, but you don’t want to muck about with any foolish mathematics. You just want to be able to roll dice and get results. Very well. That is what this system, and this post, is designed to allow.

For explanation purposes, let’s start with a fairly large area – something 7 hexes across.  That would look like this:
Figure 1 - blank hexes

Nice and simple. So what we want to do is produce an infrastructure number for these hexes ... but as long as that number can actually be quite simple, let’s just roll a d12 for every hex. The higher the number, the greater the infrastructure. What that infrastructure’s designation is, for the moment, can be left aside. Here are my numbers, rolled entirely at random:

Figure 2 - infrastructure numbers

In all probability, you wouldn’t really want these to be wholly random. You might want to apply modifiers for areas where you had already put deserts, mountains, cities, etc ... but for the sake of demonstration, let’s suppose you’re conjuring up an environment from nothing.

Broad strokes: a 1-2 is pure wilderness; a 12, fully settled. We’ll say the hexes are 18 miles across, but they could be as wide as the reader likes.

For the next stage, we want to create interior hexes inside those we’ve already established, retaining our rolled numbers. We want to create seven “junior” hexes for each “senior” hexes ... which will look like this:

Figure 3 - add junior hexes

Now, there are several steps we’re going to take, so for the time being I would like if we could ignore those hexes which overlap from one senior hex to another:

Figure 4 - ignore 'crossover' hexes

Good, now we’re going to begin base-filling these hexes. To begin with, any hex that is marked with a 1 or a 2 is fully wilderness ... so all seven hexes are uncivilized. To add some color to the proceedings, we’ll say this whole region is basically a forest country, so we’ll start by shading in all those wilderness hexes dark green. We can also remove those numbers. This is going to give us an image like this:

Figure 5 - group VIII added - full wilderness
see this post

Now, I have to admit going forward that I am balancing this slightly towards more wilderness than not; how you weight your particular elements is up to you, but I think wilderness plays a little better than civilization for most, and this generation is balanced to reflect that. Slightly balanced, I emphasize.

But let’s look at those hexes where we rolled a '3.' The senior hexes will have 1 junior hex that is civilized, and junior hexes that are not. The two possible patterns that can occur are these:

Figure 6 - group VII possibilities

The chances of each type of pattern, or “group,” is shown above. The chances of that one wilderness hex being on the edge is six times as common as being in the center (the right group can be rotated in six directions). Now, I realize the reader can see that it’s a roll of 7 which hex is civilized ... but the pattern IS important in this, so I’m deliberately making the effort to show how having the hex on the outside, where it might contact another civilized junior hex in another senior hex is a big difference from the hex which is guaranteed to be isolated on the left.
Let’s roll dice to see which orientation each of the senior hexes have for the 3’s we rolled earlier. There are only two ... but by chance, I did get one that was encircled by wild:

Figure 7 - Group VII added

Now we can move to the next sort of group – that covering the hexes above numbered 4 & 5. Once again, here are the sorts of patterns, with their relative occurrence:

Figure 8 - Group VI possibilities

The reader can see the far right pattern (d) can only be rotated in three different directions, which the others can be rotated in six. Once again, yes, I realize the reader can simply roll which two hexes are civilized ... but what’s important here is that you see how each pattern can be made to stand for a different inherent social relationship. The two hexes (a) and (b) are similar and clearly more social, while the hexes on the right are less so.

Also, I recognize the reader does not have a 21-sided dice ... but you all are clever, I’m sure you can work out something for yourselves.

Once again, let’s add these second group patterns to 4s and 5s on the main hex map. There are five of these:

Figure 9 - Group VI added

By now, some readers will be able to work out what I mean to do with those ‘crossover’ hexes that earlier I said to ignore. Loosely, we could say where four or more of the hexes surrounding those are wilderness, they too will become wilderness, and that where the encircling hexes are even, that its a 50/50 roll either way. For the moment, however, until we’ve filled out the entire arrangement, let’s continue to leave those as they are. There are other details we may want to consider.

Another point that needs to be made; some will wonder why not just randomly roll every hex to see if they should be wilderness or not. What is nice about this system is that it introduces ‘clumpiness.’ There are fairly substantial wilderness areas built up as well as substantial civilized areas. A single die roll system for each individual junior hex will create a far too heterogenerous pattern. Try it. I suspect, though, if you’ve done a lot of generation, especially for Traveller, you already know what you’ll get.

Now, before moving forward, I want to point out a couple of interesting things that are also determined by the results. In the above Figure 9, the reader may notice I chanced to roll group VI (a) once and group VI (b) twice. These indicate certain infrastructure features, which have been added to the generated map:

Figure 10 - first infrastructure features

All right, we can move forward to the next groups patterns now, for hexes numbered 6 & 7:

Figure 11 - group V possibilities

This is going to get a little harder to conceptualize. Types (a), (b) and (d) will all make six patterns, rotating them each in six directions. (c) however can only be turned in three directions; and (f) only two (if you turn it 120 degrees its the same). On the other hand, (e) can be turned TWELVE different orientations ... as it can be a mirror image of itself, and both it and its mirror can each be turned in six directions. Trust me. Play around with them, you’ll find I’m right. Altogether there are 35 orientations for all six types.

We can talk infrastructure, also. Type (a), where three hexes are together, indicates a tiny village, 100-300 people. (b), (c), (d) and (e) all have lines of hexes, so all four indicate a road of some sort. For no reason at all, except that we ARE randomly generating details, let’s say that any hex that comes up (b) is a primitive river way ... a ford or, if the river is too large for a ford, a hand ferry.
Let’s say that any hex that comes up (c) is a toll gate. Unlike (b) or (d), (c) would afford the shortest distance civilized travel between two opposite hexes ... so its a logical choke point for a guardhouse and small post also, so let’s add that.

Because (d) is on the outside of the hex, let’s say that it represents virgin industries – sawpits along the edge of the forest, a quarry perhaps (especially in unforested lands) or high country meadows.

Finally, because (e) has two hexes side by side with an isolated hex added, we can treat as merely a roadstead (since its a combination of formerly compiled hexes).

Now, with these we can replace senior hexes 6 and 7 ... there are six of those, five of them all in one line from the top to the middle of the map. I rolled the number 27 twice, so two of the new hexes are exactly the same:
Figure 12 - group V added

I’ve deliberately not hooked up the roads, since I want the reader to understand the relationships between the senior hexes. We have a loose collection of roads, the exact line of which we don’t actually know. We must remember that these roads can pass through wilderness hexes – but it’s too soon to determine whether or not they will.

I’ve chosen to make it a quarry and a ferry – though a table could be created for either feature, if one wanted to get more gritty. We can certainly see how the tollgate figures into the separated islands of civilization. The road that I’ve dipped up could just as easily dip down into the number 11 senior hex below ... but that depends on the orientation of that hex.

The river is tricky. You may already have a base map you want to work off of that already has the rivers laid out – in which case, you might say the road crosses a minor tributary, or perhaps its a rope bridge over a gorge. Your imagination is the only limitation.

The course of the river is more troublesome. You have to decide whether the river is the lowest part of the map (in which case the wilderness is all swampy and wet) or that it flows down from the highest part (so that the wilderness areas are hills and mountains. If you choose lowland, then there should be one large river that links up all the wildernesses ... since for an area like this, 140 miles across, the land would be almost all flat and part of one drainage basin. The lowest areas will be the most vegetated.

If you choose highlands with valleys, then the rivers should all flow outward and away from the wildernesses, and the lowest areas will be the spreading fields of your most civilized – and least vegetated – areas. So you see, its really important which you choose.

I confess, I spent about two months trying to come up with a simple randomizer to determine the location and direction of rivers WITHOUT elevations, without much success ... I am glad my world uses them. Since your world probably has no elevation numbers for hexes, I suggest you go with your instincts. Feel free to generate the various hexes and then just fit in the rivers wherever they seem “best.” Below I’ll show two images, where the rivers have been “sketched” for a set of wilderness and for a set of wilderness highlands. The highlands are on the right:

Figure 13 - river course options

Two very different vistas.  And of course I could have drawn the rivers in a number of different patterns.  At some point, I may sit down and crack out a complicated formula for river placement ... but some things the human imagination can just do faster and easier.  What's important here is that we've provided substance for your imagination to hinge on in order to provide one very simple, direct effect.  You choose the rivers, the rest of the hex generation then supports that choice.

Note that, like the map says, it is necessary to change the ferry to a ford, since the river is too short to be deep enough to allow water vehicles. All the water coming from these highlands would probably be fairly fast-moving ... a ford would be welcome, just as a ferry would be in the swampy lands of the left.

I could go with either of these, but since the mountains/hills are the more common arrangement, let’s continue with the rivers on the left.

We’ve finished all the predominantly wilderness hexes. The remainder have more civilization that wilderness.  And so here we can stop.  As I said, I have the next part ready ... and I'll continue to work forward on this to see where it takes me.


  1. I love this sort of thing. Looking forward to Part 2.

    You could eliminate the "corner" hexes by drawing the megahexes like this instead -- http://bit.ly/XXhRrs. That's if you don't have some as-yet-unrevealed reason for grouping the hexes the way you did.

  2. Yeah, Steve, thought about that, but consider:

    1) the system, with crossover hexes that I'm designing, can be grafted directly onto a formerly hex mapped system, such as that which I posted of Greece yesterday.

    2) one of the 6-mile diameter junior hexes here can then be micro-created again, without the need to reshape ALL the hexes.

    The link you suggest - albeit with the best intentions - discounts both these possibilities, forcing you to reshape your world each time you go smaller.

  3. You obviously have your own infrastructural numbers, and this is a simplified version for us plebians and so on, but what would really interest me is seeing how such numbers, and the senior/junior hex motif you've mentioned before, apply to your own world.

    We can safely assume that Naples' preposterously high numbers would indicate a full hex of civilization, but the rest of Italy/Europe is hardly so dense.

    Have you put to mind anything like a "conversion guide" wherein someone might take what you've done with Greece (say, myself) and utilise the senior/junior hex system?

    Looking forward to where this goes!

  4. This is practice for me too. When I'm done, I'll apply it to Kosovo.

  5. A very cool system. I wonder if (and you may have already done so) something like this could be used to generate urban environments?

    More variables to deal with, I suppose. Still, intriguing!

  6. Yagami and I were talking about that on Facebook last night, Keith. We're not sure how to generate results with no useable numbers beyond the city's actual size. But we're independently working on ideas.

  7. Baking my noodle on the whole city thing. So far have considered time allowed for development as well as how much contention over the area exists...all balanced against potential restrictions in place based on the geographic location.


If you wish to leave a comment on this blog, contact alexiss1@telus.net with a direct message. Comments, agreed upon by reader and author, are published every Saturday.

Note: Only a member of this blog may post a comment.