戦闘の計算式:勝率の飛躍点・ボーナスの特殊性・先制攻撃

ホーム[H] > Sid Meier's Game > Civilization IV/Civ4情報, Civ4戦略情報 > 戦闘の計算式:勝率の飛躍点・ボーナスの特殊性・先制攻撃
【こんなのどうでしょう?】Fallout 3(フォールアウト 3)【CEROレーティング「Z」】
ジャンル:
Sid Meier's Game
シリーズ:
Civilization IV/Civ4情報, Civ4戦略情報
種類:
データ/資料
最終更新:
2005年11月26日 19時39分
シリアル:
2005-11-26-04

<< Civ4 戦略情報:戦闘の計算式もくじへ戻るCiv4 戦略情報:都市維持費の考察 >>
この章のはじめへ戻る

前に戻る

前章にひきつづき、CivFanaticsのCiv4戦略記事フォーラムから、Arathorn氏による戦闘の計算式の分析記事を要訳してみます。

今日翻訳するのは、威力の小さな差が勝率に大きく影響する場合があること、防御側から引かれるという特殊な性質のせいで、ボーナスの効力が見かけの数値と異なる場合があること、先制攻撃は威力が近接する場合にもっとも効果を発揮する昇進であることを解説した後編の分析部分です。

飛躍点

耐久力がダメージに関係するという性質と、攻撃側と防御側の耐久力が除算されるというルールから、R の値のほんの小さな違いが勝率に極めて大きく影響する「飛躍点」(jump points) がいくつか存在する。

耐久力が100である場合

説明を簡単にするために、まず攻撃側と防御側の耐久力が両方とも100である場合を考えよう。どちらか、あるいは両方が損害を受けている場合についてはあとでまた議論する。

まず、防御側があたえるダメージが15から14に落ちる地点がある。攻撃側が防御側よりも 1.8 倍以上強力な場合だ。これは、防御側が攻撃側を倒すためには、攻撃を7回ではなく8回当てる必要があることを意味する。Rが 1.8 を越えると、攻撃側の勝率は 99% 以上になる。番狂わせがまったく起こらないという意味ではないが、オッズが非常に良いことは間違いない。

ふたつ目の飛躍点は、攻撃側があたえるダメージが25になる地点だ。これは、攻撃側が防御側を倒すには4ラウンドしか必要ないことを意味する。すこし計算すると、この地点は R = 11/7 のときに発生することがわかる。攻撃側が防御側よりも 1.57142857... 倍強力であれば、攻撃側の勝率は 95% 以上になる。値がすこし落ちて力の差が 1.57 倍になっただけで、勝率は 90% に減少する。

3つめの飛躍点は防御側があたえるダメージが17から16へ落ちる地点だ。攻撃を6回当てるだけで攻撃側が死亡するか、7回当てる必要があるかの差だ。これは、R = 43/31 (約 1.387)の地点で発生する。R がこれを越えると、攻撃側の勝率は 87.5% になる。1.387以下だと、攻撃側の勝率は 80% 以下に落ちる。5/6 から 4/5 に落ちるので、この差は大きい。もしRが 1.388 以上であるなら、攻撃をかける価値がある。

最後の飛躍点は五分五分の戦いの前後にあり、ほんの小さな威力の差が大きな違いを生むことになる。威力の差が 0.01 あるだけで、攻撃側の勝率は 62.3% まではね上がる。威力で勝る側は 20 ポイントのダメージをあたえられるいっぽう、威力の低い側は 19 ポイントしかダメージをあたえられないからだ。5ヒットと6ヒットの差ということになる。同様に、ほんのすこし威力で負けただけで、勝率は 62.3% から 37.7% まで減少する。(先制攻撃を持たないかぎり、)40%の勝率で無傷の相手に勝つのは難しい。

Rの値勝率
1.8以上99%+
1.58 - 1.7995% - 98%
1.39 - 1.5787% - 90%
1.25 - 1.3875% - 80%
1.01 - 1.2562% - 75%
1.050%
0.80 - 0.9925% - 38%
0.73 - 0.7920% - 25%
0.64 - 0.7210% - 13%
0.56 - 0.622% - 5%
0.55以下1%以下

できるだけ飛躍点を越えたRで勝負をかけ、飛躍点の悪い側にはまらないようにするのが肝要だ。勝率 0.73:1 で勝負をかけるのは、 0.72:1 で勝負をかけるのよりもはるかにましである(4.4 vs 6 は 4.3 vs 6 よりもはるかに勝率が高い)。

:75%地点は飛躍点ではないが、理解をしやすくするために表に含めてある。

攻撃側・防御側が損害を受けている場合

どちらかの側が損害を受けている場合でも飛躍点は存在するが、飛躍点をめぐる状況は変化する。この場合、どちらかの残存耐久力/ n を切り上げた数字が飛躍点となる。n は任意の正の整数だが、現実的には 8 以下の値が問題になるだろう。攻撃側にとっては防御側の残存耐久力が、防御側にとっては攻撃側の残存耐久力が考慮の対象となる。

