SlideShare a Scribd company logo
簡易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、やりませんか?
楽しい
怪物と戦ったり﴾逃げたり﴿、中世ヨーロッパで冒険したり
やっぱり、好きなものじゃないと続かない
ご清聴ありがとうございました

More Related Content

What's hot

Python3と向かい合ってみる
Python3と向かい合ってみるPython3と向かい合ってみる
Python3と向かい合ってみるAtsuo Ishimoto
 
初心者が Python で戸惑ったところ
初心者が Python で戸惑ったところ初心者が Python で戸惑ったところ
初心者が Python で戸惑ったところ
Emma Haruka Iwao
 
Rogy目覚まし(仮)+おまけ
Rogy目覚まし(仮)+おまけRogy目覚まし(仮)+おまけ
Rogy目覚まし(仮)+おまけ
Naoki Hayashi
 
Pythonのすすめ
PythonのすすめPythonのすすめ
Pythonのすすめ
Masashi Shibata
 
Python begin
Python beginPython begin
Python begin
ashigirl ZareGoto
 
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
Ai Makabi
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
 
Pyladies tokyo 20150123
Pyladies tokyo 20150123Pyladies tokyo 20150123
Pyladies tokyo 20150123
Ai Makabi
 
Vocacon 2015 歌声合成技術の総称を決めよう メイン資料
Vocacon 2015 歌声合成技術の総称を決めよう メイン資料Vocacon 2015 歌声合成技術の総称を決めよう メイン資料
Vocacon 2015 歌声合成技術の総称を決めよう メイン資料
znc_hakureip
 
Pythonで自動化した話1
Pythonで自動化した話1Pythonで自動化した話1
Pythonで自動化した話1
Masato Fujitake
 
PythonでPodcastを聴く
PythonでPodcastを聴くPythonでPodcastを聴く
PythonでPodcastを聴く
Masato Fujitake
 
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス
Masato Fujitake
 
Tech-Circle PepperでROS開発をはじめよう in アトリエ秋葉原(ハンズオン)
Tech-Circle PepperでROS開発をはじめよう in アトリエ秋葉原(ハンズオン)Tech-Circle PepperでROS開発をはじめよう in アトリエ秋葉原(ハンズオン)
Tech-Circle PepperでROS開発をはじめよう in アトリエ秋葉原(ハンズオン)
Yuta Koga
 
Kobe sec#8 summary
Kobe sec#8 summaryKobe sec#8 summary
Kobe sec#8 summaryYukio NAGAO
 
Drmaruyama20090131
Drmaruyama20090131Drmaruyama20090131
Drmaruyama20090131guestcfaaf1
 
うちのクラスタ&あいててキャスターズ アプリaward2011In そらうみ 投票結果
うちのクラスタ&あいててキャスターズ アプリaward2011In そらうみ 投票結果うちのクラスタ&あいててキャスターズ アプリaward2011In そらうみ 投票結果
うちのクラスタ&あいててキャスターズ アプリaward2011In そらうみ 投票結果jf4xem
 
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
tokyorgirls
 

What's hot (20)

Python3と向かい合ってみる
Python3と向かい合ってみるPython3と向かい合ってみる
Python3と向かい合ってみる
 
Erlang and I and Sphinx.
Erlang and I and Sphinx.Erlang and I and Sphinx.
Erlang and I and Sphinx.
 
初心者が Python で戸惑ったところ
初心者が Python で戸惑ったところ初心者が Python で戸惑ったところ
初心者が Python で戸惑ったところ
 
Rogy目覚まし(仮)+おまけ
Rogy目覚まし(仮)+おまけRogy目覚まし(仮)+おまけ
Rogy目覚まし(仮)+おまけ
 
Pythonのすすめ
PythonのすすめPythonのすすめ
Pythonのすすめ
 
Python begin
Python beginPython begin
Python begin
 
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
 
Pyladies tokyo 20150123
Pyladies tokyo 20150123Pyladies tokyo 20150123
Pyladies tokyo 20150123
 
Vocacon 2015 歌声合成技術の総称を決めよう メイン資料
Vocacon 2015 歌声合成技術の総称を決めよう メイン資料Vocacon 2015 歌声合成技術の総称を決めよう メイン資料
Vocacon 2015 歌声合成技術の総称を決めよう メイン資料
 
Python3でwebアプリ
Python3でwebアプリPython3でwebアプリ
Python3でwebアプリ
 
Pythonで自動化した話1
Pythonで自動化した話1Pythonで自動化した話1
Pythonで自動化した話1
 
Python begin 訂正
Python begin 訂正Python begin 訂正
Python begin 訂正
 
PythonでPodcastを聴く
PythonでPodcastを聴くPythonでPodcastを聴く
PythonでPodcastを聴く
 
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス
 
Tech-Circle PepperでROS開発をはじめよう in アトリエ秋葉原(ハンズオン)
Tech-Circle PepperでROS開発をはじめよう in アトリエ秋葉原(ハンズオン)Tech-Circle PepperでROS開発をはじめよう in アトリエ秋葉原(ハンズオン)
Tech-Circle PepperでROS開発をはじめよう in アトリエ秋葉原(ハンズオン)
 
Kobe sec#8 summary
Kobe sec#8 summaryKobe sec#8 summary
Kobe sec#8 summary
 
Drmaruyama20090131
Drmaruyama20090131Drmaruyama20090131
Drmaruyama20090131
 
うちのクラスタ&あいててキャスターズ アプリaward2011In そらうみ 投票結果
うちのクラスタ&あいててキャスターズ アプリaward2011In そらうみ 投票結果うちのクラスタ&あいててキャスターズ アプリaward2011In そらうみ 投票結果
うちのクラスタ&あいててキャスターズ アプリaward2011In そらうみ 投票結果
 
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
 

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

