クニペックスさんのデータの再検証

昨日の日記で、ソサの巧み(%)の2倍2倍効果が確認できたので、クニベックスさんの7月11日の測定値と比較してみる。

巧(%)以外の部分は、以前の日記で検証し、理論値と実測値が一致することが確認できている。

クニペックスさんのデータ - お茶の国 プリ日記 ロードス島 調査兵団

そこで今日は、巧(%)の出てくる部分を比較してみる。

理論値

76ソサ
知力: 12+7=19
基礎攻撃力: 50+5+26+5 = 86
スキル攻撃力上昇: 50+15+48 = 113

攻撃力増: 15%
武器習熟: 29

武器攻撃力: 16 - 18

というデータで計算してみると、こんな感じになった。

古代語 FB1 IA11 CL6 Ig7
巧%(18.2%) 1299.8 - 1305.7 1545.6 - 1552.5 1673.0 - 1680.6 3422.2 - 3437.7
巧%(18.2%)+巧(13.2) 1391.5 - 1397.4 1653.5 - 1660.4 1791.7 - 1799.3 3664.9 - 3680.4
古代語 Fz8 EJ E1 I10
巧%(18.2%) 2509.6 - 2521.0 2992.7 - 3013.4 727.7 - 731.0 1977.2 - 1986.2
巧%(18.2%)+巧(13.2) 2687.6 - 2699.0 3133.0 - 3153.6 778.9 - 782.2 2117.5 - 2126.4

実測値の比較と考察

四捨五入した値が、クニペックスさんのデータと一致する…、っと思いきや、一か所だけ違っていた。

巧%(18.2%)+巧(13.2)の時のエングロスメントで、上の理論値の779の部分が
クニペックスさんの実測値は774になっている。

これだけ多くの値がピタリと一致し、一か所だけズレているとしたら、クニペックスさんの入力ミスと考えるのが自然かなと思う。可能ならクニペックスさんに再確認してもらいたいところだけれど、既にレベルが上がってしまっているみたいなのでできなそう。残念。

調査進捗の現状報告

この辺で、これまでの調査の現状報告を。今こんな感じ。

  • ソサについては、装備から机上の計算のみで各スキルの攻撃力を計算できるようになった。
  • あとスキル倍率と職業加算値さえ調べれば、他職についても同様の計算が可能になるはず。

そうすると、どんなことが分かるかというと

「あの装備とこの装備はどちらが攻撃力高い?」という質問に答えられるようになる。

希少な武器に古代語を実際につけて比較するのはすごく困難。また、ロイドで座って比較したときは、一方が高いかもしれないけれど、BSが掛かっていたり、森が怒っていたりするともう一方の方が高いかもしれない。そういうことまで気にしだすと、机上の計算でできるメリットは大きい。

ソサの2倍2倍効果

巧み(%)

以前の日記に、EJ以外のスキルではソサの「スキル攻撃力上昇」の効果は2倍になると書いた。実はさらに、古代語の巧み(%)があるとその効果も2倍になる。

例えば、古代語巧み(%)の3.3%を付けているとき、物理職の場合

(スキル攻撃力上昇) * (1+0.033)

となるところが、ソサは

2* (スキル攻撃力上昇) * (1+2*0.033)

と2ヵ所に2倍が付く。

今日はこのことを検証してみたい。そこで、

計算式(1): (スキル攻撃力上昇) * (1+0.033)
計算式(2): 2*(スキル攻撃力上昇) * (1+0.033)
計算式(3): 2*(スキル攻撃力上昇) * (1+2*0.033)

の3通りの計算式の値と実測値を比較してみる

測定

測定に使ったのは30ソサ

知力 12 (基礎倍率1.204)
基礎攻撃力 46.5
武器習熟 +9
攻撃力上昇 59%
スキル攻撃力上昇 16
武器攻撃力 11-12

イグニッションLv9 (スキル倍率5.0)を使って確認をする。
結果はこんな感じ

古代語Lv 式(1) 式(2) 式(3) 実測
Lv1(+3.3%) 965.7 - 975.3 1065.2 - 1074.8 1071.6 - 1081.1 1072 - 1081
Lv2(+5.0%) 967.3 - 976.9 1068.5 - 1078.0 1078.1 - 1087.7 1078 - 1088
Lv3(+6.6%) 968.9 - 978.4 1071.6 - 1081.1 1084.3 - 1093.8 1084 - 1094
Lv4(+8.3%) 970.5 - 980.1 1074.8 - 1084.4 1090.8 - 1100.4 1091 - 1100

