VisionaryWings

リプレイ機能実装パッチ作成中。
リプレイ実装時に、プログラマーさん達の頭を悩ませているのが「再現性」。
「入力を記録すればいいじゃーん」と思っている方は、逝っちゃって下さい。
乱数要素が加わると、そうもいかなくなるのです。
この乱数発生についても、しっかりと再現させなければなりません。
ですが、標準のC/C++の乱数発生関数だと、質の悪い乱数(周期が短いとか、発生させる毎に1ビットが反転するとか)な上、再現性に乏しいのです。
その為に、乱数表と言う物を作る事が多いのですが、これまた巧く作らないと↑の様な事になりかねず、なかなか難しいです。

と言うわけで、Douglasがオススメする乱数発生アルゴリズムがこの「Mersenne Twister
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html

乱数の質の高さ(2^19937 - 1周期)と環境に依存しない再現性が売りです。
....と言うか、オススメするまでもなく、既にあちこちで採用されていますが。

使える物は使うのが、オレ流。
BSDライセンスだしー。