『ゼルダの伝説 ムジュラの仮面（以下、『ムジュラの仮面』）』にて、「時の歌」を奏でて直接エンディングへワープする方法が発見され、プロゲーミングチームCounter Log-ic Gaming所属のストリーマーZFG氏が2月9日にTwitchにて実際に成功させた。

I did arbitrary code execution in Majora's Mask 🙂



shoutouts to @TVand for finding this pic.twitter.com/jrkDKHhVUj — CLG ZFG (@zfg111) February 10, 2020

「時の歌」からエンディングワープが人力で可能に

『ムジュラの仮面』は、月が地上に落ちてくるまでの3日間を何度も繰り返し、少しずつ対抗手段を集め、月の落下による世界滅亡を阻止する物語。3日目の夜に月が落ちるとゲームオーバーとなるが、それまでに「時の歌」を奏でると、進行状況の一部が保存された状態で1日目にタイムリープし、月が落ちるまでのタイムリミットがリセットされる。プレイしたことがある人なら何度も繰り返し聴いたであろう「時の歌」。その「時の歌」からエンディングムービーにワープしてしまうという驚くべき技が発見された。

『ゼルダの伝説 時のオカリナ（以下、『時のオカリナ』）』および『ムジュラの仮面』のスピードランプレイヤーであるSeedBorn氏は、2月1日に「時の歌」からエンディングへワープする方法を紹介する動画をYouTubeに投稿していた。実用的ではなかったその内容を発展させ、“tool-assisted”（エミュレーター上で理論上の最速クリア操作を入力し、それを再生したもの）を用いたデモンストレーションとして、2月8日に動画を投稿。新たに提示したルートは、特定のセットアップをして天文観測所と地下道の間の通路で「時の歌」を奏で、エンディングムービーへとワープするもの。人力では不可能に近いほどシビアなセットアップを必要とするため、ツールを使用して「理論上可能である」と示した。しかし、この動画を受け、現在『時のオカリナ』スピードラン100%（すべてのアイテムを入手してクリアするルール）世界2位の記録を保持するZFG氏が練習を重ね、SeedBorn氏のデモンストレーション動画の投稿からわずか2日後の2月10日にTwichにて「人力による操作」によって成功させるという偉業を達成した。

新技を可能にしたのは、『時のオカリナ』のスピードランAny%（コンプリート率を問わずクリアするルール）の最速ルート（関連記事）や、同作で『スターフォックス64』のアーウィンを呼び出す技（関連記事）でも用いられる、SRM（Stale Reference Manipulation）やACE（Arbitrary Code Execution）。SRMはゲーム内メモリの書き換え、ACEは任意のコードを実行すること。これらによって、宝箱の中身や次にロードする場所／ムービーなどを本来のものとは異なるものに変えたり、前出のとおり内部データを呼び出して別のゲームのような遊び方をしたり、さまざまなことが可能となった。発動させるにはシビアな操作を要求され、難易度が非常に高い。これまでにSRMやACEを駆使し、成功すれば大幅にクリアタイムを更新できるような技が次々に見つかっている。『時のオカリナ』の続編であり、ゲーム内のつくりが似ている『ムジュラの仮面』。これまで使用されていたSRMにくわえてACEも応用され、ついにエンディングムービーへ直接ワープすることが可能となった。

繰り返される怪しい儀式の正体

SeedBorn氏によるデモンストレーション動画では、まずクロックタウンから出て、バクダンを使った技で後ろ向きにスライドしながら柵を通り抜けて天文観測所の敷地に侵入。建物内から地下道に向かう通路を行ったり来たりする動きから、バクダンをいくつか置いたり、盾をかまえて後ろ向きにスライドしながら“見えない何か”を持ち上げ、それを別の場所に運んで放るような動きのあたりまでが、SRMの準備から発動にあたる。リンクが壺を持ち上げるような動きで空中に掲げる“見えない何か”の座標データ、隣のエリアへ移動する際に動的メモリが解放されることなどを利用して、ゲーム内のデータを書き換える。

要するに、この一連の動作によって、次に向かう宝箱の中身を本来の「100ルピー」から、この場所で手に入るはずのない「ゾーラの仮面」に変えているのだろう。その後ふたたび天文観測所と地下道の間の通路に向かい、怪しい儀式で次の行動のためのセットアップ。「ゾーラの仮面」によって変身できるゾーラリンクはこの場面で必要となる。ゾーラのブーメランを放つことによって初めの垂直・水平方向の回転が保存され、その情報がエンディングムービーを呼び出すために必要なようだ。ブーメランを放ったのち、すかさずギターを取り出し、壁に向かって高速で「時の歌」を奏でる。「セーブして最初の朝に戻りますか？」というテキストが出て「はい」を選ぶと、月が消滅し、世界滅亡の運命から逃れることができた平和なタルミナの姿が映し出された。

今のところ、『ムジュラの仮面』日本語NINTENDO64版のでのみ「時の歌」からエンディングへワープすることができるようだ。日本語版である理由は、ゲーム開始時につけるファイルネームを特定の日本語で入力することが手順に含まれているため。同様の理由で、現在『時のオカリナ』のスピードランAny%最速ルートでは日本語NINTENDO64版が使用されている。『ムジュラの仮面』スピードランAny%の現在の世界記録ルートは、月に直接ワープする「ムーンワープ」という技を使用する条件などを考慮し英語Wii版を使用するもの。もしSeedBorn氏による新ルートが主流となれば、『ムジュラの仮面』スピードランAny%のトップ環境でも日本語NINTENDO64版が使用されるようになる可能性がある。

【UPDATE 2020/2/11 17:10】

英語Wii版が使用されている理由について追記

スピードランのさらなる記録更新へ向けて

月が落ちてくるまでの3日間を繰り返す『ムジュラの仮面』。新ルート部分の理論上最速タイムである4分47秒のデモンストレーション動画では、ゲーム開始から「時の歌」を覚えて1日目に戻る方法を知るまでの、チュートリアルとしての最初の3日間であるCycle1は省略。リンクが人間に戻ることができる2ループ目の3日間であるCycle2からスタートしている。『ムジュラの仮面』のCycle1をスキップする方法は現在見つかっておらず、現在EnNopp112氏が持つ世界記録28分17秒の中でも約20分ほどをCycle1が占めている状態だ。デモンストレーション動画のスタート時点では、ルピーの貯金がない、バクダンを入手したことがある状態になっているなど、スピードランAny%での現在最速ルートのCycle2のスタートとは異なる状態で始まるため正確な差を測ることはできないが、理論上ではおよそ3分ほどの短縮が可能になるようだ。

昨年から『時のオカリナ』『ムジュラの仮面』を含む、3Dゼルダ作品では新たなグリッチが次々と発見され、スピードランでの大幅な記録更新が相次いでいる。『ムジュラの仮面』では、避けられないと思われた各ダンジョン攻略の省略や、ラストダンジョンである月の中へ直接ワープする「ムーンワープ」などが可能になった。それらにより、2019年4月時点で1時間15分ほどであったスピードランAny%世界記録が8月には50分を切り、11月には40分を切り、そのわずか1週間後には30分を切り、現在の世界記録である28分17秒という記録が叩き出された。1年にも満たないうちに、約45分もクリアタイムが縮んでいることになる。今回のSeedBorn氏の発見とZFG氏によるプレイによって、月へ直接ワープするどころか、ラスボスとの戦闘すら省略してエンディングへワープすることが人力による操作で可能ということがわかった。現在凄腕プレイヤーたちが削りに削っても20分ほどかかるCycle1が省略されるのも、もしかするとそう遠くはないのかもしれない。