Mechanics

Combat

There are no dice in combat. Before you confirm an attack you see both sides' remaining HP, and the number you see is the number you get — the preview is the real calculation. The preview also shows the owner of each side: the same team mark the figure carries on the board, plus a readable name (for example "Player 2"). Colour alone carries no information — the mark and the name say the same thing — so your archer and a rival's archer never blur into one row; the neutral side (bandits) shows a cross mark and its own name.

Combat formula

Attack power = attack × (HP ÷ max HP) × shore multiplier × morale multiplier

Defense power = defense × (HP ÷ max HP) × terrain multiplier × foothill multiplier × type multiplier × fortify multiplier × morale multiplier

Type multiplier = the pairing's multiplier when the defender has the edge over the attacking type (Spearman against Raider ×2, Spearman against Sipahi ×2, Raider against Archer ×2, Janissary against Archer ×2, Archer against Spearman ×2, Sipahi against Pioneer ×2, Sipahi against Siege ×2, Sipahi against Archer ×2); 1 for every other pairing. The edge only applies on defense.

Fortify multiplier = 1.5 for a dug-in unit, 1 otherwise.

Morale multiplier = 0.75 for a unit at morale 2 or below (shaken), 0.5 for a unit at morale 0 (routed), 1 otherwise. It reads the morale before the fight.

Foothill multiplier = 1.25 for a unit defending on a tile next to a mountain, 1 otherwise. Shore multiplier = 0.85 on the attacker's power against a unit on a tile next to water, 1 otherwise. Both read the tile the defender stands on, not the direction of the attack, and neither applies to a city.

Damage to the target = attack power × 4 × attack power ÷ (attack power + defense power)

Counter damage = defense power × 2 × defense power ÷ (attack power + defense power) × counter share — only if the defender survives. In an adjacent attack a unit always strikes back in full (share 1) and a city never does. In a ranged attack a unit strikes back in full if the attacker is within its own reach and it can fight; a city strikes back with a share of 0.5.

Results round to the nearest whole number, halves up. There are no hidden variables: the preview is the real calculation.

Reading the formula

Both sides scale with their remaining HP ratio: a unit at half health fights at half strength. That is what pulling a damaged unit back buys you.

The attacker's owner's dynasty bonus is added to its attack (Opportunist line); it does not apply against cities.

Six things multiply the defender's power:

They all enter the same product, so they stack: attacking a fortified Spearman in a forest with a Raider means eating three multipliers at once.

The attacker's side has a ground multiplier too: the shore. Attacking a unit on a tile next to a Water tile multiplies the attacker's power by 0.85 — a unit with its back to the water is hard to close in on. Foothill and shore both read the tile the defender stands on, not the direction the attack comes from; both can apply on the same tile. The selected tile's panel prints the foothill and shore multipliers right below the terrain, and the combat preview shows whichever applies as its own line. A neighbour under the fog does not count there: the panel only looks at neighbours you see or have seen, while the engine reads the real map.

The board marks them too, but only while one of your units is selected: of the tiles that unit can move to, attack or stands on, foothills get ∧ and shores get ≈. With no unit selected, or while looking at a rival unit, the board shows no ground marks. A rival city tile you can attack with no unit on it gets no mark either: the city itself is the defender there, and ground does not apply while a city defends itself. It does apply to a unit standing in a city — the tile of a unit that captured a city and stayed on it is marked, and so is a fallen city's tile you would capture by entering. The legend spells out both marks and their multipliers.

Terrain, foothill and shore only apply to a unit defender; none of them applies when attacking a city (see "Attacking a city" below).

The type triangle

The table is built around the defender's identity: each row says which attacker that unit defends more strongly against. The multiplier is one-directional — the edge does not run in reverse, so "A beats B" means "B defends more strongly against A", not "A is stronger against B".

DefenderAttackerDefense multiplier
SpearmanRaider×2
SpearmanSipahi×2
RaiderArcher×2
JanissaryArcher×2
ArcherSpearman×2
SipahiPioneer×2
SipahiSiege×2
SipahiArcher×2

Fortifying

You can fortify a unit: the button in the context panel spends its remaining movement and its action for the turn, and in exchange the unit digs in.

A dug-in unit:

Fortification persists across turns; the start of a turn does not clear it. Only two things break it:

A defender that is attacked and survives keeps its fortification: it held the ground, so it keeps the position.

Fortification is not a hidden variable: the board and the context panel both say "Fortified", and the combat preview shows the multiplier as its own line — for enemy units too.

Rules

Ranged attack

Archer (range 2) and Artillery (range 2) can also strike a non-adjacent target. Every other unit's range is 1 — it only strikes an adjacent tile.

A command that fails either of two conditions is rejected by the engine:

A ranged attack is not free of counter damage. A target struck from range strikes back in these cases:

The counter damage itself uses the same formula as in an adjacent fight and is only multiplied by that share (see the formula box). The combat preview always prints the damage the attacker takes; when no counter comes it states why, and when a city strikes back with its share it shows the share, each on its own line.

The ranged attacker's real gain is still the choice: it decides whom to hit and from where, and it does not advance into a target it kills — it stays put. The trade-off is that it stays exposed once outside its range and now takes the answer of a ranged defender or a city that can reach it.

The selected unit's panel also shows range and shock: the range line appears only on a unit that can strike a non-adjacent target, the shock line only on a unit that carries shock (Morale and rout). The value the panel shows is the very value the engine reads for these rules.

Zone of control

Every tile adjacent to an enemy unit is that unit's zone of control. A unit that enters a zone of control ends its move on that tile: the remaining movement is spent and no further step is possible this turn.

That single sentence is the whole rule; the details follow from it:

The consequence: a line finally holds. Slipping past a row of Spearman is no longer possible; the attacker has to stop in front of it. A zone of control is not a shield — whatever ends up adjacent to the tile it halts on can still be hit — but you decide where it halts, and you answer on the next turn.

Attacking a city

Against a city, a unit's attack is not used — its attack vs. city value is. The city's defense is base 3 plus building contributions plus its owner's dynasty contribution (Defensive line). A city does not strike back at an adjacent melee attack; it does strike back at a ranged attacker with a share of 0.5 of the counter damage (see "Ranged attack" above). Terrain, foothill, shore and type multipliers do not apply to cities; the one multiplier on the city side is revolt — a revolting city defends at ×0.5 (Victory conditions). The combat preview prints that multiplier as a line whenever it applies.

That is the whole difference: the Siege is weak against units, but its attack-vs-city value is 6 where the best of the others manages 2 — the Pioneer only 1, and the Scout cannot attack a city at all.

City tiles are closed — except to a conqueror

A city tile is filled by the structure itself. You cannot enter your own city's tile, and the tile of an enemy city with HP above zero is closed as well. The movement highlight never offers that tile; send the command anyway and the engine rejects it with Hex occupied. The one exception is conquest: the tile of an enemy city whose HP has dropped to zero opens, and the unit that enters takes the city and stays on that tile.

What that means in combat:

Fighting neutral bandits runs by the same rules: the same preview, the same terrain bonus, the same type triangle. There are two differences and both are on the bandit's side: a bandit never targets a city and never leaves the ring around its camp (Bandit camp). Killing a camp's last bandit removes the camp from the board.

A Neutral village is a city, and every city rule above applies to it: drive its HP to zero, walk in, and the village becomes your city. Nothing adds to its defense — no building, no dynasty — just the base defense and its remaining HP ratio. Nor can it be shielded: no truce can be signed with the neutral side, so a village is always a legal target.

The numbers on this page are read from the game’s balance tables.

© 2026 Parva Machina