1998年に発売されたNINTENDO64向けのアクションアドベンチャーゲーム「ゼルダの伝説 時のオカリナ」には、なぜか同じ任天堂作品のスターフォックスシリーズで主人公・フォックスたちが搭乗する戦闘機のアーウィンをゲーム中に登場させることができるバグが存在することが明らかになり話題を呼んでいます。MODを使って本来ゲームに登場しないはずのキャラクターを登場させるということはありますが、アーウィンを登場させるバグは、MODや改造などが一切必要ありません。

This amazing glitch puts Star Fox 64 ships in an unmodified Zelda cartridge | Ars Technica

https://arstechnica.com/gaming/2020/01/how-to-get-star-fox-64-ships-into-ocarina-of-time-no-hacking-required/

MODではゲーム中に登場するキャラクターを別の見た目に変更することで、本来ゲームに登場しないキャラクターをゲーム内に召喚します。しかし、今回明らかになったバグは、日本語版の「ゼルダの伝説 時のオカリナ」と標準のNINTENDO64本体およびコントローラーを用いて、スターフォックスのアーウィンを降臨させることができます。

「ゼルダの伝説 時のオカリナ」にアーウィンを降臨させるのに必要なテクニックは2つあります。1つは2019年10月にGlitches0and0stuffさんが発見した、「Stale Reference Manipulation(SRM)」と呼ばれるテクニック。

SRMはプレイヤーが操作するリンクが岩を持ち上げたのちに特殊な手順を踏むことで岩が消え、代わりに別のオブジェクトを出現させることができるというバグです。SRMを使うことで宝箱の中身を変えたり、室内のアイテムの位置を変更したりすることができるほか、オブジェクトデータを任意の値で破損させることも可能です。

SRMについては複数の解説動画があり、日本語訳もあります。

Ocarina of Time - Kokiri Forest Credits Warp - YouTube

「ゼルダの伝説 時のオカリナ」にアーウィンを出現させるために必要なもう1つのテクニックは、「Arbitrary Code Execution(ACE)」と呼ばれる、ゲーム内からCPU命令を実行できるテクニック。SRMと組み合わせて使用することで、任意のコードを強制的に実行することができるというものです。

ACEの実行方法は非常に複雑ですが、その詳細はPastebin.comや以下のムービーの中で丁寧に解説されています。リンクの装備のひとつであるパチンコを用いてACEを行うことも可能ですが、セーブデータのプレイヤー名を入力する際にもACEを実行可能です。

Ocarina of Time - Fast and Easy Total Control ACE - YouTube

この2つのテクニックを用い、「ゼルダの伝説 時のオカリナ」にアーウィンを出現させるまでの全過程を記録したムービーをZfg1さんが公開しています。アーウィン召喚は以下のムービーの2時間11分辺りから行われており、全部で1時間ほどの時間がかかっています。また、プレイヤー名を変更して任意のコードを実行するだけでも10分超の時間がかかっています。なお、Zfg1さんによると異なる特定のファイル名でACEを3回実行することで、セーブデータのプレイヤー名の長さに文字制限(8文字)がなくなり、任意のデータを呼び出し可能となるそうです。

Zfg1 - More ACE stuff (trying total control) - Twitch

MrCheezeさんは、より簡潔にSRMとACEを用いてアーウィンを召喚する様子をムービーでまとめています。

OoT Total Control Easy Method / Arwing in vanilla OoT - YouTube

なお、なぜ「ゼルダの伝説 時のオカリナ」にスターフォックスのアーウィンが登場するのかについては、任天堂の岩田前社長による開発陣へのインタビューの中にそのヒントがあります。「ゼルダの伝説 時のオカリナ」で、炎の神殿に登場するボス・ヴァルバジアの3Dモデルを作成した滝澤さんは、インタビューの中で「ヴァルバジアは竜ですからくねくねと、うねるような動きをするんですけど、僕は竜のモデルのパーツしか渡さなかったのに、森田さんはアッという間に動かしてくれたんです。それがすごく不思議で」「そこで、『これ、どうやってるんですか?』と思わず聞いてしまったんです。そしたら『スターフォックス64』でつくったプログラムと同じなんだよと。戦闘機のアーウィンが別の戦闘機に追尾されるシーンがありますけど・・・。」と語っており、「ゼルダの伝説 時のオカリナ」でスターフォックス64のデータが利用されていることが明らかになっています。

また、過去のデータ解析から、「ゼルダの伝説 時のオカリナ」の中にはアーウィンのデータが存在することも明らかになっていました。これまではチートデバイスを用いなければアーウィンのデータを利用することはできなかったのですが、長年の解析およびバグ利用の研究成果として、ついに外部ツールやMODなしでアーウィンをゲーム上に登場させることに成功したわけです。

なお、これらのテクニックを駆使することで「ゼルダの伝説 時のオカリナ」の任意のシーンを読み出すことも可能となってしまったため、RTAの世界記録も同時に大幅に短縮される事態となっています。