:耐久力64のユニットが耐久力91のユニットを攻撃したとする。飛躍点は攻撃側があたえるダメージが 91, 46, 31, 23, 19, 16, 13, 12 の場合に発生する。ここで、ダメージ量 91 は不可能で(訳注:ダメージ量の最大値は60)、46もありそうな数字ではないので、防御側の耐久力に即した飛躍点は6箇所ということになる。

同様に、防御側にも飛躍点があり、こちらは64の分数である 64, 32, 22, 16, 13, 11, 10, 8 が対象になる。64は不可能で、8は極めてありそうもない数字なので、残るのは 32, 22, 16, 13, 11, 10 だ。

ここから、(攻撃側の視点による)Rのクリティカルポイントは、2.52, 1.32, 0.90, 0.64, 0.40, 0.32, 0.37, 0.83, 1.57, 2.47, 3,77, 5.00 ということになる。これらは、防御側を倒すのに必要な攻撃側のダメージ量と、攻撃側を倒すのに必要な防御側のダメージ量から導かれる。(たとえば、0.90は攻撃側があたえるダメージが19になる地点。1.57は防御側のダメージが16になる地点)

特定のダメージをあたえるために必要な R の値を一覧にしてみた。(小数点第2位で丸めてある)

Rの値1/Rの値ダメージ量
1/5 (0.20)5/1 (5.00)10
13/49 (0.27)49/13 (3.77)11
1/3 (0.33)3/1 (3.00)12
19/47 (0.40)47/19 (2.47)13
11/23 (0.48)23/11 (2.09)14
5/9 (0.55)9/5 (1.8)15
7/11 (0.64)11/7 (1.57)16
31/43 (0.72)43/31 (1.39)17
17/21 (0.81)21/17 (1.24)18
37/41 (0.90)41/37 (1.11)19
1/1 (1.00)1/1 (1.00)20
43/39 (1.10)39/43 (0.91)21
23/19 (1.21)23/19 (0.83)22
49/37 (1.32)37/49 (0.76)23
13/9 (1.44)9/13 (0.69)24
11/7 (1.57)7/11 (0.64)25
29/17 (1.71)17/29 (0.59)26
61/33 (1.85)33/61 (0.54)27
2/1 (2.00)1/2 (0.50)28
67/31 (2.16)31/67 (0.46)29
7/3 (2.33)3/7 (0.43)30
73/29 (2.52)29/73 (0.40)31
19/7 (2.71)7/19 (0.37)32
79/27 (2.93)27/79 (0.34)33
43/13 (3.15)13/43 (0.32)34

つまり、Rが 1.10 から 1.21 のあいだにある場合、攻撃側が防御側にあたえるダメージは 22 になる。

例1:耐久力64の斧兵が耐久力91の槍兵を攻撃した。ボーナスと地形の修正は存在しない。斧兵の修正威力は 5 * 1.5 * 64/100 = 4.80, 槍兵の修正威力は 4 * 91/100 = 3.64 で、 R = 1.32 となる。Rの上では大きな差があるが、槍兵の勝率は48%, 斧兵の勝率は52%と、実際にはほとんど変わらない。

例2:上と同じ状況で、斧兵の耐久力が65であったとする。このとき、斧兵の修正威力は 4.87 となり、 R = 1.34 となる。槍兵の勝率は 34.4%に下降し、斧兵の勝率は 65.6% になった。

飛躍点をいかに扱うか

飛躍点の問題のひとつは、耐久力が表示されないことにある。戦闘ログウィンドウをあさる以外に、ユニットの耐久力を知る方法を発見できなかった。もちろん、威力が10以上あるユニットであれば、残存威力から耐久力を導くことはできるが、どちらも非常に手間がかかる。

もうひとつの問題は、上の表が非常に長くて混み入っていることだ。作成は簡単だったが、こんなものを記憶するのは難しい。両方とも耐久力が100である場合ならば、7/5 を 1.39 の近似として使って簡単に暗算できるのだが、損害を受けたユニットの飛躍点を計算して 1.85 以上を求めるとなると……。一仕事だ。

いちばんの問題は、これがゲーム内で実際に考慮すべき問題になるという点だ。どのユニットから攻撃を命じるか、なにを目指すべきか。この問題は狂気に近い熱意に溢れたCivプレイヤーが気にかけるすべての物事に関係している。

例1:耐久力64と55の2体の斧兵で、耐久力91と89の槍兵を1ターンのうちに倒したいとする。(たとえば、彼らが帝国唯一の金属資源の上に居座っている、とか) このとき、耐久力の高い斧兵から攻撃をかけるべきか? それとも低いほうから攻撃をかけるべきか? 高いほうから攻撃をかけた場合、両方を倒せる確率は 23.2% だが、低いほうから攻撃をかけた場合、両方に勝利できる確率は 28.5% になる。

