Friday, February 1, 2019

Finishing off global terrain

Just a bit more polishing and our basic global terrain map is basically done.

First, it's all looking very flat - there are some major mountain ranges, but not many. So let's add some minor mountain ranges at random over the land.

These are added in the same way as the ones we had before, but they are lower in height and the chains are shorter. These ones can only appear on land, and won't run into the sea. The lowest are effectively long ranges of hills.

This yields the following:


We can make the heightmap more interesting still by throwing another fractal in. Once again, we will use two fractal maps, just as we did before, but instead of using them to turn land into sea we will use them to raise the terrain over existing land. Not too much, but enough to add a bit of variation. That gives us this:



Finally, some smaller refinements. We'll raise the land a little around mountains and also add plateaux, specially high areas that rise up behind some mountain ranges. We'll also smooth everything (other than the coasts and the mountain ranges) using a (very!) simple Gaussian blur. Finally, we'll teach the computer to shift the map to avoid (as far as possible) having landmasses cross over the eastern and western edges.

Our final world terrain map looks like this:


(In fact it's not quite final, because there are more refinements we're going to have to make to it later, but that will do for now.)

That took my computer 41 seconds to make, which isn't too bad given that I'm (unforgiveably) using a high-level interpreted language to do it in, and it's produced what to my eye seems a reasonable-looking world map. Next comes the tricky part: the climate.

No comments:

Post a Comment