更新:2020年08月28日 00:56
ソーシャルゲーム(以下ソシャゲ)には、大きな特徴としてガチャによるアイテム課金モデルが存在します。
現在ではガチャによってキャラクターを獲得し、ガチャによって強化をして進めていくゲームが主流となっているため、このガチャを上手く回して無料で強キャラやアイテムをゲットしたいと考えている人は多いでしょう。
そんなあたなたのために、この記事ではシステムエンジニアとしてガチャのプログラムも組んでいた筆者が、ガチャで最上位レアを引くコツをお教えします。
先に結論から言いますと、SSRレアを引くコツは以下の2点です。
これからこの2点に導くための理由を述べていきます。
ソシャゲのガチャは物理的なガチャとは異なり、プログラムによって作られています。そのため必ず始めに乱数を生成し、ガチャから排出されるものを決定します。
例えばゲームの仕様にもよりますが小数点以下2桁まで確率が存在する場合、0.01%~100%すなわち1~10000のうちのどの範囲に生成した乱数が入っているかということで判断をします。
以下のコードをご覧ください。
// 乱数生成
$rand = mt_rand(0, 9999); // 0 ~ 9999
$sum = 0;
foreach ($character as $key => $v) {
$per = $v[$ver]['probability'] * 100;
$sum = $sum + $per;
if ($rand < $sum) {
$resultArray[$i]['name'] = $v[$ver]['name'];
break;
}
}
先述したガチャの動作を一部コード化したものです。言語はPHPで書かれています。
ガチャに不正なプログラムを組み込まない限りは、最もシンプルな仕様は必ずこのようなります。
このmt_randによる乱数をそのまま使用するか、もしくは乱数生成の後に独自に乱数をカスタマイズするか、またそもそもこの乱数生成器をカスタマイズして最終的な乱数を決定します。
こうして紐解くと分かるように、乱数を改変をすることは非常に簡単です。少し余談ですが、頻繁に話題になるガチャの不正操作について本当にあるの?と思われている方は、実際に簡単に行うことができるということが分かると思います。
(昨今でも表記上とは異なる仕様を運営が直接ガチャの仕様に組み込んでいた、ということで炎上した事件がありましたね。)
ガチャの排出率=乱数ということを理解したら、次はこの乱数の偏りについてです。
ソシャゲのガチャにおける乱数はその都度人が決めているものではなく、内部のプログラムが決定しているものです。
プログラムというものは0か1という数字、いわゆる2進数によって全てが表現されています。すなわちオンかオフしか基本的には理解できないのですが、内部で複雑な処理をして指示に対して万能にみせているにすぎないのです。
乱数の生成に関してもそうで、0か1しか理解できないコンピューターが人間のようにパッっと思い浮かんだランダムな数値をアウトプットするという行為は特に苦手とされています。端的にいうとコンピューターはランダム表現が不可能ということです。

乱数の偏りによって同じものがピックされる状態の例(ゲーム:シャドウバースより)
乱数の作成には必ずランダムになるように異なるシード(種)を、ベースに乗算し乱数を表現しています。シードとは例えば現在の時刻(ms)など、必ず他と被らないような数値です。
シードは異なっていてもベースは必ず変わらないため、シードの有無にかかわらず乱数というものは必ず偏ることがあります。
最初に述べた「ガチャでSSRレアを引くコツ」の話に戻ります。つまりこの乱数の偏りがSSRなどの最上位レアに近いときに回せばお得にガチャが回せるということになります。
「乱数調整」という言葉を耳にしたことがあるかもしれません。それはこういった乱数の偏りを発見するための行為なんです。
ゲームの種類によっては無料ガチャが用意されています。ゲーム内の無料ポイントを使ってひくことができるガチャのことです。
ガチャのプログラムを不正に操作することは禁止されていますから、通常であれば無料ガチャと通常のガチャは内部のロジックは同じことになります。つまり無料ガチャを何度か回し乱数の偏りを発見することで、通常ガチャの引くタイミングを図ることが可能となるわけです。
無料ガチャから通常ガチャへシフトするタイミングは以下のとおりです。
「当たりが連続して出たタイミング」の方がおすすめです。このときは乱数が上振れて偏っていることが大いに期待できます。
逆に当たりが全く出ないときは、通常ガチャでも期待できないため引くことはおすすめしません。「何度やっても当たりが出ない」というのは、机上の空論というわけではなく単にタイミングが悪いからです。当たりが全く出ないのにやけになってガチャを回し続けることは、今まで説明したように冷静に考えてやめた方がいいということが分かると思います。

当たりが出ないときは一向に出ないもの
関連してSSRレアを引くコツとして「連続でひくべきかどうかを判断する」という点があります。
当たりが出るときというものは、連続して当たりが出る可能性が高いです。例えば単発で最高レアのキャラを引いたなど1回で目的を達成したときなど、確率が上振れている可能性が高いのでその後も連続でひいてみることをお勧めします。
反対に先述のように無料ガチャで当たりが全く出ないときは、連続でひくことは一切おすすめしません。
この方法はガチャの排出を保証するものではありません。・・と記述している記事は多いと思いますが、免責事項として記述させていただきます。
またいわゆるピックアップガチャなどに対するピンポイントな対象を狙ったものでもありません。あくまで、最上位レアを狙うコツです。
ただし実際に筆者がプレイをしてみて一番効果があったことと、理論的に考えて当然だよねという大きな根拠に基づいています。
具体的な例ですがシャドウバースというゲームで1回のカードパック(8枚入り)でレジェンドカードが出たため、わざと1回ずつ回したところ5回でレジェンドカード4枚とリーダースキンが排出されたことがありました。(分かる方だけご理解ください)
またゲームを複数プレイしている方は、ゲームを跨いでやたらとレアが当たりやすいことが重なったという経験はありませんか?こういったタイミングは記事中でも説明したように、シードに時刻が影響している可能性が高いです。
このように乱数というものは必ずありますし、「乱数調整」という行為も根拠があります。
ガチャは引きたいときに引いた方が気持ちがいいかもしれませんが、最上位レアを狙うのであれば乱数調整をしてタイミングを図ることをおすすめします。
当サイトで使用しているゲーム画像や製品名等の著作権並びに商標権は当該コンテンツの提供元に帰属します。