戦闘

Last-modified: 2019-12-21 (土) 00:37:45

各ユニットはそれぞれ固有の攻撃力・防御力・体力・火力を持っている。
これに各種修正が加わった上で戦闘の勝者が決定される。
核兵器と巡航ミサイルを除いて、戦闘では一方が必ず生き残る。
勝率は自ユニットを選択した状態で敵ユニットをホイールクリックすると表示されるので、積極的に活用しよう。

解説

パラメーター

各ユニットのパラメーターについては、ユニット/一覧を参照。
視界が広いと敵を発見しやすく有利ではあるが、これは戦闘結果に影響を与えない。
classicルールセットでは移動力も同様である。

攻撃力
攻撃時にダメージを与える確率。防御時(被攻撃時)には関与しない。
誤解されがちだが与ダメージではない。それは火力で決まる。
防御力
防御時、敵(攻撃側ユニット)にダメージを与える確率。攻撃時には関与しない。
誤解されがちだが被ダメージを減少させる効果はない。
体力
ダメージに耐えられる上限。一般的なRPGと同じ、普通にHP。0になるとユニットは破壊される。
火力
攻撃時・防御時に相手へ与えるダメージ量。

攻撃力と防御力が高いほど、戦闘時にダメージを与える確率が上がる。
つまり攻撃力と防御力に大きな差があると、勝った側がほとんど無傷という一方的な戦闘になる。
同程度であったときは互いにダメージを受け、勝った側もボロボロになる。
そしてダメージ量は火力x攻撃成功回数で決まる。1回あたりのダメージ量は一定で、クリティカルヒットなどは一切ない。

ファランクスと弓兵とカタパルトを比較した簡単な例

地形や練度は考慮しない(全てx1である)とする。
それぞれの体力と火力は等しいので、攻撃力と防御力だけの比較となる。

攻撃力防御力
ファランクス12
弓兵32
カタパルト61

前述の通り攻撃側は攻撃力、防御側は防御力によりダメージを与える確率が決定され、その値が大きい方が当然勝率が高い。
つまり攻撃時性能はカタパルト>弓兵>ファランクスだが、防御時性能はファランクス=弓兵>カタパルトとなる。
このようにFreecivでは、攻撃時に強いユニットと防御時に強いユニットが同じとは限らないのである。

攻撃力防御力
カタパルトx1
弓兵3x

カタパルトが弓兵から攻撃された場合…カタパルトは防御力の1、弓兵は攻撃力の3でダメージを与える確率が計算されるということになる。
1<3なのでカタパルトが負け、弓兵が生き残る確率が高い。

攻撃力防御力
ファランクス1x
弓兵x2

ファランクスが弓兵を攻撃した場合…ファランクスは攻撃力の1、弓兵は防御力の2で計算される。
1<2なのでファランクスが負け、弓兵が生き残る確率が高い。

と、大まかにはこんな感じである。
しかしこれはパラメーターの意味を説明するための簡易なものであり、実際の戦闘では様々な補正効果を受けより複雑になる。
詳細な計算式及び戦闘例も以下に記載があるが、そこまで完璧に把握する必要はない。
パラメーターの意味と補正効果ぐらい覚えていれば十分遊べる。

各種修正

戦闘時の状況によってパラメーターに様々な修正が加わる。
防御力修正の数が多いことから明らかなように、一般的に戦闘は防御側が有利と言える。
全てを完璧に把握する必要はないが、ある程度は覚えておくとよい。
攻撃力・防御力を計算する際には、内部では値を10倍してから以下の修正を計算する。

攻撃力修正

ver2.0系までは残り移動力によって攻撃力が低下する「移動力修正」が存在したが、2.1系から廃止された。
各ルールセットにおいて、game.rulesetにあるtired_attackがTRUEである場合は、この移動力修正を考慮する。

練度修正
新兵(x1)、ベテラン(x1.5)、精鋭(x1.75)、エリート(x2)
掛けた後、端数を切り捨てる。
移動力修正
残り移動力が1未満である場合、残り移動力を掛ける。
掛けた後、端数を切り捨てる。

防御力修正

