見出し画像

NPCの会話テキストの考え方

少し前にツイッターで「仕様です。」さん(@shiyoumasayume)がNPCについて呟かれていました。

そういえば言語化してなかったなと思い、今回のnoteを作成。
今回の記事は、ゲーム業界の片隅にいるゲームプランナーザンギのNPCの会話テキストの考え方です。
人によって考え方も書き方も違うのでしょうけれど、自分はこういう作り方をしているよ!というのをまとめていきます。どなたかの参考になれば幸いです。

考え方としてはおおまかに以下です。
1.シナリオとゲーム仕様の把握
2.役割の割り出し
3.役割の優先度決め
4.NPCの人数の決定
5.テキストの物量の割り出し
6.テキストの作成

1.シナリオとゲーム仕様の把握

NPCの会話テキストを作ると言っても、作成前に把握することがたくさんあります。
作成するにあたり必要な情報は大きくわけて二つあります。

1.シナリオ進行の把握
2.ゲーム仕様の把握

1.シナリオ進行の把握
どこの場所で、どの時系列のNPCのテキストを作成するのか。

ここではサンプルとして、桃太郎のお話をベースに思案していきます。
桃太郎が成長し、鬼退治を決意し、自身が育った故郷の村を離れるタイミングで家を出たと仮定します。

村の人たちの背景を思案していきます。

・場所は桃太郎の故郷
・赤子の頃から成長を見守ってきた人もいる
・村の人たちはおそらく全員桃太郎と顔見知り

これらのことから、桃太郎とは顔見知りであり親しい間柄が想定されます。

2.ゲーム仕様の把握
どのくらいの規模の場所なのか、なにがゲーム内でできるようになるのか。

ゲームの進行上、最初の村のため桃太郎の村の規模感はかなり小さめで設計されていると想定します。
(FF8やTOVのように最初から広いマップの場合もあります。規模はシナリオとマップ仕様次第です)

できることは以下

・旅に必要なアイテムが買える
・宿で休むことができる
・村の外に行くとモンスターと戦うことができる(エンカウント)

2.役割の割り出し

シナリオとゲーム仕様の把握で集めた情報をもとに、この場所ではユーザーになにを伝えなくてはいけないのか箇条書きで割り出していきます。

▼シナリオ側の情報
・桃太郎の身を案じる人(村人と親しい間柄の示唆)
・桃太郎の心情を補間する人(客観的に見た桃太郎の状態の示唆)
・餞別としてアイテムやお金をくれる人(村人と親しい間柄の示唆)
▼ゲーム側の情報
・村の外に出たらモンスターと遭遇することがある(エンカウントの示唆)
・旅に必要なアイテムが買えること(お店への誘導)
・宿で休むことができること(宿への誘導)

ゲームの進行によっては、毒攻撃(状態異常)をしてくる敵がいるから注意しろ、○○の橋を越えると強い敵がいるから行くな、シナリオに絡むキャラクターのウワサ話、町やダンジョンの歴史などを教えてくれる人もいるでしょう。

3.役割の優先度決め

役割の割り出しを終えたら、優先度決めです。
NPCの人数に限りがある場合、どうしても優先度を決めなくてはなりません。

雰囲気づくりとして、シナリオ側の情報を優先したい部分もありますが大事なのはゲーム側の情報をユーザーに伝えることです。
キャラの口調や言い回しによって桃太郎との距離感を演出したり、複数回話すことでシナリオ側の情報を伝えることも可能です。

ここでの優先度は以下とします。

1.村の外に出たらモンスターと遭遇することがある(エンカウントの示唆)
2.旅に必要なアイテムが買えること(お店への誘導)
3.宿で休むことができること(宿への誘導)
4.桃太郎の身を案じる人(村人と親しい間柄の示唆)
5.桃太郎の心情を補間する人(客観的に見た桃太郎の状態の示唆)
6.餞別としてアイテムやお金をくれる人(村人と親しい間柄の示唆)

4.NPCの人数の決定

桃太郎の村では、どんなNPCが用意されるのか確認します。
今回は合計8種類用意され、8体とも話しかけることができると想定とします。ゲームによっては雰囲気出すために話しかけられないNPCを配置するなどもあるかもしれません。
※アイテム屋のNPCは今回除外します。宿機能は布団を調べることで利用可能とします

