文明 6(四)战斗:只看差值的指数伤害公式
文明 6 的战斗只有一个核心公式:双方战斗力相减,代入指数函数。简单到可以心算,却撑起了从石器时代到现代战争的所有战斗。
1. 伤害公式

伤害 = 30 × e^(0.04 × 战斗力差) × 随机(80%~120%)
每个单位 100 点生命。战斗力差 = 进攻方的战斗力(远程用远程攻击力)− 防守方的战斗力,所有加成都先算进去再相减。Wiki 注明这是玩家研究得出的公式,并总结了几个性质:
- 同等战力时,双方各受约 30 点伤害,范围 24~36。也就是说势均力敌时大约 4 下打死一个满血单位。
- 每多 1 点战力,伤害约 ×1.041。差 10 点伤害约 45,差 20 点约 67,两下就能打死;反过来差 −20 只有约 13.5,要 8 下。
- 只看差值,不看比例。30 打 20 和 110 打 100 的结果完全一样。
| 战斗力差 | −20 | −10 | −5 | 0 | +5 | +10 | +20 |
|---|---|---|---|---|---|---|---|
| 期望伤害 | 13.5 | 20.1 | 24.6 | 30.0 | 36.6 | 44.8 | 66.8 |
| 打死满血要几下 | 8 | 5 | 5 | 4 | 3 | 3 | 2 |
2. 战斗力修正
| 修正 | 数值 | 说明 |
|---|---|---|
| 受伤 | −round(10 − 生命/10) | 30 生命 −7,1 生命 −10 |
| 侧翼 | 每个 +2 | 攻击方每有一个友军与目标相邻(不算自己),最多 6 个;只有近战单位能吃到 |
| 支援 | 每个 +2 | 防守方每有一个友军相邻,最多 10 个 |
| 有利地形 | +3 | 丘陵、树林、雨林;丘陵叠树林 / 雨林共 +6 |
| 不利地形 | −2 | 沼泽、泛滥平原 |
| 固守 | +3 / +6 | 1 回合 / 2 回合以上没动 |
| 隔河 | +5 | 防守方被隔着河的近战攻击时 |
| 近战打抗骑兵 | +5 | 兵种克制 |
出处:文明 Wiki Combat、Flanking and Support 页面。侧翼和支援需要先解锁"军事传统"市政。还有晋升、伟人、政策卡、文明特性等大量加成没有列出。
3. 战斗计算器
试试这个:两个 36 战力的单位,防守方在丘陵上固守了 2 回合(+3 +6),差值变成 −9,进攻方只能打出约 21 点、自己反而受约 43 点——硬冲很亏。再拉 3 个友军包围(侧翼 +6),差值回到 −3,伤害回到 27 左右。地形和站位能抵消相当大的战力差距。
4. 设计分析
只看差值:加成永远有用
如果用比例(像文明 5 的 +10%),后期大数值单位之间,+2 这种小加成几乎没有意义。按差值计算后,固守的 +3、侧翼的 +2 在石器时代和现代同样值钱,地形和站位始终是战术的核心。
指数函数:差距越大越悬殊
每点战力约 ×1.041 的伤害,是乘法而不是加法——差 10 点时伤害多一半,差 20 点时翻一倍多。科技代差(比如长矛打坦克)会被放大成碾压,但同时代内的小差距仍然可以靠战术翻盘。
随机范围收窄,让结果可预测
±20% 的随机让每次攻击有点变化,但期望值稳定。游戏在攻击前还会显示预测伤害——玩家做的是"算得出的决策",而不是赌运气。
受伤惩罚:防止残血单位白白送死
生命越低战力越低,最多 −10。残血单位既打不动也守不住,玩家需要轮换前线、撤下休整,战线有了"呼吸"。
5. 参考资料
- 文明 Wiki:Combat(伤害公式、修正、受伤惩罚)、Flanking and Support。CC BY-SA 3.0。Wiki 链接的 Desmos 伤害计算器可以对照。
- 配图:Steam 商店页官方截图 © Firaxis Games / 2K。