Master.166のブログ

ポケモン系がほとんど。チャーレムがお気に入り。

ポケモンBDSP 乱数調整に初挑戦した話。-ギラティナ編-

どうも。Master.166といいます。

今回はポケットモンスターブリリアントダイヤモンド・シャイニングパールにて伝説ポケモンの乱数調整が出来るという事を聞き、

 

「これはやってみなければ!」

 

と思い、やってみることにしました。

 

今回のターゲットは…

色違いギラティナです。

数ヶ月前から普通に色違いギラティナを厳選していたのですが、なかなか出ずにアルセウス厳選が解禁され、そっちへ逃げてギラティナは諦めていたので、この機会にリベンジする事に。
f:id:Master166:20220404231851j:imagef:id:Master166:20220404232003j:plain
↑ちなみにアルセウスは光りました。

 

前置きは簡単にこれくらいにしておいて…
それでは、ここに乱数調整した時の記録を綴っていきます…

 

 

〜     も     く     じ     〜

 

 

①準備1 「物品」

必須

PC(パソコン)

これがないとツールが使えません。

 

キャプチャーボード

PC内で使うツールにゲームの映像を取り込む為に必要です。
安いのでも使えれば十分です。

自分が使っているのはコチラ↓
Amazon | AVerMedia Live Gamer Portable 2 PLUS AVT-C878 PLUS [4Kパススルー対応 ゲームの録画・ライブ配信用キャプチャーデバイス] DV478 | AVERMEDIA | パソコン・周辺機器 通販

 

NIntendo switch+ドック ポケモンBDSPのソフト

これがないと何をするんだ…って話になってしまいます。
switchライトに関してはドックが使えない為、別途カメラ等を用意して映した映像をツールに上手く映せたら出来るかも知れません。

 

HDMIケーブル

switchドックとキャプチャーボードを繋ぐ為に必要。

 

あれば便利

パススルー用モニター

PCで使うモニターとは別にゲーム画面だけを映す用に使用。
無くても全然大丈夫のはず。

PCにキャプチャーボードでゲーム画面を映すと多少ゲーム機とPC内映像に遅延が発生するので、その遅延がどれだけか判断するのに便利。

(キャプチャーボードやモニターがお互いに画質やHDMIに対応してないといけません…)

 

 

②準備2 「乱数調整に使用するツール」

Project XS

SEEDや現在消費を求めるのに使用。
「BDSP-RNG-Tools-main」というファイル内に入っています。

 

PokeFinder-windows

目標個体を検索するのに使用。
こちらも「BDSP-RNG-Tools-main」のファイル内に入っています。

 

OBS

キャプチャーした画面を他のツールに映す際に使用。
使うのはウインドウプロジェクター。

 

計算機、メモ帳

数値の計算、計算した情報のメモ等に使用。

 

あれば便利

Excel

計算機、メモ帳をこれ1つでまとめることが出来ます。

 

エメタイマー等のタイマー

ツール内で完結はするのですが、乱数調整経験のある方なら用意しておくといいかも。
今回はエメタイマーを使います。

 

 

③準備3 「ツール導入」

※乱数調整が出来るのは、ツール作成者様のお陰です。感謝の気持ちを忘れずに。

BDSP-RNG-Tools-main(Project XS・PokeFinder-windows)

ダウンロードしたら、解凍してファイル内のpython-3.10.3-amd64を開き、Pythonをダウンロードします。
ダウンロード時に出てくる画面で一番下のチェックボックスにチェックを入れてからダウンロードしましょう。

その後、Project XSのファイル内にあるinstallを開き、インストール出来るまでしばらく待ちます。
インストール出来たら同フォルダ内のrunを開けばツールが起動します。

PokeFinder-windowsは、以下の物でも代用出来ます。

今回はPokeFinder-windowsを使用するので、上記の使用方法は省略します。

 

OBS

シーンの枠内で+を選択するか右クリックして適当な名前のシーンを作り、ソースの枠内で+を選択するか右クリックして「映像キャプチャデバイス新規作成で適当な名前使用しているキャプチャボードの名前を選択」。
追加されたソース内の映像キャプチャデバイスに合わせて右クリックウインドウプロジェクター(ソース)を選択表示された画面をある程度大きくしておく

キャプチャーボードのセット方法はものによって違うと思いますので、その辺に関しては各自で検索をお願いします…

 

あれば便利の奴

エメタイマー

 

Excel

各自持っている方は、それを使用して下さい。

 

 

④目標の個体を決定

