Home / HEXES Med / Rules
Rules: HEXES Med
Two-player asynchronous hex wargame · Medieval battles · Infantry, cavalry & archers

Overview

Hexes Med is a two-player turn-based wargame played on a hexagonal grid. Each player commands an army of infantry, cavalry, and ranged units recreating historical medieval battles. The game is asynchronous: each player takes their full turn while their opponent watches a replay before responding.

A full turn consists of two half-turns, one per player. Each half-turn has two phases in order: Movement, then Combat. You cannot go back to movement once combat has started. Clicking End Phase moves from movement to combat; clicking End Turn commits your half-turn and sends it to your opponent.

Scale: each hex represents approximately 100 metres. Each unit represents approximately 500 men at full strength.

Units

Each unit is represented by a token. When disorganised, a visual indicator appears on the token. The stats on a token are: F (Force Value, top-left), ranged strength with range in hexes (middle, orange — ranged units only), and movement points (bottom).

Unit types

F (Force Value) = combat strength and resilience, one value, from 1 to 4. Ranged is the ranged strength (1–3, same scale). Movement is in movement points per turn.

TypeF (initial)RangedRangeMovementCategory
Elite Cavalry4ØØ5Cavalry ⚡
Heavy Cavalry3ØØ5Cavalry ⚡
Light Cavalry2ØØ6Cavalry ⚡
Elite Infantry4ØØ2Infantry
Heavy Infantry3ØØ2Infantry
Light Infantry2ØØ3Infantry
Militia1ØØ2Infantry
Archer222 hex2Ranged
Heavy Archer233 hex2Ranged
Crossbowman222 hex2Ranged
Mounted Archer222 hex5Cavalry / Ranged
Horse Archer233 hex4Cavalry / Ranged

⚡ = can charge (see Cavalry Charge section)

Leader units gain +1 F effective in combat (attack and defence). They also help nearby units resist disorganisation and recover faster. Leaders are identified by a star or name badge on their token.

A leader is bound to their army: they belong to one side and can only act alongside units of that same camp. When a scenario lists the death of a leader as a victory condition, it is the elimination of that specific named unit, and that unit alone, that triggers the end of the game.

Movement

During the movement phase, each unit may move up to its movement points (MP). Moving to an adjacent hex costs MPs equal to the terrain cost of the destination hex. A unit may not enter a hex occupied by an enemy unit. It may pass through a friendly hex but cannot end its move there (see Regrouping for an exception).

Minimum move guarantee: a unit can always move to one adjacent hex, even if that hex's terrain cost exceeds its remaining MPs. Every unit can always advance at least one hex per turn, regardless of terrain.

Terrain costs

TerrainMovement costDefense bonus
Clear1 MPNone
Village1 MP+1 (to defender)
Prepared terrain (palisade)1 MP+1 ; +2 vs cavalry
Forest2 MP+1 (to defender)
Hill2 MP+1 (to defender)
Swamp3 MP-1 (penalty to defender)
River, impassable obstacles...ImpassableNone

Zone of Control (ZOC)

Every unit exerts a Zone of Control over the six hexes adjacent to it. This represents the immediate threat an armed force projects around itself — the range of spears, arrows, and charging horses that no enemy can simply walk past. Enemy ZOC has two key effects on movement:

Regrouping Battered Units

Two friendly units of the same type whose F is below their maximum can regroup into a single unit during the movement phase. The token appearance must be identical (unless one unit includes a leader). Survivors from one battered company fall back to reinforce another, pooling their strength and closing gaps in the line.

Regroup destination hexes are shown in purple on the board (distinct from the yellow of regular movement hexes).

Combat

During the combat phase, each unit may attack once per turn. After attacking, the unit is exhausted for the rest of the combat phase. Units recover fully at the start of the next turn and may move and attack normally.

Melee

A unit may attack any enemy unit in an adjacent hex. Only one attacker may target a given defender per combat action. However, the same defender may be attacked multiple times during the combat phase, by different units, one at a time.

Ranged attack

Ranged units (archers, crossbowmen, horse archers…) can attack enemies within their range (in hexes) without being adjacent.

A ranged unit cannot fire if it is adjacent to any enemy unit — it must fight in melee instead. Ranged attacks never trigger an advance after combat.