練度修正
攻撃力修正のそれと同じ。攻撃されて生き残れば、練度も同じように上昇する。
掛けた後、端数を切り捨てる。
地形修正
ユニットのいる地形による修正。草原(x1)、森(x1.5)、山(x3)など。地形/一覧を参照。TerrainDefenseフラグを持つユニットはこの修正を受けることが出来る。
掛けた後、端数を切り捨てる。
移動不可地形修正
各ルールセットにおいて、units.rulesetにnon_native_def_pctが設定されていた場合、防御ユニットの居る地形がそのユニットにとって移動不可である場合(例えば戦艦が陸地にある都市にいる等)適用する。
掛けた後、端数を切り捨てる。
特殊修正(その1)
長槍兵など防御力をn倍する修正(DefenseMultiplier)はこの時点で行う。
建物修正
都市建造物による修正。城壁(x3)、沿岸防衛(x2)など。都市建造物/一覧を参照。
掛けた後、端数を切り捨てる。
特殊修正(その2)
ヘリコプターなど防御力を1/n倍する修正(DefenseDivider)はこの時点で行う。
掛けた後、端数を切り捨てる。
追加地形修正
Roadタイプの川(x1.5)、Baseタイプの要塞(x2)がある。重複する場合は加算し合ってから計算する。(川の流れる要塞では50%+100%=+150%、つまり2.5倍の修正となる)*1 *2
航空機と船舶には常に適用されない。したがって飛行場と要塞を同タイルに建設しても、航空機の防御力は修正されない。
掛けた後、端数を切り捨てる。
防御修正
防御体勢を取ったユニットはx1.5。また、防御態勢を取ることが出来、都市内部にいる場合は防御態勢を取っていなくても修正を受けられる。
だが、防御態勢を取ることにより体力の追加回復(最大体力の10%(端数切り上げ))が受けられる為、兵舎などが無い都市においては防御態勢をしておいたほうが無難。
掛けた後、端数を切り捨てる。

特殊修正

ある種のユニットに対してのみ適用されるもの

  • 長槍兵は乗馬ユニットに対し防御力x2
  • イージス巡洋艦は航空ユニットに対し防御力x5
  • 戦闘機・ステルス戦闘機がヘリコプターを攻撃した場合、ヘリコプターの火力=1及び防御力x1/2
  • 都市内の船舶が攻撃された場合、攻撃ユニットの火力x2及び船舶の火力=1
  • 船舶が陸上ユニットを攻撃した場合、双方の火力=1

戦闘の流れ

  1. 基本攻撃力・基本防御力に各種修正を加え、最終攻撃力(Aと置く)・最終防御力(Dと置く)を求める
  2. 攻撃に成功する確率は A / (A + D)、失敗する確率(防御に成功する確率)は D / (A + D) となる
  3. 第1ラウンド、2.の確率で攻撃に成功すると防御側が、失敗すると攻撃側が、火力分のダメージを負う
  4. どちらかの体力が0になるまで2.に戻ってラウンドを繰り返す
  5. どちらかの体力が0になったら、生き残ったユニットの練度上昇判定を行う
    classicルールセットにおける、戦闘勝利による練度上昇確率は次のとおり。
練度上昇率
新兵(50%)、ベテラン(33%)、精鋭(20%)、エリート(0%)
※新兵が勝ったとき50%の確率でベテランになり、ベテランが勝ったとき33%の確率で精鋭になり… という意味。

勝率を求めるには、[残り体力1で勝つ確率]+[残り体力2で勝つ確率]+……+[無傷で勝つ確率] を計算すればよい。

戦闘のポイント

  • ユニット/一覧を見ると分かるが、同時期のユニットは火力も同じであることが多い。
    よって攻撃するときには攻撃力、防御するときには防御力が重要。
  • 攻撃するユニットの防御力と、防御するユニットの攻撃力は戦闘に関係ない。
    カタパルトやカノン砲などの砲兵は、「攻撃すると強いが攻撃されると弱い」ユニットの代表例である。
  • 攻撃側に比べ、防御側は防御力修正の数が多く効果も大きい。よって一般的に戦闘は防御側が有利である。大事なことなので二回言いました
  • 新兵とベテランは単純に1.5倍の差があり、この差は結構大きい。

戦闘例

よくある戦闘を例に取り勝率を計算する。
基本攻撃力=基攻、基本防御力=基防、最終攻撃力=最攻、最終防御力=最防と略す。