例2:上と同じ状況で、耐久力の高い方が65耐久力を保有していたとする。低いほうから攻撃をかけた場合の勝率はわずかに上がって 28.8% だが、高いほうから攻撃をかけた場合の勝率は、飛躍点のおかげで 29.2% になる。

また、コンピュータの計算の丸めかたによって、耐久力64と65の差が見えないのも問題だ。(耐久力64の斧兵の威力は 3.20, 65の斧兵の威力は 3.25で、これは 3.2 に丸めて表示されるかもしれない) ユニットの耐久力を追跡して把握しておくことによる戦果は大きい。だが、細かい管理の量もまた大量に増えることになる。

ボーナスの特殊性

状況依存のボーナスは攻撃側ではなく防御側に適用されるので、一部のボーナスは使用に注意を要する。攻撃側に対する25%ボーナスと防御側に対する25%のペナルティでは、働きが大きく異なる場合がある。

:25%の掩護 (Cover) の昇進を持つ威力3.7のユニット(負傷した剣士なりなんなり)が、森林にいる弓兵を攻撃したとする。+25%威力 という表示から、威力 3.7 * 1.25 = 4.6 のユニット対威力 3 * 1.5 = 4.5 のユニットの戦いで、オッズはこちらに有利だと考えるかもしれないが、ボーナスの特殊性により、実際は威力 3.7 対威力 3 * 1.25 = 3.8 の戦いであり、オッズはこちらが不利である。

ボーナスの特殊性が問題になるのは、防御側がなんらかのボーナスを保有している場合である。ボーナスを持たない場合、R の値は変わらないので問題にならない。攻撃側のボーナス総計が防御側よりも大きければ、この特殊性により、ボーナスは見かけの数字よりももう少しだけ攻撃側の助けになる。

:都市襲撃 (City Raider) I, II, III を持つ剣士(威力6)が、都市を防御する長槍兵(威力6)を攻撃したとする。都市は30%の防御ボーナスを持つ。攻撃側の威力は6のままだが、防御側の威力は 6 / (1 + 1.1 - 0.3) = 3.33 となり、Rは 1.80 になる。都市襲撃が防御側への減算でなく攻撃側への加算であったとすると、威力は 12.6 対 7.8 となって R は 1.62 であるから、この場合、ボーナスの特殊性は攻撃側を助けていることになる。

攻撃側のボーナスの総計が防御側の総計よりも少ない場合、状況依存のボーナスの価値は見かけの数字よりも小さい。たとえば、25% の掩護の実際の価値は 22% 程度であったりする。ほかの条件がまったく同じであるならば、守勢にまわるほうが有利であろう。

先制攻撃

先制攻撃 (First Strike) は、威力が同程度のユニットが戦闘する際にもっとも劇的に作用する。威力と先制攻撃の回数が等しいユニット同士が戦闘した場合の勝率は 50% だが、一方の側が1回分の先制攻撃能力をよけいに持っているだけで、そちらの勝率は 56.8% まではね上がる。威力の差が 1.39:1 であれば、1回の先制攻撃はわずかに勝率を変化させるに過ぎない(87.6% から 90.8%, 弱い側が先制攻撃を持っていた場合でも 84.5 %)。

同様に、1回以上の先制攻撃も、威力が競り合っている際に効力を発揮する。だが、素の威力も依然として非常に重要である。威力 3.3 で先制攻撃を持たないユニットは、まずまずの確率(〜56%)で威力3で先制攻撃を2回持つユニットに勝利する。

もうひとつの注意点は、先制攻撃能力を持つユニットは負傷しにくいという点だ。先制攻撃は耐久力の保持に役立つ。3.3 対 3 + 2先制攻撃の例に戻ると、威力 3.3 のユニットは勝利確率こそ高いものの、平均ダメージ量は 78.6である。いっぽう、3 + 2先制攻撃の側の平均ダメージ量は 79.8 である。そして、先制攻撃を持つ側が戦場から無傷で立ち去る確率は、持たない側の2倍以上高い。

こちらが威力でわずかに勝るが相手は先制攻撃を持っている場合、もしくはこちらが威力でわずかに劣るものの先制攻撃の回数で上回っている場合、先制攻撃の昇進は威力に対する昇進よりも有効に作用する。R が 1.38 を上回る場合ば、威力に対する昇進の効果が先制攻撃を上回る。威力に対する昇進が威力の上下関係を引っくり返す場合も同様である。

画像
  • R = 攻撃側の威力 / 防御側の威力
  • 緑──攻撃側が先制攻撃で2回上回る
  • 青──攻撃側が先制攻撃で1回上回る
  • 黒──攻撃側と防御側の先制攻撃回数が等しい
  • オレンジ──防御側が先制攻撃で1回上回る
  • 赤──防御側が先制攻撃で2回上回る


次へ進む
<< Civ4 戦略情報:戦闘の計算式もくじへ戻るCiv4 戦略情報:都市維持費の考察 >>
この章のはじめへ戻る