Docs  /  Gameplay  /  Combat & Units

Combat & Units

Combat is stat-based, auto-resolving, and intentionally not rock-paper-scissors. The player wins fights by composition, upgrades, and positioning — set in advance — rather than by manual micro at the moment of contact.

Stats and Counters

Why no counters? Counters multiply the balance surface area: every new unit, ability, or buff has to be tuned against every counter axis. Stat-based combat keeps the balance lever count small enough to actually tune across 12 armies.

Combat Resolution

Pass-Through vs. Engagement

This rule is the spine of the supply-line game. Behavior diverges by unit type: Army and Defender fight, the logistics types flee, scouts have an entirely separate rule set.

TypeIntermediate enemy / hazard tile (passing through)Path-end leaf on enemy tile
Army Take damage from defenders + tile effects, continue walking. Engage in combat (M0 mechanic).
Defender (mid-redeploy) Take damage, continue slowly. Doesn't shield the tile while in transit. Engages — if leaf is enemy, becomes a doomed lone defender (UI may block).
Gather Take damage, continue walking. Cargo drops on death as a loose pile. Flee-once — reverses one hex along the incoming path on enemy contact, then continues normally.
Engineer Take damage, continue walking. Flee-once (same rule as Gather).
Scout Damage-immune to per-round / DoT effects from tile types regardless of severity. Walks unowned and enemy territory unscathed. Dies instantly on enemy combat-unit contact (Army or Defender), explicit instant-kill effects (pit traps, Antimatter Vent, etc.), or contact with another team's scout (mutual destruction — both die). No path-leaf engagement — direct-control. Same death conditions apply.

Flee-once timing: flee-once fires at path-end leaf engagement, not on intermediate hostile tiles. A gatherer marching through a midpoint enemy tile takes pass-through damage and keeps going; only when its path delivers it onto a contested target does it reverse a hex.

Combat rounds per traversal: at 3 rounds/sec ticking and 2 seconds per hex traversed, units take 6 combat rounds of damage per hostile pass-through tile (scouts excepted).

Mixed-Type Stack Combat Sequence

When enemy contact happens at a contested tile, sequence per round:

  1. Scouts die instantly on enemy combat-unit contact (or mutual-destruct with enemy scouts).
  2. Flee-once phase (instant, before combat round 1): non-combat types (Gather, Engineer) attempt to reverse one hex along their incoming path. Success if the previous hex is friendly territory; failure if it's enemy or neutral — the unit stays as a combat casualty.
  3. Combat phase: Army + Defender units engage at 3 rounds/sec.
  4. Internal damage distribution per the priority cascade below.

Damage Priority Cascade

Damage on the defending side pours through three pools in strict order — each pool fully consumed before any spills into the next.

PriorityDefending side absorbs damage on
1Defender HP pool
2Army HP pool
3Tile claim-HP (current level pool)

While defenders are alive, neither army nor the tile takes a hit. Defenders mid-redeploy (walking the Defender path tree) don't shield — they only function as priority-1 absorbers when stationed at their tile.

The attacking side only has Army HP as an absorber. Damage drains attacker stacks normally.

Damage distribution within a stack

Sequential / front-line dying. Each Mass stack-entity carries a Count (units still alive) and a FrontHP (HP of the unit currently absorbing damage):

damage_remaining = round_damage
while damage_remaining >= FrontHP and Count > 0:
    damage_remaining -= FrontHP
    Count -= 1
    FrontHP = MaxHP   // next unit steps to the front
FrontHP -= damage_remaining

Example: 50 defenders × 300 HP, 1500 damage in a round → 5 die exactly, 45 remain at full HP, no wounded. 1700 damage → 5 die + 1 wounded at 100/300 + 39 at full. The cross-stack cascade (Defender stack → Army stack → Claim-HP) follows the same "consume current pool fully before spilling" rule.

Scouts are the exception — their stacks carry only Count with no FrontHP, since pass-through damage and DoT events skip them entirely. Only instant-kill events decrement Count.

Comeback Defensive Bonus

The fewer tiles a player holds, the harder they defend. The bonus integrates with the cascade as a single damage-reduction multiplier on the defending side, applied to all incoming damage before it enters the Defender → Army → Claim-HP cascade. Helps both Defender-rich and Army-only setups equally.

Path-End Combat

The end-to-end sequence when a unit reaches the endpoint of its path on an enemy or hostile-special tile:

  1. Combat begins, ticking 3 rounds/sec.
  2. The unit deals damage to the current-level HP pool of the tile.
  3. If defending units are present, incoming damage splits between defenders and the tile — more defenders means less damage to the tile (a structural reason to garrison important tiles).
  4. When a level's HP pool reaches 0, the tile drops a level and a fresh HP pool begins for the new level.
  5. When the tile reaches level 0, the attacker claims it.
  6. If the attacker dies first, accumulated tile damage persists until regen kicks in.

Distance / Supply Falloff superseded

The previous "combat effectiveness decreases with distance from a friendly L6 tile or your leader" rule is retired. Supply is now an explicit mechanic via gather-paths, per-tile stockpiles, and engineer-maintained tiles — see Economy. Deep raids are risky because the supply chain is risky, not because the units fight worse on arrival.

If playtest shows the localized economy doesn't make deep raids feel risky enough, a falloff multiplier can be re-introduced as a stat-provider tweak without code changes.

Dormant Tile Occupation Capture

When a player is eliminated (home base destroyed), all their tiles enter Dormant state — type, level, rule, sub-config, and stockpile preserved; in-flight units, garrisons, paths, and tile self-defense removed. Decay ticks one level / tile every ~60s when the tile sits empty (any unit presence — friendly, enemy, or contested — pauses decay).

Capture works by occupation timer, not claim-HP grind:

PhaseBehavior
Empty dormantDecay ticks; no occupation progress.
Single-team occupiedCounter ticks toward the capture threshold (~30s default); decay paused.
Contested (2+ teams' units present)Counter paused; decay paused; combat resolves per the cascade above (no claim-HP since dormant has none).
Team killed/pushed offThat team's progress resets to 0; new sole occupier (if any) starts from 0.
Counter reaches thresholdTile claimed at current dormant level + remaining stockpile + rule/sub-config intact; paths reset.

Scouts can claim dormant tiles by sitting alone — useful for fast unopposed capture of abandoned territory — but two scouts from different teams meeting on a dormant tile mutually destroy, so contested dormant tiles still require combat units.

Tile HP Regen

Pacing Baselines

ParameterValueStatus
Tile spawn cycle3 seconds (1 unit per level per cycle)v0.2 locked
Unit walk speed2 seconds per hex traversedv0.2 locked
Combat tick rate3 rounds per secondv0.2 locked
Combat rounds per single-tile passthrough6 rounds (= 3 rounds/sec × 2s walk)v0.2 locked
Leader spawn delay120 seconds (player-triggered after T+120s; permanent)v0.6 locked
Match lengthScales with map sizePer size tier TBD

These are first-pass values; playtest will tune.

Read next: Leader covers the hero unit that overlays onto this combat system, or Economy for what those captured tiles can produce.