比尔·盖茨当年未拿下的经典文字冒险游戏《魔域》,现被微软采用MIT开源,引发全球开发者狂欢!

CSDN·2025年11月24日 19:36
又一经典正式开源!

近年来,微软在推进开源战略的同时,将不少老系统、软件和工具,如 MS-DOS 4、WSL 以及 6502 BASIC 解释器等,开放给公众,让更多兴趣爱好者有机会参与学习。

日前,微软开源再下一城!让许多 70、80 后心中的经典文字冒险游戏《魔域》(Zork)三部曲——《Zork I》《Zork II》《Zork III》的源代码正式开源。用官方的话说,就是将影响几代人的冒险游戏置于 MIT 许可之下。

这意味着这些老游戏的核心代码,未来任何人都能自由查看、研究,甚至基于它们做点自己的东西。当然,商用包装、老封面、宣传物料这些东西依然属于微软,不在开源范围内,相关商标也还是专有的。

尽管如此,这一举措还是勾起了众多玩家的回忆,也赢得了广泛认可。

GitHub 开源地址:https://github.com/historicalsource/zork1

 

经典的文字冒险游戏 Zork

在很多人的心中,《Zork》是电脑游戏史上的一个标志性存在,它在多个维度上奠定了现代互动叙事和文字冒险游戏的基础。

它的首个版本是由 Tim Anderson、Marc Blank、Bruce Daniels 和 Dave Lebling(全是麻省理工动力模型组的成员)于 1977 至 1979 年间,在 DEC PDP-10 电脑上使用 MDL 程式语编写的。

随后,这四位开发者与其他人共同成立了 Infocom 公司,进一步推动了游戏的发展。

从设计维度来看,《Zork》没有图形界面、操纵杆或配乐,屏幕上只有文字和玩家的想象力。然而,仅凭这些文字,这款游戏构建出的世界却比当时大多数游戏都更加生动。这种魔力的背后,不仅是出色的文字设计,更有精巧的工程支撑。

据微软介绍,支撑这一切的是当时极具创新性的技术——Z-Machine,一种专门打造的虚拟机引擎。Z-Machine 的规范允许开发者创建各种解释器,使同一套游戏内容能够在不同平台上运行。

最初的 Zork 在大型机上运行版本过大,不适合早期家用电脑。为此,Infocom 团队将其拆分为三部曲——Zork I、Zork II 和 Zork III——仍然共享同一个底层系统。借助 Z-Machine,团队无需为每个平台重写游戏,就能在 Apple II、IBM PC 等多种电脑上运行。

这一设计使 Zork 成为最早实现真正跨平台的游戏之一,也为后来游戏的多平台开发树立了标杆。

曾想购买《Zork》终未果,版权兜兜转转还是到了微软手中

那要问微软和 Infocom 是什么关系?

事实上,微软现在是 Zork 版权的持有者,这个 IP 是微软在 2023 年收购动视暴雪时一起“顺带”接过来的。而动视暴雪当年之所以拥有 Zork,又是因为它在 80 年代末买下了《Zork》的原始发行方 Infocom。

此次开源的背后是一项由 Xbox、动视暴雪团队,以及微软的开源项目办公室(OSPO)一起推动的联合作业。

值得一提的是,据外媒 ArsTechnica 报道,早在 80 年代,微软其实就想买《Zork》的发行权。据说比尔·盖茨还是《Zork》铁粉,当时很想让微软来发行这款游戏,但最后没谈成。

结果几十年后兜兜转转,它还是回到了微软手里,也算命运开了一个“玩笑”。

其实代码早就能看,只是“名不正言不顺”,微软这次给正了名!

针对这一次的开源,微软并没有重新建一个新的仓库,而是选择直接给《Zork》的历史代码仓库提交 pull request。

准确来说,这并不是《Zork》源码第一次出现在互联网上。

2019 年时,著名数字档案专家、互联网档案馆(Internet Archive)知名人物 Jason Scott  已经把它们上传到 GitHub,但当时的版权状态不明确——理论上来说,动视或微软随时可以提出下架,好在他们没有这么做。

那么现在不一样了:《Zork》的代码带着 MIT 许可正式开源,完全合法、没有风险。谁都可以拿去研究,也不会再担心“下一秒会不会被 DMCA”。

对此,微软 OSPO 负责人 Stacy Haffner 和微软开发者社区 VP Scott Hanselman 在公告里解释说:“我们不是为了开源而新建仓库,而是直接把代码贡献给历史。我们和 Jason Scott 合作,把 MIT License 添加到《Zork I》《Zork II》《Zork III》的源代码库,并正式记录这次开源授权。”