まずは、狙いたい個体を決めましょう。
今回はギラティナです。

乱数調整するにあたって「遅延」を考慮しなければなりません。
そんな時に以下の資料を使います。

英語ですが、グーグルの翻訳を使えば大体の内容は分かるかと思います。
この中の「RECOMMENDED DELAYS」の下にある表に注目します。
ギラティナ遅延84~85となっているので、この情報を使用します。
この遅延は目安なので乱数調整の際に微調整したりはします。

 

 

⑤SEEDを求める

それではまずはSEEDを求めます。
乱数調整をする際は、ポケモンの固定シンボルがいない場所で行うことをおすすめします
今回のギラティナの場合は以下の画像の位置で行います。
f:id:Master166:20220407003650j:plain
戻りの洞窟の3回目の柱の部屋の一番上の入口です。
ここでセーブしておきましょう。

Project XSフォルダ内のrunでツール起動します。
f:id:Master166:20220406234830j:plain
こんな画面が出てくると思います。

まずはツール内にゲーム画面を表示させましょう。
Progress:0/0の右にある空欄でとりあえず一番上の物を選択します。
f:id:Master166:20220406235255j:plain
次にその下の空欄に「ウインドウプロジェクター」と入力してください。
その隣のMonitor Windowにチェックを入れます。
OBSを起動して、ウインドウプロジェクターを出しておきます。
この時、ウインドウプロジェクターの画面をある程度大きくしておかないと上手くツールが読み込んでくれないので注意
f:id:Master166:20220407000137j:plain
そして、Previewを押すと…
f:id:Master166:20220407000432j:plain
こんな感じで表示されます。

SEEDや現在消費を求める時には主人公の右目の瞬きを使用して求めるのですが、これだと目が小さすぎて認識できません。
そこでswitchのズーム機能を使います。
switchの設定本体画面のズームをONにすると使用できるようになります。
f:id:Master166:20220407001115j:plain
ズームを使用すると、こんな感じになります。
f:id:Master166:20220407001231p:plain
Xボタンを長押しして最大まで大きくしておきます。

次にツールの画面に出ている四角の枠を主人公の右目に合わせます。
X…左右移動Y…上下移動W…枠の横サイズ調整H…枠の縦サイズ調整となっています。
f:id:Master166:20220407001355j:plain
こんな感じに合わせて、赤い枠の中に青い枠が目の所に、瞬きしているとき以外は常に乱れなく表示している状態にします
目が認識してくれない方はConfigの部分を変えて再調整。
これでも駄目だった場合は、ウインドウプロジェクターの映像からズームした時の主人公の右目の画像を他のツールを使って切り取り、ツールの「Select Eye」を選択して切り取った画像を選択します
調整する際は、探検セットを使用して「使いどきがあるぞ!」の画面にしてからズームしてください
f:id:Master166:20220407004234j:plain
こうしておかないと、主人公が背伸びしたり動いてしまうのでこれで固定します。

ここまで出来たら、一度Stop Previewを押し、映像を消してからMonitor Blinksを押します
一度映像を消す理由は、映像を出したままMonitor Blinksを押すとツールが上手く動いてくれない場合が多い為です。
こうすることで安定してツールが動作します。
(固定シンボルがいる場所で行う場合は、ツールのReident 1 PK NPCにチェックを入れておきます)
f:id:Master166:20220407003118p:plain
SEEDが求め終わると左側の空欄に英数字が出てきます。
f:id:Master166:20220407003254j:plain
これでSEEDの特定は完了しました。
SEEDが出なかったときは再度やり直してください。

 

 

⑥目標個体を確認する

SEEDが求まったら、次はそのSEEDを使っていつ色違いが出現するかを調べます。
PokeFinderを開きます。
f:id:Master166:20220407105802j:plain
こんな感じの画面が出てくるので、Gen 8Staticを選びます
次は以下の画面が出てきます。
f:id:Master166:20220407110002j:plainRNG Info
Leadの部分は、シンクロを使用するならsynchronizeから性格を選んでおきます。
Initial Advancesは検索する消費の最低値、Max Advancesは最大値です。
最初は最低0、最大10000~20000程度に設定しておいて色違いがヒットしなかったりお好みの個体ではなかった場合はさらに数値を大きくして検索範囲を広げます。
指定した消費の個体だけの情報を表示したいときはInitial AdvancesMax Advancesを同じ数値にします
SEED 0の部分には求めたSEEDのS[0-1]の枠内にある上の英数字列を入れます
SEED 1の部分には求めたSEEDのS[0-1]の枠内にある下の英数字列を入れます

