忍者ブログ

君が重ねたンドの数なんて俺が3日でぬいてやるぜ

主にジョジョSSのプレイ記録。攻略ではなく記録。 基本はガシャには非課金、回復ダイヤにのみ課金。 タイトルは某書籍タイトルを文字って全力周回の意気込みを表してみた。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ジョジョSS妄想 なぜガシャに偏りが出るのか?

ガシャに偏りが出る理由の1つ、乱数による確率計算の仕組みについて考えてみました。
※本記事は妄想であり、実際の仕様とは異なる可能性があります。ネタ記事として楽しんで頂ければ幸いです。

ガシャの箱の中

ガシャのイメージはどんなものでしょうか。
箱の中に「SSR」や「R」と書かれたボールが入っていて、手を突っ込んで一つ引く――
これは(おそらく)間違いで、プログラム的には、ボールには「0」や「80」などの数字が書かれているのが正しいイメージ(のはず)です。
また次に引くと何が出てくるかは予め決まっていて、引く順番によって当たりはずれが左右されます。

箱の中にこんな感じにボールが積まれていて、好きなものを引けるのではなく


このように数字が直線的に並んでいて、前から順に引かされるイメージです。
枠外の数字は順番を示しており、左端が先頭になります。
紫=SSR、黄=SR、グレー=Rです。


この数字の羅列は「乱数」と言うものを素に得たもので、一様に分布されており偏りがありません。
確率に関するプログラミングをする場合、大抵こういった値(ここでは便宜上この値も「乱数」と呼びます)を用います。

なぜ結果に偏りが出るのか?

さて、乱数に偏りが無いと上述しましたが、実際のガシャ結果には偏りが出るのはなぜでしょう?
それは乱数を使ったガシャの仕組みを考えてみることでイメージできます。

試しに乱数を使って“SSR率10%”、“SR率30%”のガシャを作ってみましょう。

まず、乱数を2つ用意します。

1つはとりうる値が0~99までの乱数列で
  • 0~9が出ればSSR(=10%)
  • 10~39が出ればSR(=30%)
  • 40~99が出ればR(=60%)
の当選となります。
これは“どのレアリティが当たるか”のみを決めるものです。
とりうる値は100種類ですが、乱数列は100個を超えて無限にあり、0~99の数字がびっしりつまっています。
つまり0~99の数字の出現回数は1回ではなく無限であり、同じ数字が複数回出てきます。
また各数字は偏りなく分布されています。

もう1つはとりうる値が各レアリティのユニットの数だけ用意された乱数列です。
仮にSSRが30体、SRが100体、Rが100体あるなら、
  • SSRの場合:0~29
  • SRの場合:0~99
  • Rの場合:0~99
のようにそれぞれ用意します。
この数字は、SRの0=SRディオ、同1=SRパパウ…というようにユニットと1対1で紐付けられています。
こちらも1つ目と同様、各数字が無限に・偏りなく並んでいます。

乱数が用意できたら、あとはガシャが引かれたら
まず1つ目の乱数表から次の値を取得してレアリティを確定し、
続いて2つ目の乱数表から次の値を取得してユニットが確定する
動きをするようプログラミングします。
ガシャの確率計算はこんな風に作ってあるのではないでしょうか。

なぜ偏りが出るのか? それは、箱の中に「SSR」や「SR」などのレアリティではなく、「0」や「15」などの数字が入っているからです。
各数字は偏りなく分布されており、例えば0,0,92,0,…と「0」が頻発するようなことはありません。
ですが、0,92,8,13,74,…と、同じレアリティに属する数字が頻発するケースはありえます(0と8はSSR、92と74はR)。
これが偏りが出る理由の1つと考えられます。
他にも、接続先のサーバが複数あって、それらで確率設定が異なる可能性などもありえますが、今回はこれにて。
PR

Comment

お名前
タイトル
E-MAIL
URL
コメント
パスワード

Copyright © 君が重ねたンドの数なんて俺が3日でぬいてやるぜ : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]

管理人限定

プロフィール

HN:
おりゃー!
性別:
非公開

P R