Revenir’s blog

ポケモン、麻雀、そのた。

ポケモン BW2 モグリュー乱数調整(for RTA)

みなさんこんにちは、Revenirと申します。

 

さて今回はポケモン乱数調整についての記事となります。

苦手な方はブラウザバックをお願いいたします。

 

 

 

 

 

と、言ったところで早速書いていこうと思います。

BW2における乱数調整の基礎

まずはポケモン第5世代における乱数調整の基本的な事項の確認となります。

今回のモグリュー乱数も基礎的なことの積み重ねとなっています。

 

自分も詳しいわけではないのでここでは実際に行う調査や操作の確認のみをしていきます。

 

  • 希望の個体値が出現するような初期SEEDを調べ、起動する年月日時分秒を決定する。
  • 希望する性格値のポケモンが出るように乱数を消費する
  • 希望のポケモンが出たら捕獲する

 

という感じですね。

今回はSSS4というツールを使用した方法を見ていきます。*1

 

SSS4はSyokiSeedSearch4の略で、さびたコイル様のサイトで現在もDL可能な、第5世代乱数調整用のツールです。

 

以下はSSS4の使い方となりますので、すでに分かっている方は次の章まで飛ばしてください。

 

まずは各自固有のパラメータを調べます。

3,4世代とは違い、5世代では使用するDSごとに固有のMACアドレスを使用して初期SEEDが決まります。なので、お使いのDSのMACアドレスを調べてSSS4に入れてあげましょう。

次に、nazoをクリックして自分が使用するソフトを選択します。

さらに、以下のパラメータを入力して、保存しておきます。

ブラック2】
VCount:82
Timer0:1102~1108
Frame:8(初期DS) / 6(DSLite)
GxStat:6000000~6000000

【ホワイト2】
VCount:82
Timer0:10f3~10fb
Frame:8(初期DS) / 6(DSLite)
GxStat:6000000~6000000

 

設定はこれで終わりとなり、いよいよ個体の検索に入ります。

 

「起動時の条件」を「2000年1月1日~2099年12月31日」「0~23時」「0~59分」「0~59秒」「キー入力あり」とします。*2

「検索条件」を適当に決めます。ただし、「個体値乱数列   消費」の部分はきちんと調べて決めるようにしてください。

 

以上の条件を入力し終えたら「検索開始」して待ちます。

キー入力をありにすると平気で1週間以上*3かかるので気を付けてください。

 

検索し終わると「result.txt」が出力されます。resultに出てきた年月日時分秒*4、キー入力*5、Timer0*6がそろうと希望した個体値ポケモンが出うる状態でゲームができます。

 

本来であればこの後、性格値の調整の説明に入るべきな気がしますが、今回は一般的な方法をとれないため、割愛します。

 

モグリューの乱数調整について

準備とか

いよいよ本題に入っていきます。

前章で述べた通り、まずは初期SEEDを決めるために個体値やパラメータなどを設定していきます。

 

今回はBW2のRTAで使用するモグリューを調整したいため、31-31-31-[8~31]-31-31とします。また、個体値乱数列の消費は2-2としておきます。

 

さらに、BW2の乱数調整一番のネックであるTimer0の安定化を図ります。この記事を参考にしてください。記事ではほぼほぼ固定できるようなことを書いてますが、実際は半々くらいで固定されません。起動する時刻によって固定できるか変わるので、固定できる初期SEEDを探しましょう。

 

固定できているかどうかの確認は、起動→セーブ5回して針確認 を3~5回程度行い、毎回同じ針の位置であればOK、という風にします。

このとき固定されたTimer0を「パラメータ」の「Timer0」に入れて保存します。*7

 

また、起動時の条件は「7~10秒」にしておきます。もう少し幅をとっても良いですが、RTA中の調整のため、なるたけ早い秒数を選択したいです。

次に、検索し終わったresult.txtの初期SEEDをフィルタリングしていきます。

具体的には

・季節が春または夏 → ヒウン下水道の移動が少し短くなります

・季節が秋     → 20番道路の段差を1つ無視できます

20番道路/サンギタウン、タチワキシティ、ホドモエシティ/6番道路で雨が降っていない → 戦闘に入るとロスがあります。また、ひのこ/ニトロチャージの威力も落ちます

・Lv19/♀/いじっぱり/すなのちからのモグリューに出会える → RTAに適した個体を得る必要があります

 

の条件を満たすような初期SEEDを探します。とはいってもこれを手動でやるのは面倒なので新たなツールを使用します。

ux.getuploader.com


ux.getuploader.com

このツール*8とSSS4の出力を組み合わせることで、上記のフィルタリングをしてくれます。

まずは「モグラ個体」で「参照」からさきほどのresult.txtを選択、「計算」します

f:id:Revenir:20220306114846p:plain

 

するとこのようになります。ここに表示された結果はすでにフィルタリングが終わっているものとなります。ただし、Timer0が安定している初期SEEDかどうかはわかりません。

 

