清水理史の「イニシャルB」

生成AIで、分岐があるゲームストーリーの生成とその可視化を実現! Microsoft Researchの「GENEVA」を試す

GENEVAのサンプルサイト。生成AIによって作られた分岐するストーリーをグラフとして可視化できる

 今年開催されたゲームをテーマにしたコンファレンス「IEEE CoG 2024」にて、Microsoft Researchから「GENEVA: GENErating and Visualizing branching narratives using LLMs」という論文が発表された。内容は、生成AIによってゲーム向けのストーリーの生成と可視化を実現する方法の調査だ。論文で実際に使用されたプロンプトを使って、どのように分岐するストーリーの生成とグラフ化ができるのかを試してみた。

▼論文を読む
GENEVA: GENErating and Visualizing branching narratives using LLMs

まずは体験してみよう

 今回、論文のテーマになっているGENEVAは、ゲーム(や小説、映画など)のストーリー制作プロセスを生成AIによって補助できるかどうかを検証した調査結果だ。

 ゲームでは、プレイヤーがゲーム内の主人公として分岐する展開を自ら選択していく「ナラティブ」なストーリーが採用されるのが一般的だ。こうしたストーリーは、複数の分岐と合流を含む複数のストーリーラインを持っており、文章として非常に複雑な構造を持つ。

 GENEVEで検証されたのは、こうした分岐するストーリーラインを持つ物語の生成と可視化だ。

Microsoft Researchのサイトに掲載されたGENEVAの記事「GENEVA uses large language models for interactive game narrative design

 どのようなものが生成されるかは、実際に見てみる方が早い。論文の中で示されている「Visualizing Generated Narratives」というナラティブなストーリーの可視化ツールを使い、内容を見よう。

 「Stories」で「Dracula」(ドラキュラ)、「Jack and the Beanstalk」(ジャックと豆の木)、「Little Red Riding Hood」(赤ずきん)などの物語を選択し、「Starts」と「Endings」でストーリーの開始と終了の数、「Plots」で分岐するストーリーの数を選び、「Context」でストーリーのスタイルを選ぶと、自動的にゲームなどに応用できるストーリーが生成され、それがグラフ形式で可視化される。

ジャックと豆の木を、スタート2、エンド4、プロット8、Minecraftスタイルで可視化した例。かなり複雑な分岐と合流を繰り返し、4つのエンディングへと至る様子がわかる

 グラフについては本連載でも過去に解説したことがあるが、ある情報とそのつながりを図式化したもので、データ間の関係、方向、重みなどを表現できる手法となる。

 今回のGENEVEでは、可視化されたグラフを「ナラティブグラフ」と呼んでおり、各ノード(GENEVAでは「ビート」:Beatと表現する)が、ストーリー上で展開されるイベントを示し、各ノードをつなぐ矢印(GENEVAでは「エッジ」:Edgeと表現)がストーリーの進行を示している。

グラフのアップ。丸で表されたビート(ノード)がイベントを表し、エッジ(矢印)で次のビートへと進行する様子を示す。この例では、スタート2から、ジャックが豆を掘り当てるルート(14)と、クリーパーからのレアドロップで豆を入手するルート(28)に分岐する

 残念ながら、GENEVEの調査では非巡回グラフの生成のみとなっており、タイムループ的なストーリーは想定されていない。しかしながら、分岐と合流によって複数エンディングへと至る複雑なストーリーが生成され、わかりやすく可視化されていることがわかる。

 つまり、ゲームなどの複雑なイベント分岐を自動的に生成できることになる。

 GENEVEの最終的な評価としては、元のストーリーの本質を維持しつつ、指定されたContext(プロンプト上ではSetting)に従った脚色を入れ、かつ分岐と合流を含む一貫したストーリーの生成は可能と結論付けられている。しかし、その一方で、脚色の根拠が乏しいなどの課題なども指摘されている。

 しかしながら、生成AIによって、分岐する複雑なストーリーも生成できるとなれば、ゲームの製作プロセスでも役立つ可能性はあるのではないだろうか。

実際に分岐するストーリーとグラフ化を試してみる

 冒頭で紹介したGENEVEの論文では、付録として調査に使用した実際のプロンプトが記載されており、これを利用することでChatGPTなどを利用して同様の分岐の生成とグラフ化を試すことができる。

