Webシステム開発のメモなどJava、PHP、JavaScriptのあたりを使用したWebシステム開発のメモブログです。最近はLinuxの環境構築についても書いています。ミリオンライブ!シアターデイズ(以降ミリシタ)の10連ガシャのシミュレータを作成しました。ある恒常:いつでも引けるやつ復刻限定:1年くらい前のガシャの期間限定キャラが期間限定で復活するやつガシャの仕様は大体どのソシャゲも一緒かと思います。引いたSSR,SR,Rの確率と枚数を集計して表示など管理画面についてシミュレータで使用するデータの管理画面はCakeプラグイン化した自動生成ツールで作成しました。́)+どちらかというとCSVインポートで使用するデータをExcelで作ってた時間の方が長いかも。フロント画面についてこちらはさすがに自動生成とはいかないので頑張って自作。最初にRESTfulなAPIの形で提供割合や10連の処理を作り始めたのでそのままフロントはAPIをAjaxで呼び出すだけの画面となりました。簡単なようでAjaxリクエストはデバッグキットで表示できないのでSQLの細かいところを直すときにちょっとめんどくさかった。最終的にカード情報を取得する処理は以下のようなプログラムとなりました。$cards;}SQLはなんとかCakePHP3のORMを使用した形で作れました。いつもだと少し複雑なSQLを組み立てる際はConnectionManagerのコネクション取得して生のSQLを生成してぶん投げるみたいなことをしています(^q^最初、恒常のカードと限定のカードを一度のSQLで取得するべくOR条件を作成していたのですが可読性が悪い気がしたので、現在の別々に取得する形となりました。動作確認するまず「10連ガチャを引く」を何度かクリックし、現在開催中のガシャのSSRピックアップが出ることを確認してみました。概ね300連以内に出ました。提供割合はこんな感じ。上の方で載せているミリシタの提供割合画面と一致しました。次に10連×300回引いてみました。SSRのピック率が3.07%と期待していた結果となりました((^^))SRは10連目でSR以上確定の影響を受けて設定値の12%より8%高い20.53%となりました。何度かリセットしてやり直してみましたが概ね似たような結果となりましたd(^^三^^)b参考サイトカード情報や過去のガシャ情報についてはWikiを参考にさせていただきました。Gamerchまた、重み付けの抽選処理についてはこちらの処理を参考にさせていただきました。自力では思いつけなかった。tyablog.net自分用メモ↓この後やること特定のカードをチェックしておいて、そのカードを引けるまでに何回ガチャを引いたかとかわかるようにするフロント画面をもう少しどうにかする出来れば実際のミリシタの画面に似せたりするSSRとかSR引いたら早坂さんのスライドを出すとか提供割合のソート表示をPrincess→Fairy→Angel順にする公開する新しくmilligashaみたいなサブドメイン切って公開する予定Gitのプライベートリポジトリをパブリックにするその他ゲームによってガチャだったりガシャだったりするのが気になって調べてみたらまとめられている方がいらっしゃいました。参考:ガチャとガシャの違い:にわかがお伝えします。これってどう違うの?ガチャとガシャの指し示す意味は同じ模様。ミリシタはバンダイナムコのゲームだから「ガシャ」ということの模様。CakePHP3CakePHP3ガシャガチャシミュレータミリシタシェアするTwitterFacebookはてブPocketLINEコピーtikuwaWebシステム開発のメモなど関連記事CakePHP3CakePHP3のプラグイン開発についての備忘録3~4か月くらい前からネイティブなPHPでだらだら作っていた「CakePHP3の管理画面のソースをbakeで自動生成するツール」についてCakeプラグイン化しました。結論を最初に書いておくと、最初からプラグインとして作っていればよかった...CakePHP3CakePHP3のbakeによる自動生成をカスタマイズする5今回は各テンプレートに散らばるコード定義の共通化と、左メニューの自動生成について以下の作業を実施しました。当初はModelTask内で一緒にコード定義を生成していましたが、後から...CakePHP3CakePHP3のbakeによる自動生成をカスタマイズする2前回のbakeのカスタマイズの際、add()をedit()と統合した結果add.ctpの生成自体が不要となりました。(2)リンクプライバシーポリシーその他製作物タイトルとURLをコピーしました。