The map of the world is tile-based and each tile is of special type with corresponding properties. Each passable tile (like grass) is either free or occupied by a unit. Units can only move to a free tile. Size of the map is not known to a player when a game starts and can only be derived as units explore the map and reach its boundaries. Each tile in Season 0 is rendered with one of two colors: active and passive colors. Active color is used when a tile is visible by any unit. Passive color is used in all other situations.
Type | Passable | Active color | Passive Color |
Grass | Yes | ||
Rock | No |
Server and client has two different coordinate systems. For server the map is represented in a global coordinate system with (0, 0) as top-left corner and (rows, cols) as bottom-right corner. Each cell is addressed as (row, column) pair. For each client there is its own local coordinate system. Base of the local coordinate system is a random point on a map and all tile data is sent with respect to a local base. It means that client may (and likely will) receive data on tiles with negative coordinates.
Key reasons for this decision:
Key principles for tile data sharing between server and a client