1.はじめに
この記事は Pokémon Past Generation Advent Calendar 2023 の154日目の記事です。
ルビー・サファイアが2002年発売してから、20年以上続いてきたポケモン3世代の歴史となりますが、最近では自動化環境が著しく発達し、XDにおいては昨年にファイヤーの乱数が確立されるなど、いまだに新たな発見・開拓がされております。

XDファイヤーは、ダークルギア戦後の技覚え画面の瞬きからSeed特定 & 消費を行い、乱数には「OpenBlink」というポケモンの瞬きからSeedを特定するツールのアルゴニズムが使われています。
このOpenBlinkはXD乱数をする上で便利なツールなのですが、海外の方が作成したツールということもあり、ご存じでない方もいらっしゃると思いますので、今回の記事ではツールの設定や、活用方法について解説いたします。
なお、OpenBlinkはコロシアムでも使用可能ですが、そちらは自動で瞬きを認識できるCoReaderが優位ですので、XD乱数を主軸においた記事とさせていただきます。
2.OpenBlinkの使い方
ツールのDL先はコチラとなります。下の方にスクロールしていくと、「OpenBlink.Windows.zip」というファイルをダウンロードできるので、解凍して下さい。「OpenBlink.exe」からツールを実行することができます。

各種設定
Game
ゲームシリーズの選択をここで選択します。XDを使用する場合は「XD」を選択します。「XD(Dolphin 5.0)」はエミュ用の設定なので、実機を使う場合は選択しないように。
Region
使用ディスクのリージョンです。日本版であれば「NTSC-J(JP)」を選択します。
input forgiveness(frames)
瞬きを観測して、ツールに入力させるまでの猶予フレームです。初期設定では「20」±10Fとなっています。
Search from
任意のSeedを基準にした、検索する消費の範囲です。各自で状況に合わせて変更して下さい。
Starting Seed
新たなSeedを特定する際の基準となるSeedとなります。「とにかくバトル」などで特定したSeedを入力します。
使い方
まず初めに知っていただきたいのが、OpenBlinkは瞬き間隔4を想定しているため、利用するポケモンはシェルダーやエーフィを推奨します。
エフェクトによる消費がない通常ポケモンのステータス画面を開き、「Enter」キー入力または、「Start」ボタンをクリックします。

実機で瞬きを観測し、瞬きと同時に「Shift」キーを押して、ツールに瞬きを入力します。Seedを1つに絞ることができたら、効果音と同時に「瞬きが発生するSeed」と、「次の瞬きまでのフレーム」が表示され、実機の瞬きとリンクして点滅します。うまく特定できない場合はやり直して下さい。
瞬きと同時に効果音が鳴りますが、音ズレしている場合はツール左下の 「Slower」「Faster」ボタン(または左右の矢印キー)でタイミングを調整することができます。
Targetに設定した回数は、ステータス画面を抜ける際の瞬きの回数となり、最後の瞬きに近づくとカウントダウンが始まります。デフォルトでは0.5秒間隔で5回効果音が鳴り、最後の5回目の効果音と同時に、実機のステータス画面でBボタンを押して終了します。
なお、点滅中にTarget Seed内に目標のSeedを入力して、Searchをクリックすると、自動的に目標Seed直前の瞬きをTargetに設定してくれます。

目的の瞬きが終わると、FINISHED!New seedの後に新たなSeedが表示されます。ただし、停滞によりズレる場合があるのと、メニューを閉じた後に消費が入ることは留意して下さい。

なお、Setting → Timer → Exit Offset(frames)から、オフセットを設定することができますが、ツール側で見込まれているので、基本的には変更不要です。
タイマーを早く切り上げる場合はオフセットをプラスではなく、マイナスに設定する必要があるので、注意して下さい。

参考情報として、メニューを閉じた際の消費の一覧となります。瞬きSeedでステータス画面を抜けた場合、実際に主人公のモーションを見てSeedを確認すると、その瞬きSeedから下表の消費分加算されています。

3.活用方法
「結局、OpenBlinkはどんな場面で使うの?」と思った方への解説です。大まかに2つあると考えています。
①主人公モーションによるSeed特定作業の代替え
従来では目標Seedに向かって消費する場合、「リバース状態のダークポケモンを見てざっくり消費」→「主人公のモーションを確認して、Seed特定」→「ダークポケモンのステータス画面開閉や、通常ポケモンのステータス画面で消費」→「主人公のモーションを確認して正確なSeedを特定」・・・など、大量消費をする度に主人公のモーションを確認して、Seedを特定する必要がありました。

主人公のモーションからSeedを特定する場合、時間がかかるだけではなく、検索範囲が広いとSeedを1つに絞れないというデメリットがあり、苦行を強いられます。しかし、「主人公のモーションによるSeed特定」から、「瞬きによるSeed特定」に置き換えることで、遥かに早く、更にSeedを1つに絞れない事故を生じないため、かなりの負担を軽減できます。
ただし、乱数に入る場合はメニューを閉じた後の消費はしっかりと見込んでください。持ち物消費からメニューに入る際の消費2を引いた消費がされると考えれば良いです。
また、停滞によりズレる可能性もあるので、不定消費がないマップであれば主人公のモーションを見て、確実なSeedを特定した方が良いと思われます。シェルダーやエーフィは停滞が起こりにくいです。
②不定消費が多いマップに出現するポケモンの乱数
「主人公のモーションによるSeed特定」はNPC等の消費が発生しているマップでは利用できないのが難点ですが、ポケモンの瞬きによるSeed特定 & 消費を行うことはできます。(もっとも瞬き直後に到達できるSeedに限り、瞬きによる消費で任意Seedに調整するのは難しいですが。)
消費数の調査は必要ですが、不定消費のないマップから移動してエンカウントするよりは、瞬きでSeedを特定した後にメニューを閉じて、最速で戦闘に入った方が安定します。有用そうなポケモンでいえば、エレブー・ジュペッタ・ガーディ・ヤミラミあたりでしょうか。
なお、ダークポケモンを持つトレーナーの目の前でレポートを書き、タイトル画面で消費した後、ロードして即戦闘という手もありますが、不定消費が発生しているマップのロード消費はかなり不安定ですので、展開が広めのポケモン向けではあります。
③XDトゲピーの乱数調整
これが最も有名な用途でしょうか。XDドゲピーの乱数調整は瞬きSeedに合わせた後にフィールドの不定消費でSeedを合わせるという流れとなります。そのため、乱数調整において、OpenBlinkは必須級です。
4.おわりに
XDはダークポケモンが光らない上に、3DSオンラインサービス終了により、トリプルバトル用のXD産個体も需要が下がっており、コロシアムと比べると乱数する人間も限られているかと思いますが、一部のオタクに向けて記事にしてみました。
近年ではXD乱数の最も大変な作業である初期Seed厳選は自動化できるようになりましたが、できることはまだあると考えていますので、追々整備していきたいと思います。
OpenBlinkは瞬き間隔を8以外に設定できないほか、CoReaderのように画像認識が不可能、そもそも英語で分かりにくい等、難点もございますので、XD瞬きの汎用ツールがあっても良いかとも思います。私ならツールにせず、自動化するかもしれませんが。