マール「欧州首脳らがトランプ大統領およびゼレンスキー大統領と会談するんだって!」

『どうぶつの森+』にAIを導入したMOD開発者、住民が時事ネタで世間話するシュールな世界生み出す

Munenori Taniguchi

Image:Josh Fonseca/Nintendo

ソフトウェアエンジニアでゲームを改変するMod制作者(Modder)でもあるジョシュア・フォンセカ氏は、2002年(日本では2021年12月)に発売された任天堂ゲームキューブ版『どうぶつの森+』にクラウドアクセスおよび最新の大規模言語モデルを統合し、登場するNPC(Non-Player Character)が互いにAI生成で会話をするようにした。

このプロジェクトでは、『どうぶつの森+』のコードそのものには手を入れずに、ゲーム中のRAM内容を読み書きしクラウドベースのAIに橋渡しするハッキングを行うため、「memory mailbox (RAM Mailbox)」と称する、会話を追跡するための共通メモリー技術を用いている。そして、クラウドベースのAIを通じてその時々の話題を自動生成させることで、一定の脈絡ある会話を構築する。

Image:Josh Fonseca

フォンセカ氏はゲームの主人公である「Tom Nook(たぬきち)」がたぬき商店のサイドビジネスである不動産販売で村人たちに不当な住宅ローンを販売し、次第に住民らが「たぬきち反対派」として徒党を組んで反対運動を展開するようにした。フォンセカ氏がAIに与えた具体的なプロンプトには、「あなたはたぬきちが治める町の住人です。彼が販売する住宅ローンが搾取的で、経済が不公平であることに気づき始めています」「適当なタイミングで、プレイヤーや他の村人とこのことについて話し合ってください」と記された。

ほかには、村人たちのAIを現実世界のニュース情報にリンクして、話題を提供するようにしたところ、キャラクターらは何気ない普段の会話の中で「欧州首脳らがトランプ大統領およびゼレンスキー大統領と会談する予定なんだって」などと話すようになり、あるキャラクターは「すごく変な夢を見たんだ。まるで、私たちの行動すべてがゲームみたいだった」とまるで自らがAIで会話していることに気づいているかのような、シュールな話題を持ち出すようになった。

Image:Josh Fonseca/Nintendo

なお、キャラクターの会話に用いられた大規模言語モデルは、ファンによって作成されたゲームのWikiを参照し、そこに記述されているキャラクターシートに基づいて、キャラクターが促された役割を演じるように調整されているという。また、会話そのものはAIトレーニングに用いられたデータから統計的に妥当と思われる出力を引き出しているだけで、実際にキャラクターが自我を持っているわけではないことは覚えておく必要がある。要するに、NPCが自我をもって会話をしているわけではないということだ。

この開発は、最近完了した『どうぶつの森+』の機械語コードをC言語に逆コンパイルして、開発者らが理解できるようにする取り組みによって実現した。フォンセカ氏はテキストの色からキャラクターの表情、会話の終了を知らせる信号などゲーム特有のテキスト形式を解読し、ゲームがクラッシュすることなくNPCの会話をAI化した。

ゲームキューブには、クロック周波数485MHzで動作するPowerPCプロセッサーと24MBのRAMが搭載されている。このハードウェアにはインターネット接続機能がなかったが、上記のコード解析プロジェクトによってRAMの内容にアクセスが可能になったため、フォンセカ氏らはゲーム中の会話表示ごとにゲームを止め、RAM全体をスキャンして会話の文字列を探し、その後複数の村人と相互参照するという一連の作業を何時間もかけて繰り返した。その結果、最終的に特定のアドレスにあるキャラクターの名前と会話のバッファを特定することに成功した。

また、会話をクラウド上のAIに渡して回答を得るまでのタイムラグは、会話動作ごとにゲームを止め、プレイヤーに『Aを押して続行』UIを表示することで、プレイヤーがそれを実行するまでの時間でAIが処理を完了するようにした。

このコードはGitHubで公開されている。だがフォンセカ氏によれば、既知のバグが含まれていることや、プロジェクトはmacOSでのみテストされていることなどを注意点として挙げている。さらにMODを動作させるにはPython 3.8以上、Google Gemini or OpenAIのAPIキー、そしてDolphinエミュレータが必要だ。もし、これを動かす環境とスキルがあるなら、権力者たぬきちへの反対運動を楽しんでみるのもおもしろそうだ。

関連キーワード: