Sega CD Silpheed 的工程設計:針對有限硬體優化 FMV

Sega CD Silpheed 的工程設計:針對有限硬體優化 FMV

Silpheed 的由下而上工程方法

Sega CD Silpheed 避免了 1990 年代全動態影片 (FMV) 遊戲常見的陷阱,其做法是從系統的限制出發進行工程設計,而非試圖將高解析度電影移植到有限的硬體上。雖然當時大多數的 FMV 作品都深受微小視窗、嚴重抖動 (dithering) 和壓縮偽影所苦,但 Game Arts 利用平滑著色的多邊形、嚴格的 16 色調色盤以及極少的抖動,創造出了一種視覺上極具說服力的體驗,常讓玩家誤以為他們看到的是即時 3D 渲染。

硬體架構:Genesis 與 Mega-CD 的平行運作

執行 Silpheed 需要 Sega Genesis 與 Mega-CD 擴充組件之間的複雜同步。

  • The Genesis Side: 特徵是 7.67 MHz MC68000 CPU 與 64 KB RAM。它負責處理背景層 A 的 HUD (Heads-Up Display) 以及前景精靈層 (sprite layer)。
  • The Mega-CD Side: 特徵是 12.5 MHz MC68000 Sub-CPU、256 KB Word RAM 以及 512 KB Program RAM。Sub-CPU 負責管理背景層 B,使用雙緩衝系統將圖塊 (tiles) 渲染至 Word RAM,同時主 CPU 負責將目前的緩衝區傳送至影像顯示處理器 (VDP)。

音訊處理採用分流路徑。非互動式過場動畫依賴 Mega-CD 的 Ricoh PCM 晶片來提供高品質音樂,而互動式序列則將音樂製作轉移到 YM2612 晶片,並偶爾使用 Ricoh 晶片來處理 PCM 樣本。

克服頻寬瓶頸

FMV 本質上是一個頻寬問題:數據必須從 CD-ROM 讀取、解壓縮,然後傳送到螢幕上。Mega-CD 的單速光碟機 (150 KiB/s) 與緩慢的存取時間 (800ms) 使得這項任務極具挑戰性。Silpheed 的 15fps 影片串流,結合 16-bit 16kHz 音樂,使得每幀僅剩 8 KiB 的空間。

為了達成此目標,Game Arts 實施了三項主要的頻寬降低策略:

  1. 解析度降低: 圖塊的頂部與底部行被設為黑色,從而創造出電影感的寬螢幕比例,並減少了需要處理的圖塊總數。
  2. 幀率調整: 遊戲主要以 15fps 運行,在複雜場景(例如 Stage 1 與 Stage 10 中的「分形」紋理)時會降至 7.5fps。
  3. 自定義壓縮: 每一幀都是自給自足的(不使用增量壓縮),但該格式利用了圖塊地圖 (tilemap) 系統來實現大幅度的節省。

進階影像壓縮技術

圖塊地圖與純色優化

Silpheed 的編碼器會識別由單一純色組成的圖塊。編碼器不會個別儲存每個圖塊,而是僅儲存 15 種純色圖塊的各個實例,並在圖塊地圖中重複引用它們。在某些幀中,這可以將頻寬需求降低多達 50%。

利用 Mega-CD ASIC 的「字體位元」(Font Bit)

對於僅包含兩種顏色的圖塊,Silpheed 利用了 Mega-CD ASIC 中一個鮮為人知的特性,稱為「Font bit」。這項功能最初是為了快速渲染 2 色文字/漢字而設計的。

透過將兩個調色盤索引值寫入來源顏色暫存器,並將一個 16-bit 位圖模式寫入字體暫存器,ASIC 可以將 1-bit 模式擴展為 4-bit 像素數據。這使得系統能夠僅使用三個位元組來生成 8x8 圖塊的兩行,從而為這些特定圖塊節約了 37% 的頻寬,並降低了 CPU 開銷。

圖塊地圖壓縮

為了進一步減少通常需要 960 bytes 的 768-tile 地圖空間,Silpheed 實izes 使用 768-bit 位圖 (96 bytes)。一個 '0' 表示圖塊索引的自動遞增,而一個 '1' 表示立即值 (immediate value)。這通常能將圖塊地圖的空間需求降低近 30%。

視覺效果與調色盤循環

為了在不增加調色盤顏色的情況下,為雷射與爆炸效果創造多色效果,開發者使用了調色盤循環 (palette cycling) 技巧。調色盤末尾的四種顏色被保留並由主 MC68000 CPU 每一幀進行位移。因為這些顏色是為遊戲玩法層面保留的,藝術家在實際遊戲序列中只能使用 12 種顏色,而過場動畫則可以使用完整的 16 色調色盤。

社群觀點

雖然在技術層面上因其工程設計而受到讚譽,但該遊戲在遊戲性的方面的評價卻褒貶不一。有些用戶回憶說,這是一種極具說服力的電影感體驗,感覺像是「控制著一部電影」,而其他人則將遊戲本身描述為「真的很糟糕」。

"Sega CD 根本沒有 3D 能力 (僅限 2D 旋轉與縮放)。但 GameArts 的 FMV 呈現得如此具有說服力,甚至連鋸齒感都做得如此逼真,以至於很難理解...為什麼它不會被誤認為是 3D 渲染。"

"Cool article, but Silpheed is a genuinely awful game."

Sources