Ancients Wargame — Core Rulebook v3. The canonical, version-controlled rules (served in-game at
/rulebook.html). Edit this file to change the rules; where the code and the rulebook differ, the rulebook wins.
ANCIENTS WARGAME
Core Rulebook — v3
A Cohesion-First Tabletop Wargame of Ancient Battle
Playtest edition — all design decisions to date, consolidated
Compiled 3 June 2026
Designer's Note
This edition consolidates every settled mechanic into one playable whole. The design is now considered ready to test rather than to debate: from here, questions are answered with figures on a table, not in the abstract.
The system models ancient battle as a contest of cohesion — armies are defeated when their formations lose order, not when casualties are tallied. Four axes drive every combat, each mapping to a different real-world thing:
Who you are (training) → quality dice (Elite / Regular / Levy).
What you are (mass, equipment) → a weight result-shift.
Where you are (position) → flat modifiers: overlap, flank, rear, high ground.
Exceptions → a short list of special rules: shock, evade, steady spears.
“Battles are decided by overlap and pressure. Cohesion creates advantage; fragmentation invites collapse.”
Contents
1. Design Philosophy
Cohesion-first warfare. Defeat comes from disorder and loss of formation, not body count.
Pressure breaks armies. A unit tires from being hit, flanked, or turned — not from simple movement or attacks. (Difficult or greedy movement is the one exception; see Section 5.)
Geometry over bookkeeping. Advantage comes from physical position — overlaps, flanks, rears, high ground.
A minimal core plus a few special rules. The four axes apply to everyone; exceptions are short, single-sentence keywords.
Collapse is earned and visible. When a formation breaks, you see it fragment and stream away.
2. Components & Scale
Base. The standard miniature mounting (e.g. four figures on a stand). The Base is the indivisible physical unit and the level at which combat is resolved. All Bases share the same frontage.
Block. A contiguous group of Bases of the same troop type, touching edge to edge. The Block is the manoeuvre unit and the level at which Fatigue is tracked. Blocks exist mechanically only to generate overlaps; fragmentation removes them.
Base-width (BW). The unit of measurement for the whole game — one Base frontage. Measuring in BW keeps the game independent of figure scale and ties distance to the same frontage the overlap rules use.
Default distances (tunable in playtest): foot move 2 BW; light foot and skirmishers 3 BW; cavalry 4 BW; missile range 2 BW.
Spatial substrate. These rules are geometry-agnostic, but the digital playtest and reference substrate is a hex grid with vertex-facing: each Base occupies one hex (one BW) and faces a vertex, which gives it two front edges and a clean front / flank / rear split, with distance measured in hexes. The spatial model is specified separately (it replaced an earlier square grid); nothing in these rules assumes a square grid.
3. Units: Quality, Weight & Type
Every Block has a quality class, a weight rating, a troop type, and possibly one or more special rules.
3.1 Quality (training) — dice
Quality is expressed entirely as dice: Elite rolls two and keeps the best, Regular rolls one, Levy rolls two and keeps the worst. There is no quality modifier table. This same keep-best/keep-worst rule serves both the movement test and combat — only the type of die differs by context.
| Quality | Dice kept |
|---|---|
| Elite | best of two |
| Regular | one |
| Levy | worst of two |
Which die
Movement test: always d6. The Fatigue scale (1–6, break above 6) is coupled to the move test, so movement needs the full d6 range or high-Fatigue units would freeze solid.
Combat: the averaging die — faces 2, 3, 3, 4, 4, 5 — is the standard (mandated for competition). Same mean as a d6 (3.5, so it pairs with the d6 move test with no offset) but about a third the variance and a maximum swing of ±3. It compresses the luck in a positionally-neutral fight while leaving an earned positional swing (shock, flank, weight) fully decisive. A plain d6 is an optional high-swing 'open/friendly' mode.
Because keep-best/keep-worst feeds on the dice's tails and the averaging die has thin tails, quality reads as reliability rather than raw power: an Elite lands 4–5 most of the time and rarely whiffs, a Levy rarely spikes, a Regular is the most variable. (The retired alternatives — a d4 tier, a no-dice mode, and a flat quality table — are not used.)
3.2 Weight (mass & equipment) — a relative ladder
Weight is a number from 1 (lightest) to 5 (heaviest), assigned per era on the army list. It is relative: a hoplite is a 3 whether it faces lighter Persians or the heavier phalanx, and context decides whether that is an advantage. Weight drives the combat result-shift (Section 9.4) and the terrain cost (Section 8). Because the combat shift is capped at 2, the 1–5 ladder is effectively only 0/+1/+2 in melee (Cataphract-5 vs Skirmisher-1 is the same +2 as Hoplite-3 vs Skirmisher-1); the full range only bites in the terrain formula.
3.3 Troop Types
Default weight ratings and special rules (tunable per army list):
| Type | Weight | Special rules |
|---|---|---|
| Heavy Infantry | 4 | Steady spears (if spear-armed) |
| Medium Infantry | 3 | — |
| Light Infantry | 2 | — |
| Skirmishers | 1 | Evade |
| Warband | 3 | Shock (it is simply shock infantry) |
| Cavalry (shock horse) | 4 | Shock |
| Cataphract / Knight | 5 | Shock |
| Light Cavalry | 2 | Light-horse (no shock; optional pursuit) |
4. Sequence of Play
Players alternate whole-army turns (IGOUGO), each running in four phases — but the phases are not all one-sided:
Move — the active player only moves Blocks (movement test, difficult-move and terrain costs, chaining; charges move into contact).
Shoot — both sides' missile troops fire.
Combat — every melee on the table is resolved; the active player chooses the order.
Recovery — the active player's Blocks recover and smooth Fatigue (Section 6.1).
Phase symmetry. Both players act in the Shoot and Combat phases; only the active player moves and recovers. So a locked melee or a shooting exchange is fought on each player's turn — static fights grind at double rate per round. Ordering matters in Combat: a push-back in one fight can strip an overlap before the next resolves, so the active player sequences combats to engineer cascades — a deliberate initiative advantage.
5. Movement
The movement test. Every voluntary move requires a movement test: roll your quality dice and equal or beat the Block's average Fatigue (Section 6), or the move does not happen. The first move each turn is free of Fatigue cost — it is not penalised — but it is still tested, so a fatigued Block can fail to move even on its first attempt.
5.1 Difficult moves
A difficult move — changing formation, interpenetrating friends, or crossing difficult terrain — costs Fatigue, applied after the move. Simple advances on open ground are free. Re-facing the body in place (the ±60° pivot of the hex substrate) is free by default; its Fatigue cost is a tuning knob, in case free pivoting makes formations too protean.
5.2 Extra moves (chaining)
First move: take the movement test; no Fatigue cost.
Each additional move: pay 1 Fatigue before moving, then take the movement test against the now-raised Fatigue.
On success the move executes. A failed test ends the Block's movement for the turn; on a failed extra move the Fatigue paid is still lost.
Chain as far as you dare. Forced marches and impetuous charges are possible, but each extra move raises Fatigue and the next test's difficulty, pushing toward break. Greed is self-punishing — no cap is needed.
5.3 Charges & shock
A charge is a move ending in contact. A Shock unit (Section 11) generates shock only when it makes contact on a chained second move, the first having been a full move — so shock is an extra move, paid for and tested like any other, and a charge can fail to connect.
5.4 The two movement costs are independent
Tempo cost: 1 Fatigue, before the move, gating whether the move happens.
Terrain cost: variable, after the move (Section 8).
They do not interact except that both drain Fatigue — so rushing through bad ground is prohibitive (a rushed second move into heavy woods can cost +3 in a single tile).
5.5 Wheeling a line
A normal move keeps a formation's footprint; the in-place pivot only re-faces it (flipping a line to a column). To swing a block to a new facing while it keeps its shape, wheel it — an atomic 60° turn about a chosen flank unit.
Cost is the farthest corner. Wheeling rotates the whole block about the pivot, so the binding unit is the corner farthest from it — which travels max(frontage − 1, depth − 1) base-widths. (On the hex grid the width and depth axes lie 120° apart, so the far-corner distance is exactly the larger of the two, not the sum.) The wheel consumes ceil(max(frontage − 1, depth − 1) ÷ move allowance) moves, resolved as a chained move (first free and tested, each further move +1 Fatigue and its own test). A failed required test aborts the wheel — it does not happen — but the Fatigue paid is still lost.
Large formations effectively cannot wheel — by design. Beyond the smallest units this runs to several chained moves: slow, expensive, and likely to fail or break. That rigidity is deliberate and historical (a great phalanx could not turn quickly), and is the counterweight to the big-block advantages elsewhere (mass = resilience, width = overlaps). Reorient a large block instead by the free in-place pivot, or by splitting it into sub-blocks (§6.2), moving each independently, and re-merging if you wish. Every wheeled Base's destination must be clear, so a single enemy stand on a needed hex blocks the full-60° wheel — an accepted blocking play for now.
5.6 Column march (follow-the-leader)
A column moves by following its lead unit. The leader makes a normal move; every other unit then advances along the leader's exact path, each taking the position and facing the unit ahead of it had — the file slides forward like a snake, bending through any turn the leader made. A column covers a full move's distance and can turn corners at no frontage penalty (unlike a wheel), but it presents a one-unit front and is horribly exposed in contact. Travel in column; fight in line.
Following resolves the left/right question. A follower never independently picks one of its two front edges — it walks the leader's recorded track, so it always goes where the unit ahead went. The choice of left or right (and any pivot) belongs to the lead unit alone.
Bends persist. A column that snaked around a corner stays bent; straightening it back into a dressed line is a separate reshape (a difficult move), so a hard march can leave you needing to re-form before fighting.
6. Fatigue & Cohesion
Fatigue is tracked per Base, not per Block. Each Base has its own Fatigue (a plain integer, starting at 1, never below 1) representing its local disorder. A Block's cohesion is the average Fatigue of its Bases, and the Block breaks as a body when that average exceeds 6 (Section 12). Pressure therefore lands locally and unevenly — as it really did along a fighting line — while the body holds until the accumulated disorder tips it over.
A Base's Fatigue rises from what happens to it: losing a combat, being shot at. Movement costs (difficult and extra moves, Section 5) fall on every Base of the moving Block, so a move that costs 1 raises each Base by 1 and the average by 1.
Mass is resilience. One hit barely moves a large Block's average but heavily moves a small one's — a big intact Block shrugs off fire that would shatter a fragment. Keeping a Block together is what makes it durable; fragmenting it is genuinely costly.
Break threshold. A Block breaks when its average Base Fatigue exceeds 6. Re-check the average immediately after combat and after any split or merge.
| Fatigue (Base, or Block average) | State | Meaning |
|---|---|---|
| 1–2 | Fresh | Fully ordered |
| 3–4 | Pressed | Disordered but functional |
| 5–6 | Shaken | On the brink |
| over 6 | Broken | Formation lost; the Block breaks and routs |
6.1 Recovery & smoothing
Recovery runs in two passes at the end of the active player's turn, both per Base.
Recovery. A Base reduces its own Fatigue by 1 if, that turn, its Block did not move or attempt to move, and the Base itself was not in combat and (by the competition default) not shot at. A failed move attempt counts as acting and denies recovery to the whole Block; Fatigue never drops below 1. So an uncommitted or rear Base recovers regardless of what its block-mates did — rotating worn Bases back to rest is a real tactic. (Whether being shot at denies recovery is a toggle; the stricter 'shot-at denies' is the competition default, giving missile troops a job beyond chip damage.)
Smoothing. Then, within each Block, each Base at Fatigue 1 may pull 1 Fatigue from the highest-Fatigue Base of 3 or more in the same Block (highest first); each Base donates at most once per turn. This is per Block and average-preserving — it moves disorder, it does not remove it — so it never changes the break average and never retroactively saves a Block (it runs after the break checks). What it does is de-spike the single most-worn Base, making a dislocation-break (§9.6) less likely. It needs genuine fresh Bases to absorb, and they rise to 2 as they do — so a fully-committed line with no fresh Bases cannot smooth, and the brake fades exactly when a Block has spent its depth. Depth and reserves matter.
6.2 Splitting & merging
In the Move phase a player may freely split a Block into smaller legal Blocks, or merge adjacent legal Blocks (same type, contiguous, same orientation, unengaged). The only cost is Fatigue at the seam: each Base on either side of a seam opened (a split) or closed (a merge) takes +1 Fatigue.
Per Base, and it adds up. The cost is per Base — there is no whole-Block penalty — but it mounts fast: assembling a wide Block from single stands pays a seam at every join, so its interior Bases are born tired. You cannot cheaply conjure a phalanx from scattered bases.
Merging pools Fatigue. The merged Block's Bases keep their own Fatigue and its average is recomputed over all of them — no 'take the higher value'.
This is how you reorient a large formation. Rather than wheel a big Block (near-infeasible, §5.5), split it into sub-Blocks, move each freely, and re-merge if you wish — paying the seams. This single tool replaces any bespoke wheel-the-whole-block or form-line maneuver.
7. The Combat Axes — Overview
Before the detailed combat rules, the four axes in one place. A combat is resolved base by base; for each engaged pair:
Quality (dice). Each Base rolls its quality dice and keeps one result (Section 3.1).
Position (flat modifiers). Add overlaps, flank, rear, and high-ground modifiers to the kept result (Sections 9.3–9.4, 8).
Weight (result-shift). After comparing, shift the outcome by the weight difference (Section 9.4).
Special rules. Apply any that trigger — shock, evade, steady spears (Section 11).
8. Terrain
Terrain has two independent properties: Going (footing) and Elevation (flat or hill), both on the 1–5 scale.
8.1 Going & movement cost
Going values: open 5, light woods 4, heavy woods 3, rough ground 2, swamp 1. The Fatigue cost to move through terrain is the unit's weight minus the Going value, minimum 0.
| Terrain (Going) | Knight (5) | Hoplite/Roman (3) | Skirmisher (1) |
|---|---|---|---|
| Open (5) | 0 | 0 | 0 |
| Light woods (4) | 1 | 0 | 0 |
| Heavy woods (3) | 2 | 0 | 0 |
| Rough (2) | 3 | 1 | 0 |
| Swamp (1) | 4 | 2 | 0 |
Open ground is free for all; skirmishers pay nothing anywhere; heavy troops pay steeply in bad ground. No “impassable” rule is needed — the escalating cost is the deterrent (a knight breaks crossing a forest in ~3 tiles). Reserve a flat Impassable flag only for true obstacles (cliffs, deep water).
8.2 Weight-cap in combat
A Base's effective combat weight is capped at the lowest Going value any of its Bases touch. A knight in heavy woods fights as weight 3; in swamp as weight 1 (equal to skirmishers). Per-base: only Bases actually in the terrain are reduced. Skirmishers (weight 1) are never reduced. The same threshold — weight greater than Going — governs both the move cost and this cap.
8.3 Hills (Elevation)
Climbing costs Fatigue by steepness (e.g. slight hill +1, steep hill +2), independent of the Going formula.
The uphill Base gains +1 in combat (a positional modifier, not a result-shift).
Charging uphill negates shock; a downhill charge may keep it.
A hill is firm footing, so it does not cap combat weight.
9. Combat Resolution
Base by base. Each engaged pair of opposing Bases fights its own combat. There is no attacker/defender: the outcome is symmetric, and which Base charged in matters only for shock.
9.1 The combat sequence
For each engaged pair, in order:
Effective weight. Cap each Base's weight at the lowest Going value it occupies (8.2).
Roll quality dice. Each Base rolls its quality dice and keeps one result (3.1).
Add positional modifiers to each kept result: overlaps (9.2), flank/rear (9.3), high ground (8.3), and shock if it applies (11).
Compare totals to get the raw difference.
Apply the weight result-shift: add the difference in effective weight (in the heavier Base's favour, capped at 2) to the margin (9.4).
The lower final total loses; the margin = the number of adverse increments. The loser allocates them (9.5). Then check breaks.
9.2 Overlaps — the keystone
Each Base has two front hexes (vertex facing, §2). In the Combat phase the active player pairs each engaged Base with one enemy it fights in a front hex; any enemy left in a Base's other front hex that no friendly Base is fighting is an overlap.
Overlap. If, while a Base fights one front enemy, an uncountered enemy sits in its other front hex (engaged by no friendly Base), that enemy laps it — +1 to the enemy in that fight. Symmetrically, your own uncountered Base lapping an enemy gives +1 to you. Net the two; each engaged Base contributes 0 or 1.
This is why cohesion wins: a solid Block laps the ends of a fragmented enemy, and push-back strips overlaps, cascading disadvantage into the next combat resolved — which is why combat order (Section 4) is a skill.
9.3 Flank & rear
Flank. Attacker +1, defender −1; the defender cannot count overlaps on the flanked side.
Rear. Attacker +2, defender −2; the defender counts no overlaps at all. Cascade: if a rear-attacked Base loses by 2+, the whole Block also gains Fatigue +1.
“A formation that is struck in flank or rear is no longer a formation.”
9.4 Weight result-shift
Weight is deterministic, not lucky: it is applied after the dice as a shift to the margin in favour of the heavier Base, equal to the difference in effective weight, capped at 2. A Light that ties a Heavy on the dice still slides to a loss. (This subsumes the old troop-type combat factors: 'light foot weak in melee' and 'mounted ride down loose foot' are simply weight differences.)
9.5 Outcome — fatigue or ground
The margin of loss is a number of points. The losing Base's owner allocates each point, freely mixed, as either Fatigue or push-back:
Fatigue (hold). +1 Fatigue on the Base, staying in place — cushioned by the Block's average, so a large Block barely feels one Base's loss.
Push-back (give ground). The Base recoils one base-depth for that point (§9.6). Push-back carries no Fatigue of its own — the point is paid in ground, not disorder. But push-back is always a split, so unless the Base is alone or evading (§9.6) the seam Bases each take +1 Fatigue (incidental), and you cede ground and any overlaps.
A Base that cannot retreat (terrain, friends, table edge) is pinned, and any push-back point against it must be taken as Fatigue instead. The choice is real: hold to keep your ground and overlaps while accumulating disorder, or give ground to stay fresh while ceding position and fragmenting a formed Block.
Variance note: there is no cap on points. Combat variance is controlled instead by the choice of combat die (§3.1) — the averaging die keeps a positionally-neutral fight tight, so a big margin reflects earned position, not a lucky tail, while a flank charge stays fully decisive. (Whether giving ground purely to dodge Fatigue is too cheap is a separate playtest dial.)
9.6 Push-back, recoil & splitting
Backward movement is never a legal Block move, so a push-back is always a split. The pushed Base detaches and the seam cost (§6.2) is always paid — even for a uniform whole-Block push — unless the Block was a single Base (nothing to fragment) or the Base is a Skirmisher using evade (§11.2), which is exempt. There is no free retreat.
Recoil — the snake. A pushed Base recoils its whole file backward as a snake: the defender picks a rear side (left or right — vertex facing has no single straight-back hex), and the file slides one rank back along that diagonal, staying internally intact as a sub-Block, facing unchanged. Where the file tears away from neighbouring files it pays a seam on each side a Block remains (an edge file pays one, a middle file two — lines come apart from the flanks more cheaply than they tear in the centre). If the snake's path is blocked (friends, terrain, table edge) the Base is pinned and takes the points as Fatigue instead (§9.5).
Detachment, not dissolution. Pushed Bases detach at their seams while un-pushed neighbours stay contiguous as working sub-Blocks (own overlaps, own average, own smoothing). A few pushes degrade a Block into sub-Blocks; only many dissolve it into loose Bases. There is no auto-reform — a broken Block stays broken; reassembly is a deliberate, costly merge (§6.2) in a later Move phase, after disengaging and recovering.
Dislocation breaks a worn Base. A loose single Base averages only its own Fatigue, so a Base already over 6 that is shoved out shatters at once — a ground-down edge holds while in the line and routs the instant it is dislodged. Loose Bases also generate no overlaps and cannot smooth (smoothing needs a multi-Base Block), so a shattered run loses its stabiliser exactly when most disordered.
Depth recoils intact. Because a file recoils as a sub-Block rather than atomising, depth keeps a formation whole where a thin line dissolves — width buys overlaps and hitting power, depth buys cohesion under pressure. (Rank support as a +1 bonus is gone: depth helps through recoil and smoothing, not a flat modifier.)
10. Missile Combat
Missile fire (range 2 BW) is a weight-vs-weight exchange with the positional modifiers stripped out. The firer and the target each roll quality dice (the combat die) and apply the weight result-shift (§9.4); the target defends on its own weight even if it cannot shoot back. No overlap, flank, rear or high-ground modifiers apply, there is no push-back, and the only result is Fatigue — on the target.
If the firer's total beats the target's, the target takes the margin as Fatigue; otherwise the shots have no effect. Because the heavier side wins the weight shift, well-protected heavy troops shrug off fire and light shooters do little against them — missiles harass, they do not break a steady heavy line. A Block that is shot at cannot recover Fatigue that turn (the competition default; §6.1).
11. Special Rules
The exceptions to the core. Each is a single trigger → effect.
11.1 Shock
Trigger: a unit with the Shock ability (cavalry, or shock-armed infantry such as warbands) makes contact on a chained second move after a full first move (Section 5.3). The charge is thus an extra move — already paid for in Fatigue and able to fail.
Effect: attacker +1, defender −1 — or +2 / −2 against formed infantry that is not spear-armed. Shock applies only on the first round of contact.
Negated by: steady spears to the front (11.3) and charging uphill (8.3).
Vulnerability. After the first round shock ends, and the unit counts no overlaps unless supported by its own kind — so it fares badly in a prolonged grind and simply takes normal combat results. No bespoke post-charge Fatigue penalty: the charge already cost Fatigue.
Pursuit (mandatory). If a Shock Base wins and the enemy is pushed back or breaks, and it is not otherwise engaged, it must advance one full move toward them (no test, no Fatigue) — possibly into a new combat, or into an enemy flank or rear. The cost of overreach is the exposed position it ends in, not a bespoke penalty.
11.2 Skirmisher evade
When a Skirmisher would take Fatigue or be pushed back, it falls back instead — trading ground for cohesion, so it never accumulates melee Fatigue. But it can be caught (charged by faster troops, or pinned so it cannot fall back the full distance), in which case the evade fails and it takes the full result including the weight shift; and it cannot hold ground or objectives.
11.3 Steady spears
A formed, spear-armed Heavy Infantry Base (at least one same-Block neighbour) negates a frontal cavalry charge's shock and gains +1 against mounted. Spear walls stop horses.
11.4 Light cavalry
Light Cavalry do not gain shock and may choose whether to pursue (rather than being forced to). They create flanks, harass rears, and chase routers.
12. Collapse, Break & Rout
Break. A Block breaks the instant its average Base Fatigue exceeds 6. It splits into individual Bases, each retreating one full move directly away from the enemy; a Base that cannot retreat is removed.
Break is by Block average only — there is no per-Base ceiling. A contact Base shoved past 6 inside an otherwise-fresh Block averages down and survives; a Base only breaks on its own Fatigue when it is alone (a single-Base Block, or a loose Base dislocated by push-back, §9.6).
Routed. Routed Bases cannot act, form Blocks, merge, or provide overlaps, but still block space. The recommended model is no rally — routed troops are gone for the battle.
12.1 Army break & collapse contagion
An army that has lost 30% or more of its starting Bases loses (measured by base count, for now — tune in playtest). On reaching the threshold its remaining Blocks gain Fatigue +1 and any further push-back becomes a break; the battle is decided.
Local contagion: when any Block breaks, every friendly Block within one base-width gains Fatigue +1, so a broken wing rolls up the line. (This is the one collapse loop smoothing does not damp — watch it in playtest.)
13. Playtest Parameters (Deferred)
These are empirical balance knobs, set with figures on the table rather than reasoned abstractly. Starting points only:
Combat die. Averaging die (faces 2,3,3,4,4,5) is the ranked standard; plain d6 is the optional high-swing mode. This — not a margin cap — is the variance dial (§3.1).
Quality on the averaging die. Accept that quality reads as consistency rather than power; add a distinct Elite/Levy mechanic (reroll, or best-of-three) only if Elite feels pointless in play.
Shot-at denies recovery. Stricter (denies) is the competition default; the lenient toggle exists.
Free-repeat push-back. No extra per-push cost; the only hard stop is room (edge → pin → break). Add a cost only if turtle-retreat appears.
Mandatory pursuit & contagion. Run as written; consider making non-Light pursuit a choice or capping distance if it produces no-counterplay runaways.
Follow-up. Left out at first; add a one-hex winner follow-up if disengaging proves too easy.
Setup. Army ~24 Bases/side (12 fast); board ~24 × 16 BW; a few terrain pieces placed before deployment; alternate deploying within ~4 BW of one's own edge. Victory: 30%+ Bases lost, by base count.
14. What Changed from v1
Quality is now dice in combat as well as movement; the flat quality matrix is removed.
Troop types now differ in combat via a weight result-shift (1–5 ladder), subsuming the earlier ad-hoc type interactions; only steady spears remains as a type special rule, and warbands are modelled simply as Shock infantry.
Terrain added (Going/Elevation, movement cost, combat weight-cap).
Movement now charges Fatigue for difficult and extra moves; the first move is free and the movement test gates only extra moves.
Shock redefined as contact on a chained second move (no half-move rule), so a charge is paid for and can fail.
Fatigue is now tracked per Base; a Block's cohesion is the average of its Bases' Fatigue and it breaks when that average exceeds 6. Mass therefore absorbs distributed pressure (a volley no longer sums to an instant break) and big intact Blocks are resilient. Merging combines pools instead of taking the higher value.
Fatigue persists on the Base through push-back — because fatigue is per-Base, it cannot be shed by giving ground and re-closing.
Sequence of play, base-width scale, depth/rank support, army break, and collapse contagion added.
Spatial substrate set to a hex grid with vertex-facing (replacing the square grid), specified separately; the rules stay geometry-agnostic. In-place re-facing (the ±60° pivot) is free by default — a tuning knob.
Wheeling added (§5.5): an atomic 60° turn about a flank pivot, cost governed by the farthest corner — ceil(max(frontage−1, depth−1)/move) chained moves with per-move tests. Practical only for small units; large blocks reorient by pivot or by splitting into sub-blocks (§6.2).
Column follow-the-leader march added (§5.6): a column slides along the leader's traced path (each unit inherits the position/facing of the one ahead), turning corners at no frontage penalty — the mobile counterpart to the line's costly wheel.
Split/merge primitive added (§6.2): split or merge legal Blocks at will in the Move phase, paying +1 Fatigue per Base on each side of every seam (per Base, no Block cost). It is how you reorient a large formation (split → move sub-Blocks → re-merge), replacing any wheel-the-whole-block or form-line maneuver.
Combat outcome (§9.5): each point of the margin is taken as either +1 Fatigue (hold in place, absorbed by the Block average) OR a base-depth push-back (give ground). Push-back carries no Fatigue itself — only an incidental seam cost if it fragments the Block. Magnitude/balance flagged for playtest tuning.
Judgment calls flagged for playtest: shock is written as a flat modifier for speed (it may instead be an extra die per the Evaluation); default weight ratings are starting points only.
14.1 What changed from v2 to v3 (design-review ledger)
Combat die is now the averaging die (2,3,3,4,4,5) as the ranked standard, d6 the high-swing option; movement stays d6. The d4 tier and no-dice mode are dropped, and there is no margin cap — variance is controlled by die choice. Quality now reads as consistency, not power.
Recovery is per-Base, plus a new per-Block, average-preserving smoothing pass (a Fatigue-1 Base pulls 1 from the highest 3+ Base; one donation per donor per turn). 'Shot-at denies recovery' is the competition default (toggle).
Push-back is always a split (no legal whole-Block backward move); the seam is always paid (multi-Base). Recoil is a snake the defender steers; the file stays an intact sub-Block; detachment degrades a Block into sub-Blocks with no auto-reform. Single-Base and Skirmisher-evade are exempt.
Overlap is restated for the vertex 2-front/2-side/2-rear hex, with the active-player pairing rule. §9.7 rank support is deleted (depth helps via recoil and smoothing). Phase symmetry made explicit: both sides shoot and fight; only the active side moves and recovers.
Missile is now a weight-vs-weight exchange (quality dice + weight shift, Fatigue-only, no positional mods); heavy targets shrug off fire. Victory: lose at 30%+ of starting Bases (base count). Break is by Block average only — no per-Base ceiling.