【I done it.】サポーターズプラン開設のお知らせ | マーダーミステリー・オンラインセッション!

マーダーミステリー・オンラインセッション!

 最近流行り始めている『マーダーミステリー』をDiscordを使ってオンラインで遊ぶやり方などについて紹介しています。
「マーダーミステリーってなに?」「Discordってなに?」「イケメンさんすてき抱いて!」などの疑問にお答えできるようがんばります

 こんにちはこんばんは6日だね子猫ちゃんたち! 七草セットを鶏肉と一緒に買って来て「今夜はこれでゴージャス粥で胃を休めるか~!」って思ってたら、七草粥を食べるのは明日の朝だった事に気づいたイケメンだよ! そっかぁ~七草だから7日かちくしょう!

 さて珍しく日をあけずにblog更新しててとてもえらいイケメンなんですが、本日は緊急事態宣言とマーダーミステリー…とかいう話では全く無く、昨年の大晦日に突然始まった『I done it.サポーターズプラン』のお知らせです。

 

”I done it.”サポーターズプランのお知らせ

 かねてよりDiscordでマーダーミステリーのオンラインセッションを準備するGMのための支援botとして開発・運用されてきました”I done it.(アイダニット)”はご存知でしょうか? Discordでオンラインセッションを遊んでる人ならきっと一度は目にしたことがあるんじゃないかと思います。タイマーで時間を計ってくれてたり、ダイスを振ってくれたり、時には「にゃーん」と鳴いていたりするアレです。

 まずI done it.についてはこちらから。

 

 

 マーダーミステリー用のチャンネル&ロール作成、カウントダウンタイマー、乱数発生のダイス機能を軸に、オンラインでマーダーミステリーのGMをする人の助けになってハードルを下げるため、昨年3月に開発されました。実際にマーダーミステリーの普及に伴って登録数はぐんぐん伸び、今では常時2500サーバー前後で働き続けています。ロールごとの権限の概念などを考えること無くGMが始められるため、マーダーミステリーの普及そのものに貢献してきていると自負しています。

 

 このI done it.を無料で使用してもらい続けるため、I done it.本体が置いてあるサーバーも無料のものを使用し続けてきたんですが、昨年中に一度負荷に耐えられずパンクしてしまうという事がありました。

 非常に多くのサーバーで登録されているため、実際に使用されていなくても、オンライン状態を返すだけでトラフィックが馬鹿にならなくなってしまったのです。

 事態を重く見て、現状では1ユーザーあたり5サーバーまでの制限を課しました。セッションが終わったら一度kickしてもらい、再びサーバーを使用する際に再度招待してもらう形です。

 

 また、これは当初からなんですが、サーバーにはリブート時間をいうおのが存在します。一日一回サーバーを再起動するわけですね。しかしこれが約23時間おきというよくわかんないスケジュールで動いてまして、いつリブートが来るか正確にはわかりません。そして、リブート自体は一瞬で済むんですが、I done it.がタイマーで時間を計っている時間にリブートがかかると、タイマーがリセットされてしまいます。たまに起こる「あれ? 時間来てるはずなのにI done it.ちゃんが何も言わない…!?」という現象は、これが原因かと思います。

 

 そこで、『I done it.支援者プラン』と称しまして、広く支援者を募り、その支援金でI done it.ちゃんを有料のサーバーに引っ越しさせよう、という事になりました。

 

 十分な資金が集まり次第、有料サーバーへ引っ越しして、I done it.のさらなる安定動作を目指します。リブート時間とかも多分指定できるようになったりするんじゃないかなどうかな!?

 現時点では支援者の方のメリットもリターンも一切何もないんですが、心の広い方のご支援をお待ちしています。

 サーバーのお家賃を払ってもまだ余るくらいの規模になったら、開発者のtsukaさんに何かおいしいものでも食べてもらいつつ、ココフォリアみたいに支援者専用隠しコマンドとか実装できたりするかもね? という感じです。期待しないで待ってて下さい。

 

 お金だけ払ってリターンは気にするなと、何とも一方的なお願いで恐縮ですが、心とおさいふにちょっぴり余裕のある皆様のご支援をお待ちしています。

 

そもそもの話

 おかげさまで想像していた以上に”I done it.”は普及してまして、嬉しいことに「あって当然のbot」ぐらいのイメージまで来ているみたいです。この事は本当にtsukaさんともども、作ってよかったねえといつも話しています。

 でもそもそも何で作ることになったのかって言ったら、もちろん無かったからなんですよ。マーダーミステリー用のbotがじゃなく、そもそもカウントダウンタイマーのbotが。

 これでもないあれでもないと探し続け、結局自分で作るしか無いのかと腹を括り、bot制作者さんのサーバーにお邪魔したり、オンラインpython講座を受けてみたりもしました。制作者サーバーの皆さんには相談に乗って頂き本当に感謝しています。皆さんほとんど高校生でしたねーびっくり!

 で、調べた結果、どうやらDiscordのライブラリに、そもそも時間や時刻を取得する要素がないという残酷な現実に辿り着きまして。その時に「sleep命令が1回1秒だよ」と教えてもらったのがきっかけで、現在のI done it.の前身(当時はSimple_Timer_botという名前でした)が出来上がりました。

 早い話、1分のタイマーなら60回sleepさせてから経過を吐き出す、という仕組みです。10分なら600回、30分なら1800回。けっこうな力技かなと思ってましたが、後発でbot開発されてる人々もやっぱり同じ仕組みでタイマー動かしてましたね。他に手段は無さそうです。

 出来上がりましたって言っても、実際にコードを書いてくれたのは、募集鯖に早い時期から参加してくれていたtsukaさんでした。それも、Rubyが専業なのに、「いい機会だから」とわざわざpythonを勉強して書いてくれました。ありがたい話です。

 そのありがたみを噛み締めつつ、「じゃあついでにこういう機能どうかな?」とマーダーミステリーGMのための機能を追加してもらい、完成したのがI done it.です。制作者鯖の先生の「Discord上で人間が手作業でやることは、全部botで自動化出来ますよ」というカッコいい一言も引き金になりましたw

 I done it.に/nekoコマンドがあるのは、当初イケメンがサンプルコードを参考に作っていた一番最初のコードにあったからです(その後無意味に返答がランダム化しましたw)。というかつまりサンプルコードそのままです。

 このあたりのすったもんだは、募集サーバーの『bot作成したい部屋』チャンネルに残っています。今となっては不要なチャンネルですが、なんとなく惜しくて残してたままにしています。何ならソースコードそのまま出てますw お暇な時にのぞいてみて下さい。

 

I done it.ちゃんにお礼を言ったら!

 今夜もGMかい子猫ちゃん? それともPLで、I done it.ちゃんが動く所を見ながら「へーそうなってるんだー」ってニコニコする予定かな?

 ん? botの話はわかったけど、どこで使ってみればいいのかわからない、だって!?

 いけないな子猫ちゃん、キミが来るべきはまずここサ!!!


▼マーダーミステリーオンラインセッション募集用サーバー▼

 気軽にGMが出来るようになる武器はもう持ったんだ!

 あとは一緒に遊ぶ仲間だよね?

 ここに来たら子猫ちゃんも今日からトモダチさ!!

 そして僕らと一緒にさけぼう!

 I done it.

 まちがえた!

 レッツ・マーダー!!!!!!

 ご支援お待ちしてま―――す!!!!