Table of Contents
1. MAP SIZES
Diagram of Compared Map Sizes (Michael Hafer)
Terrain maps come in the following four sizes. The following numbers are based upon "tiles" as in AoK, but will ultimately use own system of scale once it is established. The important thing to note is that the players are receiving roughly the same area of real-estate as the map size increases. Again, the numbers are arbitrary and used for demonstration.
* Small 144*144 tiles for a total of 20,736 tiles or 10,368 tiles per player (2).
* Medium 176*176 tiles for a total of 30,976 tiles or 10,325 tiles per player (3).
* Large 208*208 tiles for a total of 43,264 tiles or 10,816 tiles per player (4).
* Huge 272*272 tiles for a total of 73,984 tiles or 12,331 tiles per player (6).
Here are the design interests on map size:
* Small (normally a 2-player map): 2-6 Settlements.
* Medium (normally a 3-player map): 2-9 Settlements.
* Large (normally a 4-player map): 2-12 Settlements.
* Huge (normally a 6-player map): 2-18 Settlements.
Note that the size of the map does not limit the number of players. 2-6 players can play on any map size.
With exception to Emigration and Nomadic game types, each map is required to have a minimum of one Settlement on the map in addition to a starting Civ Centre. Emigration game begins with only a single Civ Centre for each player. Nomadic game type maps have no starting Civ Centre). That is the base minimum (unless it is a custom scenario with a tactical objective). The host may then in his settings decide how many empty settlements he wants on the map (0-2 when the maximum number of people are playing the map). However, less players could potentially = more vacant settlements.
2. MAP GENERATION
Representation of biome elevation profiles
Maps are either generated by a Random Map Script (RMS) or custom-built from scratch in the Scenario Editor (either using a randomly generated map as a starting point, or beginning with a blank land or water map).
Either way, a Scenario (map) is generated, which can then be saved and strung together into a Campaign.
2.1. Biomes in Random Map Scripts
The different types of Random Map Scripts each define a filtered packet of elevation meshes for land Lowlands, Midlands and Highlands and Ocean Floor, terrain textures, and geology, fauna and flora objects that portray certain geographical regions, called a biome. Elevation range, terrain textures, and environmental gaia objects are specified and standardised for 'regular' RMS map categories/types (See: paragraphs 3.1 through 3.9, below) to be developed and supplied with the game. Climate (type, severity, and likelihood of weather) is also factored into the biome.
Since the assets available in a Scenario are filtered by the Random Map Script, this reduces the number of assets that have to be loaded into the memory.
The scenario designer or map scriptor may also select up to 10 Special Objects from those available for inclusion in the design of a customised scenario or a customised RMS map (although Special Objects are not included in regularised RMS mapscript biomes).
However in the Scenario Editor, the player can filter by a particular biome, or pick and mix as he prefers (as long as the end result doesn't exceed maximum system requirements). Biome restrictions can also be disabled in the advanced settings of the Scenario Editor, but at risk of being unstable to the end user.
Users will also be able to create their own custom biome packs from custom created textures and gaia objects or from the developer's content.
A biome pack is assembled from:
- Primary Elevation - Typically alloted to land Lowlands--elevation basically at 'sea level' with only slight variation in rise and fall of the terrain mesh to +1 elevation. If Seasons are selected, terrain patch presentation may visually change dynamically.
- Secondary Elevation - Typically alloted to land Midlands--elevation basically hilly terrain with moderate rise and fall of terrain mesh. If Seasons are selected, terrain patch presentation may visually change dynamically.
- Tertiary Elevation - Typically alloted to land Highlands--elevation typically mountainous terrain with higher rise and fall of terrain mesh to approximately twice that of Secondary texture mesh. If Seasons are selected, terrain patch presentation may visually change dynamically.
- Quaternary Elevation - Typically for Water textures--elevation essentially at 'sea level' unless scripted to fall amongst Midlands as lakes. In some instances if Seasons are selected, terrain patch(es) may change dynamically, e.g., water turns to solid ice that units may move on during Winter.
- Land Terrain Texture - Specifies the principal textures that will be applied to 'open land' that is not covered by another texture type(s), typically Dirt, Grass, etc...
- Water Color and Sub-Surface Texture - Typically specifies color and sub-surface terrain texture for oceans, lakes, and rivers. and lays the course on land terrains for rivers and streams at any elevations as may be defined as specified to a map category/type biome.
- Beach Texture - Typically defining the division between Primary and Quaternary Texture though may in some instances present between Quaternary and either Secondary or Tertiary if those are scripted at some location to appear coadjacent to Quaternary; may also be scripted to appear coadjacent with River texture.
- Intermediate Texture - Typically used to blend different gaia patches placed upon a texture as base terrains on land so that transition is pleasing to the eye.
- Undergrowth Texture - Typically those Forest Floor texture(s) that are appropriate to map category/type with respect to elevation as specified. If Seasons are selected, undergrowth presentation may change dynamically.
- Extra Texture - Provides for an additional Texture(s) to be scripted to Primary (Lowlands), or Seconday (Midlands), or Tertiary (Highlands) textures, or for the placement of Special Objects on a custom Scenario or custom RMS map at any of those elevations.
A specified number of Terrain Objects may be scripted to the various texture types, dependent upon the prescribed map biome.
Each map biome is normally limited to a total combination of textural patch and gaia object types that will range from 100 to 120 in number, based upon 10 'gaia objects' per Texture, or up to 12 if Extra Textures are not utilised/specified.
Examples: (hypothetical mapscript biome packet)
Land Terrain Textures:
Assortment of 10~12 (dirt, sand, gress, etc...)
----- Dirt 2
----- Dirt 4
----- Sand 1
----- Grass 5
Water Terrain Textures:
Assortment of 10~12 (ocean and riverine)
----- Ocean 1
----- Ocean 2
----- Ocean 3
----- River 1
----- River 2
----- River 3
----- River 7
----- Ice 2
Assortment of 10~12 (rocks, waterfalls, mountain peaks, etc...)
----- Settlement (special utility object)
----- Rock 2 (consumeable stone)
----- Rock 4 (nonconsumeable eye candy)
----- Ore 1 (gravel)
----- Ore 2 (vein)
----- Cliff 3 (low--Lowlands to Midlands)
----- Cliff 4 (high--Lowlands to Highlands)
----- Waterfall 1 (low--Lowlands to Midlands or Midlands to Highlands)
----- Mountain 5 (mesa--Highlands)
----- Mountain 7 (pinnacle--Highlands)
----- Mountain 9 (smoking shield volcano--Midlands)
Flora Tree Objects:
Assortment of 10~12 (palms, evergreens, deciduous, etc...)
----- Tree 01 (Lowlands)
----- Tree 05 (Lowlands, Midlands)
----- Tree 15 (Midlands, Highlands)
----- Tree 22 (Midlands)
Flora Plant Objects:
Assortment of 10~12 (bushes, flowers, etc...)
----- Primary Plant - (some may wish to allot this as lowland)
----- Secondary Plant - (some may wish to allot this as midland)
----- Tertiary Plant - (some may wish to allot this as highland)
Assortment of 10~12 (animals, birds, etc...)
----- Violent Animal 3
----- Aggressive Animal 2
----- Passive Animal 1
----- Passive Animal 4
----- Bird 3
----- Bird 5
----- Fish 1
In a perfect world, the player would be able to totally change the appearance of a map by simple applying a new biome to his map.
2.2. Custom Random Map Scripts
Scripters can create their own Random Map scripts, although we will have to establish standards of filtering to ensure performance doesn't suffer from combinations of new and old objects. Generated Scenarios will be performance-tested when created for this reason.