アットウィキロゴ

RNG (Random Number Generator)

RNGとは「Random Number Generator(乱数生成器)」の略で、プログラムがランダムな数字を発生させ、アイテムのドロップ率、攻撃のクリティカル判定、ガチャの結果など、ゲーム内の「運要素」を決定する仕組みのことです。


概要

ゲームデザインにおけるRNG(Random Number Generation:乱数生成)は、単なる「運」の要素ではなく、プレイヤーの体験を制御し、リプレイヤビリティ(リプレイ性)を高めるための強力な設計ツールです。
1. RNGの2つの主要な形式
ゲームデザイン理論において、乱数はその発生タイミングによって大きく2つに分類されます。(→良いRNGと悪いRNG)
インプット・ランダムネス(Input Randomness)
プレイヤーが意思決定を行う前に提示される乱数です。
  • 役割: プレイヤーに「状況」を提示し、適応を促します
  • 例: ローグライクゲームのマップ生成、配られた手札、テトリスで次に落ちてくるテトロミノ
  • 効果: 戦略的な思考を促し、不確定な状況をどう攻略するかという「パズル」を提供します
アウトプット・ランダムネス(Output Randomness)
プレイヤーが行動を選択した後に発生する乱数です。
  • 役割: 行動の結果に不確実性(リスク)を持たせます
  • 例: 命中率クリティカル判定、ドロップアイテムの抽選
  • 効果: 緊張感を生みますが、過度になるとプレイヤーの「自分の腕で勝った」という主体性(エージェンシー)を損なうリスクがあります

2. 確率の「体感」と「計算」の乖離
人間は確率を直感的に理解するのが苦手であり、設計者は「数学的な正しさ」よりも「納得感のある嘘」を実装することが求められます。
擬似乱数分配(Pseudo-Random Distribution)
例えば「命中率30%」で3回連続外れた後、4回目は30%よりも高い確率に補正する仕組みです。
これにより、「運が悪すぎる」という不快感を軽減します。
「ハズレ」の連続回避(Pity System / 天井)
ガチャやレアアイテムのドロップにおいて、一定回数失敗すると強制的に成功させる仕組み。
プレイヤーの離脱を防ぐためのセーフティネットとして機能します。
1%の重み
プレイヤーにとっての「99%」は「100%」と同義であり、「1%」の失敗が起きると「バグ」や「不正」と感じやすい傾向があります。
そのため、高確率時は成功率をさらに上乗せする内部補正がよく使われます。

3. 実装における技術的配慮
開発者の視点では、乱数の「再現性」と「予測不能性」を制御する必要があります。
シード値(Seed)の管理
  • 再現性: 同じシード値からは同じ乱数列が生成されます。これはデバッグや、全プレイヤーが同じ条件で競う「デイリーチャレンジ」などのモードで不可欠です
  • 状態の保存: 乱数生成器(PRNG)の状態をセーブデータに含めることで、リロードによる「乱数調整(セーブ&ロードによる結果の吟味)」を防止できます。
エントロピーのソース
ゲーム内時間、プレイヤーの入力タイミング、キャラクターの座標などを混合してシードを生成することで、プレイヤーにパターンを見破られないようにします。

4. RNGを導入する際の設計判断基準
RNGを採用するか検討する際は、以下のトレードオフを考慮します。
項目 RNGが多い場合 RNGが少ない場合
ゲーム体験 毎回異なる展開、驚きがある 実力重視、競技性が高い
プレイヤーの感情 運への一喜一憂、緊張感 達成感、習熟の喜び
難易度調整 初心者が上級者に勝つ可能性がある 知識と技術が直接結果に結びつく
リプレイ性 非常に高い(状況が変化するため) 低め(最適解が固定化されやすい)
現代のゲームデザインでは、「悪いRNG(努力を台無しにする)」を「良いRNG(新しい選択肢を提示する)」に変換することが重視されます。
例えば、攻撃が外れてダメージがゼロになるのではなく、「ダメージは低いが追加効果が発生する」といった「失敗の緩和」が、プレイヤーのストレスを抑えつつランダム性の楽しさを維持するコツです。

関連ページ

最終更新:2026年05月25日 16:17