セガCDシルフェードのエンジニアリング:限られたハードウェアでFMVを最適化する
セガCDシルフェードのエンジニアリング:限られたハードウェアでFMVを最適化する
シルフェードのボトムアップ・エンジニアリング手法
セガCDシルフェードは、1990年代のフルモーションビデオ(FMV)ゲームに共通する落とし穴を回避し、限られたハードウェアに高解像度シネマを移植しようとするのではなく、システムの制約から上向きに設計しました。当時の多くのFMVタイトルが極小ウィンドウ、過度のディザリング、圧縮アーティファクトに悩まされていたのに対し、ゲームアーツはフラットシェーディングされたポリゴン、厳格な16色パレット、最小限のディザリングを用いて、プレイヤーにリアルタイム3Dレンダリングを見ていると錯覚させるほど視覚的に説得力のある体験を作り上げました。
ハードウェアアーキテクチャ:ジェネシスとメガCDの並列構成
シルフェードの動作には、セガジェネシスとメガCDアドオンという二つの並列システム間の複雑な同期が必要です。
- ジェネシス側: 7.67 MHz MC68000 CPU と 64 KB RAM を搭載。HUD(ヘッドアップディスプレイ)を背景レイヤーAに、前景スプライトレイヤーを管理します。
- メガCD側: 12.5 MHz MC68000 サブCPU、256 KB ワードRAM、512 KB プログラムRAM を搭載。サブCPUは背景レイヤーBを担当し、ダブルバッファ方式でタイルをワードRAMにレンダリングし、メインCPUが現在のバッファをビデオディスプレイプロセッサ(VDP)に送ります。
音声は分割パスで処理されます。非インタラクティブなカットシーンはメガCDのリコーPCMチップで高品質音楽を再生し、インタラクティブシーンではYM2612チップに音楽生成を移行し、リコーPCMチップはPCMサンプル用に断続的に使用されます。
帯域幅ボトルネックの克服
FMVは主に帯域幅の問題です:データをCD-ROMから読み込み、デコードし、画面に供給しなければなりません。メガCDのシングルスピードドライブ(150 KiB/s)と遅いアクセス時間(800 ms)はこの課題を厳しくしました。シルフェードの15 fps動画ストリームに16ビット・16 kHz音楽を組み合わせると、1フレームあたりわずか8 KiBしか残りません。
この問題を解決するため、ゲームアーツは以下の3つの主要な帯域幅削減策を実装しました。
- 解像度の削減: タイルの上端と下端を黒で埋め、シネマティックなアスペクト比を作り、処理すべきタイル総数を減らします。
- フレームレート調整: 基本は15 fpsで動作し、複雑なシーン(ステージ1やステージ10の「フラクタル」テクスチャなど)では7.5 fpsに落とします。
- カスタム圧縮: 各フレームは自己完結型(デルタ圧縮なし)ですが、タイルマップシステムを活用して大幅なデータ削減を実現します。
高度なビデオ圧縮技術
タイルマップと単色最適化
シルフェードのエンコーダは、単一の平坦な色だけで構成されたタイルを検出します。各タイルを個別に保存する代わりに、15種類の単色タイルをそれぞれ1つだけ保存し、タイルマップ上で繰り返し参照します。これにより、フレームによっては帯域幅要件を最大50%削減できます。
メガCD ASIC「フォントビット」の活用
2色だけのタイルについては、メガCD ASICのあまり知られていない機能「フォントビット」を利用します。この機能は本来、2色の漢字/テキストを高速に描画するためのものです。
ソースカラー・レジスタに2つのパレットインデックスを書き込み、フォントレジスタに16ビットのビットマップパターンを設定すると、ASICは1ビットパターンを4ビットピクセルデータに展開します。これにより、8×8タイルの2行をたった3バイトで生成でき、該当タイルの帯域幅を37%削減し、CPU負荷も軽減します。
タイルマップ圧縮
通常768タイルのマップには960バイトが必要ですが、シルフェードは768ビット(96バイト)のビットマップを使用します。0 はタイルインデックスの自動インクリメント、1 は即値を示します。この手法でタイルマップの容量は約30%削減されます。
ビジュアルエフェクトとパレットサイクリング
レーザーや爆発の多色エフェクトをパレットを増やさずに実現するため、開発者はパレットサイクリングという技法を使用しました。パレット末端の4色を予約し、メイン MC68000 CPU がフレームごとにシフトします。これらの色はゲームプレイエフェクト専用に確保されているため、実際のゲームプレイシーンでは12色しか使用できませんが、カットシーンではフル16色パレットを利用できます。
コミュニティの視点
技術的な評価は高いものの、ゲームプレイに関する評価は賛否が分かれます。あるユーザーは「映画を操作しているような」説得力のあるシネマ体験として記憶しており、別のユーザーは「ゲーム自体が本当に酷い」と評しています。
"セガCDには3D機能は全くありません(2D回転とスケールだけ)。しかしゲームアーツはエイリアシングまでFMVを非常にリアルに実現しており、3Dレンダリング以外に考えられないほどです。"
"面白い記事ですが、シルフェードは本当に酷いゲームです。"
要約
セガCDシルフェードは、ボトムアップの設計と、メガCD ASIC のフォントレジスタとタイルマップ最適化を活用したカスタム圧縮フォーマットにより、限られたハードウェア上で高品質なフルモーションビデオ(FMV)を実現しました。
タイトル
セガCDシルフェードのエンジニアリング:限られたハードウェアでFMVを最適化する