11. 解释器

11.1. SCUMM 引擎 (LucasArts)

LucasArts 为点击式冒险游戏编写了一个名为 SCUMM (疯狂大楼剧本创作工具) 的引擎。他们使用 SCUMM 编写了许多图形冒险游戏,例如他们著名的猴岛系列(全部三部)。Ludvig Strigeus能够对 SCUMM 格式进行逆向工程,并编写了一个名为 scummvm 的 SCUMM 游戏解释器,该解释器可以在 Linux 和 Win32 下编译 <http://scummvm.sourceforge.net/>。他们的网站非常好,并且充满了关于 SCUMM 以及在 scummvm 下玩这些游戏的各种信息。

scummvm 网站维护了一个兼容性页面。恕我直言,我已顺利完成许多被列为完成度 90% 的游戏,没有任何问题。scummvm 非常稳定可靠,允许您购买基于 SCUMM 的 LucasArts 游戏,将数据文件复制到硬盘驱动器并在 Linux 下运行。截至 2002 年 2 月,我一直在关注他们的 cvs,这个项目正在不断开发中。向 scummvm 团队致敬。

11.2. AGI:冒险游戏界面 (Sierra)

较旧的 Sierra DOS 图形冒险游戏使用了一种名为 AGI (冒险游戏界面) 的脚本语言。使用 AGI 编写的游戏的一些示例包括 Leisure Suit Larry I (EGA)、Space Quest I 和 II、King's Quest II、Mixed-Up Mother Goose 等。这些游戏可以使用 sarienon> <http://sarien.sourceforge.net> 运行,这是一个用于 AGI 游戏的开源解释器。

Sarien 使用 SDL 编写,因此它应该可以在任何可以编译 SDL 程序的平台上运行。此外,还有 DOS、基于 Strong-Arm 的 PDA、QNS(我的天!嵌入式游戏!)、基于 MIPS 的系统和基于 SH3/4 的 Pocket PC 的版本。开发者们显然是疯了(褒义!)。Sarien 还具有许多原始游戏中没有的增强功能,例如 Quake 风格的下拉控制台、图片和字典查看器、增强的声音以及对 AGDS(俄罗斯 AGI 克隆版)的支持。Sarien 正在开发中,如果有人想参与破解,开发者们在记录 Sarien 内部结构方面做得非常好。

11.3. SCI:脚本解释器或 Sierra Creative Interpreter (Sierra)

较新的 Sierra 图形冒险游戏(我们这里说的是 80 年代后期)使用了一个名为 SCI 的解释器。由于 Sierra 不断改进其引擎,因此 SCI 有许多版本。最初的 SCI 游戏是基于 DOS 的,但 Sierra 最终开始发布基于 Win32 SCI 的游戏。使用 SCI 编写的游戏的一些示例包括 Leisure Suit Larry 1 (VGA)、Leisure Suit Larry 2-7、Space Quest 3-6、King's Quest 4-6、Quest For Glory 1-4 等等。与 AGI 游戏相比,SCI 冒险游戏具有更好的音乐支持、更复杂的引擎和大量的花哨功能。

许多基于 SCI 的游戏(使用 SCI0 编写的游戏)可以使用 freesci 运行,可在 http://freesci.linuxgames.com 获取。与 Sarien 类似,FreeSCI 有许多图形目标,包括 SDL、xlib 和 GGI,因此该程序可以在数量惊人的平台上编译和运行。开发者们在记录和编写应用程序常见问题解答方面做得非常出色。

11.4. Infocom 冒险游戏 (Infocom, Activision)

Z-machine 是一个文档完善的 <http://www.gnelson.demon.co.uk/zspec/index.html> 虚拟机,由 Infocom 设计用于运行他们的互动小说游戏。这使他们能够以跨平台的方式编写游戏数据文件,因为只有引擎本身,即 Z-machine,才会是平台相关的。Z-machine 在 Infocom 的生命周期中经历了多次修订,在 Infocom 倒闭后又进行了两次修订(由 Graham Nelson 创建的 V7 和 V8)。后来的版本甚至支持有限的声音和图形!

最流行的 Z-machine 解释器之一是 Frotz <http://www.cs.csubak.edu/~dgriffi/proj/frotz/>。这个做得非常出色的页面为互动小说爱好者提供了许多不错的链接。Frotz 是 GPL 许可的,可以运行所有版本的 Z-machine,并且可以在大多数版本的 Unix 上编译。Frotz 衍生出了许多分支,例如 PalmOS 和基于 Linux 的 PDA 版本。

