はんまーに乾杯

メダロットSプレイ記

【メダロットS】ダメージ計算の試み #4

 こんにちは。引き続き検証記事になります。ダメージに関する成功と威力の影響を再考していきます。

概要

 これまでのメダロットSのダメージ計算の検証で、ダメージは威力の1次関数であると結論付けていました(#2)。しかし、前回の威力計算手順の検証をする中で、1次関数では説明ができないダメージを記録しました。そこで、改めて威力、加えて成功についてダメージへの影響を調べたのが本記事です。

 #2とは記録場所と相手機体を変え、その他は同様に特定の耐性、回避、補助スキルレベルを持つ相手に対し、威力と攻スキルレベル固定で成功を振ってダメージを記録、別に成功と攻スキルレベル固定で威力を振ってダメージを記録し、それぞれ防御時の平均ダメージを成功、威力の関数として解析を行いました。

 それにより、成功、威力ともに1次とした#2とは異なる結果が得られました。成功について、ダメージは成功530付近まで一定で、それ以上では係数0.40の1次関数で表せることがわかりました。また、威力については測定範囲(威力175~8619)の全領域で1次関数にならず、1次項と定数項の他に、対数項を加えた1つの式によく従うことがわかりました。

 #2と異なる結果となった理由に見当は付いており、今回の結果を疑う要素とはなりませんでした。その一方で、現時点では説明ができない新たな問題も見つかりました。また、類似したステータスである成功と威力の処理が異なることも意外です。先は長いですが、今後も地道にデータを蓄積、解析していくことが、ダメージ計算の完全な理解への近道となるでしょう。

手法

セッティング

 ダメージの記録を行った攻撃は以下の(A)から(Y)です(表1、表2)。すべて射撃スキルレベル99、地形相性はSです。

(A) ストームビーム星1Lv1ビーム、アラセLv20、威力III+III

(B) ハイパーレーザー星1Lv1レーザー、威力II+II、パワー

(C) デッドジャンゴ星1Lv1アンチエア、アラセLv20、パワー

(D) ダイモン星1Lv1ライフル、カスミLv20、パワー

(E) ダイモン星1Lv1ライフル、カスミLv20、成功II+I、パワー

(F) プレシス星2Lv1ライフル、威力IV+III、パワー

(G) バイカラー星3Lv60ビーム、コウジLv3、威力II

(H) エレクトミサイル星3Lv60アンチエア、威力I、パワー

(I) サイレントハント星5Lv90アンチシー、アズマLv20、威力II+I

(J) ハーモニー星5Lv90アンチエア、パシーラLv20、威力II+I、スナイパー

(K) ポピュラー星5Lv90デストロイ、カスミLv20、威力II+II

(L) ポピュラー星5Lv90デストロイ、カスミLv20、威力II+II、グラビティ

表1

  成功 威力
(A) 313.2 937.2
(B) 345.6 937.2
(C) 391.2 936
(D) 500.4 934.8
(E) 530.4 934.8
(F) 585.6 934.8
(G) 835.2 934.8
(H) 1089.6 934.8
(I) 1306.8 934.8
(J) 1718.4 936
(K) 2344.8 936
(L) 4209.6 936

(M) ハードターゲット星1Lv1アンチエア、アニスLv20、成功V+II

(N)マグネミサイル星1Lv1アンチエア、ソルトLv13、成功V+V

(O) グラインド星1Lv1ライフル、正月コイシマルLv1、成功V+III

(P) シグナレス星1Lv1ビーム、アニスLv20、成功V+V

(Q) ダイモン星1Lv1ライフル、キララLv3、スナイパー

(R) アキュレート星2Lv1ガトリング、カスミLv20

(S) ノーマルレーザー星2Lv30レーザー、正月コイシマルLv1、成功I

(T) ノーマルレーザー星2Lv30レーザー*1.5、正月コイシマルLv1、成功I

(U) ユニゾンレーザー星3Lv60レーザー

(V) ユニゾンレーザー星3Lv60レーザー*1.5

(W) ユニゾンレーザー星3Lv60レーザー*1.5、アラセLv20

(X) ユニゾンレーザー星3Lv60レーザー*1.5、アラセLv20、パワー、オプチカル

(Y) デスブレイン星5Lv90ハイパービーム*3、ヒカルLv20、パワー、モンキーキャッチ星5Lv90

表2

  成功 威力
(M) 738 175.2
(N) 738 196.8
(O) 736.8 356.4
(P) 736.8 468
(Q) 736.8 561.6
(P) 738 638.4
(S) 735.6 859.2
(T) 735.6 1288.8
(U) 736.8 1657.2
(V) 736.8 2485.8
(W) 736.8 3069
(X) 736.8 5475
(Y) 1081.2 8619.0

 表にある通り標本(A)から(L)まではすべて威力が936±1.2に揃うよう調整したうえで、成功を313.2から4209.6まで振り、ダメージへの成功の寄与のみを取り出します。一方で(M)から(Y)まではすべて成功が736.8±1.2に揃うよう調整したうえで、威力を175.2から5475まで振り、ダメージへの威力の寄与のみを取り出します。さらに成功の寄与を補正した標本(Y)を系列に加えることで、より高威力側まで寄与の確認をしました。

 威力ならびに成功の計算には式(1)を使用しました(威力検証)。

実行威力=((パーツ+チップ+メダロッター)*(1+乗算効果a+乗算効果b+...)+性格ボーナス+ランク効果+脚部特性)*地形相性 (1)

 (A)から(Y)のすべては、2021年12月29日から翌年の1月6日までの期間限定で開催されていた、進撃!ロボトル「年末年始のロボロボ大進撃!」のステージ10-8のビーストマスター*3機を相手に計測しました(図1)。威力検証の際と同様に、射撃ガードとCアブソーバーの併用で検証対象の攻撃を自由に繰り返し試行することができます。

f:id:hakamaya:20220109205348p:plain

図1 限定進撃ステージ10-8
収集データの扱い

 #3の手法_収集データの扱いをご参照ください。

結果

成功の評価

 威力固定で成功を変化させた(A)から(L)について、曲線でフィッティングするのに十分な試行回数を得られた、防御時のダメージについてのみ解析を行いました(表3、図2)。威力の補正には後述の威力の評価で得られた、威力936付近の傾き1.2を用いました。

表3

  成功 威力 標本サイズ 乱数幅(%) ダメージ 威力補正 誤差
(A) 313.2 937.2 109 7.19 751 -1.44 2.5
(B) 345.6 937.2 147 7.25 751.5 -1.44 2
(C) 391.2 936 133 7.25 751.5 0 2
(D) 500.4 934.8 118 7.26 750.5 1.44 2.5
(E) 530.4 934.8 140 7.12 751.5 1.44 2
(F) 585.6 934.8 148 7.23 775 1.44 2
(G) 835.2 934.8 120 7.02 876.5 1.44 2.5
(H) 1089.6 934.8 166 7.22 976.5 1.44 2
(I) 1306.8 934.8 112 7.14 1065 1.44 3.5
(J) 1718.4 936 166 7.14 1232 0 2.5
(K) 2344.8 936 98 7.11 1484.5 0 5.5
(L) 4209.6 936 87 7.21 2233 0 9

f:id:hakamaya:20220113161411p:plain

図2 成功の評価

 表3と図2のように、成功530付近でダメージの傾向に変化が生じることがわかりました。図3は差分商の散布図で、付近の近似された傾きを意味します。(A)から(E)までの5点で取った差分商はほとんどゼロで、極めて低い成功領域では、ダメージはほぼ一定であるといえます。見方を変えれば、一定以上成功が低い場合にはダメージの最低保障が働くとも解釈できるでしょう。

 一方で(E)から(L)までの区間では、傾きは0.4付近で一定で1次関数的であることがわかりました。この結果は、全成功領域で1つの(曲線の)式に従うというより、ある境界値を境に参照式が変化するとするのが自然です。(A)から(D)、(E)から(L)それぞれの回帰直線の交点の成功526をその境界値と決定しました。

f:id:hakamaya:20220113152353p:plain

図3 2つのトレンドを持つ差分商
威力の評価

 成功固定で威力を変化させた(M)から(Y)についても同様に、防御時のダメージを表4にまとめ、威力とダメージの関係を図4に示しました。

表4

  成功 威力 標本サイズ 乱数幅(%) ダメージ 威力補正 誤差
(M) 738 175.2 55 7.59 72.5 -0.48 1
(N) 738 196.8 55 7.60 85.5 -0.48 1
(O) 736.8 356.4 67 7.18 209 0 1.5
(P) 736.8 468 57 6.90 311.5 0 2
(Q) 736.8 561.6 58 7.26 406.5 0 2.5
(P) 738 638.4 41 6.94 490 -0.48 4.5
(S) 735.6 859.2 125 7.08 741.5 0.48 2
(T) 735.6 1288.8 134 7.15 1287 0.48 3.5
(U) 736.8 1657.2 113 7.28 1785 0 5.5
(V) 736.8 2485.8 129 7.16 2954.5 0 8
(W) 736.8 3069 133 7.21 3798 0 10
(X) 736.8 5475 142 7.16 7389 0 17.5
(Y) 1081.2 8619.0 70 7.22 12377.5 -137.8 61

f:id:hakamaya:20220113163041p:plain

図4 威力の評価

 全体として概ね1次関数的ではあるものの、わずかに下に凸に曲がりました。回帰直線からの残差は誤差では説明できないものです。そこで、成功の解析と同様に差分商を図5にプロットしました。

f:id:hakamaya:20220113194058p:plain

図5 単調増加する差分商

 繰り返しになりますがこれは傾きに相当する量です。図4のようにある区間で一定となればそこでは元の関数は1次関数的であるといえますし、直線であれば元の関数は2次関数的ということができます。図5はそのどちらでもなく、曲線かつ単調増加であります。したがって、元の関数を多項式関数と見るのは難しく、別の関数を探さなくてはなりません。
 結論から言うと、この差分商は (x+\mathrm{a})^{-1}によく従うことがわかりました。\mathrm{a}は回帰のパラメータの1つで、数十程度の遊びがあるようです。ここでは \mathrm{a}=270として、図5の横軸 x (= 威力)(x+270)^{-1}に変換してプロットしたものが図6です。変換後の座標系で非常に高い直線性を示す、すなわち (x+270)^{-1}に比例していることがわかります。図6中の回帰直線のパラメータをそのまま使えば、式(2)のように書けます。

\dfrac{\Delta{y}}{\Delta{x}}=1.6014-\dfrac{456.29}{(x+270)} (2)

f:id:hakamaya:20220113195633p:plain

図6 (x+a)^-1に比例する差分商

 差分商の関数がわかったところで、これをまた元のダメージyの関数に戻してやる必要があります。差分商は有限区間での微分に相当するものでもありますから、微分して  (x+\mathrm{a})^{-1}になる関数が元の関数というわけです。それは (x+\mathrm{a})の真数を持つような自然対数になります。また、式(2)は定数項も含んでいますから、それも積分して1次関数として加えてやることで式(3)を導出しました。

y=\displaystyle \int dx \dfrac{dy}{dx}

 \simeq \displaystyle \int dx \dfrac{\Delta y}{\Delta x}

 =\displaystyle \int dx \dfrac{1.6014-456.29}{x+270}

 =1.6014x-456.29\ln(x+270)+\mathrm{c} (3)

 式(2)のパラメータはあくまで差分商を最適化するものなので、ダメージの次元でもっと良い値を探し直す必要があります。わたしはこの複雑な非線形関数をフィッティングする適当な手法を知らないので、総当たり的に計算して最もうまくいった・・・・・・・・次のものに決定しました(式(4))。

y=1.602x-453\ln(x+270)+2553 (4)

 式(4)と実測値の差をプロットしたものが図7です。ここでの誤差棒は実測値の99%信頼区間をそのまま持ってきたものであることにご留意ください。式(4)は実測値を完全に再現するには至りませんでした。しかしながらその差は誤差範囲から最大でも±2に止まるものです。

f:id:hakamaya:20220114150258p:plain

図7 式(3)によるダメージの再現

 フィッティングに伴う恣意性は、主に低・中・高威力領域のどこを実測値と合わせてどこを合わせないかに効いていて、そのうち式(3)は全点について信頼区間以上に最も離れる点(ここでは(S))が最もよく近づくように決定しました。ここで、ある隣接する2点が上と下の逆方向にずれているといったことは、フィッティングの良し悪しでどうなるものでもありません。こうした問題がフィッティング関数が適切でないことから来ているのか、測定作業における過失から来ているのか、あるいはそれ以外の何が原因かというのはわかっていません。

成功と威力の同時評価

 今回新たに取得した(A)から(Y)に加え、威力検証で同じくビーストマスター相手に取得した、スイチュウフロー系列(成功844.8~1013.8、威力415.2~1219.2)の14点とノーマルレーザー系列(成功661.2~901.2、威力1288.8~2148)の8点は、成功 aと威力 bのみを変数とする同一のダメージ Dの式を適用することができます。これら47点について、式(5)または式(6)で予測したダメージと実測値との差を図8(横軸成功)、図9(横軸威力)に示しました。

D=0.013a+1.602b-453\ln(b+270)+840 (a\leq526) (5)

D=0.402a+1.602b-453\ln(b+270)+840 (a\gt526) (6)

f:id:hakamaya:20220114152308p:plain

図8 成功と威力の同時評価

f:id:hakamaya:20220114152438p:plain

図9 成功と威力の同時評価

 47点は成功と威力を同時に広範に取っているわけではない、とりわけ中~高成功かつ中~高威力のデータが不足していますが、少なくとも今回の系列内で破綻が無いかの確認はできます。やはり追加したデータの中にも完全再現できていないものが見つかりました。特に誤差範囲含むダメージ域からの距離が大きいものは、威力チップ付きでシュートブースト状態のスイチュウフローの+22、バレットレイン付きで威力1.5倍のノーマルレーザーの-12、効果なしのスイチュウフローの+10でした。これらの系統的理由は見つかっていません。しかしながら、成功と威力についてただの1次関数とした式(7)との再現レベルは雲泥の差で(図10)、場合分けや対数補正項を加えたことの有効性が大いに示されました。

D=0.399a+1.443b-781 (7)

f:id:hakamaya:20220114152945p:plain

図10 1次関数によるダメージ再現

考察

#2との比較

 今回と同じく成功と威力についてダメージへの影響を調べた#2では、成功と威力ともに1次関数としてふるまうと結論付けていました。少なくとも威力についてはおそらくこの結論は誤りで、正しく記録と解析を行えば、今回のように曲がるだろうとみています。最大の原因は、まさか少しだけ曲がるとは思いもしなかったという決めつけでしょう。直線性があるという結論ありきの検証ならば、間隔の開いた3、4点を取れば済み、相手の耐性の違いや試行回数不足に伴う測定誤差もさほど問題になりません。むしろ回帰式からの残差をそうした誤差に都合よく押し付けることになっていました。曲がる可能性を排除するなら、最低限耐性が統一されたデータを取るべきです。

威力検証ライジュウコウ系列との比較

 同一機体相手のスイチュウフロー系列とノーマルレーザー系列についてはすでに一緒に成功と威力の評価をしてみましたが、ここではライジュウコウ系列についても比較を試みます。収集場所がストーリー第4章6-1VHで、相手もヒメダッカー(射耐380.4、回避1850.4、補助スキルレベル43)と異なるため、直接ダメージの比較はできません。ここでは同威力領域での傾きを比べます。

 ライジュウコウ系列では、ヒメダッカー相手に威力1882.8から2271.6の6点の回帰式の傾きが1.54でした。一方で今回得た式(6)の威力2100での傾きは1.41ほどです。威力2300でもやはり傾きは1.43ほどに止まり、対ヒメダッカーのものに遠く及びません。これはダメージの威力項に威力以外の独立変数が含まれていることを示唆しており、両者で大きく異なるたとえば射耐や回避が関係しているのかもしれません。少なくともこの相違が、成功と威力の評価の検証がまだ終わりではないと語っていることは確かです。

まとめ

 過去の検証でのダメージは威力の1次関数であるとする結論では説明できない事実が見つかり、今回再び威力、加えて成功のダメージへの影響を調査しました。

 その結果、成功は一定値以下でのダメージの最低保障の存在が確認され、以降は1次関数で表せることがわかりました。一方で威力については、調査した全領域で1次項と定数項の他に、対数項を加えた1つの式によく従うことがわかりました。

 ただし、今回得た近似式は他の条件で取られたダメージのデータには必ずしも合致せず、根気強い記録と解析が引き続き求められます。