luxのメダロットブログ

ダメージ計算検証ほか

攻撃結果の比率計算式の検証(1)

 

この記事の概要

本記事は連載記事で、メダロットSの検証およびその過程を説明しています。 取り扱う検討は攻撃結果の比率であり、先日の袴矢さん(Twitter)の記事(【メダロットS】攻撃結果の比率計算 #2 - はんまーに乾杯:以降、袴矢さんの記事)や、佐藤 功さん(Twitter)の研究レポートと相関します。

連載1本目の今回は、解析対象の選定から仮説の設定(実際には各仮説の紹介ですが)までの流れを説明します。

トルネアンチ構成において、トルネードのヒット率は重要です

hakamaya.hatenablog.com

 

この記事を書くに至った背景

袴矢さんの記事において、攻撃結果の比率の関係式をより高精度化するためにさまざまなデータがよりたくさん必要であることが書かれています。 この一連の連載記事はそれに答える予定のものです。 そして、この記事では検証過程を記すことによって、今後ほかの検証プレイヤが増えていくことを手助けするものでもあります。

このたびモデル式を公開したことで、モデルを否定もしくはその正当性を補強するようなデータがプレイヤー諸氏から寄せられることを期待する。

【メダロットS】攻撃結果の比率計算 #2 - はんまーに乾杯

新たな検証プレイヤーの登場を待っています。

【メダロットS】防御時のダメージ計算式 - はんまーに乾杯

 

解析対象の選定

概要のとおり、解析対象は攻撃結果の比率計算です。

攻撃結果は、攻撃を試みたたびに、その結果がどうだったかを示すものであり(回避、かすり、防御、ヒット、クリティカル)の5通りあります。 ゲーム中、これらがどういった確率であるかは非公開であるため、パーツの成功値や回避値をどのように評価すればよいかが分かりづらい問題があります。

この一連の連載で攻撃結果の比率の計算式を導くことで、成功値や回避値の多寡が正確に価値づけされることを期待します。

 

仮説の設定

本来は自らの仮説を設定するだけなのですが、すでにいくつかの説が提唱されているため、それらを説明するような内容になっています。

パラメータ:成功力、回避力、防御力

メダロット辞典によると、攻撃結果は成功力回避力防御力が関係するそうです。 

袴矢さんの記事では、たびたびこれらのパラメータが登場しています。 ダメージ計算におけるそれらの妥当性を鑑みるに、攻撃結果の比率計算においても同じ形の計算式を継承していると考えています。 パラメータの数値が違う可能性はありますが、それはほかのモデル内パラメータの多寡でキャンセルできるものとの考えです。 また、ダメージ計算のものと別の形の計算式を採用している余地は否定しませんが、データ計測を持って否定できることを期待しています。

成功力 = パーツ成功値 * (スキルレベル+50) / 100

媒介変数:攻撃結果確率(クリティカル率、ヒット率ほか)

ガトリングのランク5効果にはCRT率(以降、クリティカル率)+20%との記載が登場します。 またアンチエアの技効果説明によると「相手の脚部パーツが飛行脚部タイプの場合に威力、ヒット率が大幅にアップする」と記載されています。

本記事では、これらが登場して説明に矛盾なく機能するよう、"媒介変数"としてヒット率クリティカル率を提案します。 また類似の概念として回避率かすり率防御率も提案します。 それぞれが[0% 100%]の値域に従う点がポイントです。

後のモデル説明の際にも、回避率=50%、かすり率=50%、防御率=80%、ヒット率=50%、クリティカル率=10%として説明します。

また、それぞれが次のような特徴を持つ計算式を設計します。

  • 確率であることから[0% 100%]の値域に従う。 しかし[最小回避率 最大回避率]といった区間設定ができるような定数が登場する余地がある。
  • 回避力が0の場合に、回避もかすりも出ないようであることから、回避力が0の場合に回避率を0%とすることができる(分子に回避力の積が登場することを示唆)
  • 戦車タイプにメダロッター補正した際のように、回避力がわずかにありさえすれば回避やかすりが出る場合があることから、分子に成功力の差として現れるのではなく、分母に成功力の和で登場することを示唆している。

結果として、袴矢さんの記事にある計算式に近いものが、これらの要求を満たすもっとも簡便な計算式のようです。 最大(最小)回避率といったものを組み込むことが可能ですが、もっとも簡便な計算式としてこちらを示します。

回避率 =(定数A * 回避力)/(成功力 + 定数A * 回避力)

この式のポイントは「回避力→0、もしくは成功力→∞の場合に回避率→0%となること」であり、 回避力→0については現在観測できている事象に合っていそうです。 また観測はできていませんが「成功力→0、もしくは回避力が→∞の場合に回避率→100%となること」に応えられる式です。 ただ非線形関数になるのでフィッティング、関係式導出にあたっては大量のデータを求めます。

こちらの図は成功力や回避力を振った場合の回避率の傾向で、定数A=1としているものです。 定数Aを大きくすると、赤や緑の線はより急峻に変化します。

正規化攻撃結果確率モデル

先のクリティカル率+20%を説明に矛盾なく機能させるため、正規化の考えが必要になりました。 これは、攻撃結果確率のそれぞれが[0% 100%]の値域を取ることをゆるす(左図)一方で、それぞれを各確率の総和で割った(=正規化した)率を正規化確率(右図)とし、それこそがプレイヤが体感できる確率であるというものです。 もちろん、データ計測の結果で観測可能なのも正規化確率です。

ガトリングのランク5効果「クリティカル率+20%」といったバフを許す点について書きます。 詳しくは図を参照いただきたいですが、正規化前にクリティカル率は確かに20%増やす(10%→12%)余地がある一方で、正規化後に2%分の貢献があるかというと否です(0.8%しか増えていない)。 今後、この特徴をデータで計測することで、この仮説そのものを立証可能だと考えています。 同じ成功力のパーツとの比較データで証明する予定です。

一方、アンチエアの「ヒット率大幅アップ」については、図では正規化前ヒット率を倍増(50%→最大値である100%)していますが、正規化後に34.5%にしかなっていないため違和感があります。 実際には、対飛行タイプのアンチエアでは回避(かすり)が発生しないようであることから、ヒット率を増加させるだけではなく、回避率(かすり率)減の効果もあるかもしれません。 もしくはヒット率、回避率、かすり率は互いに独立ではなく、ひとつが決まると従属して決まるような変数である可能性もあります(たとえば、ヒット率とかすり率、回避率の和は100%になるようになっている、といった関係式であると言っています)。 同様に、防御率とクリティカル率も、その和が100%になるようになっている可能性もあります。 いずれにせよ、こちらは攻撃確率の比率の概論が分かってから取り掛かることにしようと思います。

最後に、成功力を振った場合の攻撃結果確率の各割合(=正規化攻撃結果確率)を示す図を貼ります。 これは袴矢さんの記事の図5の見せ方を変えたものに近く、後に示す不連続モデルとの差を確認いただくためのものです。

先勝ちモデル

私見では採用されているとは思わないものの、考えられる別のモデルとして、先勝ちモデルも提案します。 考えられはするものの推しはしない、否定しておきたいモデルです。 先勝ちモデルは抽選順の上位が下位より優位である点が問題です。

たとえば、ゲームにおいて(回避→かすり→防御→ヒット→クリティカルの順)の抽選されるよう設計されている場合について、回避抽選(当選率50%)で当選すれば回避とし、外れれば残り50%に対してかすり抽選(当選率50%)を行います(全体に占める割合は25%)。 かすり抽選に外れれば、残り25%に対して防御抽選(80%)、その残り5%に対してヒット抽選(50%)を行います。 ヒット抽選に外れればクリティカルです。

これは先の抽選順ほど全体に占める割合が大きくなるため、同じ成功力のバフでも、攻撃結果ごとに違った割合で効くことを意味します。 またある確率が100%になった場合には以降の抽選は行われません(右図3本目。ヒット率100%のため、クリティカル率は0%)。

また5つ目の攻撃結果は、ほかの4抽選の全外れの結果であり、例示した順番である場合、クリティカル率が存在しないため、いかなる条件においてもガトリングのランク5効果「クリティカル率+20%」は働きません(右図2本目、クリティカル率+20%の恩恵なく、同じクリティカル率である)。

また抽選順が逆の(クリティカル→ヒット→…)である場合は、プレイヤ体感でも「クリティカル率+20%」となり、同時にほかの発生率が減るはずです。 データ計測でもってこのモデルが支持できるかどうかわかります。

その他の例:不連続モデル

また佐藤 功さんがおっしゃるよう、確率が不連続である余地があります。 その場合のモデルはこのようになります(不連続モデル)。 先の正規化攻撃結果確率モデルとの差は、曲線でなく矩形である点です。 こうなっているかどうかは、十分に分離可能な2点について確率に有意差があるかどうかを調査することで突き止められる見込みです。

このモデルであれば、計測すべきデータ点数をある程度減らしても正確に求められそうです。

回避率 = 20%(回避力が成功力の2倍を超える場合)
    = 10%(回避力が成功力を上回る場合)
    = 5%(上記のいずれでもない場合)

各仮説モデルの違いまとめ

様々なモデルが出てきたのでおさらいです。 本記事では一番左のパラメータ、媒介変数、モデルすべてを使った仮説を推しつつ、別の組み合わせとして先勝ちモデル(順・逆順)を提案しています。 袴矢さんの記事では、本記事での言葉でいう攻撃結果確率の計算式を使って、顕在化した確率を直接求めるアプローチと理解しました。 そして佐藤 功さんのモデルは成功力、回避力、防御力の大小関係で不連続的に攻撃結果確率が求められるという説です。 他にも様々な説が登場する余地があります。 いずれにせよ、正確なデータ計測を基にモデル、確率そのものを求めていくことを狙います。

 

まとめ

連載1本目の今回は、解析対象の選定仮説の設定(実際には各仮説の紹介ですが)を説明しました。

攻撃結果の選定は「そのモデルがどのようであるか」から押さえていかねばならず、またそのためには非常に多くのデータを求めます。 次回はどの程度のデータが必要かを検討しようと思います。 極力データ数を増やさずに確かなことが言えるようであれば、実際にデータ計測していくつもりです。