ファイナルファンタジー2の敵遭遇表(歩数)
ここでは、FC版のファイナルファンタジー2でモンスターに遭遇する歩数について簡単に解析を行ってみました。ちなみにスルメはきちんと2進数や16進数を理解しているわけではないので、一部間違った用語や解析を行っている可能性があります。
実験
最初に敵と遭遇する歩数は256戦闘で一周期すると仮定して、敵が出現するまでの歩数と戦闘回数の関係を調べてみました。
海上での敵遭遇までの歩数1

注意
- 海上は最も敵との遭遇率が低いと考えられる
- 海上以外でもダメージゾーンは敵との遭遇率が低いと考えられる
- 常に海上で戦闘を行った
- 2度目の00列は他の列と同じ数字の並びだった
- 16戦闘でループしていると考えることができる
陸上での敵遭遇までの歩数1

注意
- 陸上は敵との遭遇確率が標準的であると思われる
- ほとんど全ての地形がこのパターンであると思われる
- 常に陸上で戦闘を行った
- 2度目の00列は50列と同じ数字の並びだった
- 88戦闘でループしていると考えることができる
小部屋での敵遭遇までの歩数1

注意
- 小部屋は敵との遭遇確率が高いと思われる
- 小部屋専用のパターンと思われる
- 2戦闘目までは小部屋以外の場所も歩いている
- 256戦闘では、ループを確認できない
- 赤と青の部分は同じパターンだが、茶色の部分になるとパターンが変化している
試行1
実験の結果256戦闘で戦闘が起こるまでの歩数がループするという説は違うということが判明した。今度は、電源を入れた後の累積歩数を出してみることにした。そうすると、次のようになった。
海上での敵遭遇までの歩数2

陸上での敵遭遇までの歩数2

小部屋での敵遭遇までの歩数2

試行2
上の結果から、ひょっとすると11ビット=(7FF)h=(2047)dでループしているのではと思った。累計歩数を16進数に変換した後に(800)hを越えた場合には(800)hを引きループを考慮した累計歩数を出すことにした。
海上での敵遭遇までの歩数3

陸上での敵遭遇までの歩数3

小部屋での敵遭遇までの歩数3

試行3
16進数を用いて累計歩数を考えると累計歩数が11ビット認識されており、累計歩数が敵の出現する歩数になると敵が出現すると考えることができる。さらに考察を深めるために陸上での累計歩数について16進数ということを考慮して並び替えてみた。
陸上での敵遭遇までの歩数4

赤い数字は海上で敵が出現する累計歩数
これより、000番台、100番台、300番台、600番台は同じパターンで、200番台、400番台、500番台、700番台が同じパターンであることが分かる。さらに考察を深めるために10進数で敵出現までの歩数との対応を見ることにした。
陸上での敵遭遇までの歩数5

00の14は二周目以降は30である
ここで分かることは、000番台と200番台の敵出現歩数が対称になっているということである。ただし、0列は全て30になっている。これは、今回は全ての行がX0Eで始まり、XF0で終っているので全て30になっていると考えられる。
試行4
陸についても000番台と200番台が対称になっていると仮定して整理すると説明することができた。ただし、同じ番台で二回しか敵と会わないので対称といっても全て同じ歩数になった。むしろ0列の変化による影響の方が多い。次にこの仮定に基づき、小部屋の敵出現歩数を考え、それから敵の出現する16進数での累計歩数を推測することにした。
10進数での敵出現までの歩数
小部屋での敵遭遇までの歩数4(000番台)

小部屋での敵遭遇までの歩数5(200番台)

注意
- 00行は実際に確認した
- 完全に対称になっていると仮定した
16進数での累計歩数
小部屋での敵遭遇までの歩数6(000番台)

注意
- 赤の文字は海上や陸上でも敵が出現する歩数
- 青の文字は陸上でも敵が出現する歩数
小部屋での敵遭遇までの歩数7(200番台)

結論
- メモリー上で11ビットを使い累計歩数がカウントされている
- 累計歩数が、ある一定の値になると敵が出現する
- 敵が出やすい地形と出にくい地形がある
- 0XX、1XX、3XX、6XXは同じ累計歩数で敵が出現する
- 2XX、4XX、5XX、7XXは同じ累計歩数で敵が出現する
敵が出現する歩数(0XX、1XX、3XX、6XX)

敵が出現する歩数(2XX、4XX、5XX、7XX)

注意
- 赤の文字は海上や陸上でも敵が出現する歩数
- 青の文字は陸上でも敵が出現する歩数
補足
- 出現率が低いパターンで敵が出現する歩数では、
より出現率が高いパターンでもその歩数で敵が出現する
- 敵の出現回数と敵の出現歩数はお互いに独立である
- 乗り物を乗降する場合は歩数カウントは行われない
- 画面が切り替わる場合は歩数カウントは行われない(ダンジョンなどに入るときなど)
- 敵が出現しない場所でも歩数カウントが行われないから敵が出現しない場合(飛空船など)と
歩数カウントが行われる場合(町中など)がある
- 現時点での結論はFF2の裏技(仕様)にあります
FF2の攻略
> FF2敵遭遇表 > 歩数 公開開始 2000/9/30