対人ダメ実験

昨日の分析で、防御係数が

防御係数) = (1-(防御力)/a) / (1+(防御力)/b)

と書けるという予想が立った。そして、叩く人がLv62、叩かれる人がLv63のとき、a=2560、b=12800となるらしいことも分かった。今日は、叩かれる方のレベルを変えて
同じ実験と分析をしてみる。

実験

叩く人 62モンク
アッパー攻撃力 1057
ダメ増(人間) 15%

叩かれる人 36パラ

モンクがパラをアッパーで叩く。クリダメ増を変えながら、ダメの値の精度が最も高くなるときの値を記録する。

結果

こうなった。

物理防御 60
物理ダメ減 0%

クリダメ増 クリダメ
115% 312
180% 373

物理防御 244
物理ダメ減 0%

クリダメ増 クリダメ
160% 330
180% 346

物理防御 346
物理ダメ減 0%

クリダメ増 クリダメ
140% 299
145% 304

物理防御 436
物理ダメ減 11.9%

クリダメ増 クリダメ
95% 231
115% 245

物理防御 535
物理ダメ減 11.9%

クリダメ増 クリダメ
95% 221
140% 252

物理防御 731
物理ダメ減 11.1%

クリダメ増 クリダメ
85% 196
100% 205

物理防御950
物理ダメ減 11.1%

クリダメ増 クリダメ
130% 201
165% 220

物理防御 1133
物理ダメ減 11.1%

クリダメ増 クリダメ
85% 157
125% 178

分析

この結果から防御係数を高い精度で計算できる。実際に計算してみるとこうなる。

防御力 防御係数下限 防御係数上限
60 0.9719339821149852 0.9720737485866247
244 0.8877596420809151 0.8879991918365777
346 0.8419467608447428 0.8423997657662728
436 0.8022370817792385 0.802374008315172
535 0.7590634844447895 0.7593753501973035
731 0.6758482391744571 0.6760689283147658
950 0.5853747699966786 0.5858369337223877
1133 0.5120227629210234 0.5121576486801206

この結果をグラフに描いてみると、ほとんど直線状に並ぶけれど、微妙に直線からズレる。そこで、直線からのズレをグラフにしてみるとこうなる。f:id:ochanikki:20170531223650p:plain
そこで、関数y=(1-x/a)/(1+x/b)で上手くこの二点の間を通るようにパラメータa、bを調節してみると、a=2560、b=12800という結果が出る。実際この時、グラフはf:id:ochanikki:20170531223827p:plainこうなって、確かに二点の間をすべて通過する。期待通りの結果。2つのパラメータの調節で8個のデータを説明できたので、信憑性は高い。いい感じ。

感想

一つ意外だったのは、a,bの値。それぞれa=2560、b=12800で、これは叩かれる人が63パラの時と同じ結果。なので、このパラメータa、bは叩かれる人のレベルに依存しない可能性が出てきた。