Design philosophy. Battles are instantiated events that take real time, execute as AI-vs-AI using player-authored strategy scripts, and resolve by combat physics + intelligent doctrine. A small disciplined army can defeat a larger one with the correct strategy.
BP is the composite combat-strength score. It rolls up:
The full BP formula lives in
military_war_system.md §8. See formulas for the canonical math.
Each archetype slot (front-line melee, second-line ranged, flank cavalry, anti-cavalry, hero, reserve, siege) targets specific enemy slots. A frontline doesn't punch a hero who's hidden in the back unless the script orders a flank.
A strategy script can force a non-default formation. Bonuses and penalties depend on terrain — wedge in open terrain is great, wedge in forest is suicide.
Phase 2 ships a full strategy editor. The DSL lets you write things like:
ON enemy.cavalry.engaged_with_my_archers:
REPOSITION my.pikes TO front
ORDER my.archers TO loose_volley
END
Phase 1 ships a curated preset library; Phase 2 unlocks the full editor. See strategy scripts.
Units in reserve rotate to the front line as front-line units take casualties. This is automatic but tunable in the strategy script (RESERVE_CYCLE_RATE).
If a friendly army is on a hex adjacent to the battle, and its strategy permits intervention, it can join mid-battle. This is a major strategic lever — a smaller front-line army can hold while a hidden flanker arrives. Intervention windows are time-gated; you cannot teleport in.
Morale is a per-unit-stack value that decays under defeat and weather. State thresholds:
A unit broken in battle goes to the Wounded Pool (if survived) or disappears (if killed).
Survived but injured units go to the Wounded Pool. They:
When a battle becomes a siege (one side defending a city), siege equipment auto-upgrades within tech limits. A starter army with battering rams can auto-build a tower if siege-engineering tech is researched.
Battles take real time — typically minutes to hours of in-game time. They persist across player log-in/out. You can review the battle log after the fact and (if your role permits) intervene mid-battle by sending orders.
Some script triggers and divine reactions are gated by the army's average Int stat. Low-Int armies can't recognize a feigned retreat; high-Int armies can.
§12I runtime).Sources: combat_system.md, military_war_system.md §§8,10,11, units.md.