対人戦ダメージ計算式(その3)

前回は、実際の戦闘結果を元に1戦闘内で複数ラウンドの戦闘が行われているという仮説を検証しました。今回は、机上のシミュレーションで戦闘結果を予想してみます(今回は数字ばっかりです。興味の無い人はすみません)。

まず準備として、T1騎兵1人の時に1ラウンドでT1騎兵を何人倒せるか調べます。

A側:T1騎兵1人(バフ0)、B側:T1騎兵5000人(バフ0)で戦闘した結果、(損失数A:1、損失数B:2)となりました。

騎兵1人で倒せる数は2人でしょうか?これは少し精度が粗いと言わざるを得ません。騎兵100人が1ラウンドで倒せる数は25人でした。損失数を兵数の平方根で割れば騎兵1人の倒せる数が求められるはずです。兵数100なので√100(=10)で割り、2.5人となりました。実戦の損失数は2人なので、損失数は小数点以下切り捨て計算のようです(これは後で重要になります)。

切り捨て計算なので、兵数100の場合も倒せる数は25人以上26人未満と考えます。すると、1人で倒せる数は、2.5人以上2.6人未満となります。もう少し精度が欲しいので、別の兵数でも調べてみます。

T1騎兵105人で倒せる数は25人でした。√105で割り、1人が倒せる数は、2.440人以上2.537人未満となります。
T1騎兵106人で倒せる数は26人でした。√106で割り、1人が倒せる数は、2.525人以上2.622人未満となります。

105人と106人の結果から、1人の時に倒せる数は、2.525人以上2.537人未満となりました。まずはこの程度の精度があれば良いでしょう。とりあえず最小値の2.525人を採用することにします。

では本題です。前回、体力と兵数については計算式通りであることを確認しています。そこで今回は、

  • A側:T1騎兵100人(体力バフ+100%)
  • B側:T1騎兵400人(バフ0)

で戦闘した結果を机上シミュレーションしてみます。

1ラウンド目:
A側の損失数は、2.525 × √400 × 1/2(体力バフ分)= 25(小数点以下切り捨て、以下も同様)
B側の損失数は、2.525 × √100 = 25
(兵数A:100→75、兵数B:400→375)

2ラウンド目:
A側の損失数は、2.525 × √375 × 1/2(体力バフ分)= 24
B側の損失数は、2.525 × √75 = 21
(兵数A:75→51、兵数B:375→354)

3ラウンド目:
A側の損失数は、2.525 × √354 × 1/2(体力バフ分)= 23
B側の損失数は、2.525 × √51 = 18
(兵数A:51→28、兵数B:354→336)

4ラウンド目:
A側の損失数は、2.525 × √336 × 1/2(体力バフ分)= 23
B側の損失数は、2.525 × √28 = 13
(兵数A:28→5、兵数B:336→323)

5ラウンド目:
A側の損失数は、2.525 × √323 × 1/2(体力バフ分)= 22
B側の損失数は、2.525 × √5 = 5
(兵数A:5→0、兵数B:323→318)

机上シミュレーションの結果、5ラウンドの戦闘を行い最終的に(損失数A:100、損失数B:82)となると予想されます。では、実際の戦闘結果をご覧ください。

 

 

いかがでしたでしょうか。
当初は到底無理だろうと思っていた対人戦の解析ですが、僅かに光が見えて来たかもしれません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です