ChatGPTで面白い物語は作れるのか?
ChatGPTで面白い物語は作れるのか?ChatGPTで面白い物語は作れるのか?
ChatGPTで面白い物語は作れるのか?
Takanari Tokuwa
 
pythonワンライナーのすゝめ
pythonワンライナーのすゝめpythonワンライナーのすゝめ
pythonワンライナーのすゝめ
cocu_628496
 
Global Game Jam Sapporo 2016 Team2 発表資料
Global Game Jam Sapporo 2016 Team2 発表資料Global Game Jam Sapporo 2016 Team2 発表資料
Global Game Jam Sapporo 2016 Team2 発表資料
mao_
 
こわくないPython
こわくないPythonこわくないPython
こわくないPython
Katsuya Arai
 
Cake assets plugin in PHP Matsuri 2012
Cake assets plugin in PHP Matsuri 2012Cake assets plugin in PHP Matsuri 2012
Cake assets plugin in PHP Matsuri 2012
Hirohide Sano
 
TRPGオンラインセッション環境とルール&シナリオ記述言語
TRPGオンラインセッション環境とルール&シナリオ記述言語TRPGオンラインセッション環境とルール&シナリオ記述言語
TRPGオンラインセッション環境とルール&シナリオ記述言語
隆行 神戸
 
5分でわかるPgcafe
5分でわかるPgcafe5分でわかるPgcafe
5分でわかるPgcafekuippa
 
Perlを勉強してみて思ったこと
Perlを勉強してみて思ったことPerlを勉強してみて思ったこと
Perlを勉強してみて思ったこと
Yuzo Iwasaki
 
Jubatus Hackathon
Jubatus HackathonJubatus Hackathon
Jubatus Hackathon
__john_smith__
 
Perlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobodyPerlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobodyazuma satoshi
 
Python札幌 2012/06/17
Python札幌 2012/06/17Python札幌 2012/06/17
Python札幌 2012/06/17Shinya Okano
 
「自動化...か、かっこいいタル」(憧れ)から始める自動化
「自動化...か、かっこいいタル」(憧れ)から始める自動化「自動化...か、かっこいいタル」(憧れ)から始める自動化
「自動化...か、かっこいいタル」(憧れ)から始める自動化
Hirokazu Kutsu
 
俺 と 今年度 Civic Hack Night 運営
俺 と 今年度 Civic Hack Night 運営俺 と 今年度 Civic Hack Night 運営
俺 と 今年度 Civic Hack Night 運営
Masayuki KaToH
 
PyPy 紹介
PyPy 紹介PyPy 紹介
PyPy 紹介
shoma h
 
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
Koji Shiraishi
 
Kogcoder LT
Kogcoder LTKogcoder LT
Kogcoder LT
teamcpaw
 
LINE dev meetup
LINE dev meetupLINE dev meetup
LINE dev meetup
Hirotaka Niisato
 
会議における段取りのお話
会議における段取りのお話会議における段取りのお話
会議における段取りのお話
Yohei Iguchi
 

Similar to 簡易TRPG向けチャットツールOnset! (18)

ChatGPTで面白い物語は作れるのか?
ChatGPTで面白い物語は作れるのか?ChatGPTで面白い物語は作れるのか?
ChatGPTで面白い物語は作れるのか?
 
pythonワンライナーのすゝめ
pythonワンライナーのすゝめpythonワンライナーのすゝめ
pythonワンライナーのすゝめ
 
Global Game Jam Sapporo 2016 Team2 発表資料
Global Game Jam Sapporo 2016 Team2 発表資料Global Game Jam Sapporo 2016 Team2 発表資料
Global Game Jam Sapporo 2016 Team2 発表資料
 
こわくないPython
こわくないPythonこわくないPython
こわくないPython
 
Cake assets plugin in PHP Matsuri 2012
Cake assets plugin in PHP Matsuri 2012Cake assets plugin in PHP Matsuri 2012
Cake assets plugin in PHP Matsuri 2012
 
TRPGオンラインセッション環境とルール&シナリオ記述言語
TRPGオンラインセッション環境とルール&シナリオ記述言語TRPGオンラインセッション環境とルール&シナリオ記述言語
TRPGオンラインセッション環境とルール&シナリオ記述言語
 
5分でわかるPgcafe
5分でわかるPgcafe5分でわかるPgcafe
5分でわかるPgcafe
 
Perlを勉強してみて思ったこと
Perlを勉強してみて思ったことPerlを勉強してみて思ったこと
Perlを勉強してみて思ったこと
 
Jubatus Hackathon
Jubatus HackathonJubatus Hackathon
Jubatus Hackathon
 
Perlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobodyPerlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobody
 
Python札幌 2012/06/17
Python札幌 2012/06/17Python札幌 2012/06/17
Python札幌 2012/06/17
 
「自動化...か、かっこいいタル」(憧れ)から始める自動化
「自動化...か、かっこいいタル」(憧れ)から始める自動化「自動化...か、かっこいいタル」(憧れ)から始める自動化
「自動化...か、かっこいいタル」(憧れ)から始める自動化
 
俺 と 今年度 Civic Hack Night 運営
俺 と 今年度 Civic Hack Night 運営俺 と 今年度 Civic Hack Night 運営
俺 と 今年度 Civic Hack Night 運営
 
PyPy 紹介
PyPy 紹介PyPy 紹介
PyPy 紹介
 
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
 
Kogcoder LT
Kogcoder LTKogcoder LT
Kogcoder LT
 
LINE dev meetup
LINE dev meetupLINE dev meetup
LINE dev meetup
 
会議における段取りのお話
会議における段取りのお話会議における段取りのお話
会議における段取りのお話
 

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