Minecraft Blogs / Tutorial

Advanced Terraforming - Working with WorldMachine

  • 4,939 views, 1 today
  • 6
  • 3
  • 1
Bigrat12345's Avatar Bigrat12345
Level 33 : Artisan Mountaineer
Hello, bigrat here. Today I am going to be sharing some of my knowledge concerning WorldMachine and WorldPainer, the two programs I use to create terrain.

This tutorial will be broken up into two parts/blogs. This one will be focused on creating a heightmap in WorldMachine.

The second part will be focused on turning that heightmap into a minecraft map, and painting the surface terrain, and exporting it into a playable minecraft map. I will be doing that tomorrow.

WorldMachine - What is it? Where do I get it?

WorldMachine is an amazing piece of software for creating highly realistic 3D terrain.

You can download it from their website here:

If you really find creating terrain fun, you can purchase the full version that allows unlimited map sizes, but for most map making needs, the free version will suffice. I use the free version just fine.
The free version limits your resolution and height map size to 513x513. There are ways to make larger terrain, but I will go into that on the WorldPainter section.

Here are some examples of some WorldMachine created rendered terrain. These images are from the WorldMachine Website.

And here are two minecraft maps I've done with world machine.


Ok Lets get Started! WorldMachine Work Space

When you first open WorldMachine, you might be approached with something like this:

This view here is where you will doing most of your work. I've arrowed and lettered out some of the important features.
A - This is a quick way to edit your devices while inside different views.

B - This controls the water height of your terrain. This doesn't actually change anything inside the terrain, but being able to visualize an accurate water height is important when planning. Water will be added when we work with World Painter

C - This is a quick 2D preview of your terrain.

D - This is the layout view. This is where you will be able to edit your layout generator devices and control the layout of your terrain.

E - This is the 3D view. This the best place to look at how your terrain is turning out.

F - This button builds your terrain giving higher detail in your 3D view. This is also needs to be done before exporting. The higher resolution you have, the longer this will take.

Project Setup 

Before working with the devices, we first must first fill out the project world parameters window.

Find the Project Commands drop-down next to edit, and click Project World Parameters. This will open a window like this:


This is where you control some of the dimensions of your terrain. Resolution is the size of the exported heightmap. This is also the block size of the map when imported to world painter. 513 by 513 is as large as I can go, since I have the free version. To the left, the Width and Height fields are the size of your workspace and control the detail scale. I usually go 10 km by 10 km.

Next, click the General Setup tab on the top. In the maximum height field, I usually input 10x the regular minecraft height, that being 2550.

We are now ready to dive into the devices and layout view!

How the Devices Work

The devices work in a flowing fashion. They have inputs and outputs, that build off the other devices to create the final heightfield. If you look at the default workspace, you see the advanced perlin's output going into the Terrace's primary input. And the terrace's primary output going into the Height Output device which then creates the heightmap.

Double clicking on the devices will open a window that allows you to manipulate the devices properties.

Masks Inputs

If you are familiar with world edit at all, you may have used the //mask command. This command allows you to have your brushes only effect certain block types. It works similarly in WorldMachine. The mask input may effect the location that the device effects. This is important when working with layout generator and the advanced perlin.

Creating our Terrain Layout

Now finally I am getting to the fun part, actually creating your terrain.
First, head up to your devices and click on the Generator tab, then grab a layout generator device. Plop this down before your advanced perlin (To get it off your cursor after you have already placed one down, right click). Now, double click your layout generator. It will then open up your layout view.

You will be faced with a window like this:

I've used arrows and letters again to point out some of the important features. [img=[IMG]]i.imgur.com/FaJC0uu.png[/img]

A - These are the shapes you can ues to create your terrain with. Left click one to equip it, and then plop it onto the green box.

B - This button allows you to edit the properties of the selected shape. I will go more into the specifics later.

C - This breaks up the shapes to a more natural shape. Editing this allows you to control how much roughness and fractal breakup you want to use.

D - These tabs will show all of your layout generators.

E - These are your build extents, this is the part of the terrain that will be exported. You should do all your work inside the greenbox.

In this tutorial, I will be creating a simple mountain valley. To do this, I am going to grab some shapes from A and start to form my mountains. You can use the line tool to create a range, or you can use a lot of circles to do this. I prefer the circles to allow more control over the peaks.

You may end up with something like this: [img=[IMG]]i.imgur.com/smOYnGA.png[/img]

Next, we are going to apply breakup by checking the Use Breakup box. You can change how strong this is by clicking edit, and then lowering the breakup scale, and by raising the roughness slider.

Now, we are going to edit the shape properties. Right click to remove the circle tool from your cursor, and then drag to select all of your shapes. Then click on B, the properties button that looks like a pencil.


1 - This controls the height of the shape.

2 - This controls the strength of the shape. This effects the falloff distance and the height.

3 - This controls how steep the shape is. A large falloff distance may make the shape engulf the whole extents. A lower distance may make it's slopes very steep and effect a very small space.

4 - This effects the falloff curve. I usually use the first/default option.

