From Spring


The height of the terrain is generally defined with a greyscale displacement map with black representing the lowest point on the terrain and white the highest. The height of the terrain can also be modified in game via lua scripting.

Mapdev-height.png Mapdev-height-example.png
Example Height Map Ingame Result



local mapinfo = {
   smf = {
      minHeight = 1000,
      maxHeight = -300,

minHeight and maxHeight

Any values below zero are underwater, see Mapdev:water

Image File

File Location The height map is an intermediary file compiled into the SMF/SMT files using MapConv or MapConvNG.
File Format Any that the Mapconv programs support
Colour Depth 16bpp recommended, however 8bpp will work.
Channels Greyscale
Spring Map Size* pixels = Spring Map Size * 64 + 1
2 129
4 257
6 385
... ...
32 2049
* must be multiples of 2

8 vs 16 bpp

These two images show the differences in prescision that the bit depth of the image makes. The effect has been exaggerated here for clarity.

8bpp.png 16bpp.png
8bpp 16bpp

+1 pixel

When each pixel represents a vertex you need one extra pixel than the number of quads you are attempting to represent


Additional Information

ROAM terrain engine