2010年3月27日土曜日

エメループとは? 5分くらいでわかる(?)エメループの基礎原理

 ポケモンのゲームにおいて、すべての個体はなぜ違うのでしょうか?どの様な仕組みで毎回違う個体を出しているのでしょうか?その答えは「乱数」にあります。乱数とは、全くランダムに数値等をはじき出すものです。しかし、ゲーム端末どころか一般的なパソコンでも通常は完全にランダムな動きを再現するのは難しいのです。
 そこで、「疑似乱数」というものが出てきます。疑似乱数によって動くものは、一見ランダムに動いているように見えるのですが、実際は計算式に従って進む予測可能な動きをするのです。エメラルド版の場合、この疑似乱数は電源を切るたびにリセットされ、乱数は起動した時からの経過時間で進行します。疑似乱数はいつも同じなので同じ時間ならば同じ動きをします。(疑似乱数を計算式と思っていただければ多少わかりやすいと思います。)
 つまり簡単に言いなおせば、計算は電源を切るたびに一からやり直し、時間がたつことにのみより進行します。つまり、起動してからきっかり3分後に出てくるポケモンの個体値は何回起動し直して3分後に遭遇しても全く同じ個体値のポケモンが出てきます。
 この永遠ループ現象を利用したものがエメループです。