A ranged unit that fires cannot lose F, suffer a retreat, or become disorganised from an exchange against a melee unit: a melee unit cannot counter-attack a ranged shot. This protection does not apply to fire duels (ranged vs ranged): in that case both sides can lose F, retreat, or become disorganised, representing casualties from a sustained exchange of volleys.

Combat resolution

Resolution is based on the F difference between the two sides. A d10 roll (ten-sided die, result 1–10) is made for each side and translates that difference into concrete losses using a fixed table.

Diff = attacker F − defender F + leader bonus + charge bonus − terrain bonus
One d10 is rolled for the defender, a second for the attacker (with reversed diff). Both resolutions are simultaneous.

Why a direct F difference instead of a dice gap?
The direct F diff keeps real force advantages meaningful: elite cavalry (F 4) against militia (F 1) is not a near-equal fight, it is a likely rout. The d10 adds uncertainty without erasing tactical advantage. Medieval battles mixed discipline and chaos; this system captures both.
diffNo loss: d10 rolls-1F: d10 rolls-2F: d10 rolls-3F: d10 rolls
≤ −51–910ØØ
−41–910ØØ
−31–8910Ø
−21–78–910Ø
−11–67–910Ø
0 (equal)1–56–8910
+11–45–78–910
+21–34–67–89–10
+31–23–45–78–10
+412–34–67–10
≥ +5Ø12–67–10
Reading the table:
This table applies to each side separately using its own diff.
Defender losses: use diff = attacker F − defender F.
Attacker losses: use diff = defender F − attacker F (reversed diff).
Example: attacker F 4, defender F 2 → defender diff = +2 (rolls 9–10 eliminate), attacker diff = −2 (almost no loss possible).
The full table with both results side by side is accessible in-game via the ⊞ Combat Table button in the toolbar. Each cell shows ATK losses / DEF losses for a given diff and die roll.

The attacker takes a simultaneous counter-attack from the defender (at reversed diff). In ranged combat, the attacker takes no riposte, unless the defender is also a ranged unit in range (a fire duel, representing sustained exchanges of volleys).

Retreat and disorganisation

Any unit that suffers F losses makes a Retreat/Disorganisation (R/D) roll. This roll determines whether the unit retreats, becomes disorganised, or both.

R/D roll = 1d10 + F lost in this combat + modifiers

R/D totalResult
≤ 5No effect
6 to 8Retreat (R)
9 to 11Disorganisation (D)
≥ 12Retreat + Disorganisation (R+D)
Memory aid: the VF loss table, R/D roll table, and reorganisation roll all share the exact same thresholds. Three numbers are all you need to know the full system: 6 (first effect), 9 (moderate effect), 12 (severe effect). Below 6, nothing happens.

R/D modifiers: leader (same hex) -2 ; adjacent leader -1 ; already disorganised +1.

A retreat represents a broken unit: pushed back by overwhelming force, seized by panic, routing under pressure, or simply unable to hold its ground. Retreating troops are disorganised, exposed, and vulnerable. The retreating unit must move one hex away from the attacker, in the opposite direction or one of the two flanking rear hexes.

Retreat is resolved automatically by the game, with no input required from either player. This keeps gameplay flowing by eliminating back-and-forth between players after each combat result. It also reflects battlefield reality: soldiers in rout do not calmly choose their direction of flight — panic takes hold instantly, and the game captures that immediacy. The destination is determined in this priority order:

  1. Free hex not in enemy ZOC: the unit falls back to safety and reforms.
  2. Push a friendly unit (cascade): routing troops collide with friendly units behind them, spreading panic and disorder. The unit behind is pushed first; if it vacates the hex, the retreating unit moves there.
  3. Free hex in enemy ZOC: the unit is forced to retreat into enemy-threatened ground, taking fire and suffering further casualties: it takes an additional F loss.
  4. Completely surrounded, no valid hex: the unit holds its ground but takes an F loss from the continued onslaught.
  5. Off the map: troops driven to the edge of the battlefield are considered lost: scattered, captured, or destroyed in the rout. The unit is eliminated.

Disorganisation

