目次

  1. WWA覚え書き
  2. 解説
  3. 補足


雑記へもどる

★ダメージ計算式

ATKとDEFについて」の補足となります。

戦闘で受ける合計ダメージの計算式は、以上の条件のもとでは下の式で表されます。

\[F(A_1,D_1) = (A_2-D_1)(\lceil \frac{H_2}{A_1-D_2} \rceil-1)\]
記号意味
\(F(A_1,D_1)\)ダメージ
\(A_1\)自分のATK
\(D_1\)自分のDEF
\(A_2\)敵のATK
\(D_2\)敵のDEF
\(H_2\)敵のHP

この式は「(ダメージ)=(敵の攻撃1回あたりのダメージ)×(敵の攻撃回数)」を数式で表したものとなります。
\(\lceil x \rceil\)は天井関数で、\( x=1 \)のように中身が整数なら\(\lceil x \rceil = 1 \)となり
\( x=1.1 \)のように中身が整数以外なら\(\lceil x \rceil = 2 \)というように、\(x\)以上の最小の整数となります。

青いグラフが天井関数\(y = \lceil x \rceil\)のとる値を表します。
少し乱暴ですが、天井関数\(y = \lceil x \rceil\)を黄色いグラフの\(y = x + 1\)に置き換えて
ダメージ計算式を書き換えます。

\[F(A_1,D_1) = (A_2-D_1)(\frac{H_2}{A_1-D_2})\]

これを\(A_1\)と\(D_1\)でそれぞれ偏微分します。

\[\frac{\partial F}{\partial A_1} = - H_2 \frac{A_2-D_1}{(A_1-D_2)^2}\] \[\frac{\partial F}{\partial D_1} = - H_2 \frac{1}{A_1-D_2}\]

自分のATKを1上げたときのダメージの変化量が\(\frac{\partial F}{\partial A_1}\)で表され
自分のDEFを1上げたときのダメージの変化量が\(\frac{\partial F}{\partial D_1}\)で表されます。
どちらかを1上げたとき、ATKを上げたほうがダメージの減少が大きい場合は以下のようになります。

\[\frac{\partial F}{\partial A_1} < \frac{\partial F}{\partial D_1}\]

\(H_2 > 0,(A_1-D_2) > 0\)なので、上の式を展開すると

\[- H_2 \frac{A_2-D_1}{(A_1-D_2)^2} < - H_2 \frac{1}{A_1-D_2}\] \[A_2-D_1 > A_1-D_2\] \[A_2+D_2 > A_1+D_1\]

よって「(自分のATK + 自分のDEF)<(敵のATK + 敵のDEF)」のときは
DEFよりもATKを上げるほうがダメージを減らせる、ということが得られます。

ただし、実際のダメージ計算式とは異なっており
天井関数も偏微分しやすいように意図的に直しているところがあるので、厳密とはいえません。
一応敵のステータスが極端でない限りは、だいたいこれに従うようにはなっています。

実際にプレイすると、複数種類の敵に対していちいちこれを考えるよりは
ATKを上げて攻撃回数の減った敵から倒していこう、というように
全体を見て進んでいくことがほとんどなので、あまり頼りにはならないように感じるはずです。
どちらかというとこれは、プレイする側よりも作る側のほうで役に立つかと思われます。
「このマップはだいたい(ATK + DEF)の値がこれくらいで到達するけど
 それよりも(ATK + DEF)が大きい敵ばかりだから、もっと小さな敵を増やしておこう」
という感じで、バランス調整する際の基準として使うくらいがよいでしょう。