「TRPG」タグアーカイブ

ゲムマ新作! インコグ・ラボ&神谷涼の最新ボドゲ 二人用対戦知略策略カードゲーム「魔軍棋 MA-GUNGI」が通販サイトこかげ書店さんで取り扱い!

ゲームマーケットで電撃的に発売された、インコグ・ラボさんの最新ボードゲーム「魔軍棋 MA-GUNGI」が、通販サイトのこかげ書店さんで取り扱いが開始されました!


魔軍棋 MA-GUNGI

「魔軍棋 MA-GUNGI」は永い後日談のネクロニカや、メイドRPGでお馴染みの神谷涼さんがデザインしたボードゲームで、そのテーマは「悪 VS 悪」なのだとか!

ちょろりと聞いたお話では、ゲームマケットでかなりの数が売れていたとの情報も。早く遊びたいです。

前回の記事ではいつ手に入るのかとワクワクしていたのですが、こんなに早く入手手段が確保されるのは嬉しい所ですね!

前回の記事→ネクロニカの神谷涼さんがボドゲに進出「魔軍棋MA-GUNG」

もちろん私もさっそく購入しましたよ。届くのが楽しみでなりません。わくわく。遊べたアカツキにはしっかりとレビューしようと思います!

ネクロニカ、メイドRPGの神谷涼さんがボードゲームに進出! 二人用知略謀略カードゲーム「魔軍棋MA-GUNG」

ゾンビ少女となり終わった世界を放浪する「永い後日談のネクロニカ」、メイドとなりご主人様(GM)に奉仕する「メイドRPG」を生み出した神谷涼さんが、来る6/1にあるゲームマーケットにてカードを使う二人用対戦ボードゲーム「魔軍棋MA-GUNG」を先行販売されるそうです。

カードゲーム「魔軍棋MA-GUNGI」6/1先行販売! » ZQワークス!

魔軍棋 | Incog.Lab インコグ・ラボ

販売を取り扱うのはインコグ・ラボさん。ネクロニカをアマゾンで安定供給されているので、ゲームマーケットに参加できない人も安心して通販待ちできるかなと思います。(実際どういった販路になるのかはまだわかりませんが)

カード32枚に加え、木製チップ、マップという事でカードゲームとありますが画像を見る限りボードゲーム要素がかなり強いかなと言った所ですね。「魔軍棋MA-GUNG」という名前からも、カード一枚一枚に役や効果があって、それをお互いに配置して戦争をするようなイメージでしょうか。

遊戯王のようなTCG対戦と、アーケードゲームの三国志大戦のような配置や隠匿がミックスされた感じでしょうか。楽しみです。

カードは全て絵柄が違い、まがまがしいクリーチャーが格好良くデザインされているようです。

クリーチャーそれぞれの設定、フレーバーも相当凝っているらしく、その一端を神谷涼さんの記事からうかがい知ることが出来ます。

詳しいプレイ風景やカードデザイン、PRなどはインコグ・ラボさんや神谷涼さんのサイトで行われると思いますので要チェックです!

カードゲーム「魔軍棋MA-GUNGI」6/1先行販売! » ZQワークス!

魔軍棋 | Incog.Lab インコグ・ラボ

TRPGリプレイに最適かも? 一行アイコン対話型ノベルが執筆できるwebサービス「アイノベ」

アイコンノベルというらしいですね。初めて知りました。

アイノベ-アイコンを使った小説-

画像、動画、ニコニコ静画、ツイッターなどなど、アドレスを貼り付けるだけでサムネイルを表示してくれるようです。

アイノベで何ができるか試してみるんだ -アイノベ-こちらのアイコンノベルである程度確認する事が出来ますよ。皆考えることは同じなんですね。

アイノベの作り方

軽く弄りながら使い方を見ていきましょう。

アイコンを選択し、発言をする形のようですね。

アップロードは分かるのですが、「ニコ静から取り込む」というのはどうなのでしょう?

と思ったらフリーアイコンというものがあるようですね。へえ、よくできてます。

