ソシャゲのガチャでSSRレアを引くコツと乱数調整について

更新:2019年06月26日 17:22

ソシャゲのガチャについて

ガチャとは

ソーシャルゲーム(以下ソシャゲ)には、大きな特徴としてガチャによるアイテム課金モデルが存在します。

現在ではガチャによってキャラクターを獲得し、ガチャによって強化をして進めていくゲームが主流となっているため、このガチャを上手く回して無料で強キャラやアイテムをゲットしたいと考えている人は多いでしょう。

そんなあたなたのために、この記事ではシステムエンジニアとしてガチャのプログラムも組んでいた筆者が、ガチャで最上位レアを引くコツをお教えします。

ガチャでSSRレアを引くコツ

先に結論から言いますと、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などの最上位レアに近いときに回せばお得にガチャが回せるということになります。

「乱数調整」という言葉を耳にしたことがあるかもしれません。それはこういった乱数の偏りを発見するための行為なんです。

無料ガチャを利用する

ゲームの種類によっては無料ガチャが用意されています。ゲーム内の無料ポイントを使ってひくことができるガチャのことです。

ガチャのプログラムを不正に操作することは禁止されていますから、通常であれば無料ガチャと通常のガチャは内部のロジックは同じことになります。つまり無料ガチャを何度か回し乱数の偏りを発見することで、通常ガチャの引くタイミングを図ることが可能となるわけです。

無料ガチャから通常ガチャへシフトするタイミングは以下のとおりです。

「当たりが連続して出たタイミング」の方がおすすめです。このときは乱数が上振れて偏っていることが大いに期待できます。

逆に当たりが全く出ないときは、通常ガチャでも期待できないため引くことはおすすめしません。「何度やっても当たりが出ない」というのは、机上の空論というわけではなく単にタイミングが悪いからです。当たりが全く出ないのにやけになってガチャを回し続けることは、今まで説明したように冷静に考えてやめた方がいいということが分かると思います。

連続でひくべきかどうかを判断する

当たりが出ないときは一向に出ないもの

関連してSSRレアを引くコツとして「連続でひくべきかどうかを判断する」という点があります。

当たりが出るときというものは、連続して当たりが出る可能性が高いです。例えば単発で最高レアのキャラを引いたなど1回で目的を達成したときなど、確率が上振れている可能性が高いのでその後も連続でひいてみることをお勧めします。

反対に先述のように無料ガチャで当たりが全く出ないときは、連続でひくことは一切おすすめしません。

まとめ

注意点

この方法はガチャの排出を保証するものではありません。・・と記述している記事は多いと思いますが、免責事項として記述させていただきます。

またいわゆるピックアップガチャなどに対するピンポイントな対象を狙ったものでもありません。あくまで、最上位レアを狙うコツです。

実体験に基づく

ただし実際に筆者がプレイをしてみて一番効果があったことと、理論的に考えて当然だよねという大きな根拠に基づいています。

具体的な例ですがシャドウバースというゲームで1回のカードパック(8枚入り)でレジェンドカードが出たため、わざと1回ずつ回したところ5回でレジェンドカード4枚とリーダースキンが排出されたことがありました。(分かる方だけご理解ください)

またゲームを複数プレイしている方は、ゲームを跨いでやたらとレアが当たりやすいことが重なったという経験はありませんか?こういったタイミングは記事中でも説明したように、シードに時刻が影響している可能性が高いです。

このように乱数というものは必ずありますし、「乱数調整」という行為も根拠があります。

さいごに

ガチャは引きたいときに引いた方が気持ちがいいかもしれませんが、最上位レアを狙うのであれば乱数調整をしてタイミングを図ることをおすすめします。

当サイトで使用しているゲーム画像や製品名等の著作権並びに商標権は当該コンテンツの提供元に帰属します。

この記事を読んだ人におすすめ

ソシャゲをやめたいけどやめられない原因とその依存症の治し方


はじめにこの記事をご覧の方はソーシャルゲーム(以下ソシャゲ)が私生活に時間・資金面で悪影響をし[...]

コメント

閉じる


1. 名無し 2019/08/06 20:34
なぜコードまで書いていてこのような考えに至ったのか不思議ですが、この記事の考えはまったく間違っています。

あなたが提示したソースでも利用しているメルセンヌ・ツイスタであれば次の乱数が予想できるような偏り方はしません。

乱数が偏るように見えるのは、人が数学的に正しい乱数を見ると偏っているように感じてしまうせいです。

また偏りから次の乱数を予想することはできません。

またガチャはサーバ上で処理されているため、疑似乱数であっても次に生成される乱数をクライアント側から予測することは不可能です。

さらに「乱数調整」の単語の意味も間違っています。
乱数調整とは、乱数を生成するのに使われているアルゴリズムとパラメータを特定し、次に出る乱数が望む値になるよう(ゲーム内の隠れた)パラメータを調整することです。
ある期間内を切り出したとき、結果が期待値からおおきくズレていることをもとに次に出る乱数の結果を予想しようとする行為を乱数調整とは呼びませんし、そんなことは出来ません。

2. 名無し 2019/08/15 21:38
まぁ実際に調整できちゃったらガチャが商売として成り立たないからな
ジンクスの域を出ないレベルの話だと思うわこれ

3. 名無し 2019/08/19 21:01
なんで必死こいてこき下ろしてんですかね?www

4. 名無し 2019/09/07 14:31
どうやったって偏ってるよな、ソシャゲやってるとよく実感する