確かに計算式(3)で計算したものが実測値と一致している。

属性攻撃

この2倍2倍効果は、ソサに限らず、属性付きの魔法攻撃で共通しているのではないかと思っている。今度実際に確かめてみるつもり。

謎の加算値 (40スカ)

測定

40スカで謎の加算値を測定してみた。その結果、加算値cは

25.642437243799215 < c < 25.64300901083325

と分かった。この値はずいぶんキリの悪い値に見えるけれど、 7倍してみると

179.4970 < 7*c < 179.5010

となる。 モンクの謎の加算値が(2.6/7)*(Lv+20)だったことを合わせて考えると、
謎の加算値は7倍すると比較的キリの良い値になるという気がしてくる。

なので、 40スカの場合 c=179.5/7 と言えそう。

式を少し変える

ここで (基礎倍率)=0.7*(1+0.06*K)と書けていた。なので40スカの場合

(攻撃力) = 0.7*(1+0.06*K) * ( (基礎攻撃力) + (武器の攻撃力) + (武器習熟) + 179.5/7 )
= 0.7*(1+0.06*K) * ( (基礎攻撃力) + (武器の攻撃力) + (武器習熟) ) + 17.95 * (1+0.06*K)

という計算式になっていると思えば、7倍した時にキリの良い値になっていることにも納得がいく。
なので、いままで謎の加算値と呼んでいた値の0.7倍を考えるのがよさそう。

スカのスキル2

昨日の続き

ベノムスタブ
Lv 4 5 6 7 8 9 10 11 12 13
スキル倍率(%) 115 120 125 130 135 140 145 150 155 160
Lv 14 15 16 17
スキル倍率(%) 165 170 175 180
ショックスタブ
Lv 1 2 3 4 5 6 7
スキル倍率(%) 135 135 135 150 165 180 195
スキル加算値 3 10 15 20 25 30 35
スタブアンドスラッシュ
Lv 1 2 3 4 5 6 7 8 9 10
スキル倍率(%) 50 55 60 65 75 85 95 105 115 125
スキル加算値 5 7 9 11 15 19 23 27 31 35
Lv 11 12 13 14 15 16 17 18
スキル倍率(%) 135 145 155 165 175 185 195 205
スキル加算値 39 43 47 51 55 59 63 67
ベノムスラッシュ
Lv 2 3 4 5 6 7 8 9 10 11
スキル倍率(%) 160 180 200 220 240 260 280 300 320 340
Lv 12 13
スキル倍率(%) 360 380
インパクトスタブ
Lv 1 2 3 4 5 6 7 8 9 10
スキル倍率(%) 180 200 220 250 280 310 340 370 400 430
スキル加算値 9 11 13 17 21 25 29 33 37 41
Lv 11 12
スキル倍率(%) 460 490
スキル加算値 45 49
シャドウスタブ
Lv 4 5 6 7 8 9 10 11 12 13
スキル倍率(%) 180 195 210 225 240 255 270 285 300 315
スキル加算値 8 11 14 17 20 23 26 29 32 35
Lv 14 15 16 17
スキル倍率(%) 330 345 360 375
スキル加算値 38 41 44 47
ベノムストライク
Lv 1 2 3 4 5 6 7 8
スキル倍率(%) 150 165 180 195 210 225 240 255
フィニッシュスタブ
Lv 1 2 3 4 5 6 7 8 9 10
スキル倍率(%) 500 550 600 650 700 750 800 850 900 950

スカのスキル

謎の加算値は、職によって違うらしいことが分かってきた。
ソサとモンクの加算値は分かったので、他職の加算値を測定してみたい。

ただし、そのためにはまずスキル倍率を調べておく必要がある。そこで、今日はスカのスキル倍率を調べてみる。たくさんあるので2回に分けて。
スキル倍率は百分率表示

スタブ
Lv 13 14 15 16 17 18 19 20 21 22
スキル倍率(%) 195 200 205 210 215 220 225 230 235 240
スキル加算値 14 15 16 17 18 19 20 21 22 23
Lv 23 24 25 26 27 28 29 30 31 32
スキル倍率(%) 245 250 255 260 265 270 275 280 285 290
スキル加算値 24 25 26 27 28 29 30 31 32 33
Lv 33 34 35 36 37 38 39
スキル倍率(%) 295 300 305 310 315 320 325
スキル加算値 34 35 36 37 38 39 40
ヒールスウィーブ
Lv 1 2 3 4 5 6 7 8
スキル倍率(%) 200 220 240 260 280 300 320 340