Settings
Category
は伝説やハナマスパーク等に分類されています。
Categoryを選択するとそれに合わせて下のPokemonの内容が対応するものに変わります。そこから今回狙うポケモンを選びます。
今回のギラティナLegendsにあります。

Filters
検索する個体の詳細な検索範囲を入力します。
一番左は個体値です。上からHP/攻撃/防御/特攻/特防/素早さとなります。
特に気にしないなら全て0~31で大丈夫です
3V以上確定の伝説等で「この個体値は確定V(31)に選ばれたくない!」という場合にはその部分だけ0~30にしたり、「素早さ個体値0の個体が欲しい!」という場合は素早さの部分を0~0にします。
Abilityは特性です。特に弄る必要はありません。
Genderは性別です。性別不明や性別が片方しかないポケモンの場合は弄る必要なしです。
Shinyは色違いです。StarとSquareがありますがこれは剣盾には色違いのエフェクトが2種類ある為です。剣盾に持っていく予定で指定の物にしたいときに選びます。

2022/4/1現在、剣盾のみ、その2種類のエフェクトがゲーム内で確認できます。

特に気にしないのであればStar/Squareを選びましょう
色違いが出ない設定になっている個体(人からもらえるミュウ等)もあるので注意
Natureは性格です。シンクロの設定をしていれば弄る必要無しです。シンクロ無しで行う場合は欲しい性格を選択します。複数選択可能です。
Use Delayは遅延です。④の項目で見た資料の数値を1つ入力して左のチェックを押すと、検索結果が出る際に目標消費から遅延分が引かれた結果で出力されるようになります。
今回はここの部分をExcelで代用する為、使いません。

入力を終えたらRNG InfoGanerateを押すと検索結果が下に表示されます。
f:id:Master166:20220408133455j:plain
今回はAdvances 3134の個体を狙います。

 

 

⑦消費作業

目標個体の消費が検索出来たら、その個体を出す為にその消費の近くまで乱数消費をします。
消費方法は以下の通りです。

1秒で1消費されていきます。SEED検索が終わった際にツールのAdvancesの値が動いているのが確認できます。
・図鑑を開き、スクロールする事で消費出来ます。
図鑑の埋まり具合で消費が変わります。

自分の場合は1スクロールに関しては約25消費で、十字キー右を押して一番上から一番下までは約7568消費でした。
この時の図鑑完成度は489/493(アルセウス未確認データの為ゲーム内表示は492)です。実際に消費する際は自分自身で大体どれぐらい消費されてるかを1度確認する事をおすすめします。そうでないとせっかく狙ってた個体を逃す事になる可能性もあるので…[2022.6.4 追記・訂正]

 

 

⑧現在消費を更新→確認

ある程度消費が出来たら、今どれだけ消費されているか確認しなければなりません。
ちゃんと消費出来てるかもしれないし、多すぎたり少なすぎたりもありますし、1秒毎に消費が進んでいくので、消費をした際は必ず確認を行いましょう

SEEDを求めた時と同じように主人公の右目を認識させ、Stop Previewで映像を1度消してからReidentifyを押します
処理が終了すると、ツールのAdvancesの値が現在の消費位置に更新されます。

f:id:Master166:20220408135316p:plain

 

 

⑨エンカウント

ここまできたら遂に個体との遭遇です。

まずはエンカウントまでの時間を求めます。
ここで今回はExcelを使います。
f:id:Master166:20220408145810j:plain
こんな感じで用意してみました。
自動で計算出来るように数式を入れてあります。
以下の通りです。

B2 =SUM(B1-100)
B3 =SUM(B1-B4)
B6 =SUM(B5-B1)

目標Advanceに目標消費を入れ、遅延を入力しておく事で、Timelineを押すタイミングとエンカウントするタイミングをすぐに計算してくれます。
Excelを使用しない場合は計算機を使って計算し、メモ帳に控えておきましょう
試しに今回狙う3134を入力してみます。
f:id:Master166:20220408145704j:plain
こんな感じになります。
Timeline開始の数値については今回は-100を基本としています。
ポケモンによって違うことがあるので、その都度数値を変える形になります。
遅延の数値も同様です。

 

タイミングを求めれたので、いよいよ実践です。
ツールだけで行う方法と、タイマーを使用する方法を記載します。

 

ツールのみ