その1、ベテランカタパルト 対 草原川都市内ベテランファランクス

最攻=6x10x1.5=90
最防=2x10x1.5x1x1.5x1.5=67.5→67 (基防 x 10 x 練度 x 草原 x 川 x 防御可能で都市内部に居る)

双方の体力は10、火力は1
カタパルトが体力1を失う確率は67/157、ファランクスが体力1を失う確率は90/157

攻撃側表を展開
カタパルト
残り体力
確率(%)計算式
100.4(90/157)^9*(67/157)^0*9C0*(90/157)
91.6(90/157)^9*(67/157)^1*10C1*(90/157)
83.8(90/157)^9*(67/157)^2*11C2*(90/157)
76.6(90/157)^9*(67/157)^3*12C3*(90/157)
69.1(90/157)^9*(67/157)^4*13C4*(90/157)
510.9(90/157)^9*(67/157)^5*14C5*(90/157)
411.6(90/157)^9*(67/157)^6*15C6*(90/157)
311.3(90/157)^9*(67/157)^7*16C7*(90/157)
210.2(90/157)^9*(67/157)^8*17C8*(90/157)
18.7(90/157)^9*(67/157)^9*18C9*(90/157)
期待値=3.1合計=74.2

カタパルトの勝率は74.2%、戦闘後残り体力の期待値は3.1となる。
一方ファランクスの勝率は25.8%、戦闘後残り体力の期待値は0.8である。
カタパルト1門がまず攻撃し、25.8%の確率で運良く敵ファランクスが生き残った場合に備えて弓兵でも連れて行くとよい。
この場合は都市を陥落させるのはたやすい。
ただし城壁がないため攻撃によって都市人口が減少し、占領時に都市を破壊してしまうかもしれない。

その2、新兵駆逐艦 対 平野都市内ベテランマスケット兵+沿岸防衛

最攻=4x10x1=40
最防=3x10x1.5x1x2x1.5=135

マスケット兵の体力は20、駆逐艦は30、双方の火力は1(基本火力が2以上あっても特殊修正がかかる)
駆逐艦が体力1を失う確率は135/175、マスケット兵が体力1を失う確率は40/175

結果、駆逐艦の勝率は0.38%、戦闘後残り体力の期待値は0.01となる。
一方マスケット兵の勝率は99.62%、戦闘後残り体力の期待値は11.12である。
沿岸防衛があると、駆逐艦1隻ではせいぜいマスケット兵の体力を半分に削る程度の攻撃しかできない。

その3、ベテランカノン砲 対 平野都市内ベテランマスケット兵+城壁

最攻=8x10x1.5=120
最防=3x10x1.5x1x3x1.5=202.5→202

双方の体力は20、火力は1
カノン砲が体力1を失う確率は202/322、マスケット兵が体力1を失う確率は120/322

結果、カノン砲の勝率は5.18%、戦闘後残り体力の期待値は0.17となる。
一方マスケット兵の勝率は94.82%、戦闘後残り体力の期待値は8.22である。
マスケット兵を撃破することはまず不可能だが、その2と比較してみよう。カノン砲の方が多くのダメージを与えている。
その2とその3の防御側は同じ条件にしてあることに気付いていただろうか。
そしてカノン砲のユニットコストが40、駆逐艦は60であることを考慮すると、カノン砲で攻撃した方が効率的である。

その4、ベテラン巡洋艦 対 平野都市内ベテラン山岳部隊+沿岸防衛

最攻=6x10x1.5=90
最防=5x10x1.5x1x2x1.5=225

巡洋艦の体力は30、山岳部隊は20。双方の火力は1
巡洋艦が体力1を失う確率は225/315、山岳部隊が体力1を失う確率は90/315