Disorganisation is determined by the R/D roll (see Retreat and disorganisation): a result of D or R+D disorganises the unit. Disorganisation represents the loss of formation cohesion, the breakdown of ranks, and disrupted command. A disorganised unit cannot attack. If attacked, it defends with −1 F effective.

Why does a leader reduce the risk so much?
In medieval military practice, it was the physical presence of the commander — his voice, his banner, his recognisable horse — that kept men in line under pressure. A leader on the same hex (−2 to R/D) greatly reduces the risk of retreat and disorganisation; adjacent (−1), he remains visible and inspires confidence. At Arsuf (1191), the discipline of the Crusaders under Richard I allowed them to withstand repeated charges by Turkish horse archers without breaking, until the decisive blow. This mechanic directly captures that kind of leadership advantage.

Cavalry that charges successfully (having inflicted losses) may also become disorganised: 25% chance. This is one of the best-documented facts of medieval battles — after a victorious charge, knights scattered in pursuit, lost formation, and became vulnerable to counter-attack. At Hattin (1187) and many other battles, locally victorious cavalry could not reform in time.

A disorganised unit cannot attack and cannot voluntarily enter enemy zone of control (it may be forced into one by a retreat result).

Disorganised units attempt to reorganise at the start of the next turn. A unit disorganised during the current turn cannot attempt recovery until the following turn — disorganisation therefore lasts a minimum of one full turn.

The reorganisation roll uses 1d10 plus modifiers: success if roll + modifiers ≥ 4. A high result is always an advantage.

Staying immobile without fighting: unmodified roll ≥ 4 = 7 chances in 10, a deliberate tactical choice that may be worth one turn of inactivity.

Advance after combat

When the attacker repels or destroys the defender, the attacking unit must advance into the vacated hex. This represents the natural impulse of victorious troops: pressing the advantage, pursuing a fleeing enemy, and occupying the ground just won. In medieval warfare, commanders rarely held their men back after a successful charge — the advance was both a reward and a tactical necessity to exploit the breach. Ranged attacks never trigger an advance: archers who suppress an enemy from distance do not need to move forward.

Cavalry Charge

Pure melee cavalry (elite cavalry, heavy cavalry, and light cavalry) have a charge ability shown by a (bolt) indicator in the bottom-right corner of their token.

When a cavalry unit moves during the movement phase, its indicator turns red. If it then attacks in melee and both units are on clear terrain or road, it gains +1 attack strength. The bonus only applies to the attacker: a cavalry unit that is attacked does not benefit from this bonus.

The charge bonus applies only if both units are on a clear terrain hex (plain) or road. The indicator resets to grey (⚡) at the end of the active player's attack phase, even if the cavalry did not fight.

Mounted archers and horse archers do not charge: their role is fire on the move, not mass impact.

Exception: the charge bonus does not apply if the target is itself a charge-capable cavalry unit. Such a unit can react with a counter-charge, negating the speed advantage.

Force Value (F)

Each unit has a Force Value (F) ranging from 1 to 4. This value represents both its combat strength and its capacity to absorb losses. When F reaches 0, the unit is eliminated.

Why merge attack and resilience?
In a medieval battle, a depleted unit is not only fewer in number — it is less cohesive, less confident, less capable of holding a formation. Exhausted veterans fight with less energy and break sooner under pressure. Representing attack and durability with a single value reflects this reality: losses accumulate directly on the value that determines combat outcomes.
A leader gains their +1 F bonus on their own token. Leaders represent the command elite who fight at the front: Richard I at Arsuf, Saladin at Hattin, or William of Tyre charging at Montgisard. That +1 is not symbolic — it reflects the real value of a commander who inspires and leads the charge.

Victory

Victory conditions are defined per scenario and checked at the end of each full turn (after both players have played their half-turn). Some existing conditions:

ConditionDescription
Elimination A side wins when a set number of enemy units or leaders have been eliminated.
Destruction Win by destroying enough total enemy combat strength (sum of melee values of eliminated units).
Leader killed Win by eliminating a specific named enemy leader.
Territorial control Checked at the end of the last turn only. Win by having friendly units on a required number of key hexes.

If no decisive condition is met by the last turn, the scenario default result applies (usually a victory for the historically dominant side, or a draw).