まずは目標-100消費になったらツールのTimelineを押します
するとAdvancesの下のTimerが10秒のカウントダウンを始めます。
0になったと同時に部屋を移動し、すぐにギラティナに話しかける
f:id:Master166:20220408152337j:plain
ここで待機。
目標-遅延(今回は84)になったらエンカウントします

 

タイマー使用

エメタイマーを開きます。
以下の画像のようにします。

f:id:Master166:20220408151259j:plain
音はどちらでもいいです。音が無い方がいい方はサウンドを無効にして下さい。
目標-100消費になったらタイマーを起動
10秒のカウントダウンが終わると同時に部屋を移動、すぐにギラティナに話しかける
次のタイマーが終わると同時にエンカウント

 

やることはどちらも一緒。
どちらがやりやすいか…ってだけ。

 

 

⑩個体確認、ズレ調整

エンカウントしたら、捕まえて個体を確認します。
個体を調べることで目標とどれだけズレたかを確認し、次に向けて微調整が出来ます。
マスターボールがあれば便利。

ちなみに、色違いを狙っていた場合は光れば成功です。
f:id:Master166:20220408152911j:plain
こんな感じに光るエフェクトが出ます。

 

個体を調べるのにPokeFinderを再度開きます。
FiltersのIV Calculatorを選択。
すると以下の画面が出てきます。
f:id:Master166:20220408153402j:plain
GameBrilliant Diamond/Shining Pearlにします。
Pokemonギラティナにします。
個性(Characteristic)性格(Nature)レベル能力値を入力。
入力が終わったらFind IVsを押す。
Results個体値が出ると同時にFiltersの方に自動で入力されます。
色違いではなかった場合は、Shinyの部分をAnyにし、シンクロの設定をしていなければNatureの部分を今回出てきた個体の性格にします。
入力が終われば、RNG InfoのGenerateを押す。
入力された個体に該当する結果が下に出力されます。
そこから大体どの辺りの個体を引いたかを見つけ、次に向けて微調整します。

先程説明したExcelを使用するのであれば、その引いた個体の位置を今回の結果に入力。
目標個体より数値が少ない(早い)個体を引いたときは、遅延とTimeline開始位置をズレた分だけプラスする。(例…遅延-84、Timeline開始-100で-1消費早い個体が出た時は遅延を-83、Timeline開始-99にする)
目標個体より数値が多い(遅い)個体の時は、遅延とTimeline開始位置をズレた分だけマイナスする。(例…遅延-84、Timeline開始-100で-1消費遅い個体が出た時は遅延を-85、Timeline開始-101にする)

Timelineの10秒カウント後にギラティナに話しかけるのに間に合わないという方は、Timeline開始の部分だけマイナスする。(-100で間に合わないなら、-101にする等)

 

微調整が終われば、リセットしてSEED特定からやり直しましょう。

 

 

⑪終わりに

いかがでしたか。
今回はBDSPで乱数調整をしてみました。
慣れるまでは大変かもしれませんが、慣れると案外楽に出せたりします。
今回は1秒単位の乱数調整なので、比較的楽に出来るかと思います。
過去作ではフレーム単位(1秒の1/60)だったりするのもあるのでそれと比べたら…って感じです。

補足があるとすれば、Timeline開始(タイマー開始)から移動する寸前までは、使いどきの画面のままにしておいた方がいいかも知れません。
主人公の動きで変な消費が入る可能性があるので…

 

2022.4.16 追記
・現在位置を求める際、Advancesが1000000を超えると特定できなくなりました。
その為、目標個体を検索する際は1000000消費以内で探すことを推奨します。
あくまで僕自身の場合なので環境によるかも知れませんが一応追記しておきます…

・エンカウントする際にツール内の映像と実際のゲーム画面のラグの影響でなかなか合わないという方は、そのラグ分を考慮しエメタイマーであらかじめその分を引いておくことで合わせやすくなるかも知れません。
僕はエンカウント前のカウントダウンに0.3秒をラグとして引いた値をエメタイマーに入力してます。
(例:エンカウント前のカウントダウンが6秒の場合、5.7秒をタイマーに入力して使用)

 

 

それでは今回はこれでおしまいでございます。
皆様が目的の個体を出せる事を祈っております…

 

実際にやってみた時の動画はコチラ。


2:01:35 乱数調整成功時のSEED検索開始
2:07:04 SEED特定完了~
2:12:10 色違いギラティナ出現
となっています。
動画のコメント欄にすぐその場面にジャンプ出来るようにメモしてあります。
ライブ配信アーカイブなので、動画時間が長いのは申し訳ない…