rand

メルセンヌツイスター

論文発表されたのが1998年ごろ、2003〜2004年ごろには書店売り技術誌でも解説されてたような。今どきのゲーム機なら難なく実装できそうだし、本家ソースはBSDなので商用利用も問題ないはず(一時期はGPLだったりArtistic Licenseだったりしたそうな)。

どのみち擬似乱数には違いないんだけど、「1組のカードを人の手で軽くシャッフルする」と「大量のカードを機械が一気にシャッフルしてその一部だけ抜き出す」の違い、みたいなもんでしょうか。多くのゲームではパフォーマンスも考えれば「軽くシャッフル」で十分なんだけど、乱数が大きい影響を与える件のゲームはMTの利用を検討すべきだったかも。

ちなみに、Rubyは1.8から、Pythonは2.3からメルセンヌツイスターが標準の乱数なので手軽に使えますね。