アドレスを入力しただけでプレビュー画像が出てきます。

追加を押すと一覧に出る分けですか。で、このアイコンをクリックすると、

アイコンが設定できるわけですね。発言内容を設定して追加します。

追加した発言は簡単に入れかえられるようですね。

あとはカテゴリやタグを設定するだけ。基本的なブログを利用できれば扱いは簡単ですね。

まとめ

利用価値は色々あるとは思いますが、かなり限定的な需要になるかと思われます。発言も一つ一つ追加していく必要があるのがTRPGプレイヤーには少しきついでしょうか。テキストファイルにまとめておいたのを一括変換できる、とかならまた違った結果にはなってくるとは思いますが。

ともあれ、操作は単純ですぐに利用でき、アイコンも色々扱えるのは純粋に嬉しいところです。かわいらしい対話型コンテンツを作りたいけれど、ホームページを作る知識などないという人へ向けての機能だと思うので、今後どう成長していくのか期待大です。

 

ちなみに、私もどどんとふやIRCのTRPGチャットログをhtml形式に変換するツールを作っています。大量のログを一括で変換したい場合にはお使いください(ガチマ)→TRPGセッションのログをhtml形式に整形し直す「aoringo CHAT logger」 » aoringo works

1秒台を目指せ!ソーシャルボタンを高速に読み込む方法を比較する

どもっち。最近TRPGじゃなくてツールばっかり作ってるaoringoです。サイト調整に奮闘しております。

サイトの速度、気になりますかね? 私は超絶気になりますよ。特にソーシャルボタンです。こいつらが原因で遅くなっているのでは・・・・と常々思っております。

今回はこのソーシャルボタンに手を入れてみましょう。

とはいえ、どれくらい表示速度に違いがあるのか・・・ちょっと確認してみましょうか。

計測に使うのはこちら→【これは便利】あなたのWebサイト表示のどこが遅いかを一発で調べるブックマークレット | Web担当者Forum

お手軽に、正確に表示できるので好きです。

素のコードを記述する

空のhtmlファイルにソーシャルボタンを読み込んだだけのページを作成し、これを計測します。

読み込むソーシャルボタンはtwitter、はてな、facebook、グーグルプラスです。ついでにアナリティクスコードも読み込んでみます。

ソーシャルボタンテスト

時間はこんな感じです。何度かリロードを繰り返してみたところ、2秒~2.3秒かかるようなイメージです。

次、このページをiframeで読み込みます。

iframeテスト

時間的には変わらず。が、一応副次的な効果はありますよ。

iframe内でJSファイルを読み込むため、描写が途中で止まってしまうという事がありません。

また、iframe内で読み込むため検索エンジンとかにはjsファイルを隠せるという利点もあります。どれくらいの効果があるかはちょっとわかりませんが。

あと少し古いブラウザだと正常に動作しません。

 非同期読み込みにしてみる

Facebookやtwitterなどのソーシャルボタンを高速に読み込む方法まとめ | Cappee Design

こういう記事を見つけました。非同期読み込みをする事によって、ストレスフリーに記事を閲覧するというものです。試してみましょう。

twitterボタンを例にしてみます。

 

<a href="https://twitter.com/share" class="twitter-share-button" data-via="moeringo" data-lang="ja">ツイート</a>
<script>!function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https';
if (!d.getElementById(id)) {
js = d.createElement(s);
js.id = id;
js.src = p + '://platform.twitter.com/widgets.js';
fjs.parentNode.insertBefore(js, fjs);
}
}(document, 'script', 'twitter-wjs');</script>

<a href="https://twitter.com/share" class="twitter-share-button" data-via="moeringo" data-lang="ja">ツイート</a>
<script>!function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https';
if (!d.getElementById(id)) {
js = d.createElement(s);
js.id = id;
js.async = true;
js.src = p + '://platform.twitter.com/widgets.js';
fjs.parentNode.insertBefore(js, fjs);
}
}(document, 'script', 'twitter-wjs');</script>

