簡易TRPG向けチャットツールOnset!
自己紹介
きりだるま﴾@kiridaruma﴿
府内の某大学に通ってる1回生﴾春から2回生﴿
最近はDJしたりしてます
突然ですが、TRPGって知ってますか?
知らない人
ggってください
やってるよって方
どんなシステムやってますか?
ちなみに自分はCoC、アリアンロッド、りゅうたま
目次
Onset!とは
なぜ作ったか
実装について
最近﴾+今後﴿
Onset!とは
Apache/Nginx+PHPで動くTRPG向けチャットツール
似たものに、どどんとふやRoll20、IRCなど
Onset!開発初期の時点では、国内ではどどんとふが圧倒的シェア
+α、一部コミュニティーでIRC
なぜ作ったか
どどんとふが圧倒的シェア
けど、どどんとふはFlashなのでスマホからできない
一部機能は利用可能
というかどどんとふってチャット見にくい
画像や音楽流すならともかく、テキストだけなら機能過
多
⇒じゃあ新しく作ろう
実装について
超レガシーなWebアプリ﴾WAFとか使ってません、理由後述﴿
メインはPHPだが、一部Ruby﴾CGI、後述﴿
「速さ」を第一に
実際の処理速度
遊ぶにしても、ヘルプを見なくてもすぐ使えるように
自分でサーバを立てる際もすぐに遊べるように
なぜWAFを使わないのか
どどんとふの影響
「基本的に自分でレンタルサーバ借りてサーバ立ててね」
一応、有志による公開サーバもある
Onset!も、自分でサーバを立ててもらって、そこで動かしてもらう
学生だし、トラブルで何かあると面倒
そもそも、大規模な公開サーバを建てる財力がない
なぜWAFを使わないのか
初期設定やコンフィグを書かないといけないWAFは面倒
性能的にも微妙
プログラム書けない人でも、調べながらOnset!のコードをいじ
れるように
ダイスボットの実装
初期は自前で﴾PHPで﴿実装していた
が、国内で遊ばれてるシステムは100以上
それら一つ一つのダイスを追加する...のは嫌だ﴾逃避﴿
そうだ、どどんとふから借りよう
どどんとふから借りる
どどんとふのダイスボットはBone&Carsというもの
もともとはIRC用ダイスボット
言語はもちろんRuby
PHPとRuby...
どうしようか...
fork/execして動かすのを真っ先に思いついた
「素人の人にレンタルサーバを借りて使ってもらう」
勿論、レンタルサーバではfork/execなんてできない
というか、あんまり複雑な事やると素人の人が触れない
考えるのをやめた
Rubyだし、PHPのシステムの中に別でCGI動かせばいいんじゃ?
結果的に
ブラウザ⇒Onset!﴾PHP﴿⇒自分自身にhttpアクセス⇒Bone&Cars﴾CGI﴿
というものに
結果
どどんとふと同じコマンドが使えるので、そこを売りにできる
対応システムが増えた﴾3→120くらい﴿
どどんとふのダイスを組み込んでから一気にDL数が伸びた
懸念してた速度も、そこまで気にならなかった
﴾自分自身へのアクセスだから、100msを普通に切る﴿
最近
ここ最近は他のソフトやアプリ、サービスが出てきた
でも、配布形態のものは少ない
Onset!より軽快に動くものはない﴾自分の観測範囲内では﴿
新Verのリリースは2か月に1度ほど
直近では一昨日﴾Ver2.1.2﴿
IssueとかPRとかガンガン投げてください!
PHP初心者でも読めるコードです
今後
複数の有志の方のサーバを繋げて、IRCみたいなネットワークを...
考えてる最中
複雑なことはしたくないので、どうしようかなぁ
レンタルサーバ前提なので「バックエンドで...」は無理
見た目﴾フロント﴿を改善したいな...
現状、フロントはjQuery
楽だからいいけど、ちょっと機能不足?
まとめ
OSSっていいな
Bone&Carsは修正BSD
ちなみに、Onset!はMIT
必ずしも新しいものがハマるとは限らない
もちろん、Onset!は特殊例
WAFだけじゃなくて、生のPHPも書けたほうが良いよね
まとめ
「とにかくやる」のが大事
正直、Onset!は複雑なことは何もしてない
「こんなダメコード...」じゃなくて、とにかく作って発信する
TRPG、やりませんか?
楽しい
怪物と戦ったり﴾逃げたり﴿、中世ヨーロッパで冒険したり
やっぱり、好きなものじゃないと続かない
ご清聴ありがとうございました

簡易TRPG向けチャットツールOnset!