この記事はPokémon Past Generation Advent Calendar 2023の276日目の記事です。
はじめに
両刀めざパ飛行レックウザがほしい。
乱数調整する。
Advent Calendar なんか書いとけ。
検索ツール
3genSearch v2.6
タイマー
FTwK
個体検索
3genSearchの個体逆算タブを使用。
固定シンボルの乱数調整はMethod1が基本だが、ポケモンボックス ルビー&サファイアの「ぼうけんにでる」でルビー/サファイアを遊んでいるときはMethod4の個体が出るようになるので、一応Method4でも検索。
今回はMethod1にしかいい個体がいないので、エメラルドで乱数調整すればよい。
開始seed0x160F0A30の30-31-27-30-30-30か、0x293DB5A9の31-31-31-30-26-30を狙うことにした。
エメラルドにはバトルビデオを保存できる機能があり、ルビー/サファイアより乱数調整の難易度が非常に低く済む。
初期seed検索
3genSearchその他タブから初期seed検索のポップアップウィンドウを開く。
先ほどの開始時seedを目標seed欄に貼り付けて、許容可能な待機時間を[F]欄に1/60秒単位で入力し、初期seed全探索にチェックマークを入れて「計算」を押す。
すると、許容可能待機時間にその開始時seedに到達できる初期seedが出力される。
絵画seed技術による初期seed合わせの待機時間は、16進数で表示の初期seedを10進数に直した数値そのものである(単位は1/60秒)。
初期seedを合わせてからの待機時間はバトルビデオ保存を繰り返すことで簡単に短縮できるが、初期seed合わせの待機時間はバトルビデオ保存を利用しても短縮できないと思われるので、seed合わせの待機時間がより短い0x33E7を目標の初期seedとするのがよい。
でも、今回は特に理由もなく0x6553に合わせることにした。
0x6553は10進数に直すと25939なので、ソフトの起動から1/60秒単位で25939だけ経過した瞬間に絵画をみればよい。
ソフトの起動は以下のようにおこなった。
タイマーを動かすパソコンのスペースキーと、エメラルドのカセットを挿したDSLite(もしくはDS)起動時の「GBAカートリッジ」部分を、それぞれ左手の人差し指と親指で押している状態からその左手をさっと上げて、タイマー開始とゲーム開始が同時になるようにした。
ここで、タイマーに25939と入力したいところだが、それではうまくいかない。
なぜなら、「GBAカートリッジ」から手が離れてからソフトが起動するまでの時間を考慮していないからだ。
ソフトが起動するのは
©2004 Pokémon
©1995-2004 Nintendo
©1995-2004 Creatures Inc.
©1995-2004 GAME FREAK inc.
と表示される瞬間なので、手が離れてからソフト起動までに5秒ほどの時間があるのだ。
さらに、1秒間に60カウントするタイマーと、1秒間に約60だけ時が進むとされる実際のゲームソフトとでは、後者の方が時が進むのが少しだけ遅いようだ。
タイマーが1秒あたり60時が進む一方で、実際のゲーム内では59.***くらいしか時が進んでないのだ。
これらのずれは、タイマーの入力値とその入力値どおりにゲームを操作したときに実際に得られた経過時間との関係を明らかにすることで是正できる。
結局、ゲーム内での経過時間が25939になるようにするには、タイマーの入力値を26407にするとちょうどよかった(ただし、タイマーは1秒間に60カウントする)。
初期seed合わせとずれ確認
実際に得られた経過時間を確認するには、絵画を見た後に適当にポケモンを捕まえて初期seedを確認すればいい。
初期seedの確認には3genSearchその他タブの絵画seed調整ポップアップウィンドウを使った。
目標の初期seed(16進数表記)と想定ずれ幅、野生ポケモンと遭遇する場所を指定し、絵画をみてからの経過時間を範囲指定して、出現ポケモンののうりょく値を入力してbutton1を押せば、どの初期seedが出たのかがわかる。
下図では狙い通り初期seed0x6553を引き当てることができたので、出力結果に6553(0F)と出ている。
かっこ内は絵画を見る瞬間までの経過時間のずれを表している。
一応、野生タブでも同様に検索することができる。
バトルビデオ保存と保存seedの調整
狙いの初期seedを引き当てることができたら、バトルタワーなどで戦闘をおこなってバトルビデオを保存する。
保存したバトルビデオに、初期seedからどれだけの時間が経過したときのseedが保存されているのかを確認するには、適当な固定シンボルを捕まえてそののうりょく値からseedを逆算すればよい。
そして、目標のseed(今回は初期seed0x6553から30982経過したときのseed)にいっそう近いseedを保存するため、バトルビデオを再生して近付きたい時間分待機して再びバトルビデオを保存する。
あとはレックウザの前でレポートを書いて、バトルビデオを再生してエンカウントして捕まえて、ずれを確認して成功するまで調整をつづければよい。