World Machine – Ready to Create a World?

Are you tired of living on the same old earth? Want to live on a different one? A world you’ve created yourself, maybe? 

Well, I can’t help you with that. But I can tell you about the World Machine a software that enables you to create virtual terrain, with it’s own geographical history.

Let’s talk about creating height maps. What are they, where are they used?



Heightmap of the World

Generating Height Maps

Let’s say you are making a game with truly massive terrain. 500kmX500km that is 250.000km². Tremendously large area to craft by hand. It’d take hundreds of environment artist months, maybe years to make a somewhat realistic looking heightmap on that scale.

What are the alternatives?

Using Real World Data

We could use real world heightmaps. Image on the right, shows the earth’s heightmap. Suchmaps could be made from radar satellite’s data or lidar  data from airplanes or even drones.

This is a really cool way of making a game world. But, a real world location is not always desirable as a video game map.


Obviously we need some kind of randomization here. We could use some random number generation algorithm to produce height data for each point on a map, but that wouldn’t be very realistic would it?

Imagine a mountain here, 1 meter away we have an ocean, 1 meter away another mountain…

This is where the “procedural” comes into play. Using some rules, we can automatically create believable heightmaps. that are true to how geography works as we know is.

World Machine is a Procedural Height Map Creator

Let’s talk about World Machine. It is a “procedural 3D Terrain generator”. You can find all about it in it’s web site and the good news is, as long as you use it for non-commercial purposes, and don’t mind the 513×513 pixels limitation on the map size, it’s free.

WM also supports add-ons(called macros) and has a decently sized modding community.

Let’s do a very quick example and see what we can produce.

advanced parlin


A World Machine (WM from now on) terrain starts it’s life as randomly generated noise(often using advanced perlin noise)

Using some parameters(as seen in the picture) WM’s advance parlin noise algorithm produces a roughly realistic looking hightmap.


Parlin Generated Image


This is the result of the terrain generation done by the advanced parlin algorithm. We have a mountainous area on the right with a sheer drop at about the center of the map.

Maybe there is a canyon in the middle of our “world”?

Not bad, we could work with this. Let’s look at it in 3D.




Not Bad. It’s a little rough and pimply. But nothing a few millennium of erosion wouldn’t fix. Yes. We can simulate erosion in WM isn’t that cool?




Here we set up what kind of erosion we want.

Duration, rock hardness, sediment carry around… I won’t act like I know what all of them is, much less what they do. I’ll pick the “Classic WM Erosion” from the presets and run with it.




That’s some serious erosion. Maybe a little too much even. Normally I would reduce the strenght and try again, but for this post, It’s good enough.

There is something lacking tho… There is no water. Let’s add water. And coastal erosion.


coastal erosion


Water level is set to 0.40  and beach size increased to 0.15. Lets run the simulation at look at the result.






Now that’s something where I would want to  go as a vacation.  Let’s add a little bit of color.



The final product. Don’t mind the low quality textures. They are just placeholders. Map should be fully fleshed out in the game engine.




We’ve only scratched the surface of what’s possible to do with WM. There are things like terrace filters, thermal weathering , displacement, height splitter and much much more.

There is theoretically no size limit to the maps you can create with this tool. Creating earth sized maps should be possible if you have enough memory.

There are even some geographical researchers who use this as a scientific tool.


Leave a Reply

Your email address will not be published. Required fields are marked *

Prove you are not robot(and know elementary level math) *