スマホゲームなどでよく見かける「ボックスガチャ」。
中身が有限で、引いた分だけ当たりが減っていくという仕組みは、確率を考えるのに役立ちます。
今回は、ボックスガチャの「当たる確率」を計算する簡易アプリを作ってみました。
仕組みや使い方、数学的背景も含めて紹介していきます。
1.ボックスガチャとは何か
ボックスガチャとは、あらかじめ内容物が決まっており、引くたびに在庫が減っていくタイプのガチャ形式です。
一般的な無限リセット型ガチャとは異なり、ユーザーの選択や引き運がダイレクトに結果に影響するため、より戦略的な要素が求められます。
たとえば、「100個の中に当たりが5個」という設定があった場合、1回目に当たる確率は5/100(5%)ですが、ハズレを1つ引いた後は、残り99個中5個が当たりとなるため、次は約5.05%に上昇します。このように「引くごとに確率が変動する」という点が大きな特徴です。
ボックスガチャは以下のようなシチュエーションで見かけます:
-
ソーシャルゲームのイベント報酬抽選
-
景品キャンペーンの抽選
-
アナログカードゲームや福袋形式の商品構成
ボックスガチャ確率シミュレーター
2.確率計算の仕組みを実装してみた
今回作ったアプリは、「全体個数」と「当たりの個数」を入力することで、任意の引いた回数に対する「当たりが出る確率」を計算するものです。
ポイントは「超幾何分布(Hypergeometric Distribution)」の利用です。
これは、置き換えをしない抽選の確率モデルに用いられる分布で、ボックスガチャの性質にぴったり合致します。
超幾何分布の確率計算式:
P(X = k) = [C(K, k) × C(N-K, n-k)] ÷ C(N, n)
-
N:全体の数
-
K:当たりの数
-
n:引く数
-
k:当たりを引く数
-
C(a, b):a個からb個を選ぶ組み合わせ
この式をもとに、ある回数で「1回以上当たりを引く確率」や「すべて当たりを引ききる確率」を出すことができます。
JavaScriptでロジックを実装し、ブログにそのまま貼り付けられるようにしました。
3.アプリの使い方と応用可能性
アプリは次のような流れで使います:
-
全体の個数(例:100)を入力
-
当たりの個数(例:5)を入力
-
引く回数(例:10)を入力
-
「確率計算」ボタンを押すと、1個以上当たる確率が表示される
これを活用すると、たとえば以下のような場面で有効です:
-
石をどれだけ使えば当たりを引けるかの期待値を調べたいとき
-
イベントで複数報酬がある場合、リセットのタイミングを判断したいとき
-
販売側が「当たり率がどの程度体感されるか」を試算したいとき
また、この考え方を応用すれば、残りの在庫状況に応じて「あと何回で当たる確率が90%になるか?」という逆算も可能です。
まとめ
ボックスガチャは「有限な資源をどう引き当てるか?」というギャンブル性と戦略性が混ざった魅力的な仕組みです。
その数学的裏付けをアプリとして可視化することで、ただの運試しではなく、論理的な計画も立てやすくなります。
今回のアプリが、あなたのガチャ生活の一助になれば幸いです。
実際のアプリはこのページ下部に貼り付けていますので、ぜひ遊んでみてください。
SNOWさんの感想
心理的なものかもしれないけど、強いキャラの確率ってやっぱりおかしい気がするよね。