FF4 ダメージ公式の導出

レアアイテム狩りである特定モンスターを虐殺してると、ダメージの末尾の桁が常に0か5になってることがありました。これならダメージ公式がわりとすぐに求まりそうかなあと思い立ってはじめてみることにしました。

まだ結果は出てないんですが^^;しかも本腰入れてやってないと言う状態で。(集中して取り組めば終わることをいつまでもダラダラやるのは、このサイトおよび管理人のの特色であります)
とりあえず、進行状況を随時書いていくということにします。目標は短期集中連載。

■■■■■ とりあえずデータを取ってみる ■■■■■

冒頭で書いたダメージ末尾が0と5だったのは、ダークグラネイドVSリディアのときでした。リディアのステータス(一部)とダメージの生データを以下に示します。

リディア レベル99 竜のひげ、アダマンアーマー、リボン、クリスタルリング
攻撃 15回 99%,攻撃力97
力/すばやさ/体力/知性/精神:74/86/58/99/91

ダークグラネイド
回避 4回 45%,防御力4 (NTT出版攻略本より)

リディア(後列)がダークグラネイドに与えたダメージ:データ数151
1875 1650 1395 1800 1455 1635 1650 1470 1485 2055 1710 1605 1560 1410 2040 1485 1725 1935 1410 1905 2115 1515 1755 1950 2070 1635 1470 1905 1785 1515 1560 1740 1740 1845 1815 1845 1515 1800 1815 1920 1560 1455 1920 1800 1575 1890 1815 1590 2070 1575 1470 2010 1530 1755 1440 1695 2010 1560 1515 1905 1425 1965 1500 1695 1785 1650 1785 2010 1890 1710 1920 1710 1620 1635 1875 1770 1635 1500 2040 2085 1515 1875 1800 1965 1920 1740 1575 1620 1740 1635 1875 1590 1845 1530 2070 1770 1635 1995 1410 1590 2085 1545 1920 2070 1515 1770 2100 1680 1845 1770 1770 1770 1575 1410 1890 1485 1620 1650 1950 1680 2100 1875 2115 1445 2070 1515 1470 1755 1485 1875 2040 2055 2100 2010 1875 1800 1395 1635 1875 1920 2055 1935 1485 2070 1995 1920 1800 2010 1620 2040 1470

■■■■■ とりあえず、何がわかるか ■■■■■

このデータをざーっと眺めながら思ったことは、

 ●ダメージ値の最小間隔が15
 ●1500という値があるので、ダメージは全て15の倍数である

の2点でした。リディアのパラメータで15に関係しそうなものとして、攻撃回数「15回」がまず目に付きました。ヒット1回あたりのダメージを出して、ヒット回数倍して総ダメージを算出するという単純なモデルを考えるならば、毎回15回ヒットを確実にしていることになります。

ここで問題になるのが命中判定の方法です。TRPGの経験から、命中判定のやり方として思い当たるのが、

 ●攻撃側の命中判定と回避側の回避判定を独立して行い、何回命中したうちの何回を回避した、という結果を算出する場合。

 ●攻撃側の命中率に回避側の回避率に応じた修正を施したのち、修正後の命中確率による判定を行う場合

の二つがあります。

★★前者の場合★★
 リディアの命中率は99%ですが、15回の命中判定が必ずしも15回成功するとはいえません。期待値は14.7(下記参照)で、15回ヒットする確率は85%程度であることがわかります。

一方ダークグラネイドの回避判定ですが、回避率45%の判定を4回することになります。このときの期待値を下のように計算してやると、ほぼ2回、成功することがわかります。

ということは、15-2=13回命中するイベントがもっとも多く現れ、回避の成功回数によって11〜15回ヒットのイベントが分布するはずですが、データはその要求にこたえてくれていません。したがってこのモデルではないと思われます。

★★後者の場合★★
151回の試行において、全てが15回ヒットしているので、補正後の命中確率も99%以上であることが想定されます。リディアの命中率が実際には100%以上あるのかどうか(あったとしても計算上100%以上の数値が使われてるかどうか)を確認しなければいけません。

■■■■■ ちょっとその前に ■■■■■

乱数による割り振りっぷりの考察はあとになると思いますが、一応先にチラッと見ておくことにします。先のダメージデータを最大公倍数15で割ったものをダメージ算出のパラメータと言うことにして、累積ヒストグラムにした図を示しておきます。

はっきり言って、サンプルが少ないのでなんとも言えませんでした(笑)周期性があるのかないのか、均等に振られているのかどうか、微妙です。正規分布ではなさそうな気がしますが、なんとも言えません。もっとデータが必要ですね。

もうひとつ。
そもそも最大公約数の15は本当に攻撃回数の15なのか、という点があります。そこで、ダークグラネイドVSセシルのデータを取ってみました。

セシル レベル99 ラグナロク クリスタルの盾、メイル、ヘルム、小手
攻撃16回 99%,248
力/すばやさ/体力/知性/精神:99/60/99/42/88

        ダメージデータ(データ数129)

すると、全てのダメージ値が16の倍数になっていました。が、しかし、ローザが弓で狙った場合(100%命中)やエッジは攻撃回数の倍数にはなっていませんでした。困った(笑)ちょっとこういう特殊な場合は後で考えることにします。

エッジの場合の予想として、ステータス画面に表示される攻撃回数(hとする)は左右の和になっているはずで、右と左で攻撃回数が違う場合(右がa回、左がb回とする)で、右と左でダメージパラメータが異なるので、左右の合計ダメージ(dとする)は必ずしも左右の攻撃回数の和の倍数にはならないのではないか、と思われる。

左右のパラメータnとmが異なるのは乱数によるものではないか、と想像しています。が、まだ想像でしかありません。

■■■■■ これから調べる必要のあること ■■■■■

一旦整理します。まず、ダメージの基本単位が攻撃回数であるのかどうかを確立する必要があるでしょう。他の敵や、異なるヒット回数(レベル)のデータを利用してそのときのダメージ値の振る舞いを調べることにします。また並行して乱数による振り分けの様子の統計も取っていきます。その後、装備品によって力等の各種パラメータを変動させてダメージの挙動を調べます。うーん、結構先は長そうだ・・・その先にはジャンプ、二刀流、弓矢、弱点等々細かいシチュエーションがイロイロあるし。

結論−−→データ不足

1ページ 前のページ 上の階層 次のページ 最後のページ