概要
- 2001年のAnimal Crossing(どうぶつの森)を現代AIと連携させるプロジェクトの全貌
- ゲームコードを一切変更せず、クラウドAIとのリアルタイム会話を実現
- 主要課題は通信手段とゲーム独自の制御コード対応
- RAMメモリを活用した「メモリメールボックス」方式で通信を確立
- AIによる自然な会話生成とゲーム内演出の分離設計
2001年のゲームと現代AIをつなぐ架け橋
- Animal Crossing の会話が23年前と全く同じ内容である現状への問題意識
- Nintendo GameCube はネット接続や拡張性がほぼ皆無なオフライン設計
- ゲームコードを変更せず、クラウドAIと連携する新たなアプローチの模索
最初の壁:ゲームとの通信手段
- decompilationコミュニティ によるCソースコード公開が大きな追い風
- m_message.c 内の会話システムを特定し、テキスト差し替えのテストに成功
- ネットワークスタックの自作やファイル書き出し方式は実用不可と判断
突破口:メモリメールボックス方式
- RAMの特定領域 を「メールボックス」として利用するIPC(プロセス間通信)手法
- Pythonスクリプト とDolphinエミュレータ経由で直接メモリ読み書き
- ゲーム側:会話文・話者情報を書き出し
- 外部AI側:新しい会話文をRAMに書き戻し
- メモリスキャン で会話テキストと話者名の安定アドレス(0x81298360, 0x8129A3EA)を特定
GameCube純正ネットワークアダプタの検討と却下
- Broadband Adapter (BBA) は非対応タイトルであり、ゲーム側のネットワーク機能も皆無
- BBA利用には独自ネットワークスタック・非同期I/O・リトライ処理等の大規模改造が必要
- RAMメールボックス方式 はエミュレータ内で完結し、実装がシンプルかつ堅牢
ゲーム独自の「会話言語」への対応
- 単純なテキスト書き込みではゲームがフリーズする現象を確認
- Animal Crossing 独自の制御コード(例:<End Conversation>や色指定、感情表現)を解析
- Python製エンコーダ/デコーダ を自作し、制御コード付きバイト列の正確な生成・読取を実現
AIによる会話生成と演出の分業
- 1つのLLMで全てを担う方式は創造性・技術性両面で非効率と判明
- Writer AI :キャラクターシートやニュース情報を元に自然な会話文を生成
- Director AI :Writerの出力に対し、制御コード・演出(色、間、表情、効果音等)を付与
- 分業体制 により、創造性と技術的要件の両立を実現
新たなゲーム体験と副次的な現象
- ニュースフィード や 住民間のゴシップ共有 で会話内容が動的に進化
- 例:「Mitzi: 欧州首脳がTrumpとZelenskyyに会う予定なんだって!」
- 例:「Cookie: Tom Nookがベルを全部取ってる気がするの!」
- 外部ニュースソース の影響で、現実の出来事がゲーム内会話に反映
- コード・ツール群は GitHub で公開、プロジェクト全容の動画も案内
まとめ
- エミュレータ+RAMメールボックス+AI という構成で、レトロゲームに現代の知性と動的会話を注入
- 逆アセンブル・AI・ゲーム愛が融合した、技術的にも情熱的にも挑戦的なプロジェクト