軍事担当相の内部動作

ホーム[H] > Sid Meier's Game > Civ3戦略情報 > 軍事担当相の内部動作
【こんなのどうでしょう?】劇場版「空の境界」 痛覚残留 【完全生産限定版】
ジャンル:
Sid Meier's Game
シリーズ:
Civ3戦略情報
種類:
データ/資料
最終更新:
2005年07月10日 16時10分
シリアル:
2005-07-10-02

CivFanaticsのCivilization III War Academyから、ProPain氏によって書かれた軍事担当相の内部動作を翻訳してみます。

要訳

計画

私はいままでずっと、各ユニットの攻撃力と防御力が「ユニットの強さ」を決定されるために加算され、それが全ユニット分総計されて「軍隊の強さ」が決定されるのではないかと推測していた。ただ、能力値が単純に足し合わされるかどうかには確信がなく、これから調べる必要がある。耐久力もなんらかのかたちで方程式に関係しているだろう。どの程度の間隔で軍隊が弱い・平均的・強いと見なされるかについても調べたい。

すべてのテストは、C3C 1.15上でおこなわれた。

初期想定

ユニットの強さ (プレイヤー1) = 耐久力 * (RatioQ * 攻撃力 + RatioX * 防御力 + RatioY * 移動力 + RatioZ * 爆撃力)
軍隊の強さ (プレイヤー1) = ユニットの強さの総計

軍隊の強さ (プレイヤー1) > (1 + fraction) * 軍隊の強さ (プレイヤー2) : プレイヤー1は「強い」と見なされる
軍隊の強さ (プレイヤー1) < (1 - fraction) * 軍隊の強さ (プレイヤー2) : プレイヤー1は「弱い」と見なされる
この中間にある軍隊は、「平均的」と見なされる

注意:ここにおける「軍隊の強さ」は、指導者から生産されるものではなく、軍事ユニットすべてをあわせたものを言う。

強さ弱さを測るための端数 (fraction) は、論理的にひとつでしかあり得ない。強さと弱さで異なる端数が使用されると仮定すると、プレイヤー1から見たときはプレイヤー1はプレイヤー2よりも強いのに、プレイヤー2から見たときは強さが平衡しているという矛盾が発生するからだ。

端数を求める

上の想定のなかでは、fractionの部分がいちばん求めやすい。最初の計画では、プレイヤー側に戦士200名を、AI側に戦士100名を用意して(戦士200名は戦士100名より強いと見なされると想定した)、戦士を解体するたびに強さを調べるつもりだった。

ところが、エディタで割り当て可能な開始ユニット数は、1種類につき最大25体までだった。また、人間側プレイヤーには入植者が必要なこともわかった。というのは、都市または入植者を持たないときに戦士を解体すると、その時点でゲームに敗北してしまうからだ。

そこで、人間プレイヤーに戦士25体を、AIプレイヤーに戦士10体を配置した状態からゲームを始めることにした。また、ほかのAIプレイヤーに槍兵10体、弓兵10体、戦車兵10体を配置して、強さを比較することにした。すべてのユニットは一般兵(耐久力3)である。

プレイヤー:人間ローマエジプトギリシャバビロニア
初期ユニット:戦士25体戦士10体槍兵10体弓兵10体戦車兵10体
戦士の数:25強い強い強い強い
24強い強い強い強い
23強い強い強い強い
22強い強い強い強い
21強い強い強い強い
20強い強い平均強い
19強い強い平均強い
18強い強い平均強い
17強い平均平均強い
16強い平均平均強い
15強い平均平均強い
14強い平均平均強い
13強い平均平均強い
12平均平均弱い平均
11平均弱い弱い平均
10平均弱い弱い平均
9平均弱い弱い平均
8平均弱い弱い平均
7弱い弱い弱い弱い
6弱い弱い弱い弱い
5弱い弱い弱い弱い
4弱い弱い弱い弱い
3弱い弱い弱い弱い
2弱い弱い弱い弱い
1弱い弱い弱い弱い
0弱い弱い弱い弱い
結論
  • 「平均」の区間が8から12であることから、求めるfractionの値は 0.2 である。
  • 戦車兵と戦士が同一の「平均区間」を持つことから、移動力はユニットの強さを計算するうえでは考慮されない。よって、RatioYは 0 となる。これは労働者や入植者を軍隊の強さに数えないための措置であろうか。
  • 攻撃力と防御力の計算上の重要度は異なる。というのは、戦士16.5体が弓兵10体と互角になるいっぽう、戦士14.5体が槍兵10体と互角になるという結果が出ているからだ。

ゆえに、

軍隊の強さ (プレイヤー1) > (1.2) * 軍隊の強さ (プレイヤー2) : プレイヤー1は「強い」と見なされる
軍隊の強さ (プレイヤー1) < (0.8) * 軍隊の強さ (プレイヤー2) : プレイヤー1は「弱い」と見なされる
この中間にある軍隊は、「平均的」と見なされる

