PS版DQ7 エンカウントシステム調査

2014/12/20

NO$PSXを用いた解析によって、初期エンカウント歩数分布の推測が誤っていたことがわかった。256 * (10 + [0,39] + [0,39])ではなく、正しくは256 * (10 + [0,33] + [0,45])。全体的にちょこまかと修正。

プロットし直した累積減算値~51200のグラフ前のと比べるとわかるように、実用上はほぼ問題なかったとは思うが。ていうか数字が半端だし推量で当てるのは無理だよこれ。


エンカウント発生までの流れ

基本的な流れはSFCDQ3と一緒。

1. エンカウント歩数を設定する

エンカウント歩数の初期値は、

256 * (10 + [0,33] + [0,45]) // [a,b]はa以上b以下の一様な整数の乱数

である(統計サンプル4000の分布から推測)。

エンカウント歩数がリセットされるタイミングは、

フロア切り替え時
いわゆるエンカリセのこと。
ランダムエンカウント終了時
イベント戦ではリセットされない。からくり兵(特)、デスマ連戦、ピグモンエビル(特)、エンタシスマン、ヘルバオムのねっこ、ガマデウス、ネンガルで確認。
フィールド上でエンカウント域の境界を跨いだとき
例えば過去フォロッドの旅の扉の少し下のラインを跨ぐように上下に往復移動すると、エンカウントが発生することなく延々歩き続けられる。これは、そのラインを境界として上のエンカウント域が過去フォロッドA、下が過去フォロッドCであり、このエンカウント域の境界を跨ぐたびにエンカウント歩数がリセットされるためである。

魔法の絨毯や神の石で移動中にエンカウント域が変わった場合もエンカウント歩数がリセットされる。エンカウント域の境界は海上にも存在する。これは乗船時のエンカウント域とは別のもの(ややこしい)。

2. 1歩ごとにエンカウント歩数から一定の値を減算する

減算値はタイルエンカウント別に設定されており、ダンジョンではそのまま使用され(一部例外あり)、フィールドでは移動先の地形の係数が減算値に掛かる。

地形草原茂み砂地森林毒沼山地
係数11.51.82.5

魔法の絨毯と神の石に乗っている最中は減算されない。忍び足状態では減算値に3/4が掛かる。計算は全て小数点以下切り捨て。

3. エンカウント歩数が0以下になると同時にエンカウントが発生する

現在地のタイルエンカウントに対応したエンカウントが発生する。

エンカ域跨ぎについて

RTAでとるべき移動経路に影響を与えそうな仕様なので、エンカ域の境界を一通り調べておいた

いろいろ

タイルエンカウントの地域と減算値一覧、1エンカ以上率計算機
統計とはいったい
エンカ率計算のLOOKUP指定範囲を修正(2014/07/05)
タイルエンカウントNo.148~152の名前を変更(2014/07/06)
初期エンカ歩数の分布を修正(2014/12/20)
平均エンカ数計算機
移動区間のサンプルを指定or累積減算値を直接入力。
サンプルはコーナリングを結構厳しくついた動きをしているので実際はエンカ域を跨ぐときなど多少余裕をもって移動すべき。
初期エンカ歩数の分布を修正(2014/12/20)
MECC用ゲームデータ・ゲームコード
歩数・エンカウント歩数調査用
フィールド移動中の減算値推移調査用のコード追加など(2014/07/06)
エンカ域の境界一覧
なんとなくzip

ちなみにトヘロス・聖水・忍び足は128歩で切れる。切れる前に使用し直すと、また128歩持続するようになる。それ以上は特に調べてません。

エンカウント率の計算?

「初期エンカウント歩数の確率分布」と「ある移動区間のエンカウント歩数減算値の合計」がわかれば、「その区間で1回以上エンカウントする確率」を求められる。例えば歩数減算値合計が10000の場合、9984〜10239の範囲に入るから29.73%とわかる。減算値合計が2560未満なら0%、22528以上は100%となる。

今のところ減算値合計を調べる手段はエミュレータによるメモリ確認くらいしかない。

