luxのメダロットブログ

ダメージ計算検証ほか

威力、成功のダメージ寄与#3&小ネタ

 

この記事の概要

威力、成功のダメージ寄与について、9/3現在の解析結果を掲載します。 また、データ計測・解析の過程で分かったことも小ネタ(2件)として掲載します。

f:id:medarotter_lux:20210903234942p:plain

検証用パーティ改
♂♀問わず容易に攻撃パーツを採用できるよう頭・左もNに変更

 

前回までのおさらい

威力、成功のダメージへの寄与は一次関数で表されます。一般形にすると下記のとおりです。

威力、成功の太字は、パラメータだと表現するための単なる太字であって、数学的に意味を持たせているわけではありません(つまりベクトル等ではありません)。

  - fn_威力 = a_威力 * 威力 + b_威力 - ①
  - fn_成功 = a_成功 * 成功 + b_成功 - ②

f:id:medarotter_lux:20210828174447p:plain
f:id:medarotter_lux:20210828174509p:plain
ダメージの威力・成功寄与#2

 

試行内容と仮説

今回は、ダメージ計算式内の威力寄与項、成功寄与項の関連を特定します。 これは、ダメージ計算式(D)が下記3パターンのどれに該当するかを調べるものです。

※この式では威力、成功の寄与していない項を定数(A0, B0)と置いています。ただしもちろん、そうしたとしても一次関数系になるかは特定できていません。あくまで下線部の特定がしたいのだとご理解ください。また中盤からA2, A2, ..., B1, B2,...と説明なく使っていきますが、これらも定数であることを意味します。

  - D = A0 * ( fn_威力 + fn_成功 ) + B0 - ③(和)
  - D = A0 * ( fn_威力 * fn_成功 ) + B0 - ④(積)
  - D = A0 * fn_威力成功 + B0 - ⑤(③、④以外のパターン。お手上げに近い)

①、②から、③は以下のように式変形できます。

  - D = A0 * { (a_威力 * 威力 + b_威力) + (a_成功 * 成功 + b_成功) } + B0
        = A0 * a_威力 * 威力 + A0 * a_成功 * 成功 + A0 * (b_威力 + b_成功) + B0
        = A1 * 威力 + A2 * 成功 + B1 - ⑥(和)

④も同様に、

  - D = A3 * 威力 * 成功 + A4 * 威力 + A5 * 成功 + B2 - ⑦(積)

いま⑥(和)と⑦(積)を見比べると、威力 * 成功 の項があるかどうかがポイントとなることが分かると思います。これからとるアプローチは、⑥(和)を想定した推定をしたときに、誤差で説明できる場合は③(和)となりますし、誤差で説明できない差があれば④(積)である可能性が出てきます。一方で、その誤差が④(積)の傾向と違う場合は、⑤(お手上げに近い)ということになります。

威力*成功*ダメージの3次元グラフで考えると、③(和)となるのは左のケースで、どんな成功値でも、威力によるダメージ寄与(図中傾き)が一定です。 ④(積)となる右のケースでは、成功値が高くなればなるほど、威力によるダメージ寄与(図中傾き)が上がります。

f:id:medarotter_lux:20210904074232p:plain
f:id:medarotter_lux:20210904170912p:plain
成功*威力*ダメージの3次元グラフ

さて、威力、成功のダメージ寄与#2までの計測条件をグラフにまとめました。 こちらから、素のハーモニーLv90を原点として、威力のみ増、成功のみ増のデータを計測したことが分かると思います。

f:id:medarotter_lux:20210903164056p:plain

威力、成功のダメージ寄与#2までの計測条件

推定ダメージの作り方は、威力値の内挿A(図中①)をし、その後に成功値の内挿(図中②・③)をして得ます(順序は逆でも可)。実際には計測も行われているので、その誤差の大きさを確認していきます。 単純に言えば、誤差が小さければ③(和)で、遠い推定をするほど誤差が膨らむ場合は④(積)の可能性があります。

外挿もできますが、傾向が合わなかった理由が複数考えられてしまうので、まずは内挿で確認します。外挿でずれた場合には、威力、成功のダメージへの寄与がずっと一次関数であるとの保証は取れていないため、そこまで疑うことになることを嫌っています。

f:id:medarotter_lux:20210903184422p:plain

ダメージ推定方法

追加するデータはこちらです。 いたずらに多くなってしまったのは、検証の裏取りや小ネタに反映させるためです。なお、下記図中黄色点が内挿、赤点が外挿のデータです。

(確認用データ: 内挿)
  - パーツをアールサイズLv90に変更
  - パーツをメタリボルバーLv90に変更 + グラビティ

