現代のゲームにはほぼ必ずランダムドロップの仕組みがあり、そのほぼすべてが本当の確率を教えてくれません。ツールチップに書かれた数字は通常表示上の確率で、実際の確率とは別物です。そしてその差にこそ、面白い設計が住んでいます。
設計者が実際に使う仕組み
**重み付き確率。**ほぼ何も単純な50/50ではありません。レアリティの段階には重みが付き、よくあるアイテムは頻繁に、伝説のアイテムはまれに出現します。仕組みは重み付きラッフルが使うものと同じです。一様な数を1つ選び、それがどの帯に入ったかを見つけ、そのアイテムを取ります。

| レアリティ | 典型的なドロップ率 | 感じ方 |
|---|---|---|
| コモン | 60〜70% | 想定内 |
| アンコモン | 20〜30% | うれしい |
| レア | 5〜10% | 話題にする価値がある |
| エピック | 1〜5% | 一つの出来事 |
| レジェンダリー | 1%を大きく下回る | 投稿したくなるもの |
連続的な分布ではなく段階を設ける理由は知覚にあります。プレイヤーはレアリティのラベルを一瞬で読み取り、そのラベルがドロップを記憶に残るものにするのです。
**天井カウンター。**ある厳しいしきい値を超えると、システムはドロップを保証します。これはプレイヤーの継続にとって最も重要な仕組みであり、UIで最も言及されない仕組みでもあります。
天井カウンターは寛大さではなく、分散の削減です。1%の確率で100回引くと、何も出ないプレイヤーもいれば3回出るプレイヤーもいます。天井は、ばらつきの大きい分布を上限のある分布に変えます。プレイヤーは理由を知らないまま、その違いに気づきます。
**不運への救済。**失敗が続くほど確率を引き上げる変種です。1%のドロップが、20回連続で外したあたりで密かに3%になっているかもしれません。これもやはり分散の削減で、たいていは見えません。
**重複の変換。**同じアイテムが2回出たとき、2回目が通貨や引き直しに変わります。これは「つまらない結果」——悪いアイテムではなく同じアイテム——という問題を解決し、現代のドロップシステムでおそらく最もよく設計された部分です。
プレイヤーが懐疑的になるのが正しい理由
ギャンブラーの誤謬は、いつも間違っているわけではない。「今夜はツキがない」というのは非合理だと誰もが思い込みます。天井カウンターのあるシステムでは、それは自分の位置の正確な描写です。始めたばかりの人より、確実なドロップに本当に近づいています。間違っているように感じる直感が、実は正しいモデルなのです。
**「不運」の偏りは実在し、避けられない。**レアアイテムなしで100個の箱を開けたプレイヤーは、表示どおりの確率であってもシステムが壊れていると信じます。これは彼らの推論のバグではなく、1つの標本の内側から見た分散の姿です。問題は、どんな統計的な真実も体験を正せないことです。
**惜しい外れは設計上の選択。**当たりの一歩手前で頻繁に「あと少し」と表示する仕組みは、誠実さではなくエンゲージメントを最適化しています。これについて明言するゲームもありますが、多くは明言しません。
**ランダムは公平と同じではない。**ここには2つの問題があり、分けて考える価値があります。重み付きのシステムは正当です。重みは公表されたルールであり、重み付きの選択は実際の目的のための本物の道具です。正当でないのは、表示された確率が実装された確率と一致しないシステムです。それは設計上の選択ではなく、欺瞞です。
設計上の葛藤
どんなドロップシステムも、互いに引っ張り合う2つのものの間にあります。
プレイヤーの期待は見返りを求めます。十分な回数を重ねれば、プレイヤーは前に進んでいると感じるべきです。
運営の経済は安定したドロップ率を求めます。収益モデルは予測可能な分布に依存しており、気前のよい分散はその予測可能性を壊します。
その解決策が天井による救済です。プレイヤーは見返りを体験でき、長期的な平均は経済が必要とする位置にちょうど保たれます。双方が望むものを手に入れ、プレイヤーには通常その仕組みが伝えられません。
ランダムが本当にゲームを良くする場面
**手続き生成。**ローグライクやサンドボックスゲームはランダム性を使い、誰も設計せず、誰も同じようには再プレイしない配置を生み出します。これはアイテムを配るのではなく、コンテンツを作り出すランダム性です。
**マッチメイキング。**ランダムまたは技能ベースの組み合わせは、マッチング順の影響を減らします。これは競技ゲームにおける技能インフレの実在し、記録された原因です。
**非対称ドラフト。**ドラフトの順番をランダムにすると、先に選ぶ利点がなくなります。これは本物の公平性の勝利で、実際のスポーツリーグが先に選ぶ人をランダムにするのと同じ理由です。
ゲームナイトでランダム選択を使う
ここで紹介するツールは、ゲームナイトのうちゲーム以外の部分に役立ちます。誰が始めるか、誰と誰が組むか、最初にどのゲームを開くか、キャンペーンの決定をどう下すか、といった部分です。
トーナメントのシード決め。トーナメント表は不戦勝を含む勝ち抜き戦を扱います。アルファベット順のシードは最初のチームに実際の利点を与えるので、本気で勝ちにいくものでは避ける価値があります。
**パーティやチームの編成。**ポットバランス付きのグループ作成はパーティの人数を均等に保ちます。ランダムなパーティは均衡のとれたパーティではありません。強いプレイヤーがいるなら、抽選の前に割り当ててください。
ロール(サイコロ)。サイコロはd4からd20まで、2〜100のカスタム面、最大12個の同時ロール、−99から+99の修正に対応します。Math.random()ではなくブラウザの暗号学的生成器から引くので、摩耗した物理のサイコロと違い、いつまでも一様さを保ちます。
同等の選択肢の間の決定。コイントスや名前ルーレットは、誰も望まなかった議論の代わりに2秒で決めます。
公平性の問いへの直接の答え
結果が重要になる友人同士のコンペを開きたいなら、要件は狭く具体的です。
- 対象の母集団は、誰かが引く前に固定され、公表されていること
- 重みがある場合は、重みが公表されていること
- 出所が予測不可能であること。ゲームエンジンのドロップシステムは原理的に予測できますが、
crypto.getRandomValues()からの抽選は予測できません。公平性のページでその区別が本物である理由を説明しています - 結果が、母集団が見える状態で記録されていること
これで完全な答えです。必要のないものは複雑な認証の仕組みであり、必要なのは抽選の瞬間にリストが見えていることです。
役立つ要点
ゲームは、移し替えるとひどくうまくいかない直感を教えます。それは「ランダムには記憶がある」という直感です。記憶はなく、悪い結果が続いても次の抽選について何も意味しません。
覚えておく価値のある唯一の例外は、天井による救済です。ここではシステムが実際に記憶しており、しかもそれを教えてくれません。天井があるシステムでは「不運の連続」は本当に情報になります。天井がなければ、それはたまたま引いた1つの標本にすぎません。
いずれにせよ同じルールが成り立ちます。十分な回数を重ねれば、平均は重みが示すとおりになります。ただし、それは感覚的に妥当と思えるよりずっと長くかかると予想してください。