![]()
1991年發(fā)售的《文明1》至今仍有玩家。GitHub上這個(gè)項(xiàng)目用C#重寫(xiě)了全部代碼,Star數(shù)378,F(xiàn)ork數(shù)18——數(shù)字不大,但做了一件法律上極其微妙的事。
項(xiàng)目負(fù)責(zé)人rajko-horvat沒(méi)碰一行原版代碼。原版是C語(yǔ)言和x86匯編,他用C#和.NET Core 8從零寫(xiě)起,再套一個(gè)虛擬CPU來(lái)模擬原版的匯編邏輯。最終目標(biāo):所有代碼和資源都換成無(wú)版權(quán)版本,但游戲玩起來(lái)和1991年那版一模一樣。
這像給一輛老爺車(chē)換引擎。外殼還是那輛福特T型車(chē),里面每個(gè)零件都重新鑄造,但發(fā)動(dòng)起來(lái)聲音、速度、頓挫感分毫不差。
為什么必須"合法擁有原版"才能玩
項(xiàng)目README里反復(fù)強(qiáng)調(diào):你必須自己有一份DOS版《文明1》,把OpenCiv1的Release文件拷貝進(jìn)原版目錄才能運(yùn)行。這不是矯情,是版權(quán)防火墻。
原版游戲的.txt文本、.pic圖像、.pal調(diào)色板文件全是Microprose的版權(quán)資產(chǎn),從未開(kāi)源。rajko-horvat的策略是代碼全換,資源暫時(shí)借用——前提是用戶自己合法持有。GitHub倉(cāng)庫(kù)里干干凈凈,沒(méi)有一個(gè)文件來(lái)自原版。
![]()
這種做法在開(kāi)源游戲圈有先例,但風(fēng)險(xiǎn)極高。1999年的FreeCiv走了另一條路:重新設(shè)計(jì)玩法、美術(shù)、UI,結(jié)果成了《文明》的"精神續(xù)作"而非復(fù)刻。OpenCiv1的野心更大:像素級(jí)還原,但法律上完全獨(dú)立。
FAQ里有個(gè)尖銳問(wèn)題:"《文明7》都快出了,重做《文明1》有什么意義?"
rajko-horvat沒(méi)直接回答。但項(xiàng)目描述里藏著線索:原版代碼從未發(fā)布,至今仍受版權(quán)法保護(hù)。對(duì)一部分人來(lái)說(shuō),"能合法研究、修改、分發(fā)"本身就是意義——哪怕只是讓33年前的游戲在現(xiàn)代系統(tǒng)上穩(wěn)定運(yùn)行,不需要DOS模擬器。
技術(shù)方案:虛擬CPU是妥協(xié)還是聰明
原版《文明1》有大量x86匯編代碼,直接反編譯會(huì)踩版權(quán)雷區(qū)。rajko-horvat的解法是寫(xiě)了一個(gè)虛擬CPU,讓原版匯編指令在這個(gè)虛擬環(huán)境里執(zhí)行,其他部分用C#重寫(xiě)。
這相當(dāng)于給匯編代碼造了一個(gè)"沙盒監(jiān)獄"。它跑起來(lái),但和宿主系統(tǒng)完全隔離,最終目標(biāo)是逐步替換,直到虛擬CPU也退休。
![]()
項(xiàng)目依賴清單很短:.NET Core 8,部分Windows機(jī)器需要Visual C++ 2015-2019運(yùn)行庫(kù)。對(duì)比原版DOS游戲的配置要求,這幾乎是兩個(gè)時(shí)代的對(duì)話。
但"逐步替換"的進(jìn)度條并不樂(lè)觀。361次提交、378個(gè)Star,開(kāi)發(fā)周期已經(jīng)持續(xù)數(shù)年。開(kāi)源項(xiàng)目的經(jīng)典困境:熱度有限,維護(hù)者精力有限,目標(biāo)卻極其龐大——全部資源重做,包括圖形、音樂(lè)、文本。
社區(qū)規(guī)模與野心的落差
Fork數(shù)18,意味著只有18個(gè)人嘗試過(guò)分支開(kāi)發(fā)。對(duì)一款目標(biāo)是"完全替代33年前商業(yè)游戲"的項(xiàng)目來(lái)說(shuō),這個(gè)數(shù)字偏低。
對(duì)比之下,F(xiàn)reeCiv的社區(qū)活躍得多,因?yàn)樗档土碎T(mén)檻:不需要擁有原版,玩法也有現(xiàn)代改良。OpenCiv1的"潔癖"策略——必須合法持有原版、必須像素級(jí)還原——把受眾收窄到了硬核復(fù)古玩家和法律謹(jǐn)慎派開(kāi)發(fā)者。
FAQ里有句話值得玩味:"重寫(xiě)代碼執(zhí)行相同功能,但代碼完全不同,MIT協(xié)議。"這是整個(gè)項(xiàng)目的法律基石,也是它存在的理由。不是懷舊,是證明一種可能性:即使版權(quán)鎖死,技術(shù)社區(qū)仍能創(chuàng)造出"功能等價(jià)但法律干凈"的替代品。
《文明》系列本身就在講技術(shù)迭代如何改寫(xiě)文明進(jìn)程。這個(gè)項(xiàng)目的諷刺之處在于:它用33年后的技術(shù),去復(fù)活33年前的游戲,而法律框架還停留在1991年的邏輯里。
如果rajko-horvat團(tuán)隊(duì)最終完成了全部資源替換,OpenCiv1會(huì)成為什么?一個(gè)完全免費(fèi)的《文明1》,還是證明了"清潔室復(fù)刻"(clean-room implementation)在游戲領(lǐng)域的可行性?
特別聲明:以上內(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.