見出し画像

オーディションシミュレータをWEBアプリ化した話

どうも。なぶらです。初めましての方は初めまして。そうでない方はお世話になっております。

半年前、私はオーディションの内容を大量にシュミレートし、ログ出力から札回しの研究をしやすくするプログラムを書いて公開しました。

https://note.com/sakuragikonomi/n/n70944644c4f3

今回はこれをWebアプリとして誰でも使いやすいように公開したのでその辺の話をしようと思います。下のURLがそのアプリのリンクです。

アプリの内容についてはアプリ本体に書くので経緯とか使ったもんとか既存のやつとの比較あたりをまとめておきます。

経緯

4thPカップが終わり、noteでシミュレータを公開しました。公開時は本当にPカップの編成、札回しの研究に革命を与えるとすら自負していました。しかしその後STEPの情報が公開され、もうこのプログラムが日の目を見ることはないとかなり肩を落としたまま半年ほど暮らしていました。

そんなある日、

PカップにSTEP育成分は加算されないことが発表。本当に嬉しかった……
実は最初にシュミレータを公開してから、「GoogleClabに直書きだとプログラム初めてって人だと難しいよなぁ」とずっと思っていました。
Webアプリとして公開したいと思う一方、どうしてもリアルが忙しく、わざわざフロントエンド書くのは時間かかるしどうしようかなぁとか、DjangoなりFlaskなりフレームワーク使うとしてもサーバとか手配すんのめんどくさそうだしな…と色々調べていました。
そんな時、Streamlitというフレームワークについて知りました。
Pythonオンリーで簡単にデータ入力ウィジェットが作れる+Githubアカウントさえあれば簡単に公開できるというまさに痒いところに手が届くフレームワークでした。
見つけてしまうと後は早いもので、データの入力をボタンやボックスから取ってくるようにコードを書いて今に至ります。
ぶっちゃげあんまテストしてないのでバグも多いですが……アジャイルということでひとつ……
他のプログラム系シャニマスPの方も知っておいて損しないフレームワークだと思います。圧倒的に楽

Streamlit公式ドキュメント↓
https://docs.streamlit.io/


使用書っぽいやつ


利用規約について

ソースコードの複製、個人的利用等好きにしてもらっても大丈夫です。
もしこのコード改善したいとか、自分の作ってるプログラムに組み込みたいとかがあれば是非お声かけください。一緒によりよいものを作りましょう。

Google Colabとの違い

Colab版とWebアプリ版でできること、できないことについてまとめておきます。

Webアプリ版でしかできないこと

なし。強いていうならデータ入力が直感的で分かりやすく、コーディングミスでよく分からないエラーを吐かれることがない

Colab版でしかできないこと


・殴り先をスピアで指定する
・データベースにないサポ札も自分で情報追加ができる(Web版だと問い合わせて私がデータベースに追加するのを待つ必要がある)
・自動で殴る札を選ぶ時、条件をつけることができる(打つ札に優先順位をつける、○%以上バフが鳴いていれば札Aを打つようにするなど)
・思い出リンクのバフ付与に対応している
・複数の編成を用意し、切り替えて比較できる
・前回以前にシュミレートしたログを全て保存、閲覧することができる

どちらでもできないこと

・回避バフ、被弾時バフ等、自分が審査員の攻撃を受けることで生じるバフ(簡略化のため審査員が攻撃をするという事象自体起きません。注目度付与して、「注目度UP付与時○%UPみたいなバフを鳴かせるみたいなのはできます)
・ノクチルの2人リンク(環境で使われそうなら実装も検討します)
・興味操作(環境で以下略)

むすび

Webアプリ化により、多くのユーザの歌姫研究の手助けになれることを願っております。
また、バグの報告や追加して欲しい機能などありましたらどしどし問い合わせから送ってくれると嬉しいです。
余力があったらユーザ登録かCookie使って自分の編成を記憶させてすぐに呼び出したり比較しやすくできたらええな…

この記事が気に入ったらサポートをしてみませんか?