攻撃力対防御力

攻撃力と防御力の差を図るうえで最も簡単な方法は、攻撃力または防御力のみを持つ2種類の改造ユニットを用いることだ。

私は (1,0,1) のユニットと (0,1,1) のユニットで比較することにした。AIが10体の (1,0,1) ユニットを、プレイヤーが25体の (0,1,1) ユニットを保有した状態ではじめ、プレイヤーのユニットを解体してゆく。

プレイヤー:人間エジプト
初期ユニット:戦士25体
(改造済 0,1,1)
槍兵10体
(改造済 1,0,1)
戦士の数:25強い
24強い
23強い
22強い
21強い
20強い
19強い
18平均
17平均
16平均
15平均
14平均
13平均
12平均
11弱い
10弱い
9弱い
8弱い
7弱い
6弱い
5弱い
4弱い
3弱い
2弱い
1弱い
0弱い
結論

この結果はあきらかに、15体の (0,1,1) ユニットが、10体の (1,0,1) ユニットと互角であることを示している。移動力は考慮されないので、1 攻撃力は、1.5 防御力に相当する。20%の端数がここでも生きていることに注意。

ユニットの強さ (プレイヤー1) = 耐久力 * (1.5 * 攻撃力 + 1 * 防御力 + RatioZ * 爆撃力)

爆撃力

結果に驚いて何度もテストしてみたが、毎回結果は同じだった。もっとも包括的なものを下に記載しておく。人間側には25体の (0,1,1) ユニットを持ち、AI側は10体の (0(10),0,1) ユニットを持つ。

プレイヤー:人間エジプト
初期ユニット:戦士25体 一般兵
(改造済 0,1,1)
槍兵10 一般兵体
(改造済 0(10),0,1)
戦士の数:25強い
24強い
23強い
22強い
21平均
20平均
19平均
18平均
17平均
16平均
15平均
14平均
13弱い
12弱い
11弱い
10弱い
9弱い
8弱い
7弱い
6弱い
5弱い
4弱い
3弱い
2弱い
1弱い
0弱い
結論

17.5体の (0,1,1) ユニットが、10体の (0(10),0,1) ユニットと互角である。つまり、100爆撃値は17.5防御値と等しく、1爆撃値は0.175防御値と等しい。

この値は奇妙なものに思えるが、何回テストしても同じ値が出た。

ユニットの強さ (プレイヤー1) = 耐久力 * (1.5 * 攻撃力 + 1 * 防御力 + 0.175 * 爆撃力)

耐久力の影響

まずはじめに、標準の戦士を使って耐久力の影響を調べた。古参兵(耐久力4)10体と一般兵(耐久力3)25体の比較である。結果:

プレイヤー:人間エジプト
初期ユニット:戦士25体 一般兵戦士10体 古参兵
戦士の数:25強い
24強い
23強い
22強い
21強い
20強い
19強い
18強い
17強い
16平均
15平均
14平均
13平均
12平均
11平均
10弱い
9弱い
8弱い
7弱い
6弱い
5弱い
4弱い
3弱い
2弱い
1弱い
0弱い

この結果は、古参兵10体は一般兵約13.5体と互角であることをあらわしている。論理的に考えると、この値は耐久力の比率と等しい 13.33 または 4/3であろう。別の言い方をすれば、ユニットの強さは、耐久力によって乗算される。これに関してはテストしていないが、私は耐久力が戦闘経験のかわりに使用されていると想定している。この想定には理由がふたつある:

  1. 攻撃前の評価は「強い」だったのに、攻撃後に評価が「平均」に落ちた例を、Kemal氏が経験している。彼は戦闘でユニットを失っておらず、失ったものは耐久力だけである。(もちろん、彼は攻撃した相手以外との評価も比較している)
  2. プレイヤーはエディタでユニットの耐久力を変更できる。また、戦闘経験と結びついた耐久力も変更できる。軍事担当相にとって、強さを図るうえで耐久力を使用するのは安全なやりかたであろう。この値は常に使用できる。

また、爆撃ユニットにおける耐久力の影響もテストしたが、爆撃値は耐久力による影響を受けなかった。攻撃値または防御値のみのユニットは、耐久力の影響を受ける。

結論
ユニットの強さ (プレイヤー1) = 耐久力 * (1.5 * 攻撃力 + 1 * 防御力) + 0.175 * 爆撃力

最終結論

ユニットの強さ (プレイヤー1) = 耐久力 * (1.5 * 攻撃力 + 1 * 防御力) + 0.175 * 爆撃力
軍隊の強さ (プレイヤー1) = ユニットの強さの合計

軍隊の強さ (プレイヤー1) > (1.2) * 軍隊の強さ (プレイヤー2) : プレイヤー1は「強い」と見なされる
軍隊の強さ (プレイヤー1) < (0.8) * 軍隊の強さ (プレイヤー2) : プレイヤー1は「弱い」と見なされる
この中間にある軍隊は、「平均的」と見なされる