jzip <http://jzip.sourceforge.net/> 是另一个非常流行的 Z-machine 解释器,它可以运行 V1-V5 和 V8 Z-machine 数据文件。jzip 非常便携;它可以在所有 Unix、OS/2、Atari ST 和 DOS 上编译。

实际上还有许多其他 Z-machine 解释器,例如 nitfol 和 rezrov(用 Perl! 编写)。每个解释器都有其自身的优点,您可以在 Frotz 和 jzip 的主页上找到它们的链接。

11.5. Scott Adams 冒险游戏 (Adventure International)

Scott Adams 可以说是互动小说的鼻祖。尽管他本人受到了第一部互动小说《Adventure》的启发,但 Scott 将冒险带给了大众。他的游戏适用于 Atari、Apple 2、Commodore、Sorcerer、TI 和 CPM。他的公司 Adventure International 在 1978 年至 1984 年间发布了许多深受喜爱的游戏,之后倒闭。他最近发布了一款新游戏(没有 Linux 版本),但自从冒险游戏衰落以来,他几乎退出了游戏行业。

Alan Cox 编写了 scottfree,这是一个用于 Unix 的 Scott Adams 冒险游戏文件解释器。使用 scottfree 和任何可以从 Scott 的网站 <http://www.msadams.com/> 下载的 Scott Adams 数据文件,您就可以享受这些经典之作。

11.6. Ultima Underworld:冥界深渊 (Origin, Blue Sky Productions)

Underworld Adventures 项目 <http://uwadv.sourceforge.net/> 旨在将 1992 年的经典游戏《Ultima Underworld:冥界深渊》移植到现代操作系统,如 Linux、MacOS X 和 Windows。它使用 OpenGL 进行 3D 图形,SDL 用于平台特定任务,并以 GNU GPL 许可发布。Underworld Adventures 提供了一个令人印象深刻的图形系统,该系统使用原始游戏文件,因此您需要原始游戏光盘才能玩。

Underworld Adventures 还提供了一系列工具,供您显示关卡地图、检查 uw1 对话脚本的工具等等。

11.7. Ultima 7 (Origin, Electronic Arts)

Ultima 7 实际上是 2 个游戏:第一部分(黑门)和第二部分(蛇岛),它们使用了黑门引擎的略微增强版本。此外,还为第一部分(美德熔炉)和第二部分(银种)发布了附加磁盘。

一个团队开发了 Exult <http://exult.sourceforge.net/>,这是一个开源解释器,可以运行 Ultima 7 的两个部分及其附加磁盘。Exult 使用 C++ 和 SDL 编写,因此它可以在任何可以编译 SDL 程序的平台上编译。它还具有一些优于原始 Ultima VII 引擎版本的增强功能。您需要购买一份 Ultima 7 才能玩。由于引擎在版本之间发生了如此大的变化,开发者们没有计划扩展 Exult 来解释其他 Ultima 游戏。

Exult 团队也在努力创建地图编辑器 Exult Studio 和脚本编译器,这将允许用户以 Ultima 风格创建自己的 RPG。

11.8. System Shock (Electronic Arts, Origin)

System Shock 是一款 1994 年的经典第一人称射击/冒险游戏,与 Doom 同期。然而,它的引擎比原始 Doom 引擎的功能更丰富:例如,System Shock 具有 3D 精灵、自由视角和对象堆叠功能,从而产生类似于 Quake 的完整 3D 地图的错觉。游戏评论员一致认为,这款游戏具有 Quake 的功能,故事情节比 Half-life 更引人入胜。System Shock 引擎针对复杂性进行了优化,而 Doom 的引擎则针对向您投掷大量怪物进行了优化;一种完全不同的方法。对于如此古老的游戏来说,非常令人印象深刻!

System Shock Hack Project <http://madeira.physiol.ucl.ac.uk/tsshp/sshock.html> 旨在更新这款游戏以适应现代操作系统。该项目使用 SDL,并以修改后的 BSD 许可证发布。虽然您需要原始游戏文件才能玩 SSHP,但它应该可以与免费提供的 System Shock 演示版一起使用。