Now that we are in Sprint-7, I started defining how the TOCS maps will be represented as metadata. The term ‘metadata’ means data that describes data. When a player looks at the hexes on a map, each hex has a lot of ‘data’ that describes it, such as the topography and terrain, as well as features that have been overlayed on top of it, such as villages, roads, train tracks, etc. The player then rationalizes this visual ‘data’ to determine the movement range of units, artillery ranges, visibility ranges and so forth. From a programatic view, these attributes need to the quantified so that the map is understandable by the game engine. Furthermore, if this map data is standardized across all maps, it would allow a game engine to understand any game map, which would greatly reduce development effort supporting many different map standards.
So what is a standard? For the TOCS engine the standard for map data is a design specification that defines the rules and values that a hex is described with, which will allow the TOCS game engine to process each hex based on these standardized definitions. This document was completed last week and I then started transcribing the AttM map hex by hex into a table of ‘metadata’ descriptions for each hex. The document defines hexes using the fewest attributes (properties) so that the overall map data table will be as small and tightly packed as possible. However, the terrain types defined are for all theaters of operation, such as Europe, Asia, Africa allowing maps to be drawn for conflicts anywhere in the world. The map metadata set is also extensible so that new terrain types can be added in a backwards compatible way.
What are the user visible features this provides? The TOCS game engine will provide the following user capabilities and features:
- Clicking on a unit can highlight all the hexes it is possible to move into.
- The LOS (Line Of Supply) range can use MPs (Movement Points) to more accurately determine which units are out of supply.
- Radio communications ranges can be determined based on terrain that blocks line-of-sight radios.
- Visibility ranges for units on higher elevations will allow ‘observation’ of the enemy without notification.
- Direct fire units with extreme long ranges can ‘observe’ enemy units and fire.
- Players can click on a hex and highlight hexes that can be ‘seen’, in order to determine optimal defensive posture, and to plan the path of advance when on the attack.
- When scaling battles into ASL Scenarios the metadata will be used to generate the scenario board set based on the hex the battle is in. The definition of the scenario board set of that hex will then be constant for the remainder of that campaign. Each new campaign, that same hex may result in a completely different scenario board set, making every playing of TOCS a unique experience.
Currently I am working my way through the AttM map hex by hex, row by row, which is a very tedious and error prone task. It will take me some time to complete the AttM map, and then the OMG-N, Utah Beach and Scheldt Estuary maps. Although I have just started, I already have 10 rows complete out of 63 and am building up a skillset and core competencies where I can look at a hex and immediately know how it is represented as a metadata description.
In the future, it will be possible to start with the metadata and have the maps be generated based on this metadata.