プログラムをガチで書いてガチャ(スカウト)を回そう!!特定のSSR(UR)をGETできるのかを徹底的に検証してみた in「メルクストーリア」
現在ハマっているゲーム「メルクストーリア」で課金したいけど・・・どの程度課金すればお目当のSSR(UR)をGETできるかをプログラムを用いて検証してみました!!
検証といっても自分だけやっても面白くないので誰でも検証できるように、このページで自由に何回でもガチャ(スカウト)出来るように改造いたしましたので是非遊んでみてください。
メルクストーリアというゲームにハマっていまして・・・
メルクストーリア - 癒術士と鈴のしらべ -(メルスト)
http://mercstoria.happyelements.co.jp/
先日何気なくネイバーまとめを見ていたら、広告記事のところになにやら面白そうなゲームアプリの宣伝がありまして、その記事を見て新たな課金ゲームにハマってしまいましたw
なにこの設定w主人公が超ヘタレなRPGがおもしろい - NAVER まとめ
http://matome.naver.jp/odai/2141449076664554901
もう主人公がヘタレで戦わない!って所でいきなり惹かれてしまいまして即インストールしてみました。絵も可愛いし、音楽も癒される。なによりめっちゃキャラクターが多いんです!めっちゃ可愛いのばかり。
いや・・・僕は業者じゃないんですが、本当に良いアプリだなって感じるんです。最初のオープニングなんかも最高なんですよ!!
ユーザーさんも信じられないくらいに優しいし、このゲーム・・・すごいです(しゅごい)。
メルクストーリア - 癒術士と鈴のしらべ - OP
プレイしていくうちにやっぱりレアで可愛いキャラクターが欲しくなりましたw
やっぱねー・・・欲しくなるんですよ。
最初に仲間になった人たちも愛着があるんですよ?だけど・・・一人くらい強くて可愛いい女の子が欲しいのです
前にイベントを開放するってやつがあるんですけど、メダルがあったので適当に開放してプレイしたのですが、そのイベントがもう!最高で良いストーリーだ〜〜って地味に感動してしまいました。
ぼく、やっぱり家でわんちゃん、ねこちゃん飼っていますし、毎日こたつで一緒に寝ますから動物系のキャラクターは大好きなんですよ
[夜明く銀の獣] ハルシュト
この子なんですけど、一見するとかっこいい男の子って感じがするじゃないですか、というかストーリー鑑賞していて最初は本当にそう思っていましたw
ですけどこの子、実は女の子で、お嫁に来た隣村のお姫様を守っている人?(犬族)と言い争いになり、女の子ということを明かして上で戦い、互角になるシーンがあります。
そのシーンなんか最高でした!良い子だな〜ってきゅんきゅんするんです
で、最後にこの子もらえるのかなーって楽しみにしていたのですがなんと、もらえずじまいでした・・・名前は覚えていたのでどんなレアキャラなのかなーってスカウトの所で調べていたらレア度:★★★★★のURでちと無力感にw
この時点でGETできるのは無理ゲーに近いと感じたのですが、実際に特定のキャラをGETするにはどの程度スカウトをすればいいのかをプログラマーなので検証してみました。
ダイヤスカウトの提供割合(2015.01.28時点)
SSです。
これを見ると
レア度:★★★★★
確率:1.25%
レア度:★★★★☆
確率:5.58%
レア度:★★★☆☆
確率:23.89%
レア度:★★☆☆☆
確率:69.28%
と、なっています。高いのか低いのかはどうでしょう、ちと厳しめの確率だなとは個人的には感じました。
なお、
・少数第3位を四捨五入しているため合計が100%にならない場合があります
・上記割合でレア度を確定後に、均等な比率でユニットを提供しております
・10連でのフェス確定枠は以上確定です
上記三つの謎の仕様は無視しますw
ダイヤスカウトのお値段
重要なのはお値段です
ここが高いか安いかで何回もするであろうスカウト料金が変わってきますが・・・
残念!
1回のダイヤスカウト料金は500円なのです。
ちょい高w
レア度:★★★★★ が確率:1.25% となっていますので単純計算だと
11連スカウト×7回 + 1スカウト×3回の合計80回スカウトを行い
ようやく レア度:★★★★★ が一体手に入るといった低確率
ちなみにお値段は
36,500円ぶっこむ計算になります。
※ あくまで単純計算【追記】2015.01.29
ちょw スカウト×11 で作ってしまっていました・・・
正しくはスカウト×10でダイヤが5個お得な仕様でした
あと、よく考えたらダイヤショップの仕様は・・・
ダイヤ135個
8,400円(51個おまけ)
なので、現在の擬似ダイヤスカウトの仕様で計算するとだいぶ値段が間違ってきますね・・・
〜現在の仕様のまま再計算〜
10連3回毎に5,000円を引いていけば大体合うはずです
後で時間がある時にでも修正しときます。。
ダイヤスカウトの仕様を見ながらプログラムを組んでみました
ぬぬぬ!?意外と難しいのですね!!何回も何回もテストを重ね(多分1000回はテストした)プログラムを改良して完成しました!深夜にこのプログラムでスカウトをしてみたらどうなるんだろうとアイデアが浮かんでからガリガリ書くこと6時間。
ようやく完成!!
一応、本ゲームの11連の仕様だけは対応して11回で5000円になるようにいたしました。
スカウト×1 と スカウト×11 以外にも勝手に スカウト×110!(非公式) スカウト×1100!!(非公式) スカウト×11000!!!(非公式)も作成。最初からやるときにページ再読み込みはめんどくさいからデータを初期化するボタンも設置。
擬似ダイヤスカウトの仕様
レア度:★★★★★
確率:1.25%
レア度:★★★★☆
確率:5.58%
レア度:★★★☆☆
確率:23.89%
レア度:★★☆☆☆
確率:69.28%
・確率は全く同じ
・レア度:★★★★★ に到達してから更に・・・ダイヤスカウトで提供されている ★★★★★ キャラで抽選をする(これがえげつない)
・合計スカウト数値を出す
・使った合計金額を出す
・この記事の目的である ハルシュト の抽選確率を割り出す(重要)
ダイヤスカウトで提供されている ★★★★★ キャラ一覧(2015.01.28時点)
モルーシャ, レイ, アウラ, コーネリア, ヴィルエル, アルシオン, ファーラ, カイザー, ミスティカ, モクレン, ロシャナク, ジェラルド, シエラ, キャロル, ユーヴェンス, アナーヒト, ハルシュト, プロメテンド, リベルディ, まつかぜ, トレノセリカ, イヴ, みおぎ, ブラッド, シトルイユ, バルトロメイ, ローザ, シルフィカ, グレゴトール
全部で29体
[擬似ダイヤスカウトツール]
記事内にも擬似ダイヤスカウトツールを載せときますが、擬似ダイヤスカウトツールだけのページも作成いたしましたのでPCで試す方などは専用ページの方が見やすくツールをいじれます。
メルクストーリア 擬似ダイヤスカウトツール
http://sharetube.jp/permalink/scout.php
結果・・・ハルシュトをGETするにはこのくらいお金が必要でした
10億円ほど使ったシミュレーションを何回も何回も回してハルシュトをGETできる確率を少々雑ですが、弾き出しました。
1回のスカウトでハルシュトが出る確率は
0.043% です
単純計算してみると・・・
スカウト2326回 × 0.043%
回して、ほぼハルシュトが出る結果になります
(2326回まわすのも何回かやりましたが、出ない時も多々ありw)
金額にして
1,057,500円
ぶっこめば
ほぼ確実にハルシュトたんをGETできます!!wwwwwwwww
全体的な確率はどうだった?
基本的に、指定した確率に近づいていく動きはしてますよね?ただ、やはりランダムなので少ないスカウトの回数だと確率はまばらになります。よって現実的にスカウトをするといっても1〜3万円くらいだと思いますので最終的に運が必要。
【PHP版】[擬似ダイヤスカウトツール]のソースコード
最初PHPでガリガリ書いていたのですが、ある程度出来上がってから
記事化して見ている人にも検証を体験させれたら楽しいかも!ってアイデアが浮かび中途半端で終わったソースコードですw
これを元にJavaScriptで再構築 + 増築したので、これはこれでシンプルでいい感じです
// レア変数$rare_5 = 0;
$rare_4 = 0;
$rare_3 = 0;
$rare_2 = 0;
// レア毎の確率
$rare_5_probability = 125;
$rare_4_probability = 558;
$rare_3_probability = 2389;
$rare_2_probability = 6928;
// 回す回数
$run_number = 11;
// 1回回す為の金額
$run_money = 500;
// ランダムの確率
$random_probability = 10000;
// ガチャ回す
for($i = 0; $i < $run_number; $i++) {
// ランダム乱数取得
$probability = rand(1, $random_probability);
if($probability <= $rare_5_probability) {
$rare_5++;
}
else if($probability <= ($rare_4_probability + $rare_5_probability)) {
$rare_4++;
}
else if($probability <= ($rare_3_probability + $rare_4_probability + $rare_5_probability)) {
$rare_3++;
}
else if($probability <= $rare_2_probability) {
$rare_2++;
}
else {
$rare_2++;
}
} // for($i = 0; $i < $run_number; $i++) {
// 引けた確率
$pull_probability_5 = ($rare_5 / $run_number)
- 100;
$pull_probability_4 = ($rare_4 / $run_number)
- 100;
$pull_probability_3 = ($rare_3 / $run_number)
- 100;
$pull_probability_2 = ($rare_2 / $run_number)
- 100;
echo &
echo $rare_5.& echo & echo $pull_probability_5.&
echo &
echo &
echo $rare_4.& echo & echo $pull_probability_4.&
echo &
echo &
echo $rare_3.& echo & echo $pull_probability_3.&
echo &
echo &
echo $rare_2.& echo & echo $pull_probability_2.&
echo &
// 回した合計金額
$total_run_money = $run_number
- $run_money;
// カンマ挿入
$total_run_money = number_format($total_run_money);
echo &
?>
【JavaScript版】[擬似ダイヤスカウトツール]のソースコード
PHPでは関数化していなかったのでJsでは全部を関数化にして綺麗にしました。最初はすごろく的な簡単なものを作って検証しようと考えていたのですが、それではどうにも良い結果が出なかったので単純計算だけですが作ってみました。
本来のガチャであれば個数が固定されていて、ガチャを回すたびに裏の設定調整が入るようになると思いますが、そこまで実装しなくても結果はあまり変わらないので個数固定概念はなくしています。
最後に
この検証結果はあながち間違っていないと思いますので、これからガチャ(スカウト)やりたいけど・・・どのくらいお金を投入すればレアキャラをGET出来るのか心配な方にこのツールで体感してもらってから、本番でやってもらいたいです。
ここで運を使ったら本末転倒ですがwww
(実際にここで5,000円で欲しいハルシュトが出たりしていますので泣)
そんなこんなで課金に対する壁が薄まっている今、ハマりすぎる人たちが急増しています!!ゲームはほどほどにしましょうー。毎月本当に余ったお金だけで楽しむことが一番かもしれません。