以下の内容はhttps://dokudenpa.hatenablog.jp/entry/FRLGIDより取得しました。


【ポケモンFRLG】進化したID調整自動化

1.はじめに

この記事は Pokémon Past Generation Advent Calendar 2023 の243日目の記事です。

ポケモン3世代で理想個体を光らせるためにはID調整が必要です。以前、178日目の記事でEmのID調整自動化プログラムを紹介しました。FRLGでもID調整は可能ですが、人力で調整することはほぼ不可能です。

TIDとSIDを両方調整するとなると、「冒険の心得を抜けてから、名前入力開始まで」、「主人公の名前入力開始から終了まで」、「名前入力終了からオーキド博士との会話終了まで」を全て1F単位で合わせる必要があります。

加えて、Emとは異なり、TIDFinder(ID調整用ツール)で目的のTIDを引けるフレーム設定を検索することができません。これの何が問題かというと、フレーム設定を力技で調査するしかない上に、フレームがどれくらいズレたかツールを使って特定するのが不可能となります。1F合わせを連続で成功させるだけではなく、目標のフレームまで手動で調べるのは正気の沙汰ではありません。そのため、FRLGのID調整は自動化を使うのが一般的です。今回の記事では既存のプログラムよりも機能面を向上させたID調整自動化プログラムを紹介します。

 

2.FRLG ID調整の概要

ID調整を行う理由は、トレーナーIDを「00000」のような美しい数値にすることや、特定の個体を色違いにすることが挙げられます。色違いの条件は、トレーナーID(TID)、裏ID(SID)、ポケモンの性格値(PID)が関係しています。ID調整によって、TIDとSIDを任意のものに調整することで、狙った性格値のポケモンを色違いにすることができます。この項目では目的の個体を色違いにするためのIDを検索する方法や、ID調整の仕組みなどについて解説します。

 

目的の個体を色違いにするIDを検索する

ID調整は目標の個体を光らせるために行うとしても、どんなIDにすれば良いのか分からないので、ツールを使って調べる必要があります。今回は例として、臆病5Vのミュウツーを光らせるためのIDを検索します。

まずは光らせたい個体を「3genSearch」の「個体逆算」タブで検索します。ミュウツーは固定シンボルなので、「固定」にチェックを入れます。また、FRLGの固定シンボルはMethod1という個体生成パターンでしか出現しないため、「Method1」にチェックを入れます。あとは目的の個体値と性格を入力して、「計算」をクリックすると、条件に一致する個体が出力されます。固定臆病5Vでは7種類の個体が見つかりましたが、今回は最もA個体値が低い31-7-31-31-31-31を色違いにするIDを検索していきます。

IDの検索には「TIDFinder」というツールを使います。TIDFinderに任意のTIDを入力し、PIDには先ほど検索した個体の性格値(PID)をコピーして貼り付けます。その後、計算をクリックすると、目標個体を色違いにするためのSIDが出力されます。複数出力されますが、どのSIDを使っても光らせることができます。

Frame3はSIDを決定する際の待機時間のため、最も待機時間が短い「Frame3 : 6609F」、「SID : 14633」の設定を使うことにします。これで、TID : 00000で臆病 31-7-31-31-31-31を光らせるためには、SIDを14633にすれば良いということが分かりました。なお、SIDの横に出力されている「◆」と「☆」は色違いのエフェクトとなりますが、8世代(剣盾)に送った場合ですので、3世代では関係ありません。

野生で出現する個体でも同じやり方でIDを検索することができますが、該当するMethodで捕獲できるかは事前に確認しておくと良いです。少し難しいですが、FRLGの野生は通常ではMethod1で、遭遇する際の処理を重くすることで、Method4、Method2の個体を出現させることができます。逆に元々の処理が重い個体(PIDの再計算が多い個体)はMethod1で出現しない場合があるので、こちらにも注視すると良いです。

