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)

防御与攻防计算
平原地形
mag = 80, speed = 16.5
高地地形
mag = 100, speed = 20
山地地形
mag = 120, speed = 25
防御工事增益
范围 30 tiles 内:mag ×5, speed ×3
辐射区减益
mag *= (5 - falloutRatio × 2)
大军减益 sigmoid
defenseSig = 1 - sigmoid(defender.tiles, ln(2)/50000, 150000)
背叛减益
防御 ×0.5, 速度 ×0.8, 持续 300 ticks (30s)
攻击方大规模加成
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

部队上限与增长
人口上限基础
2 × (0.6 × tiles^0.6 × 1000 + 50,000) + Σ(cityLevel × 250,000)
人口类型乘数
Human ×1 / Bot ÷3 / Nation Easy ×0.5, Med ×0.75, Hard ×1, Imp ×1.25
部队增长率
toAdd = (10 + troops^0.73 / 4) × (1 - troops / maxTroops)

Simplified takeaways:

Naval Combat

Combat Checklist