
整理 | 屠敏
出品 | CSDN(ID:CSDNnews)
近年來(lái),微軟在推進(jìn)開(kāi)源戰(zhàn)略的同時(shí),將不少老系統(tǒng)、軟件和工具,如 、WSL 以及 等,開(kāi)放給公眾,讓更多興趣愛(ài)好者有機(jī)會(huì)參與學(xué)習(xí)。
日前,微軟開(kāi)源再下一城!讓許多 70、80 后心中的經(jīng)典文字冒險(xiǎn)游戲《魔域》(Zork)三部曲——《Zork I》《Zork II》《Zork III》的源代碼正式開(kāi)源。用官方的話說(shuō),就是將影響幾代人的冒險(xiǎn)游戲置于 MIT 許可之下。
這意味著這些老游戲的核心代碼,未來(lái)任何人都能自由查看、研究,甚至基于它們做點(diǎn)自己的東西。當(dāng)然,商用包裝、老封面、宣傳物料這些東西依然屬于微軟,不在開(kāi)源范圍內(nèi),相關(guān)商標(biāo)也還是專有的。
盡管如此,這一舉措還是勾起了眾多玩家的回憶,也贏得了廣泛認(rèn)可。
![]()
GitHub 開(kāi)源地址:https://github.com/historicalsource/zork1
![]()
經(jīng)典的文字冒險(xiǎn)游戲 Zork
在很多人的心中,《Zork》是電腦游戲史上的一個(gè)標(biāo)志性存在,它在多個(gè)維度上奠定了現(xiàn)代互動(dòng)敘事和文字冒險(xiǎn)游戲的基礎(chǔ)。
它的首個(gè)版本是由 Tim Anderson、Marc Blank、Bruce Daniels 和 Dave Lebling(全是麻省理工動(dòng)力模型組的成員)于 1977 至 1979 年間,在 DEC PDP-10 電腦上使用 MDL 程式語(yǔ)編寫(xiě)的。
隨后,這四位開(kāi)發(fā)者與其他人共同成立了 Infocom 公司,進(jìn)一步推動(dòng)了游戲的發(fā)展。
從設(shè)計(jì)維度來(lái)看,《Zork》沒(méi)有圖形界面、操縱桿或配樂(lè),屏幕上只有文字和玩家的想象力。然而,僅憑這些文字,這款游戲構(gòu)建出的世界卻比當(dāng)時(shí)大多數(shù)游戲都更加生動(dòng)。這種魔力的背后,不僅是出色的文字設(shè)計(jì),更有精巧的工程支撐。
據(jù)微軟介紹,支撐這一切的是當(dāng)時(shí)極具創(chuàng)新性的技術(shù)——Z-Machine,一種專門打造的虛擬機(jī)引擎。Z-Machine 的規(guī)范允許開(kāi)發(fā)者創(chuàng)建各種解釋器,使同一套游戲內(nèi)容能夠在不同平臺(tái)上運(yùn)行。
最初的 Zork 在大型機(jī)上運(yùn)行版本過(guò)大,不適合早期家用電腦。為此,Infocom 團(tuán)隊(duì)將其拆分為三部曲——Zork I、Zork II 和 Zork III——仍然共享同一個(gè)底層系統(tǒng)。借助 Z-Machine,團(tuán)隊(duì)無(wú)需為每個(gè)平臺(tái)重寫(xiě)游戲,就能在 Apple II、IBM PC 等多種電腦上運(yùn)行。
這一設(shè)計(jì)使 Zork 成為最早實(shí)現(xiàn)真正跨平臺(tái)的游戲之一,也為后來(lái)游戲的多平臺(tái)開(kāi)發(fā)樹(shù)立了標(biāo)桿。
![]()
![]()
曾想購(gòu)買《Zork》終未果,版權(quán)兜兜轉(zhuǎn)轉(zhuǎn)還是到了微軟手中
那要問(wèn)微軟和 Infocom 是什么關(guān)系?
事實(shí)上,微軟現(xiàn)在是 Zork 版權(quán)的持有者,這個(gè) IP 是微軟在 2023 年收購(gòu)時(shí)一起“順帶”接過(guò)來(lái)的。而動(dòng)視暴雪當(dāng)年之所以擁有 Zork,又是因?yàn)樗?80 年代末買下了《Zork》的原始發(fā)行方 Infocom。
此次開(kāi)源的背后是一項(xiàng)由 Xbox、動(dòng)視暴雪團(tuán)隊(duì),以及微軟的開(kāi)源項(xiàng)目辦公室(OSPO)一起推動(dòng)的聯(lián)合作業(yè)。
值得一提的是,據(jù)外媒 ArsTechnica 報(bào)道,早在 80 年代,微軟其實(shí)就想買《Zork》的發(fā)行權(quán)。據(jù)說(shuō)比爾·蓋茨還是《Zork》鐵粉,當(dāng)時(shí)很想讓微軟來(lái)發(fā)行這款游戲,但最后沒(méi)談成。
結(jié)果幾十年后兜兜轉(zhuǎn)轉(zhuǎn),它還是回到了微軟手里,也算命運(yùn)開(kāi)了一個(gè)“玩笑”。
![]()
其實(shí)代碼早就能看,只是“名不正言不順”,微軟這次給正了名!
針對(duì)這一次的開(kāi)源,微軟并沒(méi)有重新建一個(gè)新的倉(cāng)庫(kù),而是選擇直接給《Zork》的歷史代碼倉(cāng)庫(kù)提交 pull request。
準(zhǔn)確來(lái)說(shuō),這并不是《Zork》源碼第一次出現(xiàn)在互聯(lián)網(wǎng)上。
2019 年時(shí),著名數(shù)字檔案專家、互聯(lián)網(wǎng)檔案館(Internet Archive)知名人物 Jason Scott 已經(jīng)把它們上傳到 GitHub,但當(dāng)時(shí)的版權(quán)狀態(tài)不明確——理論上來(lái)說(shuō),動(dòng)視或微軟隨時(shí)可以提出下架,好在他們沒(méi)有這么做。
那么現(xiàn)在不一樣了:《Zork》的代碼帶著 MIT 許可正式開(kāi)源,完全合法、沒(méi)有風(fēng)險(xiǎn)。誰(shuí)都可以拿去研究,也不會(huì)再擔(dān)心“下一秒會(huì)不會(huì)被 DMCA”。
對(duì)此,微軟 OSPO 負(fù)責(zé)人 Stacy Haffner 和微軟開(kāi)發(fā)者社區(qū) VP Scott Hanselman 在公告里解釋說(shuō):“我們不是為了開(kāi)源而新建倉(cāng)庫(kù),而是直接把代碼貢獻(xiàn)給歷史。我們和 Jason Scott 合作,把 MIT License 添加到《Zork I》《Zork II》《Zork III》的源代碼庫(kù),并正式記錄這次開(kāi)源授權(quán)。”
其中,每個(gè)倉(cāng)庫(kù)包含:
《Zork I》《Zork II》和《Zork III》的源代碼
可用的附帶文檔,例如構(gòu)建說(shuō)明、注釋及具有歷史價(jià)值的文件
清晰的許可和歸屬信息,通過(guò) MIT LICENSE.txt 和倉(cāng)庫(kù)級(jí)元數(shù)據(jù)進(jìn)行說(shuō)明
選擇開(kāi)源,微軟表示,“我們的目標(biāo)很簡(jiǎn)單:將具有歷史意義的代碼交到學(xué)生、教師和開(kāi)發(fā)者手中,讓他們能夠?qū)W習(xí)、借鑒,甚至最重要的——體驗(yàn)游戲本身。”
![]()
今天如何運(yùn)行 Zork I-III?
至于怎么玩,微軟在公告中還特別發(fā)布了一個(gè)指南。
其指出,游戲仍可通過(guò) Good Old Games 平臺(tái)上的《Zork Anthology》(https://www.gog.com/en/game/the_zork_anthology)合法購(gòu)買。
對(duì)于喜歡動(dòng)手的玩家,可以使用 ZILF(現(xiàn)代 Z-Machine 解釋器,由 Tara McGrew 創(chuàng)建)將游戲編譯并本地運(yùn)行。ZILF 可將 ZIL 文件編譯成 Z3 文件,再通過(guò) Tara 的 ZLR 運(yùn)行。此外,各平臺(tái)還有大量?jī)?yōu)秀的 Z-Machine 運(yùn)行器可供探索。
使用 ZILF 本地運(yùn)行 Zork 的步驟如下:
從命令行將 zork1.zil 編譯并組裝成可運(yùn)行的 z3 文件:
"%ZILF_PATH%\zapf.exe" zork1.zap zork1-ignite.z3然后在 Z-Machine 運(yùn)行器中運(yùn)行 Z3 文件。微軟官方給示例中,使用的是 David Kinder 基于 Stefan Jokisch Frotz 核心開(kāi)發(fā)的 Windows Frotz:
![]()
或者,可以給終端應(yīng)用 CRT 濾鏡,并使用 Matthew Darby 用 Python 編寫(xiě)的 CLI Z-Machine 實(shí)現(xiàn) “Fic”:
![]()
![]()
勾起眾人回憶的 Zork
最后,雖然《Zork》在今天可能沒(méi)有《我的世界》或《堡壘之夜》這種級(jí)別的知名度,但對(duì)于游戲設(shè)計(jì)和互動(dòng)敘事來(lái)說(shuō),它的地位堪比“開(kāi)宗立派”。它讓“文字互動(dòng)”成為可能,影響了后來(lái)的 RPG、解謎類游戲設(shè)計(jì)。
在 AI、游戲引擎高度發(fā)達(dá)的今天,回頭看看這樣的作品,更能意識(shí)到:偉大的創(chuàng)意從來(lái)不靠 GPU,而靠有趣的大腦。
正如微軟說(shuō)的,「《Zork》從來(lái)不僅僅是一款游戲。它提醒我們,想象力與工程技術(shù)可以超越硬件和玩家的世代。將這段代碼公開(kāi),不僅是一次慶祝,更是向最初創(chuàng)造了這一宇宙的 Infocom 開(kāi)發(fā)者表示感謝,向 Jason Scott 及互聯(lián)網(wǎng)檔案館幾十年的守護(hù)和合作致敬,也向微軟 OSPO、Xbox 和動(dòng)視的同事們致謝,是他們讓開(kāi)源成為可能。」
對(duì)此,不少網(wǎng)友也涌入社交媒體平臺(tái)評(píng)論道:
這真的讓我起了雞皮疙瘩。很難用語(yǔ)言形容《Zork》(以及 Infocom 的其他作品)對(duì)我意味著什么。這就是我在 Commodore 64 上接觸到的第一款游戲。對(duì)于所有參與過(guò)這些游戲誕生的人來(lái)說(shuō),請(qǐng)知道,你們以一種有趣、有意義、發(fā)自內(nèi)心的方式,深深影響了無(wú)數(shù)人的人生。
大概在我 14 歲的時(shí)候,也就是 20 世紀(jì) 80 年代初,我和一位一直在玩《Zork》的朋友覺(jué)得,自己設(shè)計(jì)一款游戲應(yīng)該會(huì)很有趣。于是我們真的給 Infocom 寄了一封信,提議讓我們?yōu)樗麄冎谱饕豢钚掠螒颍⑾M苁褂?ZIL 和 Z-machine 來(lái)實(shí)現(xiàn)。出乎意料的是,他們真的回信了——雖然禮貌地拒絕了我們的提議。回頭看,當(dāng)時(shí)我們雖然會(huì)在 Apple II 上用 BASIC 和匯編語(yǔ)言編程,但如果真讓我們用 ZIL 做一款游戲,我們肯定會(huì)一頭霧水。所以說(shuō),Infocom 當(dāng)時(shí)做了正確的決定。但這件事也說(shuō)明了,他們?cè)敢庾鹬貎蓚€(gè)小孩的想法,而不是直接嘲笑我們。我真希望那封回信我還留著。
哇,真沒(méi)想到微軟會(huì)這樣做。看到經(jīng)典游戲的源代碼被公開(kāi)用于學(xué)習(xí),真的太棒了。
參考: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
【活動(dòng)分享】2025 年是 C++ 正式發(fā)布以來(lái)的 40 周年,也是全球 C++ 及系統(tǒng)軟件技術(shù)大會(huì)舉辦 20 周年。這一次,C++ 之父 Bjarne Stroustrup 將再次親臨「2025 全球 C++及系統(tǒng)軟件技術(shù)大會(huì)」現(xiàn)場(chǎng),與全球頂尖的系統(tǒng)軟件工程師、編譯器專家、AI 基礎(chǔ)設(shè)施研究者同臺(tái)對(duì)話。
本次大會(huì)共設(shè)立現(xiàn)代 C++ 最佳實(shí)踐、架構(gòu)與設(shè)計(jì)演化、軟件質(zhì)量建設(shè)、安全與可靠、研發(fā)效能、大模型驅(qū)動(dòng)的軟件開(kāi)發(fā)、AI 算力與優(yōu)化、異構(gòu)計(jì)算、高性能與低時(shí)延、并發(fā)與并行、系統(tǒng)級(jí)軟件、嵌入式系統(tǒng)十二大主題,共同構(gòu)建了一個(gè)全面而立體的知識(shí)體系,確保每一位參會(huì)者——無(wú)論是語(yǔ)言愛(ài)好者、系統(tǒng)架構(gòu)師、性能優(yōu)化工程師,還是技術(shù)管理者——都能在這里找到自己的坐標(biāo),收獲深刻的洞見(jiàn)與啟發(fā)。詳情參考官網(wǎng):https://cpp-summit.org/
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.