(参考記事:誰でも出来るFRLGメソッドズレ野生乱数(固定乱数も出来るよ)|いもけんぴ

 

IDの決定方法について

TID・SIDの決定方法についても簡単に説明します。FRLGでは「Frame1(冒険の心得を抜けてから、名前入力開始まで)」と「Frame2(主人公の名前入力開始から終了まで)」によっておおよそのTIDが決定し、「Frame3(名前入力終了からオーキド博士との会話終了まで)」によってSIDが決定します。

 

Frame1の開始はこの画面でA押下してから、

 

この画面でA押下して、名前入力画面に遷移するまでとなります。

 

Frame2は名前入力画面に入ってから、名前入力が終わるまでとなります。

 

Frame3は名前入力を抜けてから、この画面でA押下するまでとなります。

冒頭でもお話しましたが、日本版のEmであれば「TIDFinder」を使って、Frame1とFrame2の設定を探すことができますが、FRLGではツールが対応していません。そのため、自動化プログラムを使って、双方の設定を探す手法が使われています。

 

TIDを微調整する方法について

Frame1とFrame2がTIDに関わることが分かりましたが、双方のフレームを合わせれば必ず指定のTIDを引けるという代物ではありません。TIDはFrame1とFrame2が合っていたとしても、オープニングを抜けるタイミングや、生産ロット(前期・後期)、ゲームの言語、Frame1とFrame2の開始時のキー入力などによって微妙に変化します。

自動化プログラムで目的のTIDを引くための流れとしては、「Frame1とFrame2の設定を変えて、目的付近のTIDが出現するフレーム設定を調べる」→「近いTIDが引けるようになったら、Frame1とFrame2を固定し、初期Seed決定フレームを変えて、目的のTIDが出現する設定を見つける」というのが基本となります。

また、FRLGは目的のフレーム設定を見つけたとしても、必ずしも再現性があるとは限らないので、根気強く設定を探す必要があります。

なお、TID0を引ける設定については、Discordの3世代自動化鯖で集約しております。初期Seed決定フレームは環境によって、多少のズレがありますので、前後5F程度に広げて、近いIDを引けているか確認しながら調整すると良いです。それでも、引けないことの方が多いので、その場合は諦めて、初期Seed決定フレームを変えつつ、設定を探しましょう。

 

Selectズレについて

他人のFrame設定を使っても、近くのIDを引けない場合があります。こちらは「Selectズレ」というものが悪さをしている場合があり、主人公の名前を入力する際に特定回数Selectを押下した場合、出現するIDが1948程度ズレます。こちらについては名前入力画面でSelectボタンを余分に押下することで解消できます。

 

3.ID調整自動化プログラム

リセットから「さいしょからはじめる」を選択し、目的のTIDを引くまで、ループする自動化プログラムとなります。

※ NX Macro Controller用の自動化プログラムです。GC(GBA)自動化の導入はこちらの記事を参考にしましょう。JPN、ENG、FRA、ITA、ESP、NOEの全言語に対応しています。

 

ゲームでの設定

・「はなしの はやさ」を「はやい」にする。
・ ゲームボーイプレイヤーの画面設定を「フル」にする。(GC使用時)
・ Switchの解像度を「720p」にする。(Switch使用時)

 

NX Macro Controllerでの設定

マクロを実行すると、設定画面が表示されますので、各設定を入力してから実行して下さい。

 

注意事項として、Switch1はSwitch2に比べて起動時間が遅いので、初期Seedのオフセットを「0」から「100」程度まで増やす必要があります。追加した分だけ余分に待機するようになります。

 

初期設定ではGC用のFrame1=1235F、Frame2=1267.0F、Frame3=6609.0FのID0で固定臆病5VA7用のIDの設定にしています。

ちなみにこのID0用のフレーム設定の場合、主人公の名前を入力する際にSelectを2回押下した場合、「Selectズレ」が発生して、出現するIDが+1948程度になります。英語の名前にする場合はSelectズレが発生しますので、余分にSelectを押下することで対応して下さい。

 

Frame1、Frame2、初期Seed決定フレームを2Fずつ増やす

前述の通り、FRLGはTIDFinderの設定を使えないため、力技でフレーム設定を探す必要があります。

「Frame1、Frame2 を2Fずつ増やす」のチェックボックスを選択した場合、許容範囲内(初期設定では±50)のIDを引いた場合は、ログ出力&WebHook(NXのオプションで設定していれば)で通知しますので、まずは目標のTID付近のIDを引くことを目標とします。

許容範囲内のIDを引けることができたら、フレーム設定を固定し、初期Seed決定フレームを変えることで、目標IDに近付けていきます。

こちらもフレームと同様に「初期Seed決定Frameを2Fずつ増やす」のチェックボックスを選択することで、目標の設定を探していきましょう。

 

プログラムの実行

以上の準備ができたら、プログラムを実行して下さい。Frame1とFrame2がズレることが多い場合などはフレームを小数単位で調整するなどして、効率的な設定を見つけてみて下さい。NXのオプションでWebHookのURLを設定していれば、目的のIDを引いた際に通知してくれます。

引いたIDはcsxファイルと同ディレクトリに作られる「Captures」フォルダにスクリーンショットとして保存されます。ファイル名は「ID_初期Seed決定フレーム_Frame1_Frame2」の形式になります。

 

4.SIDの特定について

目的のSIDが引けているか調べるには、実際にそのIDで目的のポケモンが色違いになるか乱数調整する必要があります。下記のプログラムを使って、御三家やコイキングの乱数調整を行うとよいです。

 

固定乱数の基本的なやり方は以下の記事が分かりやすかったです。

 

Switch版の注意事項についてはこちら

 

目標の個体が色違いにならない場合はどのSIDを引いたか、総当たりして調べる必要があります。例えば、TID0でFrame3が6609Fで引けるSID14633を目標としている場合、前後2F程度で出現するSIDで光る個体を総当たりし、それでも光らない場合は範囲を広げてください。光る個体が見つかった場合は、Frame3を調整して目的のSIDに一致させるよう、再度ID調整を行います。

 

無事に目標の個体が色違いになれば、SIDの調整も成功です。おめでとうございます。

 

Switch版の注意点として、ライバルの名前をデフォルトにしている場合はFrame3を奇数フレームしか引けないので、注意が必要です。

 

ライバルの名前をデフォルトにしていない場合はライバルの名前入力時に暗転を挟みます。Switch版では基本的に1Fで2消費されますが、暗転中は1消費しかされておらず、加えて消費も不安定のため、設定したFrame3より-18~-23のSIDが引けたとの報告を受けています。

そのため、ライバルネームを指定した場合はFrame3を自動的に+20Fしています。デフォルトネームと違って、奇数F固定ではなく、偶数Fが出る場合もあるので、SID特定時には注意しましょう。

 

5.おわりに

このプログラムを利用することで、色理想個体が格段に狙いやすくなると思います。少し初心者には難しい部分がありますが、ID調整をするタイミングは最初しかないので、無理やりでも調整しておくと、後悔がなくてよいと思います。デバッグを手伝ってくれた いぶさん、海外版対応を手伝ってくれた ソチ五輪さん、ふうかさん、Hopeさん、つっかかりさん には感謝します。




以上の内容はhttps://dokudenpa.hatenablog.jp/entry/FRLGIDより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14