その他

ダメージ計算分析

三国志真戦 ダメージ計算式

総ダメージ=(武将属性依存ダメージ+兵士数依存ダメージ)(1+攻撃側ダメージ増加倍率ー守備側ダメージ軽減倍率)(1+クリティカルダメージ)×R

R=ランダム率=±104.4%

兵士数依存ダメージ=0.1877・(兵士数)の0.32乗・x 

武将属性依存ダメージ=0.0005・xの2乗 + 0.9・x + 4.5

x = 属性差

兵刃ダメージの場合、x = 自軍の武力 - 敵軍の統率

計略ダメージの場合、x = 自軍の知力 - 敵軍の知力 

とりあえず、検証スタートです。

自軍の武力と敵軍の統率を調べておきます。

次に、兵士数依存による実際のダメージのデータを取得します。

試行回数 17回のデータは以下の通り

ここから得られるデータは、兵士数がどれだけ少なくとも200程度のダメージは出るということです。

兵士数が10でも同様の結果になるため、武将の属性値に依存した部分があります。

それが以下の式になります。

武将属性依存ダメージ=0.0005・xの2乗 + 0.9・x + 4.5

x=属性差です。

ここでは、武力270から敵の統率70を引いた200程度がxになります。

ここでは、武将によるダメージは204.69となるので、ほぼ属性値の差によるダメージは合っています。

続いて、兵士数を10で固定して、属性値の差による通常攻撃のダメージは以下の通り

この点をプロットすると、ほぼ2次関数となります。

さきほど出した2次関数

y=0.0005x^2 + 0.9x + 4.5

に代入すると

バラツキはしますが、ほぼ実際のダメージに近い値が出ます。

実際のダメージと異なるのは、ランダム関数の±104.4%が最後に掛けられるためであると推測できます。

属性値によるマイナスの依存度はないため、マイナスの場合は0として扱われるようです。

よって、兵士数1で、属性値の差がマイナスの場合でも、5ダメージ程度は与えられる計算になります。

まとめます。

通常攻撃のダメージは、2つに分かれている。

1:武将の属性値に依存するダメージ

武将属性依存ダメージ=0.0005・xの2乗 + 0.9・x + 4.5

(x = 属性差:自軍の武力ー敵軍の統率)

すると、兵士が1でも属性差が200程度あれば、200程度の通常攻撃のダメージを与えられる。

これは、実際に取得したサンプルデータとも一致するため、概ねこの2次関数に近いものが算出される。

プロットしたデータに基づいて、関数を作ると2次関数だが、そもそもxの2乗にかかる値は0.0005と非常に低いため、0.9にxを掛けた値に近い値が出る。

そのため、簡易的に計算する場合は、属性値の差に1.4を掛けた値で代用しても良いと思われます。

続いて、兵士数依存ダメージについて

兵士数依存ダメージ=0.1877・(兵士数)の0.32乗・x

兵士数のダメージは、兵士数の0.32乗に係数0.1877を掛けた値を取得したデータから算出できます。

よって

兵士数依存ダメージ=0.1877・(兵士数)の0.32乗・x 

と言えます。

上記の2つの値を加えたものが基本ダメージとなり、そこからこちらのダメージ増加バフや相手のダメージ減少バフなどが掛けられ、最後にランダム関数が4.4%の範囲で加わるとほぼ、理論上のダメージが計算できます。

まとめます。

簡単に総ダメージを計算するには

(武将の属性差依存のダメージ) + (兵士数依存のダメージ)

を加えたものになる。

それぞれの計算式は、以下の通り。

武将属性依存ダメージ=0.0005・xの2乗 + 0.9・x + 4.5

兵士数依存ダメージ=0.1877・(兵士数)の0.32乗・x 

例えば、上記の値で簡単に計算すると、

自軍武力270 敵軍統率70 属性差200 兵士数10000の場合

武将属性依存によるダメージは204.69

兵士数依存によるダメージは715.92

通常攻撃のダメージ期待値は920.60

となります。

以上で、武将の属性と兵士数によるダメージ計算の説明を終わります。

-その他