スキル加算値は無し

ベノムクラッシュ
Lv 3 4 5 6 7 8 9 10 11
スキル倍率(%) 200 215 230 245 260 275 290 305 320

スキル加算値は無し

ピアッシング
Lv 1 2 3 4 5 6 7 8 9 10
スキル倍率(%) 125 130 135 140 145 150 155 160 165 170
Lv 11 12
スキル倍率(%) 175 180

スキル加算値は無し

ラッシュ
Lv 1 2 3 4 5 6 7 8
スキル倍率(%) 250 260 270 280 290 300 310 320

スキル加算値は無し

サプライズアタック
Lv 1 2 3 4 5 6 7 8 9
スキル倍率(%) 250 300 350 400 450 500 550 600 650

スキル加算値は無し

謎の加算値(70モンク)

70モンクの謎の加算値を測定してみる。昨日の予想が正しければ、

(2.6/7)*(70+20)=33.42857142857143

になるはず。

測定

70モンク
筋力: 11
基礎攻撃力: 71
武器習熟: 25
スキル攻撃力上昇: 55

武器攻撃力 指輪 攻撃力増 スキル倍率 実測値
48 0 25 4 1287
49 11 65 3.45 1473

この結果から、謎の加算値cは
33.428571 < c < 33.428597
と言える。昨日の予想通り。

一応61になっても確認する予定だけれど、モンクの謎の加算値は
(2.6/7)*(Lv+20)と言って間違いなさそう。

いい加減な丸め処理

昨日の日記で、ロードスの丸め処理がかなりいい加減なことが分かった。厳密なプログラムとしては決して許されないけれど、ゲームプログラムとしては許容範囲なのかもしれない。実は、いままでの様々な調査は、丸め処理が正しく行われているという前提で行われてきた。なので、これまでの調査結果を解釈し直さなければならない。この辺のことを整理してみる。

これまでの考察

謎の加算値を探るためのこれまでの考察は、全て「丸め処理が正しく行われている」という前提に基づいていた。今回、この前提が崩れてしまった。

今後は単精度浮動小数点の制約の中で考えなければいけない。wikipediaによると、単精度の浮動小数点はおおよそ7桁くらいしか有効数字がないらしい。となると、

ロードス内部で行われている計算の有効数字は7桁程度と考えた方が良い

という教訓が得られる。また、桁落ちが生じる計算については、これよりさらに有効数字が落ちる可能性がある。

モンクの謎の加算値

例えば、モンクの謎の加算値について、これまでこんな結論が得られていた。

65 31.5714
66 31.9424 +0.3710
67 32.3142 +0.3718
68 32.6857 +0.3715
69 33.0570 +0.3713

この値の最後の桁は、(桁落ちによって)信頼性がほとんどない値になっている可能性が高い。そして、むしろその方が自然な解釈が可能になる。

もし、最後の桁が本当に正しいなら、謎の加算値はレベルの一次関数ではないことになる。しかし、逆に最後の桁の信憑性が怪しいなら、謎の加算値がレベルの一次関数である可能性が出てくるし、そうであるほうがゲーム設計的に自然。

仮に、最後の一桁の信憑性が低いとすると、モンクの謎の加算値を表す式として

(2.6/7)*(Lv+20)

というものが有力候補に挙がる。実際に比較してみるとこんな感じ

Lv 測定値 (2.6/7)*(Lv+20)
65 31.5714 31.571428
66 31.9424 31.942857
67 32.3142 32.314285
68 32.6857 32.685714
69 33.0570 33.057142

確かに2ヵ所程値が外れてしまっているけれど、最後の桁の信憑性が低いと思えば、大まかには合っている。許容範囲。
そこで、この式に基づいて、Lv=70, 71での謎の加算値を計算してみると

Lv (2.6/7)*(Lv+20)
70 33.4285714
71 33.8

となる。特に、Lv=71の時は、キリの良い値になると予想できる。もし、これら予想が当たっていたら、謎の加算値の数式は(2.6/7)*(Lv+20)で確定したと言ってよさそう。その場合、「謎の加算値」とは呼ぶのはもはや相応しくないので、例えば「職業加算値」とでも呼ぶことにした方が良さそう。

ここで7で割っているのが唐突で不自然に見えるかもしれないけれど、実はそんなことはない。その辺のことはまた後書く予定。