エミュレータ移植のWii版マリオ64、オリジナル版とは異なる挙動に
2018年6月12日 20:50
エミュレータを使って移植されているWii版のスーパーマリオ64では、特定の場所の「揺れる足場」の挙動がオリジナルのNINTENDO64版とは僅かに異なるという。その原因は、64ビット浮動小数点演算結果を32ビット浮動小数点に変換する際の処理が異なる点にあるそうだ(なぜWii版マリオ64で長時間放置すると足場が浮かび上がるのか(非技術者向け解説))。
ことの発端は、ゲーム内でジャンプ操作を行うための「Aボタン」を押さないでステージをクリアするという縛りプレイを行っているプレイヤー達による研究で、「ほのおの うみの クッパ」というステージではWii版に限り長時間待つと「揺れる足場」が浮き上がっていくことが分かったという(AUTOMATON)。
これは、足場の揺れ具合を計算する処理において64ビット浮動小数点数を32ビット浮動小数点数に変換する際に僅かに丸め誤差が発生し、それが累積することによるものだという。縛りプレイヤーたちはこれを利用して足場を十分な高さまで浮上させることで、Aボタンを押さずにステージクリアを達成することにチャレンジしているようだ。