乱数調整

登録日 :2010/12/29 (水) 23:16:46
更新日 : 2017/10/08 Sun 12:15:54
所要時間 :約 12 分で読めます




乱数調整とは、運やランダム性が要素として存在しているゲームの一部で可能な、特定の操作によってランダム性を自由に操る行為である。
最初期ではスペースインベーダーにおけるUFO撃墜時に得られる得点のコントロール、
最近ではポケモンの個体値厳選やドラゴンクエストIXの川崎ロッカーの地図での宝箱厳選等が有名と思われる。


【概要】
ゲームは当然のことながらプログラムによって動いている。
キャラクターのセリフやレベルアップによるステータスの上昇値、更にランダム要素まで全てプログラムによって決定されていると言える。

この内、ランダム要素をプログラムで再現する為に用いられるのが乱数である。
が、しかしプログラムでは完璧なランダム性を作る事が困難である。

そこで、実際に使われるのは様々な要素を元に"ほぼ"完璧なランダム性を生み出す疑似乱数というものが用いられる。
通常はこの疑似乱数をどうこうすることはできないのだが、中にはどうこうできてしまうものもある。

長くなってしまったが、この疑似乱数を決定する為の様々な要素を意図的に操作してランダム要素を意のままにしてしまうのが乱数調整である。
因みに、ここでは「偶然」を無理矢理「必然」にするのが改造、「偶然」に到る方法を一分の狂いなく再現して「必然」にするのが乱数調整だと解釈する。


【主な乱数調整方法】
擬似乱数を作成する場合、最初に「初期seed」と呼ばれる値を作り、これを元に乱数を作る。

そして乱数を出来るだけランダムな値にする為に、プレイヤーが特定の行動をした時に乱数のサイクルを進めたり、
最近のゲームでは現在の時刻を初期seedとして利用したりすることが多いようである。

乱数調整ではこれを逆から考えて、ゲーム本体の時刻をずらす等で初期seedを操り、
乱数が消費される特定の行動を知り、利用する事で望んだ乱数を出すことが出来る。

…しかし、もちろんプログラマーもそう甘くは見ていない。

プログラム内部では、非常に複雑な計算が行われている為、望んだものを出すのは困難を極める。
さらに初期seedがフレーム単位で変わる場合も多く、タイミングを図るのも非常に大変である。


【乱数調整の是非】
前述の通り、乱数調整はゲームからランダム要素を無くすとも言える行為である。

乱数調整に関する話題でよく持ち上がるポケモンを例にすると、
下手をすれば数ヶ月単位の時間を要する運任せの個体値厳選を1回で終わらせてしまう事ができる *1
なお、乱数調整はツールの使用を前提とするものの、改造コードとは違い不正にデータを弄ることはない。

これはこれで非常に便利なのだが、乱数調整を否定派も多く、
乱数調整が話題に上がると肯定派と否定派とで終わりの見えない論争が始まったり、
動画共有サイトに色違いポケモンが複数登場する動画が投稿されると「乱数厨消えろ」のような悪意あるコメントがなされ空気が悪くなったりすることもある。

ここで重要となるのは、議論が始まったり悪意あるコメントがなされた時点で気分を害する人も存在するという点。
当たり前のことではあるが、乱数調整を肯定する人がいる以上無闇に否定していいものでもない。
相手の意見を尊重しつつ自分の意見を述べるのが議論の基本中の基本なのだから。


【議論】
この項目は内容上、大変荒れやすく議論も起こりやすいです
是非についての議論は匿名板のこちらで
bbs.aniota.info
最低限のマナーは守りましょう

【乱数調整がよく使われるゲーム】
  • スペースインベーダー
  • ポケットモンスターシリーズ
 理想の個体値や色違いのポケモンを厳選する際の最も効率的な手法として乱数調整が利用される。
  • ファイアーエムブレムシリーズ
 同じ手順で進めれば必ず同じ乱数結果になる仕様の聖戦の系譜で、
 多くのプレイヤーが別の手順をはさんで乱数消費して結果を変えるというプレイを行なった。
 GBAでは経路によって2つ分乱数を消費するといった乱数調整も行われた。
  • ロマンシングサガ3
 状況再現と呼ばれる。レアな強敵に会ったり、低確率な高レベル時のレベルアップを起こしたりすることが可能。
  • ドラゴンクエストIX
  • モンスターハンターシリーズ
 3rdでは、ソフトの起動時間を操作して任意の乱数テーブルに入ることが神おまを狙う炭鉱夫の必須作業だった。
 これを利用して金冠サイズのモンスターに任意で遭遇することも可能だった。
 3Gおよび4では、任意のスキル値のお守りを狙い撃つ「スナイプ」という乱数調整が存在した。


追記・修正お願いします。

この項目が面白かったなら……\ポチッと/