ダメージ計算式の調査手順 - roratorio-hub/ratorio GitHub Wiki

はじめに

現在、スキルのダメージ実測サンプルを利用者の方から広く募集していますが
せっかくお寄せ頂いた情報をうまく活用出来ていないケースがあります。
これは、開発側でやりたい事を利用者の皆さんにちゃんとお伝え出来ていない事が原因ですので
厚意を無にしないようにこのページでしっかりご説明しておきたいと思います。

スキルのダメージ計算式を導き出す手順は以下の通りです。

  1. スキルの計算式を仮置きする
  2. 素のダメージを確認する
  3. スキルのダメージを確認する
  4. 素のダメージがスキルのダメージになる様に計算式を修正する
  5. キャラクターのステータスを少し変更して手順2から繰り返す

このサイクルを繰り返した結果の計算式をいただけると最高ですがハードルが高すぎるので
利用者の皆さんから「2 素のダメージ, 3 スキルのダメージ」のデータを頂いて
他の作業は開発側で行うという分担を目指したいと考えています。

1. スキルの計算式を仮置きする

公式ツール を参照して計算式を仮置きします。
例としてアックスストンプのスキルデータを確認すると
「使用者の BaseLv と Pow に影響を受ける」
とありますのでシンプルに次の式を立ててみます。

最終ダメージ = 基礎ダメージ × (スキル倍率 + Pow補正) × (BaseLv ÷ 100)

image

2. 素のダメージを確認する

4次職のスキルの殆ど(あるいは全て)は素のダメージに所定の倍率を掛けて算出されていますので、
物理スキルの場合は通常攻撃のダメージを、
魔法スキルの場合は属性ボルト1発あたりのダメージを、
それぞれ確認します。

素ダメージが確認出来たらそのときの
ステータス、習得済みスキル構成、バフの状態、そして装備を記録してください。
この状態をベースラインとしてパラメータを少しずつ変化させながら計算式を探っていくことになります。

image

このときに注意したいのは「ダメージのブレを極力小さくすること」です。
過剰精錬された武器を使うとDexを上げても抑えられないブレが生じますので
ダメージを実測する際は安全精錬圏内の武器を使う必要があります。

また、安全精錬圏内でも武器Atk/Matkが大きいものは
ダメージを収束させるための要求Dexが高くなりますので
なるべくAtk/Matkが低い武器の方が望ましいです。
その観点からは基礎攻撃力が高いグレネードなどのスキルは難易度が高いと言えます。

マキシマイズパワーやリコグナイズドスペルを使えば
Dex不足によるダメージのブレは抑える事が出来ますので
もし可能であれば使用を検討して下さい。

BS系以外でマキシマイズパワーを使う方法

WL系以外でリコグナイズドスペルを使う方法

  • ありません

3. スキルのダメージを確認する

つぎにスキルのダメージを計測してください。
一部の4次スキルにはクリティカルが乗ることがあるためクリティカル発生の有無に注意してください。

image

4. 素のダメージがスキルのダメージになる様に計算式を修正する

仮置きした式に素殴りのダメージ 743 を代入したところ最終ダメージは 112,787 となります。
実測値は 116,546 なので計算式を修正する必要があります。

image

Pow補正値に 230 を代入したところ実測値と計算結果が一致しました。
ゲーム内の Pow は 10 なので Pow 補正値の係数は 23 であると推定されます。

image

念の為、装備やバフによってPowを変動させてみたり別のスキルLvでダメージの推移を見ながら
ゲーム内の数値と計算結果に誤差が無いかを確認します。
最終的に以下の計算式が特定されました。

最終ダメージ = 基礎ダメージ × (スキル倍率 + 23 × Pow) × (BaseLv ÷ 100)

この例ではダメージ計算式が非常にシンプルですぐに結論に至りましたが
蜃気楼・不知火やハイパーノービスのように変数が多いスキルの場合は
パラメータを少しずつ更新しながら式を特定することもあります。

例:シールドチェーンラッシュの場合

最終ダメージ = 基礎ダメージ 
       × (
         (スキル倍率 + 3 × 使用スキルLv × 習得済み戦闘学Lv) × サイズ補正 + 3 × Pow
        ) 
       × (BaseLv ÷ 100) 
       × 戦闘学補正 
       × ブレイキングリミット補正