Game Rules

09 October 2022

This article is a brief summary of the currently implemented (and some planned) rules for Grid Battles.

Basic Game Overview

Before the game starts, players have to decide which scenario they are going to play. This is done in the so called lobby. After selecting the scenario and sides, the players begin the game.

The game is divided into rounds. In each round, players take turns to activate their fresh units. At the end of a turn, activated units become fatigued. If there are no fresh units to activate on either side, the round ends, all fatigued units become fresh again and a new round begins.

Each player's turn is divided into three phases:

  • Activation: Player designate which of his/her units will be active for this turn. The scenario specifies how many units the player must activate. If there are not enough units to activate, he/she activates as many as possible.
  • Movement: All activated units have the possibility to move or stay in place. Movement of one unit must be completed before another unit can begin their movement.
  • Attack: Each activated unit can attack one enemy unit, if eligible (melee units must be adjacent to an enemy, ranged units must have a clear Line of Sight to an enemy and be in range). Every combat is resolved separately, one after another.

Every scenario specifies victory conditions. These are usually something like "destroy X enemy units". The game ends immediately when the victory conditions are met.


You begin your game by selecting a scenario. The scenario dictates the basic aspects of the battle to be played, such as:

  • the map features
  • types, numbers and positions of the units for both sides
  • how many actions per turn the players will have
  • what the victory conditions are
  • which side will start the battle

While selecting a scenario in the lobby, the game will show you all the important information in a form of a small preview.
While selecting a scenario in the lobby, the game will show you all the important information in a form of a small preview.


The battle is played on a map consisting of hexagonal tiles. Each tile is called a hex. Every hex has a predominant terrain feature. Right now it can be either plain terrain (light green background color), woods (dark green) or a hill (brown). In the future, terrain on the hex will have an effect on combat and/or movement of units. But right now, it serves no other purpose than the aesthetic one. (As small as it is, with the current graphics πŸ˜…)

In any given moment, there can be only one unit present on a hex. Even while moving, units are not allowed to occupy the same hex.

Every unit counter (token) represents a few dozens of men in a formation. Therefore it is very difficult to fit two formations on the same space. It would have a huge impact on the cohesion of the formation and it would severly disrupt their ability to manouver and fight. So, for the sake of simplicity, I decided not to allow it.

There is a unique code on the side of every hex. It has no effect on the game, it is just the position information (column and row number) printed there for your convenience.


Players armies consists of units. Each of these units is a formation of men equipped with the same (or similar) weapons, eg. archers, pikemen, knights. Every formation is represented by a counter showing the unit icon, name and statistics. These statistics are:

  • Movement Points (top left corner): how many movement points the unit has, indicating how far it can move.
  • Health (bottom left corner): the reamining health of the unit. Should this value ever reach zero, the formation is no longer effective in combat, its men rout and run away. The unit is effectively destroyed and its counter is automatically removed from play, possibly granting a victory point to the opponent (depending on the scenario).
  • Attack Die (top right corner): what kind of die is used when this unit is attacking. Possible values are yellow, blue or red. (See Dice section)
  • Defense Die (bottom right corner): what kind of die is used when the unit is defending itself against an attack. Possible values are brown, grey or black. (See Dice section)

Unit counter shows all the important information about the unit
Unit counter shows all the important information about the unit

The units have more statistics than it is possible to fit on the counter. The other important ones are:

  • Base Type: Every unit is of one or more base types. Those can be infantry, mounted or missile. These types are important while resolving combats, because each base type has bonuses against some other base type. See table below.
  • Attack Type: Melee or ranged. Units capable of melee attacks (Pikeman, Knight) can attack only adjacent enemies. Ranged attacks (Archer) are possible even when there is no adjacency between attacker and defender, but the attacker must have clear Line of Sight to its target.
  • Range: Only for units capable of ranged attacks. How far the units can shoot its projectiles.

Bold Unit

Every unit which has at least two friendly adjacent units is considered to be bold. Bold status has an effect on combat because it allows a defending unit to fight back. If a bold unit find itself in a melee combat and it survives the initial attack, it immediately (and automatically) attacks back. See Combat Resolution below for detailed explanation.

Units table

  Unit name Base Type Attack Type Range Movement Points Health Attack die Defense die
Archer Missile Ranged 4 2 4 yellow brown
Pikeman Infantry Melee - 2 4 blue grey
Knight Mounted Melee - 3 3 red black