「js.async = true;」を追加で記述するだけです。簡単ですね。

asyncテスト

全体の時間はそこまで変わっていません。あまり効果は無さそうですね。

最近海外で流行りのTwitter,Facebook,Google+1,Analyticsをまとめる非同期スクリプトにはてなを加えてみた | ゆっくりと…

一歩進み、この記事の通り非同期スクリプトをまとめられた人が入るようなので使ってみます。

まとめたテスト

時間的には変わりませんが、スクリプトが圧縮されてるので取り回しが楽です。

script.jsを使う

はい、本題です。script.jsを使いましょう。

Javascriptファイルを非同期に読み込む$script.jsを使ってみた | notnil creation weblog

非同期によるファイル読み込みを行うスクリプトファイルです。イエイイエイ!

使い方はとても簡単です。

$script(['foo.js', 'bar.js'], function() {
  // foo.js & bar.js is ready
})

このようにJSファイルを記述するだけで非同期で読み込んでくれます。今回は全てまとめてこのようにしました。詳しい使い方はドキュメントを見てくださいね。

<script type="text/javascript" src="./script.min.js" charset="utf-8"></script>
<script type="text/javascript">
$script(["//platform.twitter.com/widgets.js", "//connect.facebook.net/ja_JP/all.js#xfbml=1","//b.st-hatena.com/js/bookmark_button.js", "//apis.google.com/js/plusone.js", "//www.google-analytics.com/analytics.js"], function () {
ga('create', 'UA-35371593-2', 'ao-works.net');
ga('send', 'pageview');
})
</script>

アナリティクスコードは正常に動作するかわからないのでしばらく検証、別に記述かするようにしたほうがいいかもしれません。また、script.js自体は非同期で読み込んではいけません。正常に動作しなくなります。

script.jsテスト

いきなり早くなりましたね!なんですかねこれ。全ての読み込みが終わり次第jsファイルの読み込みが始まるのでしょうか。実際全ての表示が終わるのは2秒くらいかかりますが、少なくともロードは全て終わってるっぽいです。恐ろしい・・・。

そんなわけで私はscript.jsを選択しようかなと思います。皆さまも色々試してみてくださいね!!

「ネクロニカ」などでお馴染みの神谷涼さんのサイト「ZQワークス!」さんと相互リンクしました!

