微软开发者主管Scott Hanselman在本周的Ignite大会上宣布了一个令人兴奋的消息:将经典文字冒险游戏Zork I-III的源代码以MIT许可证开源。
微软开源项目办公室主任Stacey Haffner和Hanselman在公告中表示:"我们的目标很简单:将具有历史重要性的代码交到学生、教师和开发者手中,让他们能够学习、研究,最重要的是体验这些游戏。"
Zork是游戏历史上的重要里程碑。这款受到《巨洞冒险》启发的文字冒险游戏,允许玩家使用自然语言与游戏互动,相比之前简单的"向北走"指令,玩家可以输入更复杂的命令如"爬上那棵树"。
最初为PDP-10计算机开发的Zork,后来被Infocom公司分为三部分,以适应当时个人计算机的存储限制。该公司的创始人正是游戏的原始开发者。
游戏后来被移植到Zork实现语言(ZIL),运行在Z-machine虚拟机上。这是Infocom专为文字冒险游戏开发的虚拟机。这种架构意味着要在不同的计算机系统上运行Zork和其他Infocom游戏,只需要移植Z-machine即可,因此Infocom的游戏能够在各种平台上运行。
Zork取得了巨大成功。其解析器相比之前的游戏有了显著提升,玩家可以深度沉浸在游戏世界中,而无需操纵杆、鼠标或高端显卡。
Activision在1986年收购了Infocom,而微软在2023年收购了Activision。
目前仍可购买Zork游戏,开源的代码库包含Zork I、II和III的源代码。公告建议使用ZILF(ZIL Forever)来编译和汇编源代码为可运行的Z3文件,然后使用Windows Frotz等模拟器来重回1980年代的Zork世界。
尽管Zork可能是历史上文档最完整的游戏之一,后续的编译器如Inform也延续了这一传统,但拥有原始源文件进行研究既有教育意义又充满乐趣。Hanselman表示:"我希望将ZIL开源,这样学生和教师就能在课程中使用它们而无需担心版权问题。"
虽然Hanselman选择通过在微软云端启动容器来演示代码,但这些游戏在本地计算机上同样可以完美运行。
在会议现场演示这款游戏确实存在明显的风险。不过这种风险并非来自会议Wi-Fi的不稳定,而是游戏中无处不在的危险——被食尸鬼吃掉的威胁。
Q&A
Q1:Zork是什么游戏?有什么特别之处?
A:Zork是一款经典的文字冒险游戏,是游戏历史上的重要里程碑。它允许玩家使用自然语言与游戏互动,相比之前简单的指令,玩家可以输入更复杂的命令。游戏最初为PDP-10计算机开发,后来分为三部分以适应个人计算机。
Q2:微软为什么要开源Zork的源代码?
A:微软开发者主管Scott Hanselman表示,他们的目标是将具有历史重要性的代码交到学生、教师和开发者手中,让他们能够学习和研究。Hanselman特别提到希望将ZIL开源,这样学生和教师就能在课程中使用而无需担心版权问题。
Q3:如何运行开源的Zork游戏?
A:用户需要使用ZILF(ZIL Forever)来编译和汇编源代码为可运行的Z3文件,然后使用Windows Frotz等模拟器来运行游戏。虽然微软演示时使用了云端容器,但这些游戏在本地计算机上同样可以完美运行。