攻撃側表を展開
巡洋艦
残り体力
確率(%)計算式
300.00(90/315)^19*(225/315)^0*19C0*(90/315)
290.00(90/315)^19*(225/315)^1*20C1*(90/315)
280.00(90/315)^19*(225/315)^2*21C2*(90/315)
270.00(90/315)^19*(225/315)^3*22C3*(90/315)
260.00(90/315)^19*(225/315)^4*23C4*(90/315)
250.00(90/315)^19*(225/315)^5*24C5*(90/315)
240.00(90/315)^19*(225/315)^6*25C6*(90/315)
230.00(90/315)^19*(225/315)^7*26C7*(90/315)
220.00(90/315)^19*(225/315)^8*27C8*(90/315)
210.00(90/315)^19*(225/315)^9*28C9*(90/315)
200.00(90/315)^19*(225/315)^10*29C10*(90/315)
190.00(90/315)^19*(225/315)^11*30C11*(90/315)
180.00(90/315)^19*(225/315)^12*31C12*(90/315)
170.01(90/315)^19*(225/315)^13*32C13*(90/315)
160.01(90/315)^19*(225/315)^14*33C14*(90/315)
150.02(90/315)^19*(225/315)^15*34C15*(90/315)
140.02(90/315)^19*(225/315)^16*35C16*(90/315)
130.04(90/315)^19*(225/315)^17*36C17*(90/315)
120.05(90/315)^19*(225/315)^18*37C18*(90/315)
110.08(90/315)^19*(225/315)^19*38C19*(90/315)
100.11(90/315)^19*(225/315)^20*39C20*(90/315)
90.15(90/315)^19*(225/315)^21*40C21*(90/315)
80.20(90/315)^19*(225/315)^22*41C22*(90/315)
70.26(90/315)^19*(225/315)^23*42C23*(90/315)
60.33(90/315)^19*(225/315)^24*43C24*(90/315)
50.41(90/315)^19*(225/315)^25*44C25*(90/315)
40.51(90/315)^19*(225/315)^26*45C26*(90/315)
30.62(90/315)^19*(225/315)^27*46C27*(90/315)
20.74(90/315)^19*(225/315)^28*47C28*(90/315)
10.88(90/315)^19*(225/315)^29*48C29*(90/315)
期待値=0.19合計=4.42
防御側表を展開
山岳部隊
残り体力
確率(%)計算式
200.00(225/315)^29*(90/315)^0*29C0*(225/315)
190.04(225/315)^29*(90/315)^1*30C1*(225/315)
180.16(225/315)^29*(90/315)^2*31C2*(225/315)
170.48(225/315)^29*(90/315)^3*32C3*(225/315)
161.13(225/315)^29*(90/315)^4*33C4*(225/315)
152.19(225/315)^29*(90/315)^5*34C5*(225/315)
143.65(225/315)^29*(90/315)^6*35C6*(225/315)
135.36(225/315)^29*(90/315)^7*36C7*(225/315)
127.08(225/315)^29*(90/315)^8*37C8*(225/315)
118.55(225/315)^29*(90/315)^9*38C9*(225/315)
109.52(225/315)^29*(90/315)^10*39C10*(225/315)
99.89(225/315)^29*(90/315)^11*40C11*(225/315)
89.66(225/315)^29*(90/315)^12*41C12*(225/315)
78.92(225/315)^29*(90/315)^13*42C13*(225/315)
67.82(225/315)^29*(90/315)^14*43C14*(225/315)
56.56(225/315)^29*(90/315)^15*44C15*(225/315)
45.27(225/315)^29*(90/315)^16*45C16*(225/315)
34.07(225/315)^29*(90/315)^17*46C17*(225/315)
23.04(225/315)^29*(90/315)^18*47C18*(225/315)
12.19(225/315)^29*(90/315)^19*48C19*(225/315)
期待値=8.08合計=95.58

その5、新兵戦闘機 対 平野都市内ベテラン山岳部隊

最攻=4x10x1.5=40
最防=5x10x1.5x1x1.5=112.5→112

共に体力は20、火力は戦闘機が2、山岳部隊が1
戦闘機が体力1を失う確率は112/152、山岳部隊が体力2を失う確率は40/152

