QFがズレる現象
マリオサンシャインにはQFという概念があり、ゲーム画面としては描写されていないが地形やオブジェクトとの接触判定をおこなっているフレームが1Fにつき4個存在する。
地形に対してはその4QFすべてで接触判定をされているが、オブジェクトに対しては1Fに1回しか判定されていない。
デフォルトでは画像のように0QFが描写され、基本的にその状態でゲームが進行していくが、特定の行動をすると描画QFがズレる現象が発生する。具体的には以下が該当する。
・ポーズ画面を閉じる(1QFズレ)
・メモリーカードがない時に、ポーズ画面でセーブを選びメッセージウインドウを閉じる(2QFズレ)
・メモリーカードがある時に「セーブしないで続ける」を選ぶ(3QFズレ)
・マップを閉じた直後、最速で開き直す(1QFズレ)
・ドルピックタウンのヨッシーに初めて乗った時に出るセーブ画面の表示(ヨッシーに乗った時のQF番号に依存する)
・QFがズレている時に青コインを取得する(デフォルトの状態に戻る)
これらは、ゲームが一時停止する事によって結果的に描画QFがズレてしまう。
例としてポーズ画面を開いて閉じた時を考えてみる。
デフォルトの0QFが描画されている時、スタートボタンを押すのも当然0QFであり、ポーズ画面を開くとその0QFが描画されている状態でゲームが一時停止する。
しかしポーズ画面の解除にかかるQF数が4nではないため、解除してゲームが再開し始めるQFが違うところになってしまう
メモカなしでポーズ画面のセーブを選ぶ、メモカ有で青コインなどのセーブウインドウでセーブしないで続けるを選ぶ、によるQFのズレも同じ原理となる。
ヨッシーも同じであるが、ヨッシーはオブジェクトと違い1Fに4回判定されているタイプなので、乗った時のQF番号でゲームが停止し、メモカ有の場合はセーブしないで続けるを選ぶと更に3QFズレる。
例えばメモカ有の状態で2QF目でヨッシーに乗ったとしたら、セーブ画面では2QFが描画され続け、セーブ画面を閉じた時に3QFずれて、最終的に1QFが描画QFとなる。
では青コインを取得でデフォルトの状態に戻るとは何か。先ほどの図を見てもらえば分かる通り、描画QFがズレてもオブジェクト接触判定のQF番号は変わらず3QFのまま。
青コインはオブジェクトであるため、描画QFに関わらず常に3QFで接触判定される。実際にセーブ画面によってゲーム画面が停止するのはその1QF後の4QF(=0QF)からであるため、青コインを取得するとデフォルトの0QFが描画されるという事になる。
メモカなしの時にセーブ画面を閉じる場合は、閉じるのにかかるQF数が4nのため図のようにそのまま0QF描画に戻る。
以上がQFがズレる現象の解説となる。これを利用したTASがイカサーフィンであるので、理解してから見るとまた面白いかもしれない。