其中,每个仓库包含:

《Zork I》《Zork II》和《Zork III》的源代码

可用的附带文档,例如构建说明、注释及具有历史价值的文件

清晰的许可和归属信息,通过 MIT LICENSE.txt 和仓库级元数据进行说明

选择开源,微软表示,“我们的目标很简单:将具有历史意义的代码交到学生、教师和开发者手中,让他们能够学习、借鉴,甚至最重要的——体验游戏本身。”

今天如何运行 Zork I-III?

至于怎么玩,微软在公告中还特别发布了一个指南。

其指出,游戏仍可通过 Good Old Games 平台上的《Zork Anthology》(https://www.gog.com/en/game/the_zork_anthology)合法购买。

对于喜欢动手的玩家,可以使用 ZILF(现代 Z-Machine 解释器,由 Tara McGrew 创建)将游戏编译并本地运行。ZILF 可将 ZIL 文件编译成 Z3 文件,再通过 Tara 的 ZLR 运行。此外,各平台还有大量优秀的 Z-Machine 运行器可供探索。

使用 ZILF 本地运行 Zork 的步骤如下:

从命令行将 zork1.zil 编译并组装成可运行的 z3 文件:

  • "%ZILF_PATH%\zilf.exe" zork1.zil
  • "%ZILF_PATH%\zapf.exe" zork1.zap zork1-ignite.z3

然后在 Z-Machine 运行器中运行 Z3 文件。微软官方给示例中,使用的是 David Kinder 基于 Stefan Jokisch Frotz 核心开发的 Windows Frotz:

或者,可以给终端应用 CRT 滤镜,并使用 Matthew Darby 用 Python 编写的 CLI Z-Machine 实现 “Fic”:

勾起众人回忆的 Zork

最后,虽然《Zork》在今天可能没有《我的世界》或《堡垒之夜》这种级别的知名度,但对于游戏设计和互动叙事来说,它的地位堪比“开宗立派”。它让“文字互动”成为可能,影响了后来的 RPG、解谜类游戏设计。

在 AI、游戏引擎高度发达的今天,回头看看这样的作品,更能意识到:伟大的创意从来不靠 GPU,而靠有趣的大脑。

正如微软说的,「《Zork》从来不仅仅是一款游戏。它提醒我们,想象力与工程技术可以超越硬件和玩家的世代。将这段代码公开,不仅是一次庆祝,更是向最初创造了这一宇宙的 Infocom 开发者表示感谢,向 Jason Scott 及互联网档案馆几十年的守护和合作致敬,也向微软 OSPO、Xbox 和动视的同事们致谢,是他们让开源成为可能。」

对此,不少网友也涌入社交媒体平台评论道:

这真的让我起了鸡皮疙瘩。很难用语言形容《Zork》(以及 Infocom 的其他作品)对我意味着什么。这就是我在 Commodore 64 上接触到的第一款游戏。对于所有参与过这些游戏诞生的人来说,请知道,你们以一种有趣、有意义、发自内心的方式,深深影响了无数人的人生。

大概在我 14 岁的时候,也就是 20 世纪 80 年代初,我和一位一直在玩《Zork》的朋友觉得,自己设计一款游戏应该会很有趣。于是我们真的给 Infocom 寄了一封信,提议让我们为他们制作一款新游戏,并希望能使用 ZIL 和 Z-machine 来实现。出乎意料的是,他们真的回信了——虽然礼貌地拒绝了我们的提议。回头看,当时我们虽然会在 Apple II 上用 BASIC 和汇编语言编程,但如果真让我们用 ZIL 做一款游戏,我们肯定会一头雾水。所以说,Infocom 当时做了正确的决定。但这件事也说明了,他们愿意尊重两个小孩的想法,而不是直接嘲笑我们。我真希望那封回信我还留着。

哇,真没想到微软会这样做。看到经典游戏的源代码被公开用于学习,真的太棒了。

参考:https://opensource.microsoft.com/blog/2025/11/20/preserving-code-that-shaped-generations-zork-i-ii-and-iii-go-open-source

https://news.ycombinator.com/item?id=45995740

本文来自微信公众号“CSDN”,整理:屠敏,36氪经授权发布。

+1
7

好文章,需要你的鼓励

参与评论
评论千万条,友善第一条
后参与讨论
提交评论0/1000

下一篇

“卖铲人”。

1小时前

36氪APP让一部分人先看到未来
36氪
鲸准
氪空间

推送和解读前沿、有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚焦全球优秀创业者,项目融资率接近97%,领跑行业