・桃太郎のおじいさん
・桃太郎のおばあさん
・汎用おじさん
・汎用おばさん
・汎用おにいさん
・汎用おねえさん
・汎用少年
・汎用少女

プロジェクトによっては、工数の問題があったりしてどれかが用意できないなどいろいろある場合があります。その時は、あるものでやるしかないです。がんばってください!!

5.テキストの物量の割り出し

NPCの会話テキストは、ゲームの進行に合わせて変わることがあります。

たとえば、とある町の人たちを苦しめる悪いボスがいたとします。主人公の手によって倒され、町に平和が訪れたとした場合、ボスを倒す前、後と2パターン必要になってきます。
これらはシナリオを確認しながら、割り出していきます。

今回の桃太郎の場合は、村を出る前、出た後、中ボス倒した後、ラスボスを倒した後、汎用の5パターンと仮定します。
※汎用は、どの表示条件にも合致しなかった場合に表示されるテキストです。念のため入れています。詳しい解説は後述

物量としては「4. NPCの人数の決定」で出たNPC8体×5パターンで、最低でも40パターンのセリフ作成が必要になってきます。
最初の町だけでも40パターンです。

ここで、さらにアイテムやお金のプレゼントなどがあれば、アイテムを渡す前、後と2パターンセリフを作る必要が出てきます。

6.テキストの作成

1~5を踏まえて実際にテキストを作成していきます。
※ぜんぶ書くと数が多いので、ざっくりとしか書いていません。

各キャラにこういう方向性のキャラというのを考えつつ、作っていきます。
・桃太郎のおじいさん → 桃太郎本人にあまり本心を言わない。でも影で心配している
・桃太郎のおばあさん → 桃太郎のことは心配はしているが、応援している。帰ってきたらいつでも迎えるよ!というスタンス

▼サンプル画像1
※以下の画像が見づらい場合は、右クリック>画像だけを表示>拡大、で確認できます

画像1

7.汎用セリフについて

1パターンとはいえ、全NPCに汎用セリフを作るとなるととても大変です。しかし途中でシナリオまわりに調整が入ったりして発生条件(進行度やイベントフラグなど)がずれることがあります。
その場合、判定から漏れてしまうとメッセージが表示されなかったり、フリーズなど意図しないことが起きる可能性があります。
その回避方法として、ここでは汎用セリフを用意しています。
以下に分岐イメージのサンプル画像を用意(サンプル画像2参照)

汎用セリフ自体、条件に合致しなかったら表示されるセリフのため、ゲーム中に表示されないことが正解となります。もし、表示されてしまった場合はなにかしらズレが生じています。この辺、作る作らないは開発規模や工数に応じてという感じかもしれません。ただ、なにか発生した場合、影響箇所がNPCの数分ある可能性があるため、どう原因特定するか(デバッグ時にもこのメッセージ出たら教えてねと伝えておけばズレが特定できる)、リスク分散するかです。
もし汎用セリフを用意する場合は、シナリオ進行に影響がないセリフにしておくと安全です。

▼サンプル画像2
※以下の画像が見づらい場合は、右クリック>画像だけを表示>拡大、で確認できます

画像2

8.まとめ

一口にNPCの会話テキストといっても考えること、把握しなければならないことはたくさんあります。最初に書いたシナリオだけではなく、ゲーム側の仕様(マップの規模や機能の解放タイミング、敵の特性など)も知っておく必要があります。あと、マップが広いからと言って、なにも考えず配置していくと後で酷い目にあいます(マジで)。配置した分だけテキストを作らなくてはなりません。そして作って終わりではありません。実装があります。実装する人にもスケジュールはあります。これは忘れてはいけないことです。

たかがNPCの会話テキストと思うかもしれませんが、意外と作成者の個性を発揮する場所でもあったりするので楽しいお仕事でもあります。
参考として「steam版 真・三國無双6 with 猛将伝 DX」の画像を。

↓三国鼎立前から劉備についてきたNPCが成長していく様を描いています。

画像3

↓客観的に見てイライラしている張飛に対して、武器の購入を誘導しています。

画像5

↓有名な将の名前をもじったギャグを言わせてみたり。

画像6

こうやって考え方を言語化すると思考の整理にもなるので、今回のnoteは自身にとても有意義でした。それではまた!

応援されると生きる気力がわいてきます! もう少しがんばります!!