モンスターデータって使いづらい(主にファンタジー系TRPGで)

私は常々ファンタジー系のTRPGのモンスターデータっていっぱいあるけどイマイチ使い出がないよなぁ、と思っていました。ダンジョンとかウィルダネスの踏破の障害としてなら良いのですが、シティアドベンチャーとか舞台が最終的にダンジョンでももう少し物語性のあるシナリオだとメインの敵は人間のNPCが必要でモンスターは使えないことが多いと。

で最近、『The Lunatic』のモンスターデータと世界設定を見直しているのですが、その過程で上記について真面目に考えてみました。
その記録というかまとめみたいなものを『モンスターは使いづらい』というドキュメントに書いたので興味がある人は読んでみてください。

その前に、このブログを読んでいる人がいるんだろうか(^^;
スポンサーサイト

シナリオ(背景)自動生成

もう1年半ほど経ってしまったけれど、シナリオ自動生成のことを記事にしておこう。正しくはシナリオ自動生成ではなくて、シナリオ背景の自動生成だけれども。なお、この記事はホームページに掲載した記事の本体部分を抜粋したもので、ホームページの方には「シナリオ(背景)自動生成ツール作成までに自分でやったことや調べたことも記述している。

【シナリオの基本構造】
僕の目的は、プレイヤーがどんなキャラクターを作るかわからないからPCの立場や背景に非依存なシナリオで舞台はシティアドベンチャーというシナリオを自動生成したい、そして、重要なポイントはシナリオ中のイベントがそれぞれ関連性を持って、妥当な感じで生成できるということだった。もう少し具体的に言うと、PCが街で誰かに厄介事の解決を頼まれたり、たまたま関わった人を助けたり、事件に巻き込まれてそれを解決する羽目になったり、というシナリオを途中に発生するであろうイベントを含めて大体話が通じるような形で自動生成したかった。
ここで一番の難題はシナリオ中のイベントに関連性を持たせるという部分で、これがどうもうまく行かない。いろいろ調べたりしたけれど、どれも解決にはならなかった。書き始めると長くなるからここでは省略する。
で、いろいろ考えているうちに、先に挙げた様なシナリオは基本的に次の様な構成になることに気づいた。

1. 事件には悪役がいる
2. 悪役が事件(につながる何らかの出来事)を起こす。
3. PCが事件に関わる
4. PCは(最終的に)悪役に対抗する側に協力する
5. 結果、悪党の思惑通りにはならない

上記の構成から、僕はシナリオ構築の視点を大きく変える発見をした。それは、
・事件こそがシナリオの中心である
・事件はPCがいなくても始まるし、進行する
ということだ。PCの関与は外部要因に過ぎない。僕はそれまでPCがどうしたら次はどうなるという風にシナリオを生成しようとしていたけれど、それは間違っているということだ。この考えに至ったことで、
1. 事件を構築する
2. 事件に対してPCがどう関わるかを追加する
という大本となるロジックができた。

【事件を生成する】
前述の考えから、まずはPCのことは関係なく事件を構成する手法を考えた。
事件は次の様に組み立てることができる。
1. 首謀者と標的を決定する。
2. 首謀者の視点で事件の目的を決定する。
3. 2に基づいて幾つかのイベントを作る。

この段では1は自動的に決まる。単に首謀者と標的のNPCがいれば良い。違和感のある人もいるかもしれないが、どんなNPCを当てはめても基本的に事件を作ることができる。具体例を示すと「AがBを殺害しようとしている」、「AはBの所有物Xを奪おうとしている」などのAとBに農民、領主、騎士、盗賊、…、と適当な立場のNPCをランダムに当てはめてもきちんと事件になる。なお悪役という言葉を使用せず、首謀者と標的を使用したのには理由がある。これは後述する。

2から3の順で事件を構成するのがポイントだ。僕の目的はランダムだけど整合性のあるシナリオを生成できるようにすることだった。そのためには首謀者が最終的に何をするかを決めて、それを達成するための行動を逆算する必要がある。この方向で構築することで、関連性のある出来事をグループ化して扱うことができるから事件の最終目的に整合性のある出来事をランダム生成できる。その出来事の中で置き換え可能な部分、例えば場所とかアイテムとかはランダムに置き換え可能にしておけば良い。

これで、事件自体は自動生成できるようになった。

【PCの関与を組み込む】
事件をTRPGのシナリオにするためには、PCを関与させなければならない。つまり、導入イベントを用意するわけだ。論理的にはPCが前述の3で用意したイベントのどれかで良いのだけど、3で用意したイベントはPCが悪役の計画を妨害するための対象にしたい。だから、導入用のイベントは事件の前半で専用のものを用意することにした。例えば、PCが首謀者から協力を頼まれるとか、事件の発端を目撃するとか、標的から護衛を頼まれるとか。
(余談:PCが関与するのは事件の後、つまり、事件の真相を探るというシナリオは当然あり得る。これも、プログラムには組み込めそうだったけど、ややこしくなるから考えないことにした。)

次に決めなければならないのは1つはPCが最初に首謀者側につくのか、標的側につくのか、そして悪役は首謀者なのか標的なのかだ。この組み合わせによって話の展開は4パターンになる。話が前後してしまうけれど、途中に発生する出来事はこれを考慮して生成できるようにしている。もう一つ、僕のプログラムではPCが最終的にどっちの味方をすべきかを明示することにしている。事件の背景をシナリオ化するとき、PCが当初協力していたNPCが悪役だった場合、どこかでそれに気づいて陣営を変えられるようにしなければならないからだ。

最後に、事件は途中の出来事がPCによって邪魔された結果、計画が頓挫した悪役がどのような行動に出るかを決めなければならない。しかし、PCに邪魔をされて計画がダメになったというのは悪役にとって完全に想定外なわけで、整合性を持って行動を生成することはできない。でも、これには簡単な解決方法があって、単に悪役との最終決戦にすれば問題ない。時代劇などで追い詰められた悪役が主人公に斬りかかるのと同じだ。その上、この最終決戦はそれまでの流れとあんまり関係なく設定しても問題なくて、適当な場所でラスボスと対面して戦闘になるようにしておけば大体OKだ(僕は『The Lunatic』のようなファンタジーTRPGを念頭に置いているからこれで問題ない。『クトゥルフの呼び声』なんかだとこうは行かない)。

これで事件をシナリオ化してPC観点で物語を展開できるだけの情報ができた。

【NPCの背景を決める】
どんなNPCを首謀者にするか、標的にするかは重要じゃないと書いたけれど、それは事件を構成するまでの話だ。これをシナリオ化するためにはもう少し具体的にNPCを設定しないといけない。

僕のプログラムではでは「首謀者がなぜ事件を起こすのか」も生成している。事件型のシナリオの場合、往々にして予定外のことが起こる。NPCに基本的な行動指針があるとそれを決めやすい。そのための設定としてNPCが事件を起こした理由を設定した。

もう一つ、NPCの職業と首謀者と標的の関係性とをランダム生成している。たったこれだけの設定ではあるけど、これらがあることでNPCの物語を想像しやすくなる。物語を想像しやすければ当然具体的なシナリオにも落とし込みやすい。ちなみに、これらはシナリオ途中の出来事とは無関係に生成しても大体問題ない。

【終わり】
以上がシナリオ(背景)自動生成ツールでやっていることの全てだ。それほど大したことをしているわけではないけれど、結構使えそうなシナリオ(背景)を吐き出してくれるところをみるとこのロジックは結構良い線を行っているのだと思う。

下方内上方判定という方法

『The Lunatic』の行為判定は一般的に「下方内上方判定」といわれるタイプの方法を採用しています。一般的に下方内上方判定はどちらかというと難しいタイプの判定方法と思われているんじゃないかと思けど、私が下方内上方判定を採用した理由はこの判定方法が簡単だから、なのです。ちょっと、この辺について書いておこうと思います。

下方内上方判定とはどういう判定方法かというと、成功している範囲でダイス目が大きいほうがよいというルールです。例えばD20下方内上方判定で判定基準値が13なら1~13が成功、14~20は失敗で、1で成功よりも13で成功のほうが優れている(達成値が高い)という判定方法です。成否自体は下方判定の様に判定基準値以下かどうかに基づき、成功している範囲での達成レベルの評価は上方判定の様にダイス目が大きいほうが良い、ということで下方内上方判定というわけです。

下方内上方判定のどこが簡単なのでしょうか?
ダイス目に対する修正などを考えないなら、一般的な行為判定は「目標値 ≦ ダイス ≦ 判定基準値」の場合成功です。例えばD20下方内上方で判定基準値が13、目標値が5ならダイス目が5~13なら成功ということです。はっきり言って簡単です。値の比較だけなので上方判定よりも計算が無い分楽です。そして判定の難易度は判定基準値を直接修正せざるを得ない下方判定に比べるとはるかに目標値の設定が容易です。

次に対抗判定はどうでしょう?
AとBがそれぞれ判定して両方が成功したらダイス目の大きいほうが勝ちです。一方が成功、他方が失敗の場合は成功したほうの勝ち、両方失敗したときは何の効果もなしでしょう。計算が必要ない分、上方判定よりも簡単です。具体的には、「攻撃命中。ダイス目6」、「防御は6~10で成功か」、という具合です。
そして対抗判定に関して下方内上方判定は下方判定に比べると非常に優れた点があります。下方判定で両方の技能が90%以上とかいう風になると全然終わらなくなりますが、そういうことは起こりません。ちなみに、下方判定で判定基準値とダイス目の差分を求めるくらいなら最初から上方判定にしたほうがずっと優れています。

と、下方内上方判定は(本質的に)見かけよりも簡単な判定方法なのです。

シティアドベンチャー用シナリオ作成ツール?

自分自身でもシナリオ作成ツール(ルール)を書いてはいるけれど、あれはシティアドベンチャーの様なシナリオを作るにはイマイチ役に立たないと思う。何でかというと、シティアドベンチャーには大体の場合、何らかの背景と事件が必要だけど、それを生成してくれないからだ。はっきり言うと、NPCのランダム生成なんかを適当にやっている間に何か思いつけばラッキーというレベルにすぎない。
ま、もともとがダンジョン作成とかウィルダネス作成用のルールはそれなりにできていたのと、NPCなんかのランダム作成もそれなりに役立つと思ったから公開したというのが本当のところ。

で、僕がシティアドベンチャー向けのシナリオ作成でほしいと思うツールは、
1. 事件の背景となる物語を生成してくれる
2. PCが事件にかかわるポイントと目的を提示してくれる

の2点を提示してくれるものだ。
こういうのをランダムにうまく生成してくれるツールがあればシナリオ作成は本当に楽になると思う。
もう少し、詳しく要求事項を書いてみよう。

1. 事件の背景となる物語を生成してくれる
これは「何を目的に誰が何をしようとしている(した)」という簡単な話がほしいというのではない。これだけなら自作のルールでもできる。もう少し細かく、シーン単位くらいのPCが関わらなかった場合の事件を生成してくれるようなツールが欲しい。加えて、それぞれのシーンにかかわるNPCがどのような立場でどう動こうとしているのかという設定もほしい。
具体例を挙げると次のような感じ。

 全体:盗賊団がある商人の蔵を襲おうとしている。
 部分1:盗賊団から1人が商人の奉公人として送り込まれている。
  奉公人(盗賊)は襲撃時に鍵などを開けておく。
 部分2:商人の家の者、他の奉公人のうち1人(NPC1)が奉公人(盗賊)のことを怪しんでいる。
  奉公人(盗賊)もNPC1に怪しまれていることに気づいている。
 部分3:NPC1は奉公人(盗賊)と盗賊団の者の連絡現場を目撃する。
 部分4:奉公人(盗賊)はNPC1を店の外で、他の盗賊の手で殺す。
 部分5:襲撃は新月の夜。

2. PCが事件にかかわるポイントと目的を提示してくれる
これは1に基づいて導入のパターンをいくつか生成してくれるものというイメージ。1の結果だけでもある程度は考えられるだろうけど、面白そうな導入パターンが提示されればありがたい。
具体例を挙げると次のような感じ。

 a. PCは商人の所に荷物を届け、一晩宿泊することになった。
 b. PCはNPC1が盗賊に襲われる現場に居合わせた。
 c. PCは襲撃された商家の生き残りから依頼を受けた。

a~cのパターンによってPCがかかわるタイミングが変化するから、a~cによってシナリオの展開は全然違ったものになるはず。例えば、aならタイミングによって巻き込まれるかNPC1と一緒に動くことになるだろうし、bなら直接依頼を受け、証拠をつかんで盗賊を倒すという展開になるだろうし、cなら犯人探しと盗賊退治という展開になるだろう。


この2点があればシナリオの骨格はできるから、あとはNPCとか地図を用意して、PCが接触して来た時のNPCの対応を考えてゆけばそこそこシナリオは作れると思うけどどうだろう?
ここまで書いてみて気付いたけれど、ランダム生成できなくても1とそれに関連した2のパターン集の様なものがあればかなり便利かもしれない。

シティアドベンチャーのシナリオを作るのは結構難しい

シティアドベンチャーのシナリオを作るのはダンジョンシナリオに比べるとすごく面倒くさい、というか難しいと思う。僕はシティアドベンチャーを作る難しさの理由には2点あると思う。一つは、シティアドベンチャーには背景となる物語が必要なこと、もう一つはPCがかかわる理由の設定が難しいこと、だ。

ほとんどの場合、シティアドベンチャーというのは何らかの事件を解決するのが目的だ。で、事件が起こるためにはそれなりの理由が必要で、結構な数のNPCとそれぞれの設定とか背景が必要になる。つまり、実際にプレイする部分以外に準備しなければならない物語がすごく多い。僕みたいに物語を考えるのが不得手で、シナリオはプレイヤーに話す部分だけ作って、見えない部分なんかなるべく考えたくない、と思うような人間にはいちいち話の背景を考えなければならないのは大変な負担だ。

もう一つのPCがシナリオにかかわるのが結構難しいという点。何でかというと、ほとんどの場合、PCは事件の当事者じゃないからだ。当事者じゃないからわざわざ首を突っ込もうとしない限りシナリオにかかわる理由が無い。だから、それなりの当事者感をもってシナリオに参加させるための導入が難しい。
簡単なのは依頼を受ける、というヤツだ。でも、現代ものやサイバーパンクならともかく(*1)、ファンタジー世界でこればかりというのはちょっとどうかと思う。なら他のパターンとなると、PCの誰かを当事者として巻き込んでしまう、例えば真犯人と間違えられるとかPCの身内に何か起こるとか、は強制力があるけれど頻繁には使えない。PCがいきなり襲われるというのもPCがいきなり当事者だけど、1回だけだと放置される可能性があるし、何でPCが襲われるのかという理由を用意するのが面倒くさい。たまたま事件を目撃するというのは続いて依頼になるとかしないとPCがかかわる理由には薄い。

ならば、これを解決する方法は、ということなんだろうけど、ほとんどアイデアが無い(*2)。つまり、この文章は単なるぼやきで、だれかうまい方法を教えてくれるとラッキーだな、という程度の話だ。このあたりをうまくやれる方法を思いつけばシナリオ作成のルールはかなり立派なものになるんだろうけど。


(*1)
現代ものなんかだとPCがそれぞれに商売(仕事)があるので、シナリオの接点が多様=依頼ばかりでも切り口を変えられるというのが大きい。例えば、同じような事件に対しても探偵(犯人調査)、ジャーナリスト(事件自体の報道)、ボディーガード(当然護衛)、の様にバリエーションがあって、毎回依頼先を変えるとかすれば、依頼ばかりでもそんなに気にならない。
大してファンタジー者の場合はパーティーに対して依頼という感じになるので、いつも同じ様な感じがしてしまう。

(*2)
PCの設定自体を事件に首を突っ込む必要のあるものにするというのは有る。例えば央華封神とかブレイド・オブ・アルカナみたいに。これらはPC自体に事件にかかわるモチベーションがあるから、事件を起こしてやればプレイヤーから動くことを期待できるという点で導入パターンのことを考える面倒くささから開放される。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。