返回

文章详情

世嘉CD Silpheed的艺术与工程

Hacker News2026年7月13日 14:52

2026年6月1日 世嘉CD Silpheed的艺术与工程 90年代是视频游戏机领域显著改善的十年。每个新型号都带来了先进的处理能力和更好的图形,没有妥协。然而,90年代中期CD-ROM驱动器的出现却显得异常。尽管640 MiB的存储容量是卡带容量的320倍,但访问时间(800毫秒)和带宽(单速150 KiB/s)却分别慢了4,000,000倍和35倍。Mega-CD是世嘉将CD-ROM引入其Genesis主机的构想。该平台共制作了近200款游戏。出现了一些优秀的游戏,如《刺猬索尼克CD》、《Snatcher》、《Final Fight CD》和各类角色扮演游戏。但是无尽的依赖全动态视频(FMV)的游戏让世嘉的这个附加组件声名狼藉(如《夜间陷阱》、《奖品拳击手》、《滑溜城市》、《尸体杀手》、《终极战士》、《电线头》和《A/X-101》)。而随后便是Silpheed。它具备精美的艺术品味和能够产生惊人动画效果的引擎,让媒体为之疯狂。玩家们思考什么是真实的3D,什么是预计算的。它获得的赞誉至今仍然存在。对于依然不为所动的人,需记住这些几乎全屏的过场动画是在12.5MHz的m68k CPU上运行,使用16种颜色,消耗150 KiB/s的带宽。伴随着16位16kHz的音乐,15fps的视频流每帧仅仅剩下8 KiB。我在过去的两周里在空余时间进行FMV格式的逆向工程。这与我平时的工作方式有所不同,因为我没有写一行代码。我下个月可能会写一些关于我AI框架的内容(并开源它)。但我可以告诉你这总体上是一种愉快的工作方式。以下是我想到的内容。如果你想查看所有的过场动画和游戏背景视频以熟悉这个主题,这里是我使用我设计的工具创建的一个故事板(我不能真的说我“编写”了它们)。世嘉CD内部基础知识 在我们深入讲解使Silpheed视频格式如此高效的优化和技巧之前,我们需要了解世嘉Genesis和Mega-CD是如何协同工作的。GENESIS │ MEGA-CD │ ┌──────────────────────┐ │ ┌───────────┐ ┌──────────┐ │ MC68000 7.67 MHz │ │ │ WORD RAM │ │ MC68000 │ │ │ ┌───┴──────┐ │ 256 KB │ │ │ │ 64 KB RAM ◄──┤扩展 ├────────►───────────┤ │ 12.5 MHz │ │ │ │ 端口 │ │程序内存│ │ │ │ 8 KB音频内存(Z80)│ └───┬──────┘ │ 512 KB │ │ │ └──────────┬───────────┘ │ └─────┬─────┘ └─────┬────┘ │ │ └──────────────┬─────┘ ┌─────┴──────────┐ │ │ │ │ │ ┌───────┐ ┌────┴────┐ ┌────▼──────┐ ┌─────▼─────┐ │ │ Ricoh │ │ ASIC │ │ VDP │ │ Z-80 │ │ │ PCM ├─────┤ GFX │ │ ┌───────┐ │ │ YM2612 │ │ └───┬───┘ └────┬────┘ │ │64KVRM │ │ │ SN76489 │ │ │ │ │ └───────┘ │ │ │ │ │ │ └─────┬─────┘ └──────┬────┘ │ │ │ │ │ │ │ ┌───────┴──────┐ │ │ ┌──┴──────┐ ┌────▼────┐ │ CD-ROM │ │ └───┤RCA线缆├─────────► 混合器 ◄─┤ 驱动器 │ │ └──┬──────┘ └────┬────┘ └──────────────┘ │ │ │ ┌────▼────┐ │ │ │ 电视 ◄──────────────────┼─────────────────────┘ └─────────┘ │ 添加一个Mega-CD将机器变成两个并行运行的系统。Mega-CD一侧有PCM和CD播放,直接连接到混音器。该系统有一个负责图形加速(旋转/缩放/杂项)的ASIC,足以与《马里奥卡丁车》等游戏相媲美。这两个系统通过共享内存(扩展端口)和模拟音频混合进行通信。理解这套系统如何运作让我对Mega-CD的开发者更加尊重。这看起来是一个噩梦,尤其是在同步方面。Silpheed的架构 一个Mega-CD系统仍然以三层的形式向电视渲染图像。其中两层由块组成,被称为背景(A和B),而一层是包含精灵的前景。子CPU m68k写入背景B的块和块图。与此同时,主CPU负责“绘制”包含HUD和前景精灵层的背景A。子CPU使用双缓冲系统,在L1模式下渲染到字内存中。当一个缓冲区被主CPU送到VDP时,它会在另一个缓冲区中渲染下一帧。在音频方面,非互动的过场动画仅依赖于Mega-CD的Ricoh生成PCM质量的音乐。在互动序列中,Ricoh偶尔被用于PCM音频样本,而音乐由YM2612完成。原始的Genesis(1号模型)音频路径非常复杂。Genesis的输出(前端插孔)必须通过“混音线缆”物理连接到世嘉CD的后部RCA输入。然后世嘉CD将线信号与其自身的CD-DA + PCM信号混合。结果通过另一条RCA线缆直接发送到电视!好的设计决策 大多数FMV游戏看起来不佳,因为开发者采取了自上而下的方法,试图将真实电影装入一个微小的CD-ROM中,而面临着薄弱的CPU。为了做到这一点,他们不得不使用极小的窗口、压缩伪影和让人难过的抖动。对于Silpheed,Game Arts采取了更加专注的设计。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