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)
Un poste terminé appartenant au défenseur applique mag ×5 et speed ×3. Les zones superposées ne cumulent pas ce multiplicateur. La couverture ralentit fortement un goulet, mais aucun nombre fixe de postes ne garantit de tenir.
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
Au-delà de 100k tiles, le modificateur de pertes vaut sqrt(100k / tiles)^0.7, soit (100k / tiles)^0.35. Il réduit marginalement les pertes d'un grand attaquant ; force engagée, terrain, couverture et défenseur restent décisifs.
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 × (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.
- 📊 Traitez la taille comme un modificateur, jamais comme un verdict : 100k tiles contre 200k ne décide pas à lui seul un affrontement frontal.
- 🤝 Ne trahissez pas : sauf à pouvoir tuer en 30 secondes, la trahison coûte généralement plus qu'elle ne rapporte.
Pour la séquence de décision en direct, les exemples chiffrés de contre-attaque et les règles d'arrêt, consultez le guide du combat terrestre.