秒間60フレーム処理

 レースゲームと格闘ゲームは60フレーム処理が常識。ハード性能がアップした今では当たり前だけど、昔はキツかった。F−ZEROってのは60フレーム処理を実現した家庭用レースゲームとしては最古の部類に属している。擬似とは言え3D視点のものでは、最古じゃなかろうか?
 アーケードでもそう多くなかったはず。低性能で有名だったスーパーファミコンで実現させてたんだよ。
 4年後にリッジレーサーがプレステに移植されて話題になった時も、30フレーム処理だった。
 F−ZEROならではのソニックスタートの瞬間を使用して、60分の1秒毎に画面キャプチャーしてみたけど、あらゆるオブジェクトがキチンと60分の1秒で処理されていることが良く分かる。パッドの入力も60分の1秒で処理されている。これが圧倒的なスピード感と、超絶テクニックの数々を可能としている技術的背景である。

 技術がすぐれているだけで面白いゲームが出来る訳じゃないことは常識。しかし、素晴らしいアイデアと作り込みがあっても、技術が伴わなければ現実の製品として世の中に出すことは出来ない。F−ZEROはゲーム自体が素晴らしいんだけど、それを支える技術もしっかり伴っていたのである。
 PAUSEを掛けると必ず偶数フィールドの表示状態で停止する。ビデオに録画してコマ送りしても、ビデオの機種によるが殆どの場合は偶数フィールドだけが表示されてコマ送りされる。だから、F−ZEROを30フレーム処理だと思い込んでいたプレーヤーも多いのでは?

奇数フィールド 偶数フィールド
F-ZERO ソニックスタート
 
ファイアースティングレー ブルーファルコン
 
ゴールデンフォックス ミュートシティー3

 もちろん非力なスーパーファミコンだから、どこかで妥協しなくてはならない。敵の動きは結構手抜きがあるし、ラップ毎に規定順位があることもそのあたりに関係していることは感じていた。しかし、ゲームの本質には関係がない。上手な手抜きとはそういうものだ。本質的でない部分を手抜きすることによって全体的により高いレベルで仕上げられるのであれば、歓迎するべきだろう。
 もしF−ZEROが30フレーム処理しか出来ていなかったのであれば、ここまでの評価が得られたかどうか?

 もう1つの手抜きが、タイム表示である。30分の1秒毎に、ジャスト0.03秒進むのである。このため、現実世界の1秒が経過しても、ゲーム画面のタイム表示は0.9秒しか進んでいない。ミュート1を2分で走ると、現実世界では2分13秒ほど経過してしまっている。嘘だと思うならストップウォッチで測ってみよう。
 また、上の写真を見ると0秒86とか0秒89は存在しない。しかし、実際には0.01秒単位でどんなタイムでも出る可能性があるのは周知の通り。一体どうなっているのか?
 ここで、当時素朴な疑問を持った。ミュート1をタイムアタックしていて、やたらに1分58秒89という記録が良く出たのである。ベストテンに4つも並んだ時に、記念撮影したのが下の画面。

ミュート1

 もしやと思い、15コース分の全記録150個を分類してみた。記録を0.03秒で割り、余り無し、0.01秒余り、0.02秒余り・・・の3通りに分類してみる。その結果、明白に余り無しのタイムが多く、他のほぼ2倍の数に達していた。
 これにより、1つの仮説が浮上した。0.03秒を3分割するのではなく4分割して計算しているんじゃなかろうか?
 ゴールラインを通過した前後のフレームの位置関係から実際のタイムを補完計算するはずだが、コンピュータは2進数であるため2や4で割るのは容易だが3で割るのは苦手。ただでさえ非力なCPUなので、4で割る簡略計算を行い、結果として0.01秒毎のタイム割り当てが2:1:1の比率になってしまったんじゃ・・・
 余りに煮詰まった記録が出るため、タイムを1000分の1秒単位まで表示して欲しいとの要望は当時からあった。どこかの雑誌で任天堂は、それは可能だが誤差が大きくなるので止めたと説明していた。どういうことなのか、分かる気がする。

 ちなみに、海外で販売されたPAL版は秒間50フレームであり、25分の1秒毎に0.04秒進む。だから、現実世界の1秒はゲーム中でも1秒だし、タイムの偏りも発生しない。またこれは、日本の記録と海外の記録を比較不可能なことも意味している。
 日本のF−ZEROは日本の記録だけで勝負!

完全保存計画に戻る 表紙に戻る