攻撃側表を展開
戦闘機
残り体力
確率(%)計算式
200.00(40/152)^9*(112/152)^0*9C0*(40/152)
190.00(40/152)^9*(112/152)^1*10C1*(40/152)
180.01(40/152)^9*(112/152)^2*11C2*(40/152)
170.01(40/152)^9*(112/152)^3*12C3*(40/152)
160.03(40/152)^9*(112/152)^4*13C4*(40/152)
150.07(40/152)^9*(112/152)^5*14C5*(40/152)
140.13(40/152)^9*(112/152)^6*15C6*(40/152)
130.22(40/152)^9*(112/152)^7*16C7*(40/152)
120.34(40/152)^9*(112/152)^8*17C8*(40/152)
110.50(40/152)^9*(112/152)^9*18C9*(40/152)
100.69(40/152)^9*(112/152)^10*19C10*(40/152)
90.93(40/152)^9*(112/152)^11*20C11*(40/152)
81.20(40/152)^9*(112/152)^12*21C12*(40/152)
71.50(40/152)^9*(112/152)^13*22C13*(40/152)
61.81(40/152)^9*(112/152)^14*23C14*(40/152)
52.13(40/152)^9*(112/152)^15*24C15*(40/152)
42.46(40/152)^9*(112/152)^16*25C16*(40/152)
32.77(40/152)^9*(112/152)^17*26C17*(40/152)
23.06(40/152)^9*(112/152)^18*27C18*(40/152)
13.32(40/152)^9*(112/152)^19*28C19*(40/152)
期待値=1.00合計=21.17
防御側表を展開
山岳部隊
残り体力
確率(%)計算式
200.00(112/152)^19*(40/152)^0*19C0*(112/152)
180.16(112/152)^19*(40/152)^0*20C1*(112/152)
161.13(112/152)^19*(40/152)^0*21C2*(112/152)
143.65(112/152)^19*(40/152)^0*22C3*(112/152)
127.08(112/152)^19*(40/152)^0*23C4*(112/152)
109.52(112/152)^19*(40/152)^0*24C5*(112/152)
89.66(112/152)^19*(40/152)^0*25C6*(112/152)
67.82(112/152)^19*(40/152)^0*26C7*(112/152)
45.27(112/152)^19*(40/152)^0*27C8*(112/152)
23.04(112/152)^19*(40/152)^0*28C9*(112/152)
期待値=6.43合計=78.83

その6、ベテラン大砲 対 平野都市内ベテラン山岳部隊+城壁

最攻=10x10x1.5=150
最防=5x10x1.5x1x3x1.5=337.5→337

体力は共に20、大砲の火力は2、山岳部隊は1
大砲が体力1を失う確率は337/487、山岳部隊が体力2を失う確率は150/487

攻撃側表を展開
大砲
残り体力
確率(%)計算式
200.00(150/487)^9*(337/487)^0*9C0*(150/487)
190.01(150/487)^9*(337/487)^1*10C1*(150/487)
180.02(150/487)^9*(337/487)^2*11C2*(150/487)
170.06(150/487)^9*(337/487)^3*12C3*(150/487)
160.13(150/487)^9*(337/487)^4*13C4*(150/487)
150.24(150/487)^9*(337/487)^5*14C5*(150/487)
140.42(150/487)^9*(337/487)^6*15C6*(150/487)
130.67(150/487)^9*(337/487)^7*16C7*(150/487)
120.98(150/487)^9*(337/487)^8*17C8*(150/487)
111.36(150/487)^9*(337/487)^9*18C9*(150/487)
100.69(150/487)^9*(337/487)^10*19C10*(150/487)
91.79(150/487)^9*(337/487)^11*20C11*(150/487)
82.25(150/487)^9*(337/487)^12*21C12*(150/487)
72.72(150/487)^9*(337/487)^13*22C13*(150/487)
63.19(150/487)^9*(337/487)^14*23C14*(150/487)
53.63(150/487)^9*(337/487)^15*24C15*(150/487)
44.01(150/487)^9*(337/487)^16*25C16*(150/487)
34.34(150/487)^9*(337/487)^17*26C17*(150/487)
24.77(150/487)^9*(337/487)^18*27C18*(150/487)
14.86(150/487)^9*(337/487)^19*28C19*(150/487)
期待値=2.18合計=40.03
防御側表を展開
山岳部隊
残り体力
確率(%)計算式
200.06(337/487)^19*(150/487)^0*19C0*(337/487)
180.39(337/487)^19*(150/487)^1*20C1*(337/487)
161.26(337/487)^19*(150/487)^2*21C2*(337/487)
142.85(337/487)^19*(150/487)^3*22C3*(337/487)
125.05(337/487)^19*(150/487)^4*23C4*(337/487)
107.47(337/487)^19*(150/487)^5*24C5*(337/487)
89.59(337/487)^19*(150/487)^6*25C6*(337/487)
610.97(337/487)^19*(150/487)^7*26C7*(337/487)
411.40(337/487)^19*(150/487)^8*27C8*(337/487)
210.92(337/487)^19*(150/487)^9*28C9*(337/487)
期待値=4.14合計=59.96