論文の付録に実際に使ったプロンプトが記載されている

 実際のプロンプトは非常に長く、ベースとなるものだけでも3000トークンを超えるため、ここでは一部のみ掲載するが、以下のように冒頭のINSTRUCTIONで「あなたの仕事は、次の入力オプションを指定して、ユニークで興味深いストーリーラインを生成することです:[ここに入力ストーリー、設定、開始、終了、ストーリーラインの数を含めてください]」で指示を記述し、その後にどのように出力すべきかを具体例で示すものとなっている。

 今回は、日本語に翻訳してから出力するように、プロンプトに条件を追記してから、青空文庫で公開されている「走れメロス(太宰治)」の全文を与え(トータルのトークン数は1万4461!)、エンディング数2、ストーリーライン2、21世紀風物語設定で出力してみた。

ChatGPTのGPT-4oを利用してストーリーを生成してみた
入力したプロンプト。実際には走れメロスの全文を含めて出力している

 出力結果を見てみると、ストーリーライン1は、サイバーセキュリティの専門家のメロスと町中のスマートフォンを監視する王の対立から、元のストーリーと同様に結婚式に出席するために苦難を乗り越えて走るという話。ストーリーライン2は、前半の設定はおおむね同じだが、走るのではなく、王が管理するシステムに侵入して監視システムを壊すというストーリーとなる。

 合計で16のビート(イベント)が生成され、それぞれが以下のようなストーリーラインで分岐と合流する流れが自動的に生成された。

作成された2本のストーリーのうちの1つ。こちらはメロスがサイバーセキュリティの専門家になっているが、後半は苦難を乗り越えて走るというストーリー
最後の部分でストーリーが、どのビートとつながっているかが示されている

 キャラ設定が突飛なのはいいとしても、サイバーな設定から急に川を越え山賊と戦うという突飛なストーリーラインに違和感があり、論文での評価と同様に、根拠の乏しさが目立つ。また、エンディングを2に設定したものの結末が同じになっている。このあたりは、日本語の文章を使っている点が影響している可能性もある。

 同様に、論文で公開されている可視化用のプロンプトも使ってみた。こちらは、上記のプロンプトで出力された結果の一部(ビートの一覧とその流れを示すストーリーライン)をコピーして末尾に貼り付けて実行している。

ストーリーを視覚化するためのプロンプト

 このプロンプトによって、グラフの生成に必要なビートとエッジが、JSON形式で出力される。

 GENEVEでは、これらを基に冒頭で示したサイト上で可視化して表示しているが、このサイト自体のコードは公開されていないため、今回はNeo4jを利用して可視化した。以下のように、出力されたJSONをChatGPTに貼り付け、Neo4jのCypherクエリの出力を依頼し、それをNeo4jに貼り付けるという方法だ。

出力はJSON形式。こうした文章の構造化ができるのがLLMの興味深い点
GPT-4oにCypherクエリの出力を依頼
生成されたクエリを使ってNeo4jでグラフ化した

 生成されたストーリーの内容には甘さもあるものの、上図のように、出力結果をグラフ(ナラティブグラフ)として簡単に可視化できた。

 テキストベースだと、どこで分岐し、どこで合流し、どの分岐でエンディングが分かれるのかが明瞭ではないが、このようにグラフ化することで、ひと目で把握できるようになる。これはかなりわかりやすいだろう。

テキストベースの文章と分岐指示だけではわかりにくい
同じ情報をグラフで視覚化すると直感的に理解できる

ストーリー生成用のツールの登場も遠くなさそう

 以上、Microsoft ResearchのGENEVEの結果を追体験してみた。創作的な部分はまだまだ甘い印象だが、文章を構造化するという点では、生成AIの実用性はかなり上がってきている印象だ。

 詳細は論文にアクセスして実際のプロンプトを見てほしいが、的確な指示、禁止事項を明確に記述し、さらに具体的な例を与えることで、非構造化データである文章を解体し、指定した文脈(今回はストーリーの進行方法)でつなぎ合わせ、構造化された扱いやすいデータとして再構成することができる。

 今回のGENEVEの調査結果は、その可能性を示したに過ぎない。だが、インターネット検索やRAGなどを中間プロセスに取り込んで、もっと階層的な処理をするように改善すれば、ゲーム用ストーリー制作補助AIサービスとして、制作現場の労力を軽減できるようになることも、そう遠くはなさそうだ。

清水 理史

製品レビューなど幅広く執筆しているが、実際に大手企業でネットワーク管理者をしていたこともあり、Windowsのネットワーク全般が得意ジャンル。最新刊「できるWindows 11」ほか多数の著書がある。