趣味はゲーセンめぐり

ファラオさんによるゲームセンターの訪問記録

GBA版FF1の15パズルで欲しいアイテムを狙い撃つ方法【状況再現】

f:id:pharaohkai:20211010205733j:plain

ゲームボーイアドバンス版『FINAL FANTASY I・II Advance』収録の『FINAL FANTASY』について。
15パズルの景品が以前のバージョンと比べて格段に豪華になったが、景品が多くて狙った景品を出すのは困難である。
これを状況再現を使って狙い撃つ方法を考えた。
ROM解析などを行ったわけではないので理論に不安定な部分が残っているが、一旦公開して他の環境でプレイした人の意見を求めたい。

 

基礎知識:ゲームの乱数生成の仕組み

プログラムは決められた動きしかできない

今回の状況再現法について話す前に、ゲームの乱数生成の仕組みについて話したい。

ゲームというのはコンピュータープログラムで動作が定められている。
プログラムは、決められた動作を必ず同じように実施するため、人間が何かを実施する場合に比べて間違いが少ないのがメリットである。
しかし、逆に言うと決められたことしかできないということである。
つまり、「何でもいいからテキトーに数字を言え」といったことは本来できないのである。

それを補う手段として、乱数表を使ったり、何らかの関数・数列を用いて乱数を生成してランダムを表現している。

乱数表や関数・数列を単純に使ってもランダムにならない

しかし、乱数表や関数・数列を使っても、単純に使うだけでは簡単に規則がわかってしまう。

例えばファミコン版『FF1』では乱数表を使って敵のエンカウントを判断している。
しかし、内部的には乱数表の先頭(※)から順に乱数をピックアップするだけである。
「1歩歩くたびに乱数を順番にピックアップし、危険度以下の値であればエンカウントする」という方式であるため、エンカウントまでの歩数が256歩周期で規則的に決まってしまっている。
(※正確にはファミコン本体に依存するして何番目からピックアップするか決まる)

さすがにここまで単純なつくりの乱数生成が行われているゲームはそう多くはない。
多くのゲームでは、乱数表の初期位置や関数の初期値を、普通にプレイしていては制御困難な要素とすることで対処している。
現在の時刻やキー入力の回数を初期値にすることが多いようである。

GBA版FF1の乱数について(予想)

ではGBA版FF1の乱数の初期値はどのようにして決まるか。
これは予想であるが、おそらくソフトリセット直後からの経過時間(フレーム数)で決まっていると思われる。
連射パッドで最速入力すると、敵のエンカウントやターゲット選択、ダメージ量まで完全に一致するからである。

このことを利用して、15パズルの景品を状況再現で狙い撃つことにする。

15パズルの結果を狙い撃つ具体的な方法

準備:30連射の連射パッドが必要

まず環境の説明であるが、ファラオさんはレトロフリークでプレイしている。
本体への依存がある可能性もあるが、『ポケモンエメラルド』の乱数調整などは本体に依存していないので、『FF1』も多分大丈夫だと思われる。

前述の通り、電源投入からのタイミングを合わせることが必要なので、連射パッドが必要となる。
以下の記述は30連射の連射パッドでプレイした場合を想定している。

秒間60フレームなので、ボタンを押すたびに1フレームずれる可能性がある。
しかし、タイミングが複数あるので意外と収束してくれる。
乱数生成の仕組みがわかればズレも含めた全パターンを網羅できる可能性もあるが、人力総当たりでは厳しい。
とりあえずファラオさんが試した結果を以下に掲載することにする。

タイトル画面でタイミングを合わせる

15パズルの景品は、15パズルの画面に入った段階で決定している。
つまり、船の上でAボタンを押しながらBボタンを25回押す25回目のタイミングが合えば景品は確定する。
そのあと15パズルを解くのにかかる時間は結果に影響しない。
また、盤面の配置も同じタイミングで決定しているようなので、盤面を見て結果を判断するということもできる。

連射パッドを使うとかなり高速で進行するためタイミングが合わせづらい。
一番合わせやすいのがデータロードのタイミングなので、ここで合わせることにする。
具体的には以下のようにする。

  • あらかじめスロット1で船に乗った状態のセーブデータを保存する
  • ソフトリセット直後からAボタン連射を押し続ける
  • 「ロードゲーム」を選択した直後からBボタン連射を押し続ける…①
  • 画面がキャンセルされた直後からAボタン連射を押し続ける…②
  • ①と②を既定の回数くり返す
  • 既定の回数が終わったらそのままロードする
  • ファイルが選択された瞬間からAボタンを押しっぱなしにしながらBボタンを連射する
  • 15パズルが始まる

手に入るアイテムの一覧

このようにしてタイミングをあわせた結果を調査した。
Bボタンでファイルをキャンセルする回数に応じて景品は以下のようになる。
表の見方は以下のとおりである。

  • 2ndを更新:2nd_1と共通_2を獲得
  • 3rdを更新:3rd_1と共通2を獲得
  • 更新なし:更新なしを獲得

f:id:pharaohkai:20211128165857p:plain

なお、前述の通りタイミングがずれることがあるため、この方法は完璧ではない。
もしここを見ている人で乱数解析に詳しい人がいたら、フレームずれも考慮した完全版を作ってほしい。

FF1ピクセルリマスターの基本情報

PC版はSteamで配信中、スマホ版も各種アプリストアで

ファイナルファンタジー ピクセルリマスター』はPCおよびスマートフォンでプレイできる。

PC版は大手PCゲームプラットフォーム「Steam」で配信されている。
外部ゲームパッド(コントローラー)に対応しているので、腰を据えてプレイしたいゲーマーにおすすめである。

スマホ版はApp StoreGoogle PlayAmazonにて配信中。
通勤・通学の空き時間を利用して気軽にプレイしたい方におすすめである。

詳細情報・権利表記

タイトル:ファイナルファンタジー
ジャンル:RPG
ストア:App Store / Google Play / Amazon / Steam
対応言語:日本語、英語、フランス語、イタリア語、ドイツ語、スペイン語、ロシア語、ブラジルポルトガル語タイ語、韓国語、中国語(繁体字簡体字
発売:スクウェア・エニックス
発売日:2021年7月29日
Web:https://www.jp.square-enix.com/ff_pixelremaster/ff1/

ファイナルファンタジー
© 1987, 2021 SQUARE ENIX CO., LTD. All Rights Reserved.
LOGO ILLUSTRATION: © 2007 YOSHITAKA AMANO
ファイナルファンタジーII
© 1988, 2021 SQUARE ENIX CO., LTD. All Rights Reserved.
LOGO ILLUSTRATION: © 2007 YOSHITAKA AMANO
ファイナルファンタジーIII
© 1990, 2021 SQUARE ENIX CO., LTD. All Rights Reserved.
LOGO ILLUSTRATION: © 2006 YOSHITAKA AMANO
ファイナルファンタジーIV
© 1991, 2021 SQUARE ENIX CO., LTD. All Rights Reserved.
LOGO ILLUSTRATION: © 1991 YOSHITAKA AMANO
ファイナルファンタジーV
© 1992, 2021 SQUARE ENIX CO., LTD. All Rights Reserved.
LOGO ILLUSTRATION: © 1992 YOSHITAKA AMANO
ファイナルファンタジーVI
© 1994, 2021 SQUARE ENIX CO., LTD. All Rights Reserved.
LOGO ILLUSTRATION: © 1994 YOSHITAKA AMANO
「記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。」

FINAL FANTASY

FINAL FANTASY

apps.apple.com

play.google.com

store.steampowered.com

www.jp.square-enix.com