EA official tutorials:
Terrain editor
Custom Mod Setup
Understanding Heightmaps
Build the Bunker - 3ds Max
Build the Bunker - Maya
Import the Bunker
Build the Car - Maya
Import the Car
Create new team - Maya
Create new team - 3ds Max
Create new kits - Maya and Max

Mapping - General
Setup FH2/bf2editor
FH2 mapping guide
FH2 mapping standards

Mapping - Texturing
Texture system in bf2
Terragen skies
Terragen texturing

Mapping - Heightmaps
World Machine
Geocontrol and bf2hmt

Mapping - Lightmapping
Simple lightmap setup

Mapping - Downloads
Sky settings bf2
Water settings bf2
Lowdetailtextures/settings bf2

3D modelling/texturing
Skinning the Daimler Dingo


Create your heightmaps in World Machine

By Fenring


Tools needed:
World Machine

World Machine manual:

Step 1: Creating the heightmap in World machine
Step 2: Create new level with the right height
Step 3: Export your file with terragen
Step 4: Final check and touches in editor


Creating the heightmap in World machine

These are the tools we'll be using in this tutorial otherwise it could be a bit to much to stomach at once :-) Feel free to get used to the other buttons.


Download macros:

  • In this tutorial we are also going to use some macros to great effect.
  • Install them by copying them to C:\Program Files\World Machine\macros\ (or wherever you installed world machine).
  • After the install you can find them in Heightmap Operators->Macro from library.

In World Machines default colorscheme (Emerald Isles) the highest points in the heightfield will be White and the lowest watercolored. This may seem unintresting but remember when you sculpt your FH2 maps in World Machine you will have to in imagine how it would look like in game and then thinking, lets say that your level has the height of 80. White would then be 80 and Watercolored would be 0 and middle-green would be like 40. This helps a lot when trying to visualising what it would look like in game. Lets say your white would be mountainranges, middlegreen a hill and darkgreen/water the bottom of the river/lake/ocean if you have water in your map.

Important! You will always get a small preview of the current device in the small window to the right, this means that you can go backwards in your device setup to view your terrain in a previous stage and return to your final device. Each step forward we get closer to the final heightmap.

We'll start by adding a constant device to our project (you could just delete the default devices by marking them and press delete). Click the button and click on the grey overview and you should see a constant device, you could add more constant devices by clicking again but we'll settle with one for now.

Important! If youre gonna use a sea/water/lake in your level its crucial to start the build with a constant, if we would use a device that generates highs and lows the water would spread to parts of the level where it was not intended.

Info! Always use the Combiner device with "Add" on the highest setting, never ever use anything other especially not "Subtract" because that would make a hole in your constant and it would no longer be a constant. With "Add" everything will pile on top of the other and the crucial starting constant will be complete all the way and your water will not "overflow".

Double click on the device to get its properties, we'll add a height of 0.06250, use the slider or type it in manualy

Add a combiner next to the constant but we will not use it yet

We'll start on our basic terrain with a constant and a perlin noise generator. Connect the constant to the Purple mask connector in the erlin noise. Double click on the Constant and we'll want 0.07813 as value. You can leave the perlin noise as it is for now, i made my own changes but it shouldnt matter that much you can fiddle around the settings if youre curious.

Your working area should look like this afterwards.  

Next we will add a Chooser to our heightmap.

Double click on the Chooser and click "Add B to A where indicated by C".

Next we will load the Dunes maco, just add it as a regular device. Use settings Clamp: 0.03125 and Number of dunes: 0.45313 leave everything else as default.

Add a radial grad.

These are the settings i will add for the radial grad. What now will happen is that within the Chooser device the radial grad will operate as a mask and the Dunes will only be added to the area within the mask the perlin noise will therefore be the base of our terrain.

Important! you can change the position of the grad with x and y in this way we can place our radial grad wherever we want on the heightfield. This is also used when moving mountains/hills and using a radial as a mask.

We will now combine all these parts in the way shown. As I said before the Combiner should be set to "Add" and max value/1.00000 otherwise this build will fail

You can now try your Build button and selecting the combiner/last device to se what it looks like. Switch back to edit mode with Ctrl+1.

Now we will make a mountain.

Constant should be 0.42188 in height.

Place the radial grad wherever you want your mountain to be on the heightmap.

Add a perlin noise.

The Simple Displacement will make our mountain have a more irregular look, experiment till you get the result you want. I used: Direction 0, Strenght: 1.00000, Centered, Repeat edgde values.

The Erosion will add a worn and weatherd look to our mountain, I used the Flood of Slurry preset.This one is memory intensive so you might want to skip it with a low memory machine.

Connect all parts as in this scheme.  
Connect the parts as shown. Then select the File output.

And now for the final touches.

Add a combiner and as always with "Add" at max strenght or 1.0000.

Add the River 2 macro from library. Fiddle with the settings until you get the river where you want it.

Add a File Output.


Build your world, after this you can doubleclick on the File Output in your devices scheme and save the file.

Now we save it as a Terragen file, just doubleklick on the red "File output" device. Dont forget to Click "Write output to disk!" otherwise nothing will be saved Simply clicking "OK" wont do.

Back to top

Create new level with the right height

Now we go to the bf2editor and create a 512*2 level, just use default settings.

Inside the bf2editor change the height to 60, now save and exit.

Back to top

Export your file with terragen

We open our terrain, set the height according to the picture and click "Set Height Range". Note that bf2 uses the same Terrain units as bf2 so 60 in Terragen is 60 in bf2.

Save your new heightmap as a "Raw 16 Bits Intel Byte-Order". Locate your new bf2 level and replace the "HeightmapPrimary.raw" in your leveldirectory.

Back to top

Final check and touches in editor

Now we just check so that our heightmap is ok in the editor, it is! great now we can start texturing for which there are several options which I explained in my previous tutorial.

Info!You may have to select the terrain sculpting tool select strenght 1 size 1 just so that the editor saves your terrain, otherwise you may get some flat grey terrain instead of what you see in the editor. The same applies for textures if you have made them in some external program like Terragen or bf2_tpaint.

And finaly our heightmap ingame after som fiddling with bf2_tpaint and this tutorial is just one little example of what world machine can do.

The river Our mountain Our lovely dunes Minimap

Hope you have learned something valuable, if you get stuck dont hesitate to pm me.

Download my finished world machine file.


Back to top