* There are more units to be added to the game. These three are just good representants of all the basic mechanics, so they were implemented first.

Attack Bonus Table

Base TypeHas bonus against


Activated units can spend movement points to move to another location. Each hex terrain type has a specific cost for entering. The unit pays for entering a hex with it's the movement points. It can move through several hexes as long as it has enough movement points to pay for entering each new hex (and the hex is not already occupied by a different unit) Movement points that were not spent are not "saved" to the next round. After the unit is refreshed, its number of movement points is reset to its base value again, giving the unit the full amount of movement points it can have.

Currently, every terrain type has a cost of 1 movement point to enter.

In the future, the price will differ between terrains and there can even be further movement restrictions or bonuses.

Combat Resolution

After the movement phase the active player can decide which of his/hers units (if any) will attack first and designate which defending enemy it is attacking. The system then shows the active player some information about the statistics of both units and their attack and defending dice. If the active player confirms the attack, it is resolved as follows:

  1. Attack Dice of the Attacker are thrown.
  2. Defense Dice of the Defender are thrown.
  3. The actual hits are determined by subtracting the number of πŸ›‘ on Defense Dice from the number of πŸ—‘ and possibly πŸ’₯ on Attack Dice.
  4. Hits are deducted from the health of the Defender. If Defender's health reaches zero, its unit is destroyed, removed from play and the active player gets one victory point.
  5. If Defender survives and has bold status, it fights back and the sides are reversed:
    • Attack Dice of the Defender are thrown
    • Defense Dice of the Attacker are thrown
    • The hits to the Attacker are determined the same way as in the step 3
    • Hits are deducted from the health of the Attacker. If Attacker's health reaches zero, its unit is destroyed, removed from play and the enemy (passive) player gets on victory point.
  6. Combat is over. (Possible bold status of an Attacker has no effect on combat.)


Attack Dice

Attack Dice are six-sided dice. On their sides are zero or more of this symbols:

  • πŸ—‘ : represents a hit dealt to the enemy. More symbols on a side means more hits were dealt.
  • πŸ’₯ : represents a bonus hit applicable when the currently attacking unit type has an advantage against the defender's base type (see Attack Bonus Table above).
Yellow πŸ’₯ πŸ—‘ πŸ—‘ πŸ—‘ πŸ—‘ πŸ—‘ πŸ—‘ πŸ—‘ πŸ’₯
Blue πŸ’₯ πŸ—‘ πŸ—‘ πŸ—‘ πŸ—‘ πŸ—‘ πŸ—‘ πŸ’₯ πŸ—‘ πŸ—‘ πŸ—‘
Red πŸ’₯ πŸ—‘ πŸ—‘ πŸ—‘ πŸ—‘ πŸ—‘ πŸ’₯ πŸ—‘ πŸ—‘ πŸ—‘ πŸ—‘ πŸ—‘ πŸ—‘ πŸ—‘

Defense Dice

Defense Dice are also six-sided dice. On their sides are zero or more symbols of a shield (πŸ›‘). Each πŸ›‘ rolled means one negated hit (or bonus hit).

Brown πŸ›‘ πŸ›‘ πŸ›‘ πŸ›‘
Grey πŸ›‘ πŸ›‘ πŸ›‘ πŸ›‘ πŸ›‘ πŸ›‘
Black πŸ›‘ πŸ›‘ πŸ›‘ πŸ›‘ πŸ›‘ πŸ›‘ πŸ›‘ πŸ›‘ πŸ›‘

Line of Sight

If a player wants to perform a ranged attack with its unit, its target must be within rangeΒ and the unit must have a clear Line of Sight. Both of these are calculated automatically and the game will always show the possible targets. But, it could be beneficial to know the rules and be able to predict future situations on the battlefield.


Range is a number of hexes between the attacker and its target. The target hex is counted, but the attacker's (source) is not.

Line of Sight (LOS)

Line of Sight is calculated as a straight line between the center of the source and the center of the target hex. If this line crosses a hex containing a unit or a blocking terrain, then the LOS is blocked, otherwise it is clear. The calculation does not consider the units and terrain of the source and the target hex, just of those between them. It the LOS goes along the edge betweeen two hexes, it considers both sides and if any one of them is clear of obstacles, then the LOS is clear.

Blocking terrains are:

  • woods
  • hills

Any unit, be it enemy or friendly, blocks the LOS.