スーパーマリオ64の「開かずの扉」が28年越しに開けられる
「スーパーマリオ64」のゲーム序盤に入ることができるコース「さむいさむいマウンテン」には、「中からは開けられるのに外からは絶対に開けられない小屋の扉」が存在します。1996年の発売以来「開かずの扉」と認識されてきたこの扉が、なんと開いてしまったことが報告されました。
SM64’s Unopenable Door Has Finally Been Opened! - YouTube
さむいさむいマウンテンのスタート位置には以下のような煙突付きの小屋があります。この煙突から小屋の中に入ると、長い氷の滑り台「スノースライダー」があるステージに移動します。
スノースライダーのゴールは山小屋の一室。そこには外へ続く扉があり、開けて外に出ると「パワースター」が出現するという仕組みになっています。
ところが、先ほど開けたばかりの扉は外からは開かない仕組みになっていて、扉から山小屋の中に戻ることはできません。これこそが「開かずの扉」の正体です。
この扉を開けたと報告したのがスーパーマリオ64のTASをプレイするAlexpalix1という人物です。この報告を受け、YouTuberのpannenkoek2012氏がどうやって扉を開けるのか、そしてなぜ扉が開かない仕組みになっているのかを解説しました。
pannenkoek2012氏によると、問題の扉は何も開かないわけではなく、単にマリオが扉に触れられていないことが原因だそうです。というのも、扉の周りには以下のように当たり判定のある壁があり、マリオが扉まで近づけないようになっているとのこと。
ゲームを改造して壁の当たり判定をなくせば普通に扉を開けられるそうです。
では改造なしで扉を開けるにはどうすればいいのか、これについてもpannenkoek2012氏が解説しています。
ゲーム内では、扉の当たり判定は扉を中心に円を描くように展開されています。この当たり判定にマリオが触れられれば、扉を開けることができます。
ところが、問題の扉の周囲には壁があります。壁の当たり判定がある故に小屋の外側から扉に触れることはできません。
では小屋の内側からならどうでしょうか。なんとかして壁をすり抜ければ、小屋の内側にある当たり判定に触れることができるかもしれません。
ここで活躍するのが近くにいるペンギンです。このペンギンは迷子になってしまった子どもを探していて、子ペンギンを見つけて持っていけばパワースターをプレゼントしてくれますが、子ペンギンを奪うと怒って追いかけてきます。ペンギンには当たり判定があり、ペンギンに押し出してもらうことでマリオは壁を抜けることができます。
ただ押し出してもらうだけだとマリオは壁に当たって横にずれてしまうので、ペンギンを壁際ギリギリに置き、壁とペンギンの間にちゅうがえりで入り込む必要があります。
この技を使うことでマリオは壁を抜けられるのですが、壁の中には床がないためマリオは落下してしまいます。扉は「落下中には開かず、歩行動作中に開く」という仕組みのため、たとえマリオが扉の当たり判定に触れても落下中だと開きません。
ここでAlexpalix1氏が用いたのは「着地直後にマリオの向きを変える」というテクニックです。
内部的には、マリオが向きを変えた直後には「歩く」というコードが実行され、マリオが地面から離れると「自由落下する」というコードが実行されます。ところが、プログラマーは「自由落下する」というコードと「向きを変える」というコードが同フレームで実行されることを想定していなかったようで、自由落下と向きを変える行動を同時に行うとたった1フレームだけ「歩く」という動作が実行されてしまうというバグが存在します。
この1フレームの間に扉の当たり判定に触れることで、扉を開けられるというわけです。
ちなみに、この技を使ってもクリア時間短縮にはつながらないそうです。
・関連記事
スーパーマリオ64のRTAと宇宙線の奇妙な関係 - GIGAZINE
スーファミで「スーパーマリオ64」を起動して爆速エンディングを遂げるTASBotのプレイムービー - GIGAZINE
スーパーマリオ64のグラフィックでファンメイドの3Dマリオ新作が遊べる「Super Mario 64 Land」が登場 - GIGAZINE
AIに「スーパーマリオ64でスターをゲットする方法」を学習させる - GIGAZINE
3Dのスーパーマリオ64で横スクロールのスーパーマリオブラザーズを再現した猛者が登場 - GIGAZINE
・関連コンテンツ