その4-6の比較

その4から6をまとめると次表のとおりになる。

ユニット名単体コスト練度別の撃破確率(%)
及び与えるダメージ量の期待値
新兵ベテラン精鋭エース
巡洋艦800.144.4211.6522.86
8.0011.9213.7415.34
戦闘機6021.1758.7373.2783.45
13.5717.5118.5419.16
大砲5010.5940.0355.5868.65
11.6015.8617.2618.23

明らかに巡洋艦は高コストであるが与えるダメージ量が少ない。
問題は戦闘機と大砲、どちらの費用対効果が大きいかということであろう。

仮定
平野の都市内に山岳部隊が十分に存在し、城壁がある
攻撃側は戦闘機15機、大砲18門とする(共に新兵、総コストは900である)

この仮定に基づき山岳部隊を攻撃すると、与えるダメージ総量はそれぞれ203.55と208.8である。
このうち運良く攻撃後も生存するユニットがいるわけだが、期待値は戦闘機は3機、大砲は2門である。
つまりダメージ総量はほぼ同じだが、1部隊だけ多く生き残るために戦闘機の方が費用対効果が大きいと言える。

ただし忘れてはならない。
兵舎を建てるのは空港を建てるよりもずっと安価であり、そして戦闘機だけでは都市の占領ができないのである。

その7、ベテラン巡航ミサイル 対 丘都市内ベテランイージス巡洋艦

最攻=18x10x1.5=270
最防=8x10x1.5x5=600

巡航ミサイルの体力は10、イージス巡洋艦は30。
特殊修正により、火力は6と1である。地形修正は適用されない。
巡航ミサイルが体力1を失う確率は600/870、イージス巡洋艦が体力6を失う確率は270/870となる。

攻撃側表を展開
巡航ミサイル
残り体力
確率(%)計算式
100.29(270/870)^4*(600/870)^0*4C0*(270/870)
90.99(270/870)^4*(600/870)^1*5C1*(270/870)
82.05(270/870)^4*(600/870)^2*6C2*(270/870)
73.31(270/870)^4*(600/870)^3*7C3*(270/870)
64.56(270/870)^4*(600/870)^4*8C4*(270/870)
55.66(270/870)^4*(600/870)^5*9C5*(270/870)
46.50(270/870)^4*(600/870)^6*10C6*(270/870)
37.05(270/870)^4*(600/870)^7*11C7*(270/870)
27.29(270/870)^4*(600/870)^8*12C8*(270/870)
17.26(270/870)^4*(600/870)^9*13C9*(270/870)
期待値=1.76合計=44.97

注…残り体力は計算上の話。どっちみち生き残ることはない。

防御側表を展開
イージス巡洋艦
残り体力
確率(%)計算式
302.43(600/870)^9*(270/870)^0*9C0*(600/870)
247.55(600/870)^9*(270/870)^1*10C1*(600/870)
1812.89(600/870)^9*(270/870)^2*11C2*(600/870)
1216.01(600/870)^9*(270/870)^3*12C3*(600/870)
616.14(600/870)^9*(270/870)^4*13C4*(600/870)
期待値=7.75合計=55.03

その8、civ2civ3ルール 新兵戦士 対 丘川都市内精鋭戦士+人口1~8

最攻=1x10x1=10
最防=1x10x1.75x1.5x1.5x1.25x1.5=73.828125→73と思いきや、各修正にて小数点以下切り捨てが発生するため、
1x10x1.75=17.5→17 (精鋭)
17x1.5=25.5→25 (丘)
25x1.5=37.5→37 (都市(人口1~8)で陸上ユニット)
37x1.25=46.25→46 (川)
46x1.5=69 (防御可能で都市内に居る)となる。
攻撃側戦士が体力1を失う確率は69/79、防御側戦士が体力1を失う確率は10/79となる。


*1 ver2.5から追加地形修正が乗算関係から加算関係になった…これにより川城塞の防御力が少し低下
*2 ルールセットによっては川や要塞の修正が追加地形修正の所ではなく建物補正の所に入れられている物もある