The campaign map is procedurally generated using an input seed, adding terrain features like mountains, rivers and different biomes.

Elevation map

First step is adding gradient/perlin noise layers to generate the elevation map.

Altitudinal zones

The elevation map is segmented in altitudinal zones.

Latitudinal zones

Similar to earth, the map is divided in latitudinal zones: intertropical, temperate and polar. This determines the temperature of the land.

Precipitation zones

Humidity is determined by the precipitation, again similar to earth two dry strips cross the map horizontally.

Biome selection

Using the previous data of elevation, latitude and precipitation, biomes are assigned to each cell on the map.

Mesh building

The terrain mesh is built based on the elevation and the biomes determine ground textures and vegetation.

Interactive demo