(確認用データ: 内挿、兼一次関数パラメータの傾向確認用データ)
  - パシーラLv20
  - パシーラLv20 + オプチカル
  - パシーラLv20 + グラビティ

(確認用データ: 外挿、兼一次関数パラメータの傾向確認用データ)
  - パーツをブリリアーマーLv90に変更
  - パーツをブリリアーマーLv90に変更 + グラビティ

(確認用データ: 外挿、兼小ネタ1確認用データ)
  - パーツをデスミサイルLv90に変更 + グラビティ
  - パーツをシュートバレルLv90に変更

(小ネタ2確認用データ)
  - グラビティ (* すでに計測しているがN数を増した)

f:id:medarotter_lux:20210904205142p:plain

追加した計測条件

 

威力、成功のダメージ寄与#3&小ネタ1

結論としては、威力、成功のダメージ寄与は和と結論付けられそうです。 各推定結果は画像のとおりで、 ブリリアーマー(→小ネタ1)を除けば14ダメージ以下の誤差です。 ブリリアーマーの例のため、この結論をきちんと裏取りするのにかなり時間がかかりました…。

f:id:medarotter_lux:20210904213726p:plain
f:id:medarotter_lux:20210904213723p:plain
f:id:medarotter_lux:20210904213721p:plain
ダメージ推定結果(防御姿勢:ヒットで推定)

また「追加した計測条件」の図にある点線で一次関数パラメータ(傾き)を別途計算していて、これをもともと得ていたヒメダッカー原点の一次関数パラメータ(傾き)との比較をしています。 この比較は、和である結論を裏付けるように、威力(または成功)が異なっていても傾きが一定である(誤差範囲内)との結果が出ています。図中の点は最小二乗近似による推定で、ヒゲは99%信頼区間です。

f:id:medarotter_lux:20210904215633p:plain
f:id:medarotter_lux:20210904215641p:plain
一次関数パラメータ(傾き)の違い
小ネタ1 -パワーライフルの脚部有ボーナスの計算方法-

今回の解析に当たり、ブリリアーマーの計測を最初におこなっていて、誤差で説明できない差が出てきたので和でないと思っていました(#2でも発言)

ただし内挿では一致している、追加計測した外挿でも一致していることから、パワーライフルの脚部有ボーナスの計算方法を誤っていることが判明しました。 つまり、★5威力ボーナス(+400)には脚有威力ボーナス(*1.5)が掛かりません。 この通りに計算すると、誤差はほか同様に小さくなります。

  - (誤) (素のパーツ威力 + ★5威力ボーナス) * 脚有威力ボーナス
  - (正) 素のパーツ威力 * 脚有威力ボーナス + ★5威力ボーナス

f:id:medarotter_lux:20210904221704p:plain

追加した計測条件(ブリリアーマーの打点改め)

f:id:medarotter_lux:20210904221909p:plain

ダメージ推定結果(ブリリアーマー改め)

 

小ネタ2 - ダメージ乱数幅 -

乱数の分布幅、傾向で分かったことがあるのでご紹介します。 #1で、乱数の分布は一様分布のようだと説明しましたが、クリティカルに限っては例外のようです。このデータは、今回追加計測しN数を増やした「ハーモニーLv90+グラビティ」のものです。

f:id:medarotter_lux:20210903211139p:plain
f:id:medarotter_lux:20210903211136p:plain
乱数分布(左:防御時N=293、右:クリティカル時N=232)

防御ダメージの乱数は一直線の分布(一様分布)であることが分かりますが、クリティカルダメージはそうではない曲線状の分布になっています。 これがたまたまであったかどうかは議論の余地がありますが、クリティカルの場合に尖度が-1.2とならないことはデータが示しています(尖度=-1.2で一様分布(水色線)、0.0で正規分布)。今回の場合は-0.6付近なので、一様でもない正規でもない中間の分布ということが言えます。

f:id:medarotter_lux:20210904222622p:plain

ダメージ分布の尖度
かすり(赤)、防御(緑)、ヒット(黄)、クリティカル(青)

クリティカル以外は-1.2付近。 クリティカルは-0.6付近。例外的に傾向を外れているものはN数が少ないもの。

分布そのものを論じるのはとても困難ですが、クリティカルの分布幅がひとつに収束しない理由は、その分布が一様分布でなく、上下限と乱数幅を容易に特定できない、あるいは上下限と乱数幅が無限大である可能性を示しています。

f:id:medarotter_lux:20210904222512p:plain

計測条件毎の乱数幅
かすり(赤)、防御(緑)、ヒット(黄)、クリティカル(青)

 

今後の進め方

今回の結果で、威力、成功のダメージ寄与は解明できたと感じます。 次回は攻撃スキルレベルの影響を検討しようと思います。