Skip to main content
OF Intel

MECHANICS · 03

Military: Combat & Defense

Combat boils down to two numbers: mag (armor penetration) and speed (advance rate). Terrain, buildings, and population all multiply these values.

Terrain Modifiers

Terrain mag / speed
Plains
mag = 80, speed = 16.5
Highland
mag = 100, speed = 20
Mountain
mag = 120, speed = 25

Higher mag = more attacker losses; higher speed = slower advance. Mountains are hardest to crack, plains are easiest. v24 added "terrain manipulation" allowing limited modification of adjacent tile terrain.

Defense Posts

Within 30 tiles range

mag ×5, speed ×3—a single DefensePost can turn plains into effective mountains. 1-2 posts at chokepoints (straits, isthmuses) can hold off an entire opponent.

Large Army Penalty (Defender)

Defense and Combat Math
Plains terrain
mag = 80, speed = 16.5
Highland terrain
mag = 100, speed = 20
Mountain terrain
mag = 120, speed = 25
Defense Post bonus
Within 30 tiles: mag ×5, speed ×3
Fallout-zone penalty
mag *= (5 - falloutRatio × 2)
Large-army sigmoid penalty
defenseSig = 1 - sigmoid(defender.tiles, ln(2)/50000, 150000)
Betrayal penalty
Defense ×0.5, Speed ×0.8, duration 300 ticks (30s)
Large-attacker bonus
When tiles > 100k: bonus = (100k/tiles)^0.7

Key constant: DEFENSE_DEBUFF_MIDPOINT = 150,000 tiles. As defender tiles approach or exceed this, defense decays from 1.0 to 0.7:

This is OpenFront's core "no permanent superpower" mechanic—grow too large and you can't push or hold.

Large Army Bonus (Attacker)

When attacker tiles > 100k: bonus = (100k / tiles)^0.7. Gives large powers slight marginal push advantage to pressure smaller opponents, while maxTroops doesn't explode.

Betrayal Debuffs

Cost of Breaking Alliance

Attacking an ally = entering betrayer state:

  • Defense ×0.5 (you take more damage)
  • Advance speed ×0.8
  • Lasts 300 ticks (30 seconds)
  • Triggers auto-embargo from target + entire map

Therefore "betrayal rush" must either kill in 30 seconds (capture their core cities) or don't start.

Population & Attack

Population Cap and Growth
Population cap base
2 × (0.6 × tiles^0.6 × 1000 + 50,000) + Σ(cityLevel × 250,000)
Population type multiplier
Human ×1 / Bot ÷3 / Nation Easy ×0.5, Med ×0.75, Hard ×1, Imp ×1.25
Troop growth rate
toAdd = (10 + troops^0.73 / 4) × (1 - troops / maxTroops)

Simplified takeaways:

Naval Combat

Combat Checklist