最近、ポケモンの対戦を扱っているブログでエメループが話題になっています。エメループとは三洋電機が出している充電式の電池プラスル2マイナン2ではなく、エメラルドループの略でエメラルドで同じ個体値のポケモンが何度も出るという現象のことをさしているんです。ちなみに、充電式の電池はエメループではなく、エネループ(eneloop)なのでお間違いなく。


ポケモンには性格や個体値というのがあるため、同じ種類のポケモンであっても全く同じ能力値ということはありません。しかし、エメラルドではリセットして捕獲しなおすと以前捕まえたポケモンと全く同じ能力値ということが何度も出てしまうことがあるみたいです。とりわけ、このような現象は伝説のポケモンなどの固定エンカウントで発生しやすいみたいです。


これまで謎であったエメラルドループだが、発売から4年が経ちこれを解析してしまった人が出てから大騒ぎになっています。これまで厄介者の扱いだったエメループだけど、逆に利用すれば良い個体値のメタモンめたもんや伝説のポケモンを狙うということもより簡単にできるみたいです。


なぜ、エメラルドだけ同じ能力値のポケモンが出てしまうかというと乱数の種が固定されているからなんです。ポケモンには個体値を決めるときやダメージを決定するときに乱数が使われているがコンピュータである以上、外部からの入力でもない限り完全な乱数を作ることはできません。その代わり、擬似乱数というものが使われているわけ。一見、ランダムでもあるけど「擬似」である以上、確定的な計算によって求められた数列に過ぎません。そのため、シード値が同じであれば同じ乱数列になってしまうんです。実はエメラルドはソフトを起動してからの時間でシード値が決定されるため、リセットをするたびにシード値もリセットされてしまうんです。このため、リセットして捕まえなおしても以前捕まえたときと同じ個体値のポケモンが出てしまうということが発生するんですね。


したがってシード値が固定であるため、シード値が分かればどんな個体値になるか計算で予測することもできるみたいです。


ちなみに、エメループの構造が解析されたこともあり、エメループを利用したタイマーやどんな個体値の組み合わせになるかを調べるツールも出回っているので興味がある方は見てみるといいかもしれません。