Terrain Cover

Nearly as important as the effects of terrain elevation are the effects of terrain cover. These are numerous - ground conditions like mud may make a patch of terrain difficult to cross, shrubland may provide soft cover (a soldier can't be seen by enemy archers), trees of rocks may even provide hard cover (soldiers are protected against missiles by the terrain) and field fortifications may provide an advantage to the defender.

Such information is fed to the simulation by a two stage process. First, a surface map tells the simulation what surface type is dominant where on the battlefield. In a second step, a surface atlas defines which properties the surface type has.

It is quite possible to use surface maps without specifying the elevation or using elevation files without specifying a terrain surface. A non-defined elevation map is taken to represent flat terrain and a non-defined surface map is taken to represent short grass which presents no particular obstacle to movement and offers no cover.

The surface map

The surface map is simply a list of index numbers that describes the terrain cell by cell as follows:

0 0 0 0 2 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0
0 0 0 0 0 2 0 0 2 2 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 2 2 2 2 0 2 2 2 2 2 2 0 0 0 0 0 0
0 0 2 0 0 0 1 2 2 1 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 1 1 0 2 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 1 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0

From inside the configuration file, it is read via the following keywords:

terrain
surface_map mysurface.map
surface_atlas surface_atlas.cfg
surface_map_size_x 20
surface_map_size_y 50

Here surface_map names the file that contains the map and surface_atlas the atlas (see next section). To read the map correctly (which is otherwise just a long list of numbers) the dimensions in x and y also need to be specified.

Like the elevation map, the surface map is always mapped in a fractional way to the battlefield, so cells are stretched if necessary so that what is in the lower right corner of the map also is in the lower right corner of the battlefield and so on.

The surface atlas

The file that describes what the numbers in the above map mean is called the atlas. Its format is simply a description of surface by surface with the associated properties like
surface
index 0
name Grass
symbol .
movement_slowdown 1.0
movement_max 1e6
soft_cover 0.0
hard_cover 0.0

The index is what is used in the map, the symbol is an optional character that is used when drawing the battlefield to identify the surface (the default symbol for an empty cell is a '.'). movement_slowdown is a factor with which movement across the surface is multiplied, movement_max is a cap (in m/min) beyond which movement across the surface is no longer possible) - that is to say, a surface can exert more drag (like mud of higher vegetation) that slows down, or it can be dangerous or slippery such that even fast units have no advantage.

hard_cover and soft_cover describe how the surface protects from archery. The value is a penalty added to the attack of the archer unit, and in the case of hard cover, one-tenth of the value is also subtracted from the damage done.

(Note: As of v0.3, the definitions of the surface properties may not be finished and other values may be added to the simulation. If not defined, they will be set to default values.) With event management and terrain definition now in place, let us take a look at another famous battle next.

Continue with The Battle of Crecy.


Back to main index     Back to science     Back to historical battle simulation

Created by Thorsten Renk 2022 - see the disclaimer, privacy statement and contact information.