5 - This effects how much the breakup will effect the shape.

For now, I am not going to do a ton with this other than increase the falloff distance a bit. I will come back to this and make some changes after we see how the advanced perlin is going to effect the terrain.

QUICK TIP: While in the device view workspace, press f while hovering over a device to lock the preview on that device.

Advanced Perlin

Now we are going to take a look at our Advanced Perlin. This creates the sort of shape we want our mountains to take. By double clicking on the Advanced Perlin object, you can see how many different things you can control. The most important however is the slider near the top called Feature Scale. Change this around until the view in your prefix box looks a bit like how you want your mountains to be shaped.

Next step is hooking the Layout Generator into the mask input of the Advanced Perlin. Now look at the 3D preview screen.

I ussually then make some changes to my layout and my advanced perlin until I get something I like. Don't expect it to look too good at this time, there are still a few vital steps.


Here's how mine turned out after using the advanced perlin, and with some modifications to the layout.

Quick Interjection - Making your 3D view Easier to See Detail 

This isn't necessary, but it makes your views look prettier and easier to see. I am going to be using a macro that adds different colors to the view.
All of my screenshots in the future will be with this.

However, this requires another download. You can download the macro here, and install it by putting it in this directory: Username/documents/worldmachinedocuments/macros.

Now lets hook it into our terrain.

Go into your output device tab and find Overlay View. Drag this down near the end. Now go to your macro tab and click on the only button there, that looks like an open folder.

It should look something like this.


Click on Coastal_Overlay, the box that the arrow is pointing at, and then click Load Macro... Plop that down before the overlay view, and take the output and plug it into the overlay view's overlay input. Then take the height output from your last used device, in my case a terracing device, and put that into the overlay's height input. Also, plug that output into the Coastal Overlay's Input. Something like this:


You'll notice in your preview that everything looks a bit different. If you double click the coastal overlay, you can adjust the water texture level, beach level, and the grass slope.

When you open your 3D view it might look something like this.

Notice how its much easier to see the detail. Also note, I took out the terracing device before taking this screenshot since I wanted to save that for the next section.


What is terracing? Terracing is the layers in the stone caused by variations in stone type and density. Terracing is present in almost everywhere in nature, some places more prominent than others.
Here's an example of some obvious terracing in some mountains.

It's a bit harder to see in these mountains, but its there if you look closely.
The Grand Canyon is another obvious example.

Now lets use our Terracing device!

If you are using the default template, it should already be hooked in. Click on the terracing device and then look at your preview or the 3D view.
If you deleted your terracing device or it was never there begin with, it's in the filters tab.

Your view now might look something like this..

As you can see, this is definitely way too much terracing. Also note that in the mountains above, the terracing was never so straight and abrupt like this. We can use an advanced perlin to correct that. Create another advanced perlin and adjust the scale to find something that has really wavy ridges like this. Take the height output and plug it into the Terrace's shape modulation input.


The terraces should look a bit more uneven now, but there's still way way way too much.
We can play around with the terraces parameters, but we can also use another advanced perlin as a mask to create some areas that aren't as terraced as others. By turning the steepness way up on third Advanced Perlin, we can create some areas that area very high, and some that are very low creating a nice mask for the terrace. Plug this advanced perlin into the mask of the terrace.

Here's how it might look.


Another big one when it comes to make realistic terrain. All natural terrain is subject to the winds, the rain, and the water. Its super hard to account for this in game, but world machine makes it super easy.

Look for the Natural tab and grab an erosion device. Plop this down after your terrace. If you hover over the output line and click when its yellow, all the outputs will be transferred over to the erosion device like this.

Now lets take a look at our 3D view and see how the erosion effected the terrain. If you double click on erosion on the left hand side of the screen under the water level, you can manipulate the erosion settings from the 3D screen seeing the changes dynamically (Make sure to lock view on your Overlay View first!).

This screenshot here is an example of the power of erosion and how much it can effect your terrain.


But, that's not exactly what I am going for here.

I am gonna go moderate on my erosion. Not a ton, but enough to make a definite difference.

I am also going to add in a Snow Device that raises some of the land thats not very steep since I am going to be covering my terrain with snow once I get into world painter. This isn't necessary, but its a nice addition.

Exporting as a Heightmap!

Here's my finished WorldMachine terrain ready to be exported!


To export this as an image heightmap, go into your device view, and double click on the Height Output device. Select an image format like PNG and then name your file in the top field. When you are finished, click Write Output to Disk!

This is what our heightmap looks like. In the next part, we will be importing this into WorldPainter.
I will be doing that tutorial as well as some world painter tips and tricks tomorrow! Stay tuned! I've spent around 3-4 hours writing this up today. Hope you guys enjoy!

If you think I didn't cover something properly enough, or I left something out, let me know in the comments!

Create an account or sign in to comment.

07/06/2014 8:35 am
Level 6 : Apprentice Dragon
TheNuclearWolf's Avatar
Cool! thanks man this really helped me :D
Planet Minecraft


© 2010 - 2024