ゲーム内の「村人のセリフ」をChatGPTで大量生成する方法(第2回)。データを大量に出力する
生成AIをゲーム開発の現場で活用している筆者が、ゲーム内テキストの作成、中でもいわゆるRPGの村人たちのセリフの生成を一から行う流れを解説します。第2回は、データを大量に作るところから改善すべき点まで。 生成AIグラビアギャラリー
大量に出力しよう
ここからは人物単位でチャットを開始してセリフを生成します。とはいえ各人物の設定は、まだ名前や家族関係、年齢と社会的地位しかありません。もう少し肉付けをしないと、セリフに一貫性が出ません。 試しに商人の妻ディアナを使って、まずは人物像を生成させ、続いてセリフを生成しましょう。
ディアナの場合
これまでの設定をまとめた入力に続いて「ではディアナについて、人物像を詳細に設定してください。人物像は現実的に、良し悪しを交えて。」と指示します。 ----- ディアナは、ネビルの農村で商人サリクの妻として知られている30歳の女性です。彼女は村で最も魅力的な女性の一人として広く認知されており、その美貌は訪れる商人や旅行者にも評判です。しかし、彼女の美しさに目が行きがちですが、ディアナの本当の魅力はその知性と商才にあります。 ディアナは商人としての夫をサポートすることで、自身も経済的な洞察力と交渉スキルを磨いてきました。彼女は村の外での取引にも積極的に関わり、新しい取引のチャンスを見つけ出すことで家族の生計を支えています。そのため、彼女は村の経済活動において重要な役割を果たしています。 一方で、ディアナは時に自分の意見を強く主張する傾向があり、これが近隣の村人や他の商人との間で小さな摩擦を生むこともあります。彼女は自分のビジネスセンスに絶対の自信を持っており、他人の意見や提案を軽視しがちです。このため、一部の村人からは少し傲慢と見なされています。 ディアナはまた、家庭においても献身的な母親であり、8歳の娘ベリルに良い教育と価値観を伝えようと尽力しています。彼女は娘に対して非常に保護的であり、ネビルの農村という比較的安全な環境で育っているにもかかわらず、娘を過剰に心配することがあります。これは、ディアナ自身が若い頃に経験した困難から、娘にはより良い未来を望んでいるためです。 ディアナの人物像は、その美貌と知性、ビジネスでの成功と家庭での役割のバランスを示しながら、彼女の性格の複雑さと現実的な挑戦を描き出しています。彼女の物語は、ネビルの農村のコミュニティにおける彼女の重要性と、個人としての成長と挑戦を浮き彫りにします。 ----- これぐらいの人物像があれば、セリフにも大きな間違いは起きにくいでしょう。 「では姫の救出、ひいては魔王の討伐という無謀な冒険に出たばかりの主人公に対する、ディアナのセリフを生成してください。口調は人物像にしっかりと合わせ、主人公に対する反応も性格から最大限現実的に定めてください。 まずは何気ない挨拶や、村の日常的な話題に関するものを20件。」と入力してセリフを生成します。 ----- ・「おはよう。今日も朝から忙しいわ。あなたも早起きね。」 ・「また新しい顔ね。旅の途中?この辺りで必要なものがあったら、言ってちょうだい。」 ・「この季節は野菜が豊富でね。特にカボチャが美味しいわ。試してみる?」 ・「昨夜の風は強かったわね。作物に影響がなければいいのだけれど。」 ・「あなたも火祭りの準備で忙しいの?私たちも、毎年楽しみにしているのよ。」 ・「子供たち、毎日元気に走り回っているわ。あなたも子供の頃はそうだった?」 ・「うちの夫、商売でまた遠出するの。いつも心配なのよね。」 ・「あら、新しい冒険者?ここは安全だけれど、外は危険がいっぱいよ。気をつけて。」 ・「最近、近隣の村との交易が増えてきたわ。それにしても、交渉は難しい。」 ・「今日はいい天気ね。でも、こんな日は仕事が進まないわ。」 ----- 10件の抜粋ですが、なかなか良さそうです。続いて「村の紹介や自身の情報に基づくセリフ」「打ち解けた後のセリフ」「主人公が村に破滅をもたらした場合のセリフ」「ほとんど知らない魔王や姫についてのセリフ」を各20件、合計100件分生成しました。 それぞれ5件の抜粋です。 ----- ・「ネビルの農村へようこそ。ここは小さいけれど、とても温かいコミュニティよ。」 ・「私たちの村は、不毛の大地の中で一筋の緑。みんなで力を合わせて守っているの。」 ・「商人の妻として、近隣の村や商人との交易を取り仕切っているわ。何かあったら言って。」 ・「私の夫はサリク、この村で商売をしているの。いつも忙しくてね。」 ・「私たちの村は、毎年冬至に火祭りを開催するの。古代の英雄を称える大切な儀式よ。」 ・「あなたとの話はいつも新鮮ね。村での平穏な日々に、少し刺激が加わるわ。」 ・「実はね、私も若い頃は冒険に憧れたものよ。でも、今はこの村が私の場所だってわかってる。」 ・「あなたの冒険話、本当に心躍るわ。でも、無茶はしないでね。心配するから。」 ・「夫とは商売の話で頭がいっぱいだけど、あなたとはもっと色々な話ができて嬉しいわ。」 ・「ねえ、次に村を訪れるときは、もっと長く滞在してくれない?みんな、あなたのことが好きよ。」 ・「何をしてくれたの!ここは私たちの家よ。どうしてこんなことに…」 ・「あなたを信じていたのに、なぜ?私たちの村に何が残るっていうの?」 ・「こんなはずじゃ…あなたがもたらすはずだったのは希望だったのに、なぜ破滅を?」 ・「あなたのせいで、私たちの生活は台無しよ。これからどうすればいいの?」 ・「私たちはあなたを受け入れ、信頼した。それなのに、どうしてこんなことに…」 ・「魔王についてはほとんど聞いたことがないわ。ただ、彼の影響は遠くまで及んでいるらしい。」 ・「姫がさらわれたって?可哀想に…でも、私たちにはどうすることもできないわ。」 ・「魔王のことは、古い伝説の中でしか聞いたことがないの。実際のところはどうなのかしら。」 ・「あの姫には特別な力があるって聞いたけど、本当かしら?だとしたら、なぜ魔王は…」 ・「魔王が本当にいるのなら、私たちの平和な生活はいつまで続くのかしら。心配よ。」 ----- 用意した世界や村の設定を踏まえつつ、極端におかしな出力はなさそうです。生きた村人というにはあまりに硬いですが、ゲーム次第では十分使えるでしょう。 他の村人でも全く同じ手順でセリフを生成しました。 4人分400件のセリフ生成にかかった時間は15分程度でした。ゲーム最序盤のいわゆるモブキャラたちにはひとまず足りる品質でしょう。この内容でこの分量を書き起こすのに比べれば、生成時間はほとんど無視できる規模です。 生成したセリフはこのままゲームに使えるわけではありません。設定との矛盾を含むもの、文章としておかしなもの、単語の選択が不自然なものなどの除去や修正が必要です。そうした後処理を含めたとしても、なおかかる時間は圧倒的に短いでしょう。