通过 Open Adventure 重温巨洞冒险

突破性的 20 世纪 70 年代互动小说游戏《冒险》获得了新的生命,并且凭借开源许可获得了新的贡献者。
542 位读者喜欢这篇文章。
open source button on keyboard

Opensource.com

在计算机游戏的历史上,很少有游戏像 巨洞冒险 (Colossal Cave Adventure) 那样具有影响力。 《冒险》最初由 Will Crowther 于 1976 年开发,并由 Don Woods 于 1977 年扩展,是第一款互动小说游戏,并启发了无数其他计算机游戏。《冒险》直接或间接地导致了整个基于文本的冒险游戏,并进而导致了图形冒险游戏。

Crowther 用 FORTRAN 为 PDP-10 编写了《冒险》的原始版本。 这个初始版本为用户提供了谜题来解决,因为他们探索了一个基于肯塔基州巨洞综合体的环境,但它缺少评分系统。 Woods 的增强功能增加了更多的谜题和一个评分系统。这个版本,用户最多可以获得 350 分,是游戏的标志性版本。 大多数移植都源自它,但并非所有移植都是直接移植; 许多实现都添加了自己的谜题并增加了可用的最高分数。 凭借众多的非官方分支,《冒险》的出版历史几乎与游戏中发现的迷宫谜题一样复杂。

Open Adventure welcome screen

opensource.com

由 Jim Gillogly 编程、经过 Crowther 和 Woods 批准的 1977 年 350 分《冒险》的 UNIX 移植版,作为现代 BSD 和 Linux 发行版上的 bsd-games 包的一部分提供,已在 BSD 许可下可用,但 Crowther 和 Woods 的官方开发分支,最终于 1995 年推出了 430 分的《冒险 2.5》,从未附加正式的开源许可——直到现在。

最近,大教堂与集市 的作者 Eric S. Raymond,在 Crowther 和 Woods 的批准和鼓励下,在 BSD 2 条款许可发布了《冒险》的官方版本。 Raymond 将此版本称为 Open Adventure,以避免与版本号高于 2.5 的各种非官方《冒险》版本发生冲突。 此外,Open Adventure 编译为名为 advent 的可执行文件,这是 Crowther 原始 PDP-10 版本的命令,以避免与 350 分 bsd-games 版本使用 “adventure” 作为其可执行文件发生冲突。

Raymond 在 GitLab 上创建了一个存储库,以托管 Open Adventure 并开始改进代码。 是的,Raymond 和其他一些人正在积极改进来自 20 世纪 70 年代开始开发的游戏的 1995 年版本的代码。 到目前为止,大部分工作都是将历史信息添加到存储库中的各种文本文件中,但也进行了一些代码增强。 Makefile 得到了改进,增加了回归测试,并且清理了一些代码。 但是,仍有大量工作要做; 《冒险 2.5》的源代码是从 FORTRAN 自动转换为 C 的,因此它远不如它可能的那样干净。 但是,这些注释仍然完好无损,对于任何有兴趣了解计算历史的人来说都值得一读。

虽然值得欢迎,但在官方开源许可下提供《冒险 2.5》的意义不如清理项目代码所做的工作那么重要。 很容易只需将 BSD 许可放在项目上,进行足够的编码以使游戏能够编译,然后将其称为完成。 相反,将 “FORTRANish C” 翻译成现代 C 的工作是一项非常有趣的编程练习。 浏览 Open Adventure 的 Git 历史记录对于任何学习改进次优代码的人来说都将是一次宝贵的学习体验。

Open Adventure 的另一个好处是它可以提高人们对互动小说游戏的普遍认识。 互动小说游戏不仅仅是逝去时代的遗物; 人们仍在开发它们。 您可以在 互动小说档案馆 (Interactive Fiction Archive) 上找到大量的游戏和玩它们的工具(尽管并非所有游戏都是开源的),甚至还有一个年度 互动小说竞赛 (Interactive Fiction Competition)。 用于制作互动小说游戏的许多更新、更易于使用的工具的可用性使得使用 Open Adventure 的代码开发许多游戏的可能性不大,但最近所有对 Open Adventure 开源的兴趣都有利于提高人们对互动小说及其周围社区的认识。

如果您以前从未玩过互动小说游戏,请尝试 Open Adventure 或现代互动小说游戏。 如果您只玩过现代的、以动作为导向的视频游戏,那么体验可能与您习惯的不同,但互动小说游戏具有挑战性且有回报。 没有什么比解决您已经困扰了几天的问题的顿悟时刻更令人兴奋的了。

您对玩巨洞冒险或其他互动小说游戏有什么美好的回忆吗? 在下面的评论中分享它们。

标签

2 条评论

我自己是《银河系漫游指南》的粉丝。 :)

截至 2017 年 7 月,“Open Adventure” 距离达到原始版本的代码质量还有很长的路要走... 并且它似乎正朝着错误的方向发展。 不仅 ESR 的一些重构是不正确的,而且游戏中现在存在许多崩溃错误,而据我所知,Don Woods 的原始代码中没有错误。 对于原始游戏到现代可读 C 的忠实移植,如果您问我的话,https://quuxplusone.github.io/Advent/index.html 不会出错。 我的版本也可以通过 Z-machine 的魔力在线玩。(立即通过上面的链接玩它!)

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.