プレイレポート
「ポートピア連続殺人事件」とAIを組み合わせ,コマンド入力式アドベンチャーが蘇る。「THE PORTOPIA SERIAL MURDER CASE」プレイレポート&インタビュー
AIを使ってコマンド入力方式の欠点を克服し,自然に話しかけることでシナリオが進んでいくという興味深い作品だ。本稿では,先行プレイした体験レポート&インタビューをお届けしていこう。
「SQUARE ENIX AI Tech Preview: THE PORTOPIA SERIAL MURDER CASE」公式サイト
コマンド入力式アドベンチャーの“宿題”に向き合う,40年ぶりの取り組み
「THE PORTOPIA SERIAL MURDER CASE」は,堀井雄二氏が手がけ,1983年にリリースされた「ポートピア連続殺人事件」をベースにしたコマンド入力式アドベンチャーである。
コマンド入力式アドベンチャーとは,「トル カギ(取る 鍵)」「ドア ミル(ドア 見る)」というように,アドベンチャーゲームのコマンドを文字で入力していく形式だ。しかし,当時は媒体の容量の限界から日本語として意味が通っているコマンドでも,ゲーム側が想定した正解から1文字でも違っていたら認識してくれなかった。例えば,本を入手するにしても,「トル ホン」だけがOKで,「テニイレル ホン(手に入れる 本)」だと認識されず,先へ進めない。
こうした課題にAI技術を活用し取り組んだのが,「THE PORTOPIA SERIAL MURDER CASE」である。本作については2022年11月に開催された「CEDEC+KYUSHU 2022」でも講演が行われており,その時は「NLPアドベンチャー」として紹介されていた。それがブラッシュアップされ,今回のテックデモとして配信されることになったわけだ。
[CEDEC+KYUSHU]雑談もできる。「NLPアドベンチャー」が解決したコマンド入力式アドベンチャーゲームの宿題
2022年11月12日に開催された,「CEDEC+KYUSHU 2022」で,「自然言語処理技術による新世代コマンド入力式アドベンチャーゲームの制作手法」と題した講演が行われた。コマンド入力式アドベンチャーゲームというジャンルが抱えていた“宿題”を解決するというもので,スクウェア・エニックスのAI部 AIリサーチャーである森 友亮氏が,その手法を解説した。
仕組みに関してはそちらの記事を参照してほしいが,端的に言えば,プレイヤーが自由に入力した文字列に反応し,シナリオが進行したり,キャラクターが雑談してくれたりするということがAI技術によって可能になっている。言い換えれば,コマンド入力式アドベンチャーがかねてから抱えていた“宿題”に,約40年越しで解決の糸口が見えたと言っていいだろう。
本作は「ポートピア連続殺人事件」同様,1983年を舞台にユーザーはベテラン刑事「ボス」となり,相棒の「ヤス」に命令を下して殺人事件を捜査していく。
ファミコン版「ポートピア連続殺人事件」はコマンド選択式だったが,本作にはPC版オリジナルのコマンド入力式に回帰。コマンドの解釈にはAIによる「自然言語処理(Natural Language Processing,以下,NLP)」が使われており,大筋の意味さえあっていればコマンドを受け付ける柔軟な対応が可能となっている。
先の例だと入力されたコマンドの解釈をAIが行うため,「取る 本」「手に入れる 本」「本を取れ」といったいずれの入力でも,意味合い的にあっていればOKを出してくれるわけだ。
本作を手がけたスクウェア・エニックスのAI部 AIリサーチャーである森 友亮氏曰く,「コマンド入力式が持つ本来のポテンシャルをNLPで引き出し,現代に蘇らせること」が目的だという。
また,話題の音声認識AI「Whisper」を内蔵しており,対応要件を満たしたGPUがあればマイクによる音声入力も可能となっているのだ。Whisperはどの学習済みモデルを用いるかで認識の正確さも変わり,大規模なモデルほど認識率も高まるが,PCへの負荷も増大する。本作では「small」「medium」「large-v2」の3モデルが同梱されており,オプションで選択可能だ(オプションでは,それぞれLow Quality, Mid Quality, High Qualityと表記されている)。
本作の開発段階で活用されたNLPの技術には,人間の言語をAIに正しく理解させる「自然言語理解(Natural Language Understanding,以下,NLU)」と意味の通るフレーズや文章を生成する「自然言語生成(Natural Language Generation,以下,NLG)」という2つがある。しかし,今回配信されるテックデモには,NLUは組み込まれているが,NLGの要素は含まれないため,シナリオに関係のない雑談会話などは生成できくなっている。
このような機能制限を行った理由は,本作が雑談用ソフトではないのに加え,NLGでAIが生成する雑談にはさまざまな課題が残っているからだという。
まず問題になるのが,雑談の内容だ。AIはユーザーの入力に応じた雑談を生成するが,その中に倫理的,著作権的に引っかかる内容が含まれる可能性がある。すでにさまざまなチャットAIを運用するうえでも指摘されているように,AI自体には倫理という概念がない。
倫理コードを設定したとしても,ユーザーがさまざまな問いかけ方をした結果,問題がある会話が生成される可能性は考えられるし,既存のチャットAIで試行錯誤が続いているように,プレイヤーがあの手この手でAIを誘導することも考えられる。
また,単語そのものに問題がなくても,聞く人の立場によって気分を害したりする可能性もある。例えば,あるスポーツ試合の結果について聞かれたAIが「昨日の試合は素晴らしかった」と答えたとしよう。この返答に使われている単語には倫理的,著作権的な問題は一切ない。しかし,負けたチームのファンからすると,こうした返答は面白いとはいえない。人間同士でのコミュニケーションにも存在するすれ違いではあるが,作者が意図しないところでキャラクターへの悪印象を与えかねないもので,回避できるなら回避したいのは間違いないところだ。
テックデモを開発していくうえで,コマンド解釈と会話生成には課題も見つかった,と森氏は語る。例えばコマンド解釈の場合は,より柔軟な理解が求められる。現段階で使用しているAIは「ここ」「そこ」といった代名詞や,「あれ」「これ」「それ」といった指示語を理解しないし,単に「プレゼントをあげる」と入力した場合に,プレイヤーが思い浮かべている対象が誰なのかを理解できない。これらは,ユーザー側で入力を工夫すれば良い話ではあるが,理解すれば自然なやり取りが可能になるものだ。
会話生成の課題としては,キャラクターの人間性(ペルソナ)や知識を踏まえた,「そのキャラクターらしい会話や,喜怒哀楽の感情を反映した言葉使い」,ファンタジー世界が舞台の作品なら魔法について雄弁に話し,現代文明のネタを振られてもとぼけるといった「世界設定を踏まえた応答」が挙げられた。
先ほど倫理の問題を挙げたが,ゲームにおける会話生成AIは,常に品行方正な回答をするのが正解ではないということも課題となるポイントだ。
例えば“暴力行為を賛美する街”をゲーム内に出すとしよう。ここでAIが現代社会の倫理観そのままに,暴力を容認しない発言をしていたら,物語としての整合性が取れなくなってしまう。ここでは“作り手にコントロールされたうえで,倫理を逸脱した発言”が必要になるわけだ。
現在“AI”といえば,利用者の質問に答えるチャットボット的なものに注目が集まっているが,これらは現代社会の常識や倫理観をベースとして会話を生成すればいい。一方,ゲームで用いられるNLPでは,“ゲーム内における常識や倫理観”に基づいた会話が求められるため,独特の難しさがあるといえるだろう。
AIにより,ヤスとより自然なやり取りを楽しめる
実際にテックデモをプレイしてみたが,コマンド入力式アドベンチャーの面白さを再確認しつつ,AI技術のワンダーを感じ取れた体験だった。
ゲーム的でない入力であってもヤスは受け付けてくれる。例えば,容疑者を捜査本部に呼びつけての取り調べでは,相手の写真を撮影することもできるが,「写真を撮れ」といった命令はもちろんのこと,「写真を押さえておけ」という刑事になりきった言い回しでも問題なく認識してくれた。
前述の通り,本作では内部的な“正解”と,コマンド入力した言い回しの類似度が判定されており,近いと“正解”として扱われる。こうしたなりきり台詞でシナリオを進められることで没入感がアップし,ボスのロールプレイとしていろいろな台詞を試すのは楽しく感じられた。自分の考えた言葉でシナリオを進行できるのは従来のコマンド入力式アドベンチャーにはなかった感覚だ。
音声入力に関しては,今回Whisperのsmallモデルを用いたものを体験できた。もともとWhisperは長時間の会話も認識して文字にできるだけに,アドベンチャーゲームのコマンドのような短文ではsmallモデルでも問題なく動作してくれる。残念ながらヤスの返答は文字のみだったが,彼がもし,しゃべってくれるようになれば,没入感はさらに上がるはずだ。
一方で,テックデモであるがゆえの問題点も存在していた。被害者の家にある応接間のシーンでは,床にライターが落ちているのに加え,壁にはいかにも怪しげな額縁が掛けられている。ここで筆者は「ライターを取れ」と入力したのだが,AIはなぜか額縁を取り,隠されていたボタンを発見してしまったのだ。
これは,AIがコマンドを処理するやり方に起因すると思われる誤認識だ。AIはユーザーが入力したコマンドを意味ベクトルに変換し,正解との類似度を判定する。そのため,筆者が入力した「ライターを取れ」が正解としては「額縁を取れ」に近しいと判断されたのであろう。
今の回答をAIがどう認識したのかについては,ゲーム中に[Pause/Break]キーを押せば「NLU VISUALIZER」という形で判定の閾値を見ることができる。もしこうした誤認識が起こった場合は,確認してみると原因が分かる。AI処理の舞台裏を覗くようで,ちょっと楽しく感じられるはずだ。
筆者の場合は,証拠品であるスナックの「マッチ」を調べる際に,住所が併記されていないか調べようと「住所を調べろ」と入力しても,無意味なコマンドを入力した時と同様のまったく関係ない返事がヤスから返ってきたことがあった。自然な言い回しを理解してくれることで没入度が高まったがゆえにこうした違和感のある返答が余計目立つようになった側面もあったように感じた。
また,「新開地に行こう!」「ネックレスを取ってくれないか?」というように,感嘆符や疑問符を付けると認識が怪しくなったのは少しもったいない気がした。音声入力も専用にカスタマイズされていないため,被害者である「耕造(こうぞう)」と発音した際,同じ音でより一般的に使われる「構造(こうぞう)」が優先されることがあった(森氏によれば,現状でもlarge-v2モデルを使い,敬称をつけて人名であることを強調すると,名前を入力したい人物によっては改善されるケースがあるとのこと)。とはいえ,これらの現象が,本作のテックデモとしての価値を下げるものではないことは強調しておきたい。今回得られた知見を元に,更なる改良が加えられるのは間違いないだろう。
森 友亮氏インタビュー。ゲームにおける自然言語処理の活用など,気になる所を聞いてみた
森氏にいろいろと気になることを聞いてみたので,ここからはその様子をお伝えしたい。
4Gamer:
よろしくお願いします。「THE PORTOPIA SERIAL MURDER CASE」では,「ポートピア連続殺人事件」のシナリオがそのまま移植されているのでしょうか。
森 友亮氏(以下,森氏):
基本的には後年登場したアプリ版のデータをベースに,オリジナルであるPC版に近づけたものになっています。例えばファミコン版以降でお馴染みのダンジョンもPC版の時点では存在していないため,「THE PORTOPIA SERIAL MURDER CASE」にもダンジョンはありません。
4Gamer:
「ポートピア連続殺人事件」には,容疑者を殴って情報を手に入れるシーンがあります。こうした演出は,昔の刑事もののフィクションでは定番でしたが,現在では倫理的な問題もあり,そうした認識は薄れています。初見プレイの人の場合は容疑者を殴ること自体を思いつかないと思いますが,この辺りも変えていないのでしょうか。
森氏:
可能な限りオリジナルを再現するようにしていますので,そのままです。マッチに書かれている電話番号も当時のフォーマットに沿ったものになっています。テックプレビューのコンセプトとして,意図的にそのようにしているものですが,もしも現代の作品として商品化するのであれば,あらかじめ「殴る」の入力を求めるようなシーンを入れておくなど,プレイヤーにゲームのセオリーの1つとして認識させるような工夫が必要になると思います。
4Gamer:
開発は,森さんがおられるAI部のみで行われたのでしょうか。
森氏:
はい。自然言語処理の部分は私が,ゲームデザインはAI部に所属する別の者が作っています。自然言語処理として可能なことが,このテックプレビューとして相応しいかどうかを協議して進めて行きました。
例えば,本作のAIはスタンドアローンとしています。インターネットにつなげば,ユーザー個人の環境では動かせないような巨大な言語モデルを使うこともできますし,AIの学習をさせやすくなるのは確かです。ですが,リリース以降もAIの学習を継続する場合,学習によってAIが賢くなったとしても,体験はかえってゲームデザイナーの想定から外れてしまう可能性もあります。また,どこかのサーバーと通信するのであれば,メンテナンス中はプレイできなくなります。こうした理由で,今回のテックプレビューではスタンドアローンが望ましいと判断しました。
4Gamer:
AIを利用したゲームを多言語展開するとなると,言語の違いによってゲーム体験に差が出るという指摘もあります。本作では日本語と英語に対応していますが,いろいろと大変だったのではないでしょうか。
森氏:
今回は日英のみですが,複数言語の対応は大変だったところの1つですね。プレイヤーのコマンドを受け取って解釈するNLUの部分は,もとからマルチリンガル(多言語対応)のものを使いました。
ヤスが応答するNLGについては,日本語用と英語用で別のものを用意しています。英語用では2019〜2020年ごろの対話用モデルを使っています。日本語用では,各種のタスクに合わせたチューニングがなされる前のモデル(事前学習済みモデル)を,特に対話用のデータで調整しています。
NLGでマルチリンガルなものを使わなかった理由は,モデルのサイズを抑える重要性がNLUよりも大きいためです。NLGはNLUに比べて処理が重いため,モデルを大きくすると,応答が返ってくるまでに不自然な間が空いてしまい,ユーザーの体験を損ねてしまうのです。
4Gamer:
AIの自然言語処理については,日本語よりも英語の方が進んでいるという話もあります。今回のテックデモも英語版の方がウィットに富んだ返答をしてくれるのでしょうか。
森氏:
実はそうでもないんです。今回用いたNLGについては,社内から「英語だと返答も淡泊なものになってしまう。日本語の方がゲームとして楽しい返答を作れている」という声が上がっています。日英でモデルの用意の仕方が異なるので,公平な比較ではないことに注意したいのですが,デジタルゲームならではの性質があるかもしれませんし,今後より詳しく検証していきたいところです。
4Gamer:
「ポートピア連続殺人事件」は犯人の正体がネットミームとして広がっています。ゲーム開始直後にいきなり逮捕するようなことは可能なのでしょうか。
森氏:
それは不可能ですね。普通に捜査を進め,証拠を集めてフラグを立てる必要があります。この点も,オリジナルのシナリオを可能な限り保つというコンセプトを踏まえ,意図的にそのようにしている部分です。
4Gamer:
ただ,本作で自然な受け答えをさせるためにAIを使っていることを考えると,ゲーム的に不可能なことも,今後はプレイヤーが納得いくような説明を,キャラクターにさせる必要が出てくるようにも思います。
森氏:
はい。今後は「こういう行動を取れるんじゃないか」というところを,ゲームデザインとしていかに誘導し,ケアしていけるかが必要になると思いますし,もしかしたらそれはまったく新しいゲーム性なのかもしれません。
「ポートピア連続殺人事件」はファミコンに移植された際,コマンド選択式を採用していますが,それを踏まえた工夫が凝らされ,それまでなかった体験を生み出しました。それにあやかって,NLPを用いたコマンド入力式アドベンチャーによって,今だからこそできる新しいゲーム体験が生み出されることになれば,嬉しいですね。
4Gamer:
「北海道連鎖殺人 オホーツクに消ゆ」や「ポートピア連続殺人事件」のファミコン版でコマンド選択式を採用し,アドベンチャーの問題に取り組んだスクウェア・エニックス(当時はエニックス)が,40年を経て新たな取り組みを行うというのも,運命的なものがありますね。
あと今回プレイして気になったのが,本作のAIがマップのつながりを理解していないようにも感じたことです。例えば「地下室を出ろ」と入力すれば応接間に出てくれるのかと思いきや反応がなく,「応接間に移動しろ」といったコマンドを入力する必要がありました。
森氏:
そうですね。応接間の隣に書斎があり,書斎から別のところにつながっている……といった位置関係は理解していません。今後はマップや世界についてAIにより理解を持たせるということも考えられますが,AIの判断の自由度を増すと,どうしてもゲームデザイナーが意図していない挙動も増えることになります。そうすると,今度は意図していない挙動がゲームとしてOKであるか否かという問題も出てきます。
ただ,開発の上ではプレイヤーがやりたいであろうことをAIに自動で入力させ,得られた反応をゲームデザイナーに持っていってどうするかを検討するというようなことも可能かもしれないです。考え方としては自動デバッグ用のAIに近いですね。
4Gamer:
ゲームキャラクターの返答をAI(チャットボット)に生成させる際は,ゲームデザイナーがそのAIの性質をすべて理解していなければならない,という指摘もあります(関連記事)。グラフィッカーが特定の3Dツールに特化するような現象が,ゲームデザイナーにも起こるのでしょうか。
森氏:
「技術があるからゲームにする」のではなく,「理想とするゲームデザインがまずあって,それに適合する技術を選択したり,発展させたりする」方が良いのではないかと考えています。特定のツールに特化するというよりは,プロジェクトごとに適切な技術を選ぶようなイメージですね。
4Gamer:
CEDEC 2021の講演で同じくAI部の三宅さんが指摘されていたようにアカデミックなAIとゲームAIでは異なる進化を辿っています(関連記事)。ゲームにおけるNLPも同じようになっていくのでしょうか。
森氏:
NLPでもゲームならではの取り組みが必要になってくると思いますし,今回のテックプレビューを制作する中でもそれを感じています。例えば,このところ大きな話題になっている大規模言語モデルでは,学習に用いるデータセットが大規模であること,そのデータセットを学習させる機械学習モデルが大きい(パラメータ数が多い)こと,そして学習を実行する計算リソースが潤沢にあることが重要となります。
非常に高い性能のモデルがあっても,モデルが大きすぎると,それを動かせるスペックのマシンが必要になりますから,今回のようにスタンドアローンにする場合には不向きです。また,ゲームのような商用利用ができないデータセットもたくさんありますから,アカデミックな分野で進んだ研究成果も,そのままゲームで使えるわけではありません。こうした理由から,「既にできているはずではないか?」と思われる技術でも,ゲームにすぐには導入できないことがあります。
さらに,フィクションの世界の常識や倫理観は,現実世界の常識や倫理観と必ずしも同じではありませんから,その点を考慮するような技術も「ゲームのためのNLP」として必要になると考えています。
4Gamer:
AIにキャラクターの返答を任せるのは大変な労力がいると思います。ゲームに複数のキャラクターが出てくるとなると,手間もかかってくることになるのでしょうか。
森氏:
大変な労力がいるのは確かですが,ゲームを動かす際にどの程度のスペックのマシンを使っていいかによって,どれほどの手間になるかは変わってくると思いますね。言語モデルは一般的に新しく大きいものの方が性能も良く,やれることも増えていきます。
例えば,大規模言語モデルである「GPT」は現在,GPT-4が使われていますが,本テックプレビューのNLGで使われているモデルはGPT-2相当……より厳密に言えば,GPT-2のmedium サイズ相当のものです。より大きなモデルを使えれば,応答はより自然になるでしょうし,キャラクターとしての味付けもより良くできるようになる可能性はありますね。ただ,一般的なプレイヤーが持っている環境で動くかどうかという点が問題になります。
4Gamer:
キャラクター性を持たせれば持たせるほど,ハイスペックなマシンが必要になるということですか。
森氏:
例えばGPT-3の論文を読むと,非営利団体のCommon Crawlが収集したデータを学習データの一部として使っていることが分かります(参考論文 ※PDFが開きます)。2016年から2019年までのもので,もとは45TBあるものを,フィルタリングして570GBのテキストデータにしているとのことです。これでも一部に過ぎないわけですからね。
動かすときに必要になるのは学習が済んだ後のモデルで,学習データそのものをダウンロードしたり,ストレージに入れたりする必要はありませんが,このような規模のデータを学習に用いるモデルは,それ相応の大規模なものになります。スタンドアローンでそれを動かせるマシンスペックを要求するとなると,非常に限定された人だけにしか遊べないゲームになってしまいます。
4Gamer:
なるほど。
森氏:
今回はマシンスペックの要求を抑えられるよう小さめなものを使い,日進月歩の状況に対応できるよう,新たなモデルに差し替えられるようなシステム設計をしています。小さなモデルでありつつも良い結果が得られるものも出てきてはいますが,学術利用だけで商用利用ができなかったりします。
さらに商用利用する場合は,商標や特定作品の決め台詞など,AIの返答に含まれるとマズいものがないかどうかもチェックしなければなりません。現在一般的に用いられている技術の性質上,問題がある返答が絶対生成されないという保障はないので,そこも課題としてはあるのかなと。
4Gamer:
ただ,完璧すぎて間違いや失言をしなさすぎるキャラクターというのも,それはそれで人間性が薄れるような気がします。
森氏:
そうですね。私はゲーム制作を想定したとき,許容できる間違いと許容できない間違いというのがあると考えています。前者はキャラクターに人間らしさを足してくれるようなものなので,完全になくすことを目指すよりはむしろ,その塩梅を作り手がコントロールできるような技術が必要になると思いますね。後者としては,先に述べたような,倫理的な問題や権利的な問題を生じるものが考えられます。
4Gamer:
森さんとしては,今後の発展に関してのビジョンはありますか。
森氏:
もともと私は小説の執筆支援研究をしており,読者やキャラクターの感情をいかに取り扱うかが重要であると考えてきました。そうした経験から,プレイヤーやキャラクターの感情に合わせて分岐していくような物語が実現できればと思っています。例えば,複数いるキャラクターの中で,プレイヤーが特に好感を持った者がいるのであれば,物語の本筋はそのままに,そのキャラクターについて深彫りするような会話やイベントが発生するというようなこともできれば夢があるなと。
今回の取り組みも,将来的にはアドベンチャーゲーム以外のジャンルに応用することもできるでしょう。基本的にはキャラクターにシナリオ通りの受け答えをさせつつ,シナリオの想定を外れたことが起こった時だけAIを使うようなことも可能でしょうし。
4Gamer:
アドベンチャーゲームだけでなく,音声入力系ゲームにもに新しい展開が期待できる取り組みだと感じられました。今後の展開に期待しています。
「SQUARE ENIX AI Tech Preview: THE PORTOPIA SERIAL MURDER CASE」公式サイト
- 関連タイトル:
SQUARE ENIX AI Tech Preview: THE PORTOPIA SERIAL MURDER CASE
- この記事のURL:
キーワード
(C)1983 ARMOR PROJECT
(C)1985 SPIKE CHUNSOFT CO., LTD.
(C)2023 SQUARE ENIX CO., LTD. All Rights Reserved.