補足その3:風来のシレン(SFC版)のダメージ計算について

トルネコの大冒険のダメージ計算式を、続編である「不思議のダンジョン2 風来のシレン」に適用し比較してみました。すべてを比較するのは作業量が多すぎてトルネコページとして扱える範囲を越えているので、ここではシレンがモンスターから受けるダメージのみに対象を絞って、その分布範囲と防御力による変化について検証してみたいと思います。

まずおさらいから。トルネコがモンスターから受けるダメージの計算式を簡単にまとめると、次のようになります。

より厳密に書くと、

  1. 攻撃力に143(112)をかける
  2. 15/16をかけて端数を切り上げる、という工程を防御力の回数分だけ繰り返す
  3. 128で割って端数を切り捨てる

という計算手順で最大値(最小値)が算出されます。

さて、シレンにおけるデータ収集をどのように行うかですが、とりあえず「最大値と最小値が存在する」はシレンでも同様だと信じてデータを集めてみることにします。敵の攻撃を受けながら盾の強さを変えていって、それぞれの盾に対するダメージの最大値と最小値だけを記録するわけです。

シレンには便利なアイテムが色々と登場するので、トルネコに比べてかなり楽に系統的な調査が行えます。具体的には以下のような手順で行いました。まず前準備として、倉庫に次のものを揃えて風来日記をコピーしておきます。

復活の草は必ず必要というわけではありませんが、あると作業が劇的に楽になります。あとは以下の手順の繰り返しです。

  1. モンスターの肉、盾、そして復活の草を持てるだけ持つ
  2. 盾を装備し、肉を適当な人にぶつける
  3. ひたすら攻撃を受けて記録する
  4. 復活の草が切れたら中断し、元の風来日記を写して繰り返す
  5. 十分な回数繰り返したら、元の風来日記で地の恵みの巻物を分裂させて盾の強さを変える
  6. 以下繰り返し

モンスターの肉としては、正面ファイターのものを使いました。トルネコでの調査では素の攻撃力が最大であるドラゴンの攻撃を受けてデータを収集したのですが、同様にシレンでも最大クラスの攻撃力を持つモンスターを選ぶことでより精度の高いデータが得られるからです。

繰り返しの回数は50回を一つの目安にしました。その時々の判断や気まぐれで回数を増やしたケースもありますが、50回を下回ることはないようにしました。トルネコの場合だと、ダメージが大きい場合に特定のダメージ値が出る確率は1/32になるので、最小値と最大値を正確に調べるには最低でもこの程度の試行回数は必要になります。結果は次のようになりました。

表: 正面ファイターに受けたダメージの観測範囲
盾の強さ試行回数最小値最大値
0 250 223 255
1 200 209 255
2 52 196 250
3 50 183 234
4 50 172 220
5 51 161 206
6 50 151 193
7 86 142 181
8 66 133 170
9 50 124 159
10 76 117 149
11 50 109 140
12 50 102 131
13 100 96 123
14 100 90 115
15 50 84 108
16 54 79 101
17 90 74 95
18 50 69 89
19 80 65 83
20 50 61 78
25 50 44 56
30 50 32 41
35 50 23 29
40 50 16 21
45 50 12 15
50 50 8 11
60 50 4 5
70 50 2 3
80 50 1 1
88 50 0 1
89 50 0 0

図1
図1:正面ファイターに受けたダメージの範囲。横軸が盾の強さ、縦軸がダメージ、四角が最小値から最大値までの範囲。曲線はトルネコの計算式による攻撃力255での予想値を示す。

図2
図2:盾の強さが0の時のダメージ分布

図3
図3:盾の強さが1の時のダメージ分布

受けたダメージの範囲を四角で図示し、そこにトルネコのダメージ計算式を使って攻撃力255の場合に予想される曲線を重ねてみたのが図1です。予想値の算出はトルネコ用のプログラムをそのまま使って行いました(レベル・武器・力の効果については、たぶんシレンではこのプログラムは当てはまりません)。ご覧のように、きれいに合っているのがわかります。最小値・最大値ともに、丸め誤差も含めてトルネコの計算式による予想値と全く同じ数値が得られました。

更に、盾の強さが0の時と1の時については、ダメージ分布も記録してみました(図2、図3)。試行回数がそれほど多くないので各ダメージの出現率についてはあまり多くのことが言えませんが、それでもかなりのことがわかります。計算の詳細説明は省きますが、櫛の歯状に隙間のあいた分布になる点、出現するダメージとしないダメージの値、そしてダメージ255の出る確率がそれぞれ1/2(期待値は125回)と7/32(期待値は43.75回)になる点など、トルネコの計算式を使った予想と完全な一致を示すことが確認できました。ここまで良く合うところを見ると、計算部分のプログラムはすべてが新しく書き下ろされたわけではなく、トルネコで使われたものの一部がそのまま流用されているのかもしれません。同じスーパーファミコンならではですね。


結論


トップ > ゲームの話 > トルネコの大冒険 > 補足その3:風来のシレン(SFC版)のダメージ計算について