Coefficients de terrain
- Plaines (Plains)
- mag = 80, speed = 16.5
- Collines (Highland)
- mag = 100, speed = 20
- Montagnes (Mountain)
- mag = 120, speed = 25
Plus mag est élevé, plus l'attaquant subit de pertes ; plus speed est grand, plus la progression est lente. Les montagnes sont les plus dures à grignoter, les plaines les plus faciles. La v24 introduit la « manipulation de terrain » qui modifie partiellement les coefficients des tiles adjacents.
Postes de défense (DefensePost)
mag ×5, speed ×3 — un DefensePost transforme presque une plaine en montagne. 1 à 2 sur un goulet (détroit, isthme) suffisent à freiner un adversaire.
Malus de grande armée (plus le défenseur a de population, plus il est faible)
- Terrain de plaine
- mag = 80, speed = 16.5
- Terrain de hauteurs
- mag = 100, speed = 20
- Terrain de montagne
- mag = 120, speed = 25
- Bonus Poste de défense
- Dans un rayon de 30 tiles : mag ×5, speed ×3
- Pénalité zone de retombées
- mag *= (5 - falloutRatio × 2)
- Pénalité sigmoïde grande armée
- defenseSig = 1 - sigmoid(defender.tiles, ln(2)/50000, 150000)
- Pénalité de trahison
- Défense ×0.5, Vitesse ×0.8, durée 300 ticks (30s)
- Bonus grand attaquant
- Quand tiles > 100k : bonus = (100k/tiles)^0.7
Constante clé : DEFENSE_DEBUFF_MIDPOINT = 150,000 tiles. Quand les tiles du défenseur approchent ou dépassent cette valeur, la défense décroît de 1,0 à 0,7 :
- 50k tiles : quasi aucune décroissance.
- 150k tiles : décroissance à moitié (midpoint).
- 300k tiles : proche du plancher défense 0,7×.
C'est la mécanique cœur qui empêche qu'« une grande puissance gagne pour toujours » dans OpenFront — une fois le territoire trop gros, on ne peut plus l'attaquer mais on ne peut plus le défendre non plus.
Bonus pour attaquant massif
Quand l'attaquant a > 100k tiles : bonus = (100k / tiles)^0.7. Cela donne aux grosses puissances un peu de force de pénétration marginale pour qu'elles puissent dominer les petits, sans que maxTroops n'explose.
Malus de trahison
Attaquer un allié = entrer en état traitor :
- Défense ×0,5 (vous prenez double)
- Vitesse de progression ×0,8
- Durée 300 ticks (30 secondes)
- Embargo automatique vers l'adversaire + toute la carte
Donc la « trahison surprise » doit être soit fatale en un coup (cœur ennemi tombé en 30 secondes), soit évitée.
Population et attaque
- Base limite de population
- 2 × (0.6 × tiles^0.6 × 1000 + 50 000) + Σ(cityLevel × 250 000)
- Multiplicateur de type
- Humain ×1 / Bot ÷3 / Nation Easy ×0.5, Med ×0.75, Hard ×1, Imp ×1.25
- Taux de croissance des troupes
- toAdd = (10 + troops^0.73 / 4) × (1 - troops / maxTroops)
Conclusion simplifiée :
- Faible population (troops < 30% maxTroops) : croissance très rapide — étendez-vous sans hésiter.
- Forte population (troops > 80% maxTroops) : croissance quasi nulle — attaquez immédiatement ou construisez une nouvelle City pour relever maxTroops.
Combats navals
- HP des warships : 1000 ; replient automatiquement au port pour réparation à ≤ 750 HP.
- Dégâts Shell 250, 3 tirs suffisent pour détruire un warship en pleine vie.
- En v24, les warships ciblent en priorité les navires de transport, avec cooldown instantané après impact — une patrouille de warship suffit à anéantir une force de débarquement.
Checklist de combat
- 📍 Examinez le terrain avant l'attaque : visez les bords de plaine.
- 🏰 Regardez les DefensePost adverses : si le goulet est couvert, changez de route.
- 📊 Comparez les tiles : vous 100k vs adversaire 200k, vous profitez du bonus attaquant pendant que sa défense est en décroissance ; un assaut frontal vous avantage.
- 🤝 Ne trahissez pas : sauf à pouvoir tuer en 30 secondes, la trahison coûte généralement plus qu'elle ne rapporte.