ラズパイと戯れた話

Kアリーナでテンション高すぎてすっかり忘れていました。

書きたいと思います。

前回のミリシタのイベント「銀のテーブル木苺ジャム」中に色々やるよって言ったのでそれの勝手な報告です。

・Windowsで動いているDiscordBotをラズパイで動かす

あっさり達成しました。
なんだかんだで私の本業はIT系でインフラを扱っているのでここはスイスイできないとねって話なんですが。

ざっくりsambaってソフトを使用して、ラズパイに接続したSSD(OSも入っている)を同じプライベートネットワークにあるWindowsでも触れるようにしました。

これをすることで、音楽再生をするJMusicBotやそれ以外で使用している藤島慈Botの.pyファイルや、それでプログラムを実行する際に使用するテキストや音楽ファイルもササッと移動することができました。

ちなみに、ココだけの話ですが、一回最初にインストールされていたラズパイOSはfstabってやつの設定をミスって起動不能にさせました。適当なことして普通に反省しています(多分UUIDの設定とかで、インストールされたOSまでアクセスできなくなったみたい)

なので、以後のBotの話はすべてラズパイのもので常時稼働ができています。

・類似イベントの1位ボーダーの同時刻でのポイントを出力する

こちらは、今回のイベントで見事1位を獲得されましたび~さんをサポートする目的で作成しました。

目標が4,444,444ptだということで、そのポイントは以前開催された投票系ツアー・イベント1位のポイントなので、「じゃあそれに合わせて走ればいけるじゃん」というわけで、マラソンのペースメーカーみたいな役割で30分おきに同時刻帯のポイントを出力するBot。実はPythonで書いたウェブフックを実装しました。

なので、実はウェブフックのURLさえ教えてくれればどこのサーバでも実装できるシステムです。Discord.pyではないので。

出力例

Bot名の「立花日菜」はび~さんが矢野妃菜喜さんが好きだからという理由なだけです。それ以上はありません。僕が勝手に命名して作成しました。

感想ブログにもび~さんから感謝していただいたので、作成して良かったなと思います。

ちなみに作成するのは普通に簡単なので、他のイベントもペースメーカーとしてほしい!とか要望があったら対応できます。ひっそりとご相談いただければと思います。

とまぁ基本やりたいことはすべてできたし、追加でこんなウェブフックも作成できたので満足しています。

・次イベで正式実装するもの

・イベントポイントボーダー予想

過去の同時刻帯での他イベントの類似形式イベントでのポイント数と差分取って、近いものを出力するというものです。それでボーダーどれくらいなのかな~とか予想に使えればと思っています。

出力例(100位 テール174時間形式の比較)

これはテスト出力なので、正式なものは次イベント中に様子見ていこうかなと思っています。なんか重複して出ているものもあるし。

う~んテール類似形式最高ポイントのバトンタッチ最高!(それ言いたかっただけ)

ちなみに、これができるのは100位と2500位だけです。まぁボーダーのところだけあれば十分でしょという判断です。これ過去のログはいちいちmatsurihi.me様にアクセスしないで事前に取得したものを参照しているのでね。そのほうがレスポンスとか早いだろうし。

・ハイスコア予想

上のイベントポイントのハイスコア版です。

ハイスコアの予想で難しいのは、「時期によって値は全然違う」という点です。

どういうことかと言えば、カードの性能とかも変化するので、
ミリシタ初期だったら120万あれば1位だけど、今だったら160万でも1位は怪しいよねってわけで、純粋に比較には効かないです。

なので、活用したのが、「途中のこのスコアは最終スコアの何%あるのか」ということです。

それで、上記のイベントポイントと同様に「何割あるのか」というのを類似イベント形式で取得し、その値のリストからボーダー予想として最大値、最小値、平均値、中央値(メジアン)を出力するようにしました。

例えば特定の時間で、他イベの割合が[0.987, 0.984, 0.991, 0.976, 0.982]だった場合、その値の最小である0.976を現在のハイスコアで割り算した値が最大値として、最大の0.991で割り算した値が最小値、リストの値の平均値を割り算したのがそのまま平均値、中央値の0.984を割り算したのを中央値として出力しています。

出力例(値はダミーで一時的に入れています)

てな感じでやっています。ツアーとテールだと試行の回数とかも違うので、参考にならないのでイベントポイントのやつと一緒で同じ形式で同じ時間のものだけリスト化して計算して出すようにしています。

こんな感じです。
今後もなんかイベランが楽ちんになるようなものがあったら作ろうかな~とか思っていますが、後は「比較ができるボーダー画像をいつでも作成できるシステム」という野望さえ叶えたらとりあえず全て夢は叶っちゃいそうです。

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