The Tiling module contains
- Hex and Square tile coordinate system, allowing the tile centres, the tile sides and the tile vertices to each have their own unique 2 integer coordinates.
- Tile collections, tile paths and tile polygons and other tile structures, allowing their manipulation as tiles.
- Tile grid classes that describe the tile grids but do not contain any data. For example an 8 by 8 square grid would describe a chess board, but the class contains no data as to the position of the chess pieces, or even that it is being used for achess game.
- Tile Grid system classes allowing for multiple hex grids to be manipulated the same as a single grid. This enablesthe code in the EGrid module and other possible non Euclidean tile systems.
- Projections. Projections allow the separation of the visual display of tile geometry from the applications and objects within the grid systems.
- Scenario and Game terminology,
- Turn system allowing those grid systems to be used in, multi, simultaneous, homogenious segment simultaneous turn games and productions.
- Example games to demonstrate the use of the design principles and code of this module.
- ScenWorld The universe of the scenario. Entities within the scenario universe have no knowledge of entities in the GameWorld or the OutWorld.
- GameWorld the universe of the players in the game. The assignment of PlayerControl. The time dead lines and time credits for submission of turn Directives. Rules on credits from InGame achievements or role-playering accreditation on future assignment of InWorld entities. Rules on Player communication.
- OutWorld Anything outside of the Player universe. This can include servers, security, payement etc.
- Player A GameWorld entity. Maybe a human, an AI or a script.
- PlayerControl Assignment of an InWorld entity to a Player's control.
- Directive A player directive given by a player to an InWorld entity at the begining of a turn.
- ControlHeirarchy The precedence order of PlayerControl for Directives if multiple players are given control of an InGame entity.
- Intention Intention to make an effect by an InGame object. An Intention has a single SourceTile and a single TargetTile.
- SourceTile The location of an entity making an Intention.
- TargetTile The target an Intention. Maybe the sourceTile. For some Intentions it must be an adjacent tile for others it maybe a non adjacent tile.
- Verify directives from Players are valid and under the PlayerControl
- Resolve ControlHeirarchy
- Map Directives to intentions. In more complex games some Directives maybe ignored or defered by InGame Objects.
- Aggregate Intentions.
- Add subsidary Intentions.
- Accumulate. Aggregate the intentions in their TargetTiles.
- Ajudicate. Determine the outcome of the Intentions and processes.
- Consolidate. Create a new game state from the outcomes of the Intentions on the TargetTile. No Movement is implemented during this stage.
- Distribute. Distribute the movement effects of the resolution of the TargetTiles on the SourceTiles in the Consilidated Game State. Moving entities from SourceTiles to TargetTiles when appropriate.
- Repeat Resolve Segement till the given number of segments has been repeated.
- Inform the players, human and AI, of the Turn resolution.