NO$PSXを用いた解析によって、初期エンカウント歩数分布の推測が誤っていたことがわかった。256 * (10 + [0,39] + [0,39])
ではなく、正しくは256 * (10 + [0,33] + [0,45])
。全体的にちょこまかと修正。
プロットし直した累積減算値~51200のグラフを前のと比べるとわかるように、実用上はほぼ問題なかったとは思うが。ていうか数字が半端だし推量で当てるのは無理だよこれ。
基本的な流れはSFCDQ3と一緒。
エンカウント歩数の初期値は、
256 * (10 + [0,33] + [0,45]) // [a,b]はa以上b以下の一様な整数の乱数
である(統計サンプル4000の分布から推測)。
エンカウント歩数がリセットされるタイミングは、
減算値はタイルエンカウント別に設定されており、ダンジョンではそのまま使用され(一部例外あり)、フィールドでは移動先の地形の係数が減算値に掛かる。
地形 | 草原 | 茂み | 砂地 | 森林 | 毒沼 | 山地 |
---|---|---|---|---|---|---|
係数 | 1 | 1.5 | 1.8 | 2.5 |
魔法の絨毯と神の石に乗っている最中は減算されない。忍び足状態では減算値に3/4が掛かる。計算は全て小数点以下切り捨て。
現在地のタイルエンカウントに対応したエンカウントが発生する。
RTAでとるべき移動経路に影響を与えそうな仕様なので、エンカ域の境界を一通り調べておいた。
ちなみにトヘロス・聖水・忍び足は128歩で切れる。切れる前に使用し直すと、また128歩持続するようになる。それ以上は特に調べてません。
「初期エンカウント歩数の確率分布」と「ある移動区間のエンカウント歩数減算値の合計」がわかれば、「その区間で1回以上エンカウントする確率」を求められる。例えば歩数減算値合計が10000の場合、9984〜10239の範囲に入るから29.73%とわかる。減算値合計が2560未満なら0%、22528以上は100%となる。
今のところ減算値合計を調べる手段はエミュレータによるメモリ確認くらいしかない。
初期歩数/256 | 初期歩数 | 確率 | 累積確率 | 対応する減算値合計 |
---|---|---|---|---|
10 | 2560 | 0.0639% | 0.06% | 2560〜2815 |
11 | 2816 | 0.1279% | 0.19% | 2816〜3071 |
12 | 3072 | 0.1918% | 0.38% | 3072〜3327 |
13 | 3328 | 0.2558% | 0.64% | 3328〜3583 |
14 | 3584 | 0.3197% | 0.96% | 3584〜3839 |
15 | 3840 | 0.3836% | 1.34% | 3840〜4095 |
16 | 4096 | 0.4476% | 1.79% | 4096〜4351 |
17 | 4352 | 0.5115% | 2.30% | 4352〜4607 |
18 | 4608 | 0.5754% | 2.88% | 4608〜4863 |
19 | 4864 | 0.6394% | 3.52% | 4864〜5119 |
20 | 5120 | 0.7033% | 4.22% | 5120〜5375 |
21 | 5376 | 0.7673% | 4.99% | 5376〜5631 |
22 | 5632 | 0.8312% | 5.82% | 5632〜5887 |
23 | 5888 | 0.8951% | 6.71% | 5888〜6143 |
24 | 6144 | 0.9591% | 7.67% | 6144〜6399 |
25 | 6400 | 1.0230% | 8.70% | 6400〜6655 |
26 | 6656 | 1.0870% | 9.78% | 6656〜6911 |
27 | 6912 | 1.1509% | 10.93% | 6912〜7167 |
28 | 7168 | 1.2148% | 12.15% | 7168〜7423 |
29 | 7424 | 1.2788% | 13.43% | 7424〜7679 |
30 | 7680 | 1.3427% | 14.77% | 7680〜7935 |
31 | 7936 | 1.4066% | 16.18% | 7936〜8191 |
32 | 8192 | 1.4706% | 17.65% | 8192〜8447 |
33 | 8448 | 1.5345% | 19.18% | 8448〜8703 |
34 | 8704 | 1.5985% | 20.78% | 8704〜8959 |
35 | 8960 | 1.6624% | 22.44% | 8960〜9215 |
36 | 9216 | 1.7263% | 24.17% | 9216〜9471 |
37 | 9472 | 1.7903% | 25.96% | 9472〜9727 |
38 | 9728 | 1.8542% | 27.81% | 9728〜9983 |
39 | 9984 | 1.9182% | 29.73% | 9984〜10239 |
40 | 10240 | 1.9821% | 31.71% | 10240〜10495 |
41 | 10496 | 2.0460% | 33.76% | 10496〜10751 |
42 | 10752 | 2.1100% | 35.87% | 10752〜11007 |
43 | 11008 | 2.1739% | 38.04% | 11008〜11263 |
44 | 11264 | 2.1739% | 40.22% | 11264〜11519 |
45 | 11520 | 2.1739% | 42.39% | 11520〜11775 |
46 | 11776 | 2.1739% | 44.57% | 11776〜12031 |
47 | 12032 | 2.1739% | 46.74% | 12032〜12287 |
48 | 12288 | 2.1739% | 48.91% | 12288〜12543 |
49 | 12544 | 2.1739% | 51.09% | 12544〜12799 |
50 | 12800 | 2.1739% | 53.26% | 12800〜13055 |
51 | 13056 | 2.1739% | 55.43% | 13056〜13311 |
52 | 13312 | 2.1739% | 57.61% | 13312〜13567 |
53 | 13568 | 2.1739% | 59.78% | 13568〜13823 |
54 | 13824 | 2.1739% | 61.96% | 13824〜14079 |
55 | 14080 | 2.1739% | 64.13% | 14080〜14335 |
56 | 14336 | 2.1100% | 66.24% | 14336〜14591 |
57 | 14592 | 2.0460% | 68.29% | 14592〜14847 |
58 | 14848 | 1.9821% | 70.27% | 14848〜15103 |
59 | 15104 | 1.9182% | 72.19% | 15104〜15359 |
60 | 15360 | 1.8542% | 74.04% | 15360〜15615 |
61 | 15616 | 1.7903% | 75.83% | 15616〜15871 |
62 | 15872 | 1.7263% | 77.56% | 15872〜16127 |
63 | 16128 | 1.6624% | 79.22% | 16128〜16383 |
64 | 16384 | 1.5985% | 80.82% | 16384〜16639 |
65 | 16640 | 1.5345% | 82.35% | 16640〜16895 |
66 | 16896 | 1.4706% | 83.82% | 16896〜17151 |
67 | 17152 | 1.4066% | 85.23% | 17152〜17407 |
68 | 17408 | 1.3427% | 86.57% | 17408〜17663 |
69 | 17664 | 1.2788% | 87.85% | 17664〜17919 |
70 | 17920 | 1.2148% | 89.07% | 17920〜18175 |
71 | 18176 | 1.1509% | 90.22% | 18176〜18431 |
72 | 18432 | 1.0870% | 91.30% | 18432〜18687 |
73 | 18688 | 1.0230% | 92.33% | 18688〜18943 |
74 | 18944 | 0.9591% | 93.29% | 18944〜19199 |
75 | 19200 | 0.8951% | 94.18% | 19200〜19455 |
76 | 19456 | 0.8312% | 95.01% | 19456〜19711 |
77 | 19712 | 0.7673% | 95.78% | 19712〜19967 |
78 | 19968 | 0.7033% | 96.48% | 19968〜20223 |
79 | 20224 | 0.6394% | 97.12% | 20224〜20479 |
80 | 20480 | 0.5754% | 97.70% | 20480〜20735 |
81 | 20736 | 0.5115% | 98.21% | 20736〜20991 |
82 | 20992 | 0.4476% | 98.66% | 20992〜21247 |
83 | 21248 | 0.3836% | 99.04% | 21248〜21503 |
84 | 21504 | 0.3197% | 99.36% | 21504〜21759 |
85 | 21760 | 0.2558% | 99.62% | 21760〜22015 |
86 | 22016 | 0.1918% | 99.81% | 22016〜22271 |
87 | 22272 | 0.1279% | 99.94% | 22272〜22527 |
88 | 22528 | 0.0639% | 100.00% | 22528〜 |
累積減算値0から51200まで256ごとに、エンカ数を計算するシミュレータを100万回ずつ走らせたデータをプロット。クリックすると元のサイズで見れます。
※実際は、1歩当たりの減算値が256未満だとこれよりエンカ数が多く、256超過だと逆に少なくなる傾向がある(が、RTAの歩き方の参考にする分には影響は皆無だろう)。