はじめに
ゲーム起動からエンカウントまでの時間によって生成されるポケモンが変わる「エメループ」。今日でもよく耳にする第三世代の乱数の特徴ですね。その正体は、エメラルドの初期SEEDが0x0で固定されていることにあります。
しかし「エメループ」という単語を今日使用するのは、はっきり言って不適といえるでしょう。その理由のうちの一つが今回説明する「BV再生による特定SEED※の呼び出し現象」、つまるところ「BV法」です。
※SEED・・・RNGによって生成された乱数値。乱数調整は基本的にこのSEED(現在SEED)を確認しながら目標個体の出現するSEED(目標SEED)まで「消費」を行うことをいう。
BV法とは
BV保存法程度であれば、乱数調整をかじったことのある人なら耳にしたことがあるかもしれません。先ほど述べたように、本来エメラルドでは初期SEEDが0x0で固定されているため、目標の個体によっては数時間~数か月の長時間待機が強いられることがよくあります。そのため、例えば固定シンボル乱数で臆病の理想個体(A抜け5V)を入手するとなると、目標SEEDまで105404007消費(約20日。3世代では基本的に1消費/F。)する必要があります。

1回の試行でこれだけの時間がかかってしまうと、どうしても成功までに時間がかかってしまいます(長時間待機をするほど不定消費が挟まり、難易度も上がります)。これを解決してくれたのが「BV保存法」なわけです。
BV保存法とは、その名の通り「BVを保存する」ことですが、この際保存した戦闘の開始時のSEEDを保存しています。そしてBVを再生すると保存したSEEDを呼び出し、これはBVを終了しても元に戻らず、そのSEEDから新たに乱数を生成し始めます。これが「BV再生による特定SEEDの呼び出し現象」、つまり「BV法」です。これを利用することで、1試行ごとの目標個体までの待機時間をぐんと減らすことができます。
具体的な使用方法
先ほどの臆病理想個体を例に説明してみます。BV保存法を用いることで、105404007待機を複数回に分けて待機することができます。例えば非戦闘状態で約24時間待機した場合、消費数は
約24×60×60×60=5184000[消費]
となります。そして、その状態でバトルフロンティアなどで対戦を行い、BV保存を行うと、その戦闘開始時のSEEDを保存することができます。その状態でBVを再生すると初期SEED0x0から約5184000消費を行った状態からスタートすることができるわけです。
その状態からまた待機してBVを保存すると、そのSEEDから改めて消費を行うことができます。(あくまで保存しているのはSEEDであり、消費数、待機時間ではないので注意してください。例外があります。)
これを繰り返すことで、目標のSEEDに近づけていき、ある程度近づくことができたらいよいよ個体乱数です。「BV再生→待機→エンカウント」を繰り返すことで短いスパンで乱数調整を行うことができます。
BVの仕組み
BVがどのようにして対戦を再現しているのかを考えれば、このBV法の正体もとい原因がわかります。
先ほども述べたように、BVには対戦開始時のSEEDが保存されています。また、エメラルドの対人戦及びバトルフロンティア戦(BVが撮れる対戦全般)では対戦中の描画消費(本来1Fごとに行われる消費)が止まり、ポケモンが行動するたびに基本的に4消費(命中率、威力乱数、急所、追加効果)が行われています。そのため、対戦開始SEEDとお互いのポケモンの使用した技内容さえわかれば、その試合を簡単に再現することができるわけです。これがBVの仕組みというわけですね。
だからBVを再生すると、対戦開始時のSEEDを呼び出すわけです。
TIDSEED
先ほど「例外がある」と述べたので、その例外のうちの1つであるTIDSEEDついて説明します。
「TIDSEED」といきなり言ってもよくわからないといますが、「TID」と「SEED」の2単語に分けられるということはさすがにわかると思います。「TID」とは「トレーナーID、表ID」のことで、トレーナーカードに書いてある5桁(SM、USMからは6桁)の番号のことを指しています。「TIDSEED」とはつまり、トレーナーIDのSEEDです。
エメラルドでは、トレーナーネーム決定時にTimer1※の値が決定します。その後その値を初期SEEDとして乱数を更新していきます。先ほどから何回も述べているように、エメラルドの初期SEEDは通常0x0固定ですが、例外として最初から始めた場合のみこのように初期SEEDが変化します。この特殊な初期SEEDのことを一般的に「TIDSEED」と呼びます。
例)自分の表IDが65535の場合、TIDSEEDは0xFFFF
つまりTimer1の値(結果的にTID(表ID))を初期SEEDとしたものをTIDSEEDといいます。そして、このSEEDから生成されたSEEDもBV保存することができるわけです。
※Timer1・・・超高速で値が更新されており、後に自分のTID(表ID)となる内部値。

TIDSEEDをBV保存するメリット
従来のBV法では、結局1回は長時間待機を行わないといけないという欠点がありますが、TIDSEEDを利用すればその1回の長時間待機すら短くすることが可能です。臆病理想個体のために20日待機するくらいなら、TIDSEEDを利用した方が早いです。なるべく目標SEEDまでの消費数が少ないSEEDになるTimer1を厳選しましょう。
BV保存によって保存されているSEEDから生成されたSEEDを他のROMと共有する方法
BV保存は対人戦でも可能なため、BV保存法によって保存されているSEED(以後BVSEED)から生成されたSEEDをROM間で共有することができます。
第三世代の対人戦では1P側の現在SEEDが対戦で反映され対戦が開始します。これを利用し、共有したいSEEDを少消費で生成できるBVSEEDを保存しているBVを所持しているROMを1Pとして対戦を行い、対戦終了後にBVを保存することで1P側のBVSEEDからある程度消費されたSEEDを共有することができます(BVSEEDをそのまま複製するわけではない)。

ここまで読んでわけわからない人向け解説
環状のすごろく(モノポリー的な)を想像してください。(図に書いてみるとわかりやすいかも)
まず、すごろくのマスがSEEDみたいなものです。スタート地点を初期SEED、自分のいるマスが現在SEEDで、行きたい場所が目標SEEDです。そして自分のいる場所から行きたいマスまでのマスの数を消費数といいます。この消費は3世代では待機することによって基本的に行われています。
すごろくは基本的にスタート地点から行きたいマスを目指すものですよね。エメラルドではスタート地点は0x0というマスで基本的に固定されています。
すごろくを途中でやめた場合、次やるとき基本的にまた最初から始めますよね?その場合、また行きたいマスまでたくさん進まないといけません。しかし、BV保存を行うことで中断前のマスからスタートすることができます。
TIDSEEDはすごろくのスタート地点をそもそも変えることができます。TIDを厳選し、なるべく行きたいマスに近いところから始めることで、簡単にたどり着くことができます。
※この解釈は正確には正しくない部分があります。あくまでなんとなく把握する程度でお願いします。