[browser-shot width=”450″ url=”http://zqworks.ao-works.net/”]

ZQワークス! | 神谷涼が代表を務めるZQワークスの公式blogサイトです。

ネクロニカ、メイドTRPGなどではお馴染み神谷涼さんと相互リンクする運びとなりました。

サイト移転とブログメンテナンス、スペース提供などをaoringo worksがさせて頂く事にもなりました。今後ともよろしくおねがいします!

百合をするためのTRPG!「える・えるシスターTRPG」感想

百合風味学園コメディRPG『える・えるシスターTRPG』

体験する機会に恵まれましたので軽く感想をば。

百合をするための素材と要素がきちんと揃ってる

ステータスや要素、ルールなどはPC達が百合をするために必要な物は揃っている感じですね。

コスプレイヤー、クール、めがね、腐などなど。おもしろみのある名前の属性がそろっていて、それがゲームに影響を及ぼしています。もちろん突き詰めるとPC同士の優劣が色濃くなるのですが、そこは同人TRPG、「こういうキャラ」が作りたいという欲求を素直に受け入れてくれます。

心と心の距離をマップに

特殊だなと思うのは、PC達の距離感をそのままマップに落とし込んでいる点。物理的な距離ではなく、お互いの親密度をマップにしているんですね。その名も「ココロマップ」。マップの移動は一緒にシーンを演出した相手に任せるというのも面白いです。しかし、リソースである「ハート」もマップに置かれるので、移動するのに躊躇したくなる場面もあります。

シーンは少し複雑かも

日常シーン、対決シーン、暴走シーン、すれ違いシーンなど。どのようなシーンを演出するのかという選択肢も多いのですが、その分いつ出来るのか、それでどうなるのかという把握が難しいですね。また、シーンの中身はプレイヤー達に任されます。

キャンペーン前提という印象

「親密度」という他PCへ対するステータスは最高値100なのは良いとして、それが1セッション10程度程しか上がらない、シーンなどを積み重ねていく上でPLに内容が一任される部分が多いという事で、どちらかというとキャンペーン前提になっている気がしますね。

まとめ

戦闘一切なしの女の子同士のやりとりが遊べるTRPG、色々な属性の女の子をシステム自体が対応している。というのは面白いです。スッキリとしたステータスや、かわいらしいキャラクターシート。見やすいDTP等々。力の入れようが窺えますね。遊んでみると、なるほど女の子達の感情の動きが視覚化されていてロールしやすいです。

ただ、システムがサポートしているのはここまでで、これを遊べば必ず女の子達が百合百合し始めるといった所まではいかないので、プレイヤー達がどのような百合へ持っていくのかを考える必要があります。

.

百合風味学園コメディRPG『える・えるシスターTRPG』

原作もどうぞ。

「aoringo works」一周年! 軽くこれまでを振り返る part1 ~本サイトの性質~

一周年振り替えり | aoringo works

一年で記事を227個投下

やあ、「aoringo works」もついに一周年が経過いたしました。ありがとうございます。ありがとうございます。

現時点で総記事数227という中々に良い数字となりました。ほぼ日刊という形でしょうか。まあよくもここまでこれたなあと自分では思います。

今回から数回にわけて、一周年の振り返りをしたいと思いますよ。

書評サイトとしてスタート

元々は書評サイトとしてスタートしました。クリエイターズネットワークさんのブログスペースサービス開始に合わせての始動、といった感じでしょうか。同時にいくつかのサイトを始動させ、経過を観察。

クリエイターズネットワーク

今でも書評は続けており、一カテゴリ、一コンテンツとして収まっています。

プログラムを始める

サイトを運営し始めて数ヶ月たったくらいから、デザイン、機能もろもろに不満が出始めます。

微妙に使いづらいなあ。そうだ、じゃあ自分で作ればいいんだ。

まあそんな感じで即本を買い込み勉強を始めます。ここから一ヶ月ほどブログ運営を停止、プログラムに熱中してました。

そこからは自分の欲しい機能を持ったプログラムをほぼ日刊で製作し続け、サイトの性質もここで「書評&プログラムサイト」へと変化していきます。

チャットログを整形するaoringo chat logmakerの製作

時を同じくして、IRCチャットログを吹き出し状に整形するプログラムを作り、ブログに取り込みました。これがその後「chat logger」へと変化します。

aoringo CHAT logger

ここくらいから、TRPG界になんとなく足を踏み入れます。どどんとふの存在をしり、セッションマッチングサイト「セッションマッチングシステム」を共同製作します。

TRPG.NET セッションマッチングシステム

この時点ではまだTRPGを実際に遊んでません。受注し、提供している状況です。その後も色々作っていく中で、そろそろTRPGを遊んでみたいな。と思うようになります。

TRPGを遊び始める

実際にTRPGを遊び始めたのはプログラムを始めてから五ヶ月程度後。ブログ開始時からは七ヶ月程度経ってから。割と貪欲にシステムにとらわれず色々遊んでおりました。

ここくらいからサイトの性質が完全によろず屋状態に。カテゴリごとに完全に分かれた形なりはじめます。デザインも八月手前くらいに今のデザインに落ち着きました。

今に至る

そうして今に至ります。実際の文章より現実はもっとカオスなんですが、大体こんな感じですよ。プログラムを提供したり、思い立ったら色々作っていたりします。結果としてこんなへんてこなサイト状態になりましたが、私らしくていいかなと思っています。

統一することは怖いことじゃない

一つのブログに色々な要素を詰め込むことは、基本的には利用者を迷わせてサイト自体が迷宮化すると言われています。

しかし、カテゴリをきちんと整理し、トップページからの導線を考えれば、私はそんなことはないと考えています。今後も新しい趣味や計画が始動したとしても、このサイトを中心に活動していく事でしょう。目指せライフログブログ。そんな感じですよ。

そのTRPGリプレイは誰のもの、目的に合わせて考える書き方と見せ方

そのリプレイ、議事録になってはいませんか

IRCやどどんとふで遊ぶと楽しかった軌跡が確実に残りますよね。特にどどんとふでは、色つきで出力してくれる上、html形式なのでそのままアップロードしちゃえばページとしてコンテンツになっちゃいます。大変便利。

私も見た目を変えるツールなんかを作ったりして、よく利用させてもらっています。

aoringo CHAT logger

さてはて、そういうわけで簡単にログが取れてしまう最近のTRPG事情ですが、それは本当にリプレイでしょうか? 議事録になってやいませんか。今回はそういうお話です。

そもそもTRPG暦が一年にも満たない輩がなに言ってんの? っていう感じですが、お付き合いください。

目的をはっきりさせる

遊んだログを丸々載せる事が無意味だとは言っておりません。例えば遊んだプレイヤーさんが見返して当時を振り返るには、やはり生のログが良いのです。ただ、それを「楽しかったです! 見てください!!」と第三者に見てもらうには、あまりにも大変です。

五時間の文字セッションを遊んだとして、その文字数は全体で数万文字にも及びます。もしかすると数十万文字にも。数万文字というのは感覚的にわかりづらいかもしれませんが、ライトノベル一冊で七万文字程度です。一万文字もあれば、30ページくらいの短編小説ほどの長さになります。

それを「この前こんなセッションしたんだよ」と渡されて、最後まで読む人は何名いるでしょうか、というお話です。一緒に遊んだプレイヤーなら、「面白かったところ」や「特に印象に残ったところ」にさっと移動して「ああ、こんな感じだったよね」と楽しめますが、そのセッションの盛り上がりどころがわからない場合は大変です。この大変さを「負荷」といったりします。

負荷の低いものにするにはどうすればいいでしょうか。方法はいくつかあります。

分割する、短くする、粗筋をつける、見た目を工夫する、効果を活用する。ざっとこれくらい。ひとつずつ見ていきますよ。

ちなみに、web上に公開するリプレイとしてのお話なので、本にしたりするにはまた違ったノウハウなどが必要になるかと思います。でも、大体一緒かなとは考えています。

分割する

本一冊にも及ぶ長々とした文章が、ひとつのページに収まった状況を見た事ありますでしょうか。スクロールバーが恐ろしく小さくなって、それだけで「うっ」となります。場合によっては一文字も見る事なくページを閉じてしまう人もいるでしょう。

最初の一行を見てもらう事がいかに大変か、お分かりになるかと思います。

まずはスクロールバーを大きくしましょう。分割するのです。「part1」とか「第1話」とかつけるのです。それで大体そのページがどれくらいの長さなのか、どれくらいで読み終わるのかがわかります。そこで面白いと思ってもらえれば、次へと移ってくれるはずです。

個人的な考えとして、ひとつのページあたり最大でも一万文字程度が限界だと考えてます。できるなら三千文字程度で抑えられるといいかな、と。

短くする

とにかく削る。ダイスボットの出目や、間延びした会話、相談の内容、はては行動などもガリゴリ削ります。判定は成功したかどうかを書き、戦闘などでお互いが何度もミスをしたらそこをカット。ダンジョンで探索していたら「それからかなりの時間がたち」の一言で時間をかっ飛ばしてもいいですよ?

何度も全体像を見渡して、少しずつ少しずつ影響の低そうなところをとにかく削っていきます。

場合によってはオープニングを一行で済ませて既にダンジョンの前に居る、でも問題ないかもしれませんね。

そのリプレイがロールプレイのやり取りを見せたいのであればそこを濃く、戦闘を見せたいのであればそこを濃くします。そうすると明暗がハッキリと出て読み応えのあるものになります。

粗筋をつける

リプレイの最初に、こんなセッションでしたというのは有効です。内容がわかっても、それが特徴的だったらもっと詳しく見てみたいという人を惹きつける要素になります。

粗筋をどこまでつけるのかは自由ですが、半分以上、最悪エンディングまで書いてしまっても特に問題はありません。10行くらいに圧縮できて、それが面白ければむしろ読みたいと思わせる重要な要素になります。

見た目を工夫する

リプレイ自体の見た目を工夫しましょう。文字がぎゅうぎゅう詰めに詰まっているのは目の毒だし、なにより他の人と一緒の見た目だと読まないままスルーされる可能性すらあります。

好みはあるでしょうが、私の場合は間を大きくあけて文字を少し大きめに、合間に破線を入れております。

これだけでもとても特徴的になります。webページの知識は必要になりますが、勉強しても損はありませんよ。

効果を活用する

これは簡単です。文字の大きさや色を変えるのです。効果的に仕えればとても印象に残りますが、センスが問われますねw 私はやってません。

熱量を大切に

遊んだ後は独特の”熱”があるはずです。それが冷めないうちに是非ともリプレイを作ってもらいたいなと思います。どこが面白くてどこが間延びしたのか、文字では把握しづらい独特な感覚が残っているうちに手をつけたほうが確実に出来はよくなると私は考えていますよ。

そうやって残した物は後になって見返しても確実に楽しいもののはずですし、価値のあるものになるでしょう。そのリプレイが第三者にとって面白いものなのかどうかは最後までわかりません。なにが正解なのかわからないからこそ、こういうものはやりがいがありますよね。

表現、表記、語句の統一を心がける

それぞれのプレイヤーによってその文章の書き方はまちまちでしょう。そういう時によくあるのが表現の違いです。表記の違いでもいいでしょう。笑うときに「(笑)」と「w」で違うときもあるし、「言った」と「いった」とか、「何」と「なに」とか。本当に色々です。リプレイにするとき、これらのゆらぎをどうするか迷うと思いますが、統一するべきです。

これらがゆらいでいると読者が混乱します。誤字脱字、判定方法の間違いなどもその都度、修正や注釈をしていきましょう。読んでくれる人の負荷をできるだけ少なくするように考えるといいかと思います。

同時に、句読点などにも注意を払うようにもします。文字チャットだと句読点をつけないで喋る人や、喋ってしまうことがありますが、著しく読みづらくなる要素なので特に気を配ります。

最後に

楽しいリプレイを書くため、どうすればいいのかという記事は驚くほど少なく、迷うものです。ブログの一コンテンツとしてリプレイをいくつか書き、まとめるには良い時期だと思ったので形にしてみました。

ちなみにこの記事はこの時点で大体2700文字です。ショートショートひとつ分といったところですが。人がさらりと読める文字数は大体これくらい、というのが私の感覚です。そう考えると一万文字というのは結構気合を入れて読む必要があるということ。長くても一万文字にはやっぱり収めたいというのが私の今のところの答えです。

ハードな世界感ながらもキャラクターの奇抜さが光る「ブラッド・クルセイド」感想

死から蘇り、永遠に生き、人の血を啜るもの―吸血鬼。彼らの決して満たされない飢えと欲望によって破壊されていく世界を守るため、狩人は夜を駆ける。狩りの終わりに待っているのは、死よりも忌まわしい運命だと知りながら。これは人類の曙から連綿と続く隠された闘争。その継承者たちの物語が、いま幕をあける。

緊張感に押しつぶされそうになるゲームプレイ

冒険企画局からリリースされるサイコロ・フィクション。リプレイとルールが一冊にまとめられており、空気感を味わいつつセッションに挑めるとても良心的なシリーズだ。そのシリーズの一つであるブラッド・クルセイドは吸血鬼と狩人たちの物語。

吸血鬼といっても、「ヘルシング」に出てくる吸血鬼たちなみに知力に富み、剛力を振るい、神速で襲いかかってくる。生半可なキャラを作ると簡単に弄ばれ殺されてしまう。そういう意味ではかなり人を選ぶタイトルにはなってしまっていると思う。実際、私が初めて経験した「ブラッド・クルセイド」では全滅の憂き目にあった。しかし、そこから生まれる絆、連携、達成感はまさに格別だとも思える。

吸血鬼を追っているはずが、道中で血を吸われたり、幸せの象徴である心のあり所を破壊されたり。一切の気の緩みも許されない。

強大な敵に立ち向かい、ボロボロになりながらも剣を振り上げ、渾身の一撃で葬る。そんなハードな世界感を体験したいなら、このTRPGタイトルはまさにお勧めだ。

個性的な面々

サイコロ・フィクションは基本的に行動とロールプレイがワンセットだ。アイテムを探す、という行動をするとしたら「どういった手段で、どのように」と理屈を通さなければならない。そういう意味で、PLもGMも皆で一つの物語を組み上げていくという実感が一層強まるゲームシステムだと私は思う。

本書のリプレイを見ると、面子の方々が作り出したキャラクターは本当に個性豊かだ。厨ニ病に染まった弓使い、復讐に燃え精神が不安定な釘使い、己の血を呪い自ら動くことを拒絶した人形使い、家と血筋とプライドで自分を固める剣使い・・・。妄言に妄言を上乗せするような会話劇は本当に面白い。

そして、一見ハードすぎる世界感も、尖ったキャラクターたちによってどこへ進むのかわからない一種の緊張感を生み出している。

個人的に面白いのは、手酌によるシーン進行を皆でどんどん膨らませている所だ。

PLの一人であるゼロは、吸血鬼の手下である一人を戦闘前に闇討ちする。GM以外は皆PLだ。

ゼロ◆《待つ》行為判定/成功

ゼロ:当てた。

GM:佐藤はコンビニ前で煙草を吸いながらしゃがんでる感じだったんですよ。

銃児(佐藤):「マジ真さんスゲェから。あの人は世界クラスだよ」

ミナ:ひゅるるるるるる。

ヒルコ(取り巻き):「佐藤さんよりツエーとか信じられねえッスねえ」

銃児(佐藤):「ばっかおっめ」……矢がドブっと。

ゼロ:壁に縫い止める感じ。

銃児(取り巻き):「うわー、さ、佐藤さんが標本のモンシロチョウみてえに!」

ミナ(取り巻き):「抜けねえ!」

ヒルコ(取り巻き):「具体的には次の戦闘に出られねえほど抜けねえ!」

ブラッド・クルセイド p58より

こういった掛け合いが多く展開される。時には自分以外のPCのロールにまで及ぶことも。プレイスタイルにはいくつもあると思うが、このような遊び方がされているのは初めて見たので、私としては「そっか、これって良いんだ」と新しい発見ができた。(私はまだTRPGを初めてまもないので、こういった掛け合いがされているリプレイは多々あるかもしれないが)

場の雰囲気も勿論あるだろうが、できることならこういう遊び方は一度やってみたいところだ。

サイコロ・フィクションは説明が難しいTRPGシステムジャンルだ。リプレイを読むだけでは中々何が起こっているのか把握しづらい。この本もリプレイ部分ではどうにもイメージしにくい所はある。それでも、TRPGの一つの遊び方を提示できているのは凄いことだと思う。

wordpressでの投稿前にTRPGリプレイ文体をPHP処理で整形する

TRPGネクロカ「箱庭茶会 コンベンション」灰色卓リプレイpart0 – キャラ作成から始動 | aoringo works

リプレイのスタイルを少し変更し、名前を太字にしてみました。あとは改行されてもスペースを置かないように変更。一般的なリプレイ本と同じ文体ですね。

投稿する時にphp処理を挟む

文章を太字にするには「<b>」タグを利用します。つまり、リプレイの名前に全てこれを埋め込む必要があるのですね。執筆してる段階でそれらを入れていくのは疲れるものです。

グリーンマン:「”私”は構わないのだが。本当に案内せずともよいのかね?」
アン:「故郷を追われた時から覚悟を決めているわ。例え骨になろうともそれが私の運命。受け入れる覚悟は出来ている!」
グリーンマン:「そうか。残念だ。本当に、残念だ。骨になるなんて、そんなの、本当に、もったいない・・・」と笑みを称えて二人を見送ります。

これを、

<b>グリーンマン:</b>「”私”は構わないのだが。本当に案内せずともよいのかね?」

<b>アン:</b>「故郷を追われた時から覚悟を決めているわ。例え骨になろうともそれが私の運命。受け入れる覚悟は出来ている!」

<b>グリーンマン:</b>「そうか。残念だ。本当に、残念だ。骨になるなんて、そんなの、本当に、もったいない・・・」と笑みを称えて二人を見送ります。

こうしたいのです。wordpressでは、一度の改行で「<br>」、二度の改行で「<p>」としても処理されるので、改行を自動でつけるようにもしたいところ。

そういうわけで、ゴリゴリ書いていきますね。

投稿時に内容に処理を挟むには「content_save_pre」フィルター

名前の通り、内容を保存する前に働くフィルターです。

function replace_post_cont($text) {
  $text = preg_replace_callback('/(trpgreplay.*?>)(.*?)(?=</div>)/ius', "trpgreplay", $text);

  return $text;
}

add_filter('content_save_pre', 'replace_post_cont');

記事を保存するときに、「replace_post_cont」関数が働きます。「replace_post_cont」は記事を正規表現で整えるために用意しました。

「preg_replace_callback」は正規表現により抜き出した内容を、さらに関数を使って処理を挟むことができます。かなり便利です。

TRPGリプレイはdivタグの「trpgreplay」クラスを使用しているので、これを検索、中身を抜き出しています。

function trpgreplay($matches) {
  $text = preg_replace("/r/ius", "", "$matches[2]");
  $text = preg_replace("/n+/ius", "n", "$text");
  $text = preg_replace("/n(?!n)/iu", "nn", "$text");
  $text = preg_replace("/^(?!<)(.*?:)/ium", "<b>$1</b>", "$text");
  return $matches[1].$text;
}

そしてリプレイを整形しているのがこれです。「$matches」配列の[0]はマッチングした全体、[1]は$1にマッチングした部分、[2]は$2にマッチングした部分が収納されています。この場合、[1]には「trpgreplay”>」が、[2]には「リプレイの内容」が収納されています。

  $text = preg_replace("/r/ius", "", "$matches[2]");

内容のデータには「r」と「n」といった改行コードが混在している可能性があるので、「r」をまず全て消します。(正規表現じゃなくて普通の置換でよかったかも)

$text = preg_replace("/n+/ius", "n", "$text");

連続した改行を全て単発の改行に直します。これでエディタで執筆した内容の改行がゆらいでも大丈夫です。

  $text = preg_replace("/n(?!n)/iu", "nn", "$text");

単発の改行を二つの連続した改行に直します。一旦クリーニングして再度二度改行してるわけですね。

  $text = preg_replace("/^(?!<)(.*?:)/ium", "<b>$1</b>", "$text");

行の始めが「<」で始まらない場合は「:」までをbタグで囲むという処理です。ここをミスると「<b><b><b><b>」とひどいことになります。

最後にreturnで戻して完了。最終的な形は下記となります。

function trpgreplay($matches) {
  $text = preg_replace("/r/ius", "", "$matches[2]");
  $text = preg_replace("/n+/ius", "n", "$text");
  $text = preg_replace("/n(?!n)/iu", "nn", "$text");
  $text = preg_replace("/^(?!<)(.*?:)/ium", "<b>$1</b>", "$text");
  return $matches[1].$text;
}
function replace_post_cont($text) {
  $text = preg_replace_callback('/(trpgreplay.*?>)(.*?)(?=</div>)/ius', "trpgreplay", $text);
  return $text;
}

add_filter('content_save_pre', 'replace_post_cont');

完璧! 満足ちゃん。