『スーパーマリオ64』、新機種で出るたび「どんどんマリオの足が影に飲まれていく」現象が分析される。暗闇が、仕様上しかたなくマリオの足を包む
『スーパーマリオ64』における「マリオの影の謎」が注目を集めている。同作では、NINTENDO 64からNintendo Switchへとプレイ環境が刷新されるにつれて“マリオがどんどん足元の影に飲まれていっている”という。その理由についてのユーザー分析が反響を呼んでいる。
『スーパーマリオ64』は、1996年にリリースされたNINTENDO 64向けアクションゲーム。リリース当時から多大な人気を誇り、「Wii/Wii Uバーチャルコンソール」(以下、Wii/Wii U VC)や「NINTENDO 64 Nintendo Switch Online」(NSO)向けにも展開。今でもなお現行機で遊べるほか、スピードランやゲーム内部の研究も根強くおこなわれているタイトルだ。
発端は「マリオの足が影に飲まれてる」との報告
そしていま、『スーパーマリオ64』における「マリオの足元の影」が注目を集めている。そもそもの発端は昨年12月、『スーパーマリオ』シリーズの話題を扱う海外ブログSupper Mario BrothによるX投稿だった。同投稿では、「『スーパーマリオ64』におけるマリオの足が、プレイ環境が新しくなるにつれてどんどん影に飲み込まれている」と伝えている。
上述の比較画像を確認してみると、たしかに近年のリリースになるにつれて、マリオの影が“高さ”を増している様子がわかる。オリジナル版では靴底が若干かかる程度だったのが、Wii/Wii VC版では明らかに分厚くなった。そしてNSO版では、マリオの足がくるぶし近くまでどっぷりと“影に飲まれている”ように見える。
原因は「Z-Fighting」対策か
こうした描画の違いがなぜ起こるのか、日本時間10月27日に、『スーパーマリオ64』の仕組みに知見の深いKaze Emanuar氏が、理由の分析をX上にてポストした。Emanuar氏によれば、プレイ環境によって影の高さが変わる原因は、Wii/Wii VCやNSOのサービスに利用される「任天堂公式NINTENDO 64エミュレーターの挙動」だという。
まず、『スーパーマリオ64』におけるマリオの影は、Decal renderモードを利用して描画されているとのこと。これは3Dモデルの表面に、任意の平面デカールを貼り付けるモードとなっている。そうしてマリオの影表示をNINTENDO 64実機以外で実装する際には、ひとつ気をつけなくてはいけない問題があるとのこと。それが「Z-Fighting」と呼ばれる現象だ。
Z-Fightingは、ゲームなどの3Dモデル描画において、「面が重なり合う」状況でテクスチャがちらついたりする現象のこと。『スーパーマリオ64』などのゲームでは、カメラから見たさまざまなオブジェクトの奥行き(Z軸)情報を計算し、「マリオが手前に映っているので、その奥の壁は隠れて見えない」といった描画をしている。
ところが、「床の表面にぴったり張り付く影デカール」といった描画では、ゲームエンジン内で「床と影が同じ平面にある」と判定されてしまう場合がある。すると、画面上で見える面と隠れる面がどっちつかずの状態に。両方の平面のテクスチャが縞々に入り混じったり、ちらついたりするような奇妙な表示が起こる。これがZ-Fightingと呼ばれる現象の概要だ。
不具合対策で影が「高く」なった
Emanuar氏によれば、このZ-Fighting対策こそが、「マリオの足がどんどん影に飲まれる」原因と見られるという。Z-Fightingの原因は、面の重なり。その対策としては、単純に面と面の距離を取り、重なりを避けることが有効となる。しかし、Z-Fightingを防止するために必要な距離は、エンジンの実装によってまちまち。「床平面」と「影平面」の距離を少し離しただけでは、カメラが遠景に引いた際に奥行きのデータの精度が下がり、影の描画が奇妙になってしまうかもしれない。回避するには、「床からマリオの影をしっかり浮き上がらせる」必要があるわけだ。
どうやらNINTENDO 64実機では仕様上、マリオの影をしっかり浮かせるような対策を取らずとも、描画に支障はなかったようだ。しかし、Wii/Wii VC版やNSO版では実機をエミュレーションしているため、Z-Fightingの問題が浮上。新しい環境で『スーパーマリオ64』がリリースされるたびに、不具合回避のため影が高くなっていき、マリオの足がどんどん影に飲まれていった、という顛末のようである。
Emanuar氏による一連の投稿は、本稿執筆現在で約1万いいねと約700件のシェア数を獲得。さまざまな反響も寄せられており、「記憶ではマリオの靴は茶色一色だったはず」との疑問が解消したユーザーの、喜びの声なども寄せられている。発売から約30年が経とうとしている『スーパーマリオ64』のディティールがこれほど話題となるのは、本作と同シリーズの高い人気の証だろう。
なお、NINTENDO 64作品のNSO版については、仕様の変化についてしばしば話題に。今回の『スーパーマリオ64』については「“ケツワープ(Backwards Long Jump)”の可否」が、『ゼルダの伝説 時のオカリナ』などでは描画・挙動の変化やその改善も話題となった(関連記事1、関連記事2)。今後も熱心なプレイヤーたちにより、興味深い細部の変化が見出されるかもしれない。