ここからモグリューに出会う旅が始まります。

 

モグラ個体」で出力された初期SEEDを「エンカウント」の「初期SEED」欄に張り付け、「計算」します。すると、ゲームを起動した時点での自分の位置を0とした以下のような表が出力されます。*9

f:id:Revenir:20220306115104p:plain

 

この表の「判定」に〇がついている欄のモグリューはエンカウント可能かつLv19/♀/いじっぱり/すなのちから のモグリューです。ここからは目標のモグリューにエンカウントすることを目指します。

 

まず前提として、モグリューは砂煙から出てきます。通常エンカウントはありません。

つまり、モグリューの捕獲をするためには「①砂煙を出す」「②砂煙から目標のモグリューを出す」の2段階の乱数調整を行う必要があります。

 

ここで原理的な話になりますが、砂煙は「ゲーム開始から20歩ごとに」「20歩目を踏み出した際の次に消費される乱数の値が0x19999999以下」であるときに、「主人公の位置から5×5マス以内の移動可能タイルのうちのどこか」に出現します。

また、砂煙に突入した際の処理は、「突入した際の次に消費される乱数の値が0x66666666以下の時にポケモンが出現する判定があり」「そのさらに1個後に消費される乱数を見ることで、どのポケモンが出現するかが決まる」となっています。

 

ポケモン出現に関してはすでにフィルタリングが行われているため、まずは砂煙を出す検証となります。

検証

以下の画像の位置に立ち、セーブをします。

f:id:Revenir:20220306122423p:plain

下水道、イベント終了位置

ここから上、左と動いて古代の抜け道に入ると8歩かかります。つまり、内部で12歩動いた時点*10での次の乱数値が0x19999999以下*11である必要があります。*12

下水道側でのNPCによる不定消費は0、ぬけみち内部ではNPC1人分の不定消費があります。NPCは1回の振り向きにつき「向き・待機時間」の2消費をします。

また、エンカウントタイルを踏むことによる乱数の消費は、動き始めて8歩目までは1、9歩目からは2となります。ただし、マップが変わるとこのカウントはリセットされます。

さらに、振り向きは徒歩と同じような消費をすることができます。振り向きは歩数にカウントされないため、砂煙までに消費を増やしたい場合は振り向きを挟むことになります。

 

最初は19歩目まですべて歩いて移動し、そこで即セーブを書いてどのくらいの消費数の場所に自分がいるかを確認しましょう。

確認したら、20歩目を踏み出すべき消費数に合わせて調整していきます。基本的には「確認した消費より少なく」したければ「歩いていた部分を走る」、「確認した消費より多く」したければ「振り向き」で調整します。

 

うまいこと消費を合わせて砂煙を出すことに成功したら、次はいよいよモグリューの乱数調整の検証に入ります。

 

砂煙を出した消費から何消費先に目標のモグリューがいるかを確かめて、砂煙の前まで動いてセーブ、というように砂煙の時と同じような調査を繰り返します。

セーブせずに砂煙に突入してもいいですが、ポケモンではなく道具が出た場合は自分がどの位置にいるかの特定ができません。*13ただし、こちらの方が調査的に楽なのでおススメです。

 

f:id:Revenir:20220309224622p:plain

無事にゲット。(これは6Vです)

以上のような検証を行うことにより、RTAに適した、高レベルのモグリューを手に入れることができました。

その他

先ほどの自作ツールには御三家+秘伝要因用のフィルタリング機能もありますが、それの使い方は機会があれば。

 

 

*1:実はより高速に計算ができる5genSearchというツールもあるのですが、今回は使用しません。すまんな。

*2:基本的には広めに取っておいたほうがいいですが、計算に非常に時間がかかるため少し狭くしてもよいです。RTAでは調整に時間をかけないほうが良い都合上、7秒~10秒程度で検索するのがよいと思います。

*3:PCのスペックによる。

*4:ソフト選択画面でresultに出てきた時刻の1秒前にゲームを選択すると、いい感じに起動できます。ゲーム選択の時間≠起動時間であることに注意。

*5:ゲーム選択(起動)から、黒画面にNintendoなどのロゴが並ぶ画面まで押し続ける必要があります。

*6:いくつかのTimer0の中からランダムに選ばれます。BW2では5個くらいの中から選ばれるため全然合わないと噂。

*7:「10fa」で固定された場合、[10fa]~[10fa]のようにする。

*8:なんと自作!すごい!

*9:正確には、ゲームを起動した際の”次に消費される性格値乱数(=最初に消費される乱数)”が0消費の欄に書いてあります。その場でセーブすると0消費の欄の針が出るはずです。

*10:洞窟の入り口を通り抜けるための1歩はカウントされません。また、マップの移動でこのカウントはリセットされません。

*11:rand*5>>32 < 2

*12:表の右端に砂煙が出るかどうかの判定が書いてあります。

*13:少なくとも私は知りません。知ってる方がいたらTwitterのほうまで