初期歩数/256初期歩数確率累積確率対応する減算値合計
1025600.0639%0.06%2560〜2815
1128160.1279%0.19%2816〜3071
1230720.1918%0.38%3072〜3327
1333280.2558%0.64%3328〜3583
1435840.3197%0.96%3584〜3839
1538400.3836%1.34%3840〜4095
1640960.4476%1.79%4096〜4351
1743520.5115%2.30%4352〜4607
1846080.5754%2.88%4608〜4863
1948640.6394%3.52%4864〜5119
2051200.7033%4.22%5120〜5375
2153760.7673%4.99%5376〜5631
2256320.8312%5.82%5632〜5887
2358880.8951%6.71%5888〜6143
2461440.9591%7.67%6144〜6399
2564001.0230%8.70%6400〜6655
2666561.0870%9.78%6656〜6911
2769121.1509%10.93%6912〜7167
2871681.2148%12.15%7168〜7423
2974241.2788%13.43%7424〜7679
3076801.3427%14.77%7680〜7935
3179361.4066%16.18%7936〜8191
3281921.4706%17.65%8192〜8447
3384481.5345%19.18%8448〜8703
3487041.5985%20.78%8704〜8959
3589601.6624%22.44%8960〜9215
3692161.7263%24.17%9216〜9471
3794721.7903%25.96%9472〜9727
3897281.8542%27.81%9728〜9983
3999841.9182%29.73%9984〜10239
40102401.9821%31.71%10240〜10495
41104962.0460%33.76%10496〜10751
42107522.1100%35.87%10752〜11007
43110082.1739%38.04%11008〜11263
44112642.1739%40.22%11264〜11519
45115202.1739%42.39%11520〜11775
46117762.1739%44.57%11776〜12031
47120322.1739%46.74%12032〜12287
48122882.1739%48.91%12288〜12543
49125442.1739%51.09%12544〜12799
50128002.1739%53.26%12800〜13055
51130562.1739%55.43%13056〜13311
52133122.1739%57.61%13312〜13567
53135682.1739%59.78%13568〜13823
54138242.1739%61.96%13824〜14079
55140802.1739%64.13%14080〜14335
56143362.1100%66.24%14336〜14591
57145922.0460%68.29%14592〜14847
58148481.9821%70.27%14848〜15103
59151041.9182%72.19%15104〜15359
60153601.8542%74.04%15360〜15615
61156161.7903%75.83%15616〜15871
62158721.7263%77.56%15872〜16127
63161281.6624%79.22%16128〜16383
64163841.5985%80.82%16384〜16639
65166401.5345%82.35%16640〜16895
66168961.4706%83.82%16896〜17151
67171521.4066%85.23%17152〜17407
68174081.3427%86.57%17408〜17663
69176641.2788%87.85%17664〜17919
70179201.2148%89.07%17920〜18175
71181761.1509%90.22%18176〜18431
72184321.0870%91.30%18432〜18687
73186881.0230%92.33%18688〜18943
74189440.9591%93.29%18944〜19199
75192000.8951%94.18%19200〜19455
76194560.8312%95.01%19456〜19711
77197120.7673%95.78%19712〜19967
78199680.7033%96.48%19968〜20223
79202240.6394%97.12%20224〜20479
80204800.5754%97.70%20480〜20735
81207360.5115%98.21%20736〜20991
82209920.4476%98.66%20992〜21247
83212480.3836%99.04%21248〜21503
84215040.3197%99.36%21504〜21759
85217600.2558%99.62%21760〜22015
86220160.1918%99.81%22016〜22271
87222720.1279%99.94%22272〜22527
88225280.0639%100.00%22528〜

nエンカ率・平均エンカ数のグラフ

累積減算値0から51200まで256ごとに、エンカ数を計算するシミュレータを100万回ずつ走らせたデータをプロット。クリックすると元のサイズで見れます。

※実際は、1歩当たりの減算値が256未満だとこれよりエンカ数が多く、256超過だと逆に少なくなる傾向がある(が、RTAの歩き方の参考にする分には影響は皆無だろう)。

累積減算値~25600 前の
累積減算値~51200(わかりにくい) 前の

参考文献