Tempest vs. Tempest:Atari 标志性街机的诞生与重制

查看原文 HN 讨论

文章摘要

这是一本面向程序员的免费技术书,把街机史上两款相隔十几年的同名经典——Dave Theurer 在 1981 年为 Atari 写的初代《Tempest》(基于矢量显示器的射击游戏)和 Jeff Minter 1994 年在 Atari Jaguar 上重制的《Tempest 2000》——拆开来对照阅读,重点不在玩法或文化影响,而是它们各自是怎么被”实现”出来的。

作者用并排的双页 PDF 排版,把两份不同硬件、不同时代的源码摆在一起:初代 Tempest 跑在 Atari 的 6502 汇编上,使用矢量显示器和 X-Y 坐标输出;Tempest 2000 则跑在 Jaguar 的 68K 摩托罗拉汇编上,需要面对完全不同的位图输出和音频系统。每一章都聚焦一个具体的机制:怎样在 6502 上画出旋转的矢量管道、怎样实现敌人沿着管壁攀爬的运动学、怎样在更现代的处理器上重新组织粒子和音乐节奏,等等。

这种”一边读旧代码、一边读新代码”的对照法,让读者既能看到一段代码在硬件极度受限时是如何被压榨出每一个字节、每一个时钟周期的;也能看到同样的设计目标在十几年后随着硬件松绑后被如何重新表达。书中附有大量原始一手文档(设计稿、内存布局、寄存器使用图)和可视化解析,对游戏开发史和复古计算感兴趣的读者来说是一份难得的资料。作者本人通过自愿捐赠维持项目,免费 PDF 任意下载。

HN 评论精华