TRPG熱が上がったので初のオンラインセッションをやることに。
オンラインセッションはやりたいと思ってはいたもののやらずじまいでずっといたが、なんか急にピアキャスでオンラインセッション募集スレなるものが立ってたので気になった。具体的に募集があったわけでもないのでどういう経緯で立ったのか不思議である。さらにそのスレを見た日にはオフでD&Dやってる模様の配信が立ってたりしてTRPG熱が急上昇。これはもう俺もやるしかないというわけだ。
しかしどんなゲームやればいいんだろうかと悩んだら、SAN値減るやつやろうと言われた。クトゥルフか。確かにやりたかった物の一つではあるがマスターやったことないしちょっと不安かな?
ピアキャスでのTRPGはごく稀に配信する人がいるくらいでメジャーなものではないので1TRPG初心者が入ることも想定したい。クトゥルフは下手すると詰むのでそれより最悪サイコロ振ってるだけでも進むゲームの方がいいかなーと。俺もTRPG数年ぶりなので上手くマスタリングできない可能性高いしね。
サイコロ振ってるだけでも進むゲームとしてハンターズ・ムーンはどうかと思ったんだが、リスナーの食いつきはあまりよくないようだ。やったことはないが雰囲気的にはある程度マンチなことをしないと余裕で全滅しそうなところもどうかとは思う。かといってシノビガミはロールプレイできないと厳しいだろ。
とかなんとか考えたんだが、とにかくプレイヤーが集まらんことにはどうにもならん。人を集めるならクトゥルフが知名度的に一番よさげだし、基本は普通の現代物でキャラクターも一般人なので説明も少なくて済むし、ルールも簡単なので全員初心者とかでなければなんとかなりそうだ。詰みそうなら俺がヒント大盤振舞いすればなんとかなるのでクトゥルフやろう。
ところでクトゥルフ持ってたっけかと探してみるとクトゥルフと帝国がみつかった。これだけ持ってるとは思えないのでルールブックも持ってるんだよな……?しかし記憶が正しければ持ってるのはクトゥルフd20だった気がするんだ。
さらに家のTRPG箱を探すとH.Pラブクラフト アーカムもみつかった。あとクトゥルフd20な。うわーやっぱりd20版だよ!BRP版買っておけばよかったと思った覚えがあるんですよ。d20版はちょっとルールとかデータがめんどくさそうだし、いきなりやるのは不安だな。そもそもプレイしたことないし。
まあ普通にBRP版買うかと調べてみたらどこも売り切れ。え、サプリメントもリプレイも出てるのに絶版ですか?おいふざけんなよ。と思ったがエンターブレインの公式通販では在庫有りになってて買えそう。絶版じゃなくて流通在庫が無いだけか。しかしAmazonとかにもなくてマーケットプレイス12000円とか倍の値段になってるんだがほんとに買えるのかなぁ。とりあえずクトゥルフ神話TRPGとクトゥルフ2010を注文しといてみた。すぐ届くといいなぁ。てか出たばっかりのはずのるるいえばけーしょんは逆に在庫切れなんすね。
シナリオ作るのは大変そうだが初めてなので既製のものを使おう。ロール&ロールを探せばなんか出てくんだろう。
あとはオンラインセッションの環境を整えればいいのかな。これが一番不安だ。最近忙しいからなかなかテストできん。
上手くいけば21か22日にはプレイするつもり。ルールブックが早く届かないようなら無理だが、その場合は別なゲームを考えるか。
TacticalRPGですか?となんども聞かれた。そんな言葉の方が初めて聞くよ! ↩
PeerCastStationもやってるよ。
JSON-RPCでのHTTP APIサーバを書いたのでテスト書き。
テストはIronRubyで書いてるんだが、JSONのパーサライブラリは標準でついてるかな?あ、いちおう入ってそうだからこれ使おう。と思ったらjson/pure
が無いとかなんとか。なんで中途半端に入ってんだよ……。
gemで入れようかとしたけど拡張ライブラリがビルドできねぇとか言われて入らないので諦めた。YAMLで読み込めばいいかと思ったがYAMLもなんか動かん。困ったな。
調べたらちょっといじってevalすれば読み込める的なことがあった。そう言われてみればそうか。:
を=>
にnull
をnil
に置き換えてeval
したら読み込めた。普通に考えればこれではいろいろと問題ありすぎるんだが、テストに使う分には問題ねぇだろ。
テストをちょっと書いたら実装側にいろいろ問題あるのが判明。APIリクエストはPOSTで受け取るんだけど、POSTのボディっていつ終わるか判別できないじゃないですか?調べてみたらContent-LengthをくっつけるかHTTP/1.1なら何か変なエンコーディング形式を指定するとわかるんだと。1.1のやつは対応めんどくさそうだから1.0で。Content-Lengthが無かったらLength Requiredを返すとクライアントはContent-Lengthをくっつけてくれるようだ。HTTPのGETなんかは知ってるつもりだったけどPOSTを直接投げることってあんまりないから知らなかった。いろいろとめんどい仕様があるもんだな。
JSON-RPC 2.0はメソッド呼び出しの引数に配列(普通に順番で指定)かオブジェクト(キーワード引数的に名前で指定)が渡せる。サーバ側は両方対応しないといけない……んだろうけどこれめんどいね。対応自体はそれほど大変でもないんだけどテスト2つずつ書かないといけないじゃないですか。なんてこった。