私は今、「生成AIにTRPGのGMをしてもらうゲーム」の設計・開発を、個人で進めています。
今回の記事では、この企画を思いついた経緯などを詳しくお話しようと思います。
目次
「生成AIにTRPGのGMをしてもらうゲーム」とは?
このゲームは、巷でよくある「キャラクターとお喋りできるアプリ」を進化させたようなゲームです。
最大のポイントは、キャラクター設定やゲームシナリオをユーザー自身が設定し、それを他のユーザーと共有できるという点です。
- TRPGツール
- 創作プラットフォーム
- キャラクター共有ツール
これらの要素を兼ね備えたゲームとなる予定です。
トップ画面サンプル:
ゲームプレイ画面サンプル:
※ 上の画像は、サンプル用に体裁だけを整えたものです。実際の動作は未実装です。
立ち絵画像提供: とくだ屋 様
背景画像提供: ぐったりにゃんこ 様
なぜ作ろうと思ったのか?
汎用生成AIは受け身すぎてつまらない
初めてテキスト生成AIを触った時、私は早い段階で、TRPGのような遊び方を試しました。
つまり、生成AIにシナリオを準備してもらって、その中でロールプレイのような遊びをしたということです。
これはとても楽しいのですが、しかしいくつか不満もありました。
- ありきたりな展開が多い
- 似たような登場人物や台詞が多い
生成AIは、基本的に受け身です。
ユーザーの望む回答をするというその性質上、それまでの流れを大きく覆すような展開は作ってくれません。
例えば、「扉を開くには4つの試練を乗り越えなくてはならない」 といったプロローグで、物語が始まったとします。
ここでもし、シナリオライターが人間であれば、馬鹿正直に試練を4つ出したりはしません。飽きるからです。
試練を1つか2つクリアした時点で、何らかのハプニングを起こし、新しい展開へと進めるでしょう。
しかしAIは、本当に4つ、試練をクリアさせようとしてきます。
内容は、ほぼ同じ試練の繰り返しです。
こちらが飽きていないか、面白いゲームになっているかなどといった配慮は全くしてくれません。
「思いもよらない展開にして」などの指示をすれば多少はマシにはなるのですが、その場合「思いもよらない展開を入れること」自体が目的になるため、ただただ奇抜なだけのつまらないシナリオになりがちです。
同様に、登場人物の性格も、AIが出してくるものは似たような性格・似たような台詞のキャラクターが非常に多いです。
最初は良いのですが、しばらく遊んでいると飽きます。
人間が作ったシナリオを渡してみた
この問題を解決する方法としては、あらかじめこちらでシナリオやキャラクターの設定を決めて、生成AIに渡しておくという手があります。
しかしこれは言うまでもなく、自分自身が既に先の展開を知っているので、新鮮味はありません(それでも楽しいと言えば楽しいのですが)
理想は、誰か他の人にシナリオを書いてもらって、それをAIに渡して遊ぶことです。
そこで私は、AIに渡す用のシナリオ(TRPG界隈で言うところのルールブック)を作ってみました。
作ってみて、いくつかの問題があることに気がつきました。
問題1: 事実上の文字数制限があった
AIは、そのモデルなどにもよりますが、渡すファイルの文字数が長くなるほど精度が下がる傾向にあります。
例えばChatGPTの無料モデルなどは、ファイルの文字数が1万文字を超えたあたりから、ファイルの内容を一部無視して「そんなシナリオは存在しない」と言い張るようになります。
これは恐らく、入力トークン節約のため、ファイルそのものではなくファイルの要約がAIへ渡されているのだろうと推測されます。
1万文字というのは、非常に少ないです。
ゲームの基本ルールを入れるのが精一杯であり、シナリオやキャラクター設定を入れる余裕などありません。
そのため、シナリオやキャラクターは別ファイルにするか、あるいはWeb上に公開するなどして、AIが参照できる状態にしておく必要があります。
AIに複数のファイルを渡す機能は、大抵の場合は有料です。
多くの人が遊べるゲームにするためにも、プレイヤーに有料の生成AIを使わせたくありません。
そのため、Web上に公開する他ないと考えました。
問題2: AIが読み取れないサイトが多い
AIは、どのサイトでも自由に読み取れるわけではありません。
私が試した範囲では、Notion・FC2などのサイトには安定したアクセスができず、最終的には GitHub Pages へ公開する形に落ち着きました。
しかし私の最終目標は、多くの人がシナリオを公開して、そのゲームを私が遊ぶことです。
GitHub Pages は便利ではありますが、非エンジニアの方がシナリオをアップロードする場所としては、ハードルが高すぎると感じました。
問題3: AIはWebを参照したがらない
AIは、Web上にあるシナリオを無視することがよくあります。
無視して、独自のシナリオを展開し始めるのです。
Web参照のコストが大きいのか、はたまたユーザーに無断でWeb参照しないよう制限がかかっているのか……
理由はわかりませんが、いずれにせよこれは問題です。
ゲームのプレイヤー自身が「このWebページを参照して」と逐一指示を入れることで、この問題は一応解決しました。
しかし、手間です。
こういった面倒くささは、新しい遊びを広める上での大きな障害となるでしょう。
システム化するしかない!
試行錯誤の末、これはもう汎用的な生成AIで実現できる話ではないと結論づけました。
AIを組み込んだシステムをWeb上に公開し、そこにユーザーがシナリオやキャラクターを登録して、他のユーザーが遊ぶ……
そんなゲームが、私の理想です。
既に誰かが作っているのでは?
私は、自身が開発者となることにはそこまでこだわりはありませんから、もし私の理想のゲームが既に存在するなら、それでも構わないと思っています。
しかし、探した範囲ではそういったものはありませんでした。
まず、ゲームシナリオをユーザー間で共有できるゲームというものが、ほとんど見つかりません。
ひとつだけ、使い方次第ではそれが可能なゲームを見つけましたが、しかしそのゲームは基盤となるゲームシステムがファンタジー・バトル向けとなっており、私の理想とは少々異なるものでした。
ないなら自分が作るしかないと、私は考えました。
採算は取れるのか?
残念ながら、このゲームで採算を取るのはやや厳しいと考えています。
私自身、AI API の料金表を元に概算してみたのですが、少なくとも、個人が無策で開発・リリースして成功するものではないと見ています(AI利用料が高すぎるため)
採算を取るための策はいくつかありますが、中でも重要なのは、早期に多くのユーザーを獲得することです。
そのためにも、企業のブランド力は必要不可欠だと私は考えます。
ブランド力とは、ユーザーに「この会社なら信頼できる」と思わせる力です。これは個人では得難い上、初期リリース時点でのユーザー獲得のためには何よりも重要です。
ゲームがある程度形になった暁には、ぜひ、そういった企業に売り込みをかけていきたいと考えています。
最後に: 自己紹介も兼ねて
私は、「勉強のためのプログラミング」というものが嫌いです。
プログラミングはあくまでも手段・ツールであって、目的ではないはずだからです。
このゲームも同じです。
最新の技術に追いつくため・就職で有利になるためという動機だけでは、私はここまで生成AIに興味を持てなかったでしょう。
「自分がこのゲームで遊びたいから」という動機が、今の私を動かしています。
そして、ユーザー目線であることは、開発に携わる上でも非常に重要だと私は思います。
「このシステムは使いやすいシステムになっているか?」
「直感的でわかりやすいか?」
「最初にユーザーはどこを見るか?」
「どんなユーザーが使うのか?」
そうやって常に自分に問い続ける姿勢こそが、より良いシステムを形作るのだと私は思います。