1個(gè)人70萬行代碼,20年持續(xù)更新,這款游戲號(hào)稱開發(fā)到死,永不停更
這是一款「開發(fā)到死」,「永不停更」的游戲。
兄弟兩人,一人開發(fā),一人劇情,共同維持了這款游戲近20年。
現(xiàn)在的玩家剛剛打開它,往往會(huì)發(fā)出“這啥玩意兒?”的疑問:
沒錯(cuò),這款《矮人要塞》 (Dwarf Fortress)的默認(rèn)界面完全由ASCII字符構(gòu)成。
它是《我的世界》的靈感來源之一,還被紐約現(xiàn)代藝術(shù)博物館收藏。
影響力不僅限于游戲,更是改變了藝術(shù)界對(duì)游戲的看法。
除了畫面原始以外,這款游戲還不支持鼠標(biāo)操作,玩家需要記住一整套鍵盤指令。
規(guī)則也極其復(fù)雜,與其他游戲相比《矮人要塞》的難度曲線被調(diào)侃成這樣:
這樣一款各方面都“勸退”的游戲,到底靠什么成為公認(rèn)的神作?
整體來看,這是一款沙盒模擬經(jīng)營(yíng)游戲,玩家控制一群矮人,試圖建造并經(jīng)營(yíng)一個(gè)要塞。
每次開始新游戲都由程序隨機(jī)生成一個(gè)世界。
這個(gè)隨機(jī)生成的世界有完整的地形、氣候、礦產(chǎn)分布、動(dòng)植物生態(tài)圈等要素,并按規(guī)則動(dòng)態(tài)變化。
還要生成整個(gè)文明的歷史,各個(gè)種族間的沖突、家族血緣關(guān)系,每個(gè)游戲人物有自己的性格、喜好和記憶。
下圖就是在生成歷史,到第164年已經(jīng)發(fā)生了27萬個(gè)對(duì)后世有影響的事件。
這個(gè)過程甚至?xí)研阅苌匀醯腃PU榨干。
游戲中的角色并沒有抽象的“生命值”,而是身體的每個(gè)部位都有獨(dú)立的狀態(tài),遇到火焰會(huì)燒傷,低溫會(huì)生病,摔倒會(huì)骨折。
在戰(zhàn)斗中受傷也沒有喝生命藥水就能回復(fù)的簡(jiǎn)單機(jī)制,如果不好好包扎傷口,戰(zhàn)斗勝利的一方也會(huì)隨后感染而死亡……
但事實(shí)上,想要在一篇文章里說明白《矮人要塞》的玩法幾乎是不可能的。
甚至從一個(gè)經(jīng)典“Bug”就能看出,這個(gè)游戲世界有多復(fù)雜。
在某次更新以后,有玩家在游戲里養(yǎng)的兩只貓都離奇死亡了。
要塞沒有被入侵,從游戲記錄里看沒有發(fā)生任何戰(zhàn)斗,唯一的線索就是兩只貓倒在一大灘嘔吐物里。
他猜測(cè)或許是酒精中毒?但游戲里貓的設(shè)定根本不會(huì)喝酒,于是他在游戲官方論壇里報(bào)告了這個(gè)問題。
隨后,越來越多的玩家也遇到了同樣的問題,他們?cè)谟螒蚶镳B(yǎng)的貓接二連三莫名死亡。
并且玩家觀察到只有貓會(huì)出現(xiàn)這個(gè)現(xiàn)象,其他寵物暫時(shí)安全。
直到一位玩家目擊了他的貓倒在發(fā)生斗毆的酒館里,真相終于浮出水面。
原來是矮人們打架時(shí)把酒灑在了地板上,貓經(jīng)過時(shí)酒液粘在它們的毛發(fā)上,隨后貓?jiān)谇謇碜约好l(fā)時(shí)攝入了過量酒精而中毒死亡。
游戲制作人終于找到問題出現(xiàn)在“從身體表面攝入物質(zhì)”這部分代碼的數(shù)值問題,并進(jìn)行了調(diào)整。
游戲出了Bug,玩家們反倒很開心。這個(gè)Bug正可以說明他們熱愛的這款游戲的偉大之處。
因?yàn)檫@個(gè)Bug的出現(xiàn)需要一系列復(fù)雜的規(guī)則和交互:
在矮人的設(shè)定上,愛喝酒,喝醉了可能打架。
在動(dòng)物的設(shè)定上,貓有毛發(fā),還會(huì)通過舔清理自己。
在物理法則上,液體會(huì)灑、會(huì)留在地板上,液體會(huì)粘在貓毛上,而貓?zhí)蛎珪?huì)攝入沾上的液體,酒精的毒性與生物的體重相關(guān)……
所有這些規(guī)則要同時(shí)成立并進(jìn)行交互才能產(chǎn)生這個(gè)Bug,也難怪有玩家評(píng)價(jià)到:
這根本不是Bug,是功能!
《矮人要塞》一直保持原始畫面的原因也是開發(fā)者20年來一直忙于修改復(fù)雜的玩法規(guī)則,根本找不到時(shí)間制作圖形界面。
到現(xiàn)在已經(jīng)積累了71萬行代碼。
如此細(xì)致的一款游戲于2002年開始制作,從2006年發(fā)行首個(gè)版本到今天就一直是免費(fèi)的。
并且還保持著每隔兩三年就會(huì)打個(gè)大補(bǔ)丁的更新頻率。
這樣的傳奇游戲背后是怎樣的兩位制作人?
△左:Zach 右:Tarn
時(shí)間來到2004年,此時(shí)的Tarn Adams正焦頭爛額。
一來,他正忙于斯坦福大學(xué)的數(shù)學(xué)博士學(xué)位的申請(qǐng)。
二來,他和哥哥Zach Adams共同開發(fā)的游戲《亞莫之奴:神與血》開始出現(xiàn)越來越多的問題。
雙重困境之下,Tarn決定暫停這款游戲的開發(fā),宣布將主要精力轉(zhuǎn)移到另一款游戲上——
也就是我們現(xiàn)在熟知的矮人要塞,全名《亞莫之奴:神與血第二章:矮人要塞》。
不過,這時(shí)Tarn的生活重心主要還是在學(xué)業(yè)上。
比如2004年,他就在《幾何分析》雜志上發(fā)表了一篇數(shù)學(xué)論文:
當(dāng)然,在此期間,兄弟倆還是合伙“不務(wù)正業(yè)”,創(chuàng)辦了游戲公司Bay 12 Games:
Tarn的數(shù)學(xué)知識(shí)使他非常擅長(zhǎng)空間方面的算法,而Zach則擁有豐富的古代歷史知識(shí)。
在兩人合作開發(fā)并發(fā)布了幾款免費(fèi)游戲之后,也吸引到了一小批粉絲,賺了大概300美元。
對(duì)這時(shí)候的哥倆來說,游戲開發(fā)還只是個(gè)兼職。
到2006年,Tarn繼續(xù)在德州農(nóng)工大學(xué)攻讀博士后。
但此時(shí),科研與游戲開發(fā)之間的沖突已經(jīng)愈發(fā)緊張,讓Tarn時(shí)常處在一種抑郁的情緒之中。
在數(shù)學(xué)領(lǐng)域深造,這是他從本科時(shí)代就開始的目標(biāo)。
但同時(shí),Tarn也是一個(gè)小學(xué)五年級(jí)就自己開發(fā)游戲玩,高中就在線上發(fā)布公開游戲的骨灰級(jí)游戲愛好者?。?/p>
深思熟慮之后,這一年,Tarn決定退學(xué),然后全職游戲開發(fā)!
在這期間收入完全靠粉絲自愿捐贈(zèng)。
到了2006年8月8日,矮人要塞的第一個(gè)alpha版本發(fā)布。
在接下來的幾個(gè)月中,他們也逐漸積累了一批死忠粉。
靠粉絲的捐贈(zèng)可以獲得平均每月800-1000美元。
按照正常邏輯,找發(fā)行商合作,然后開始賺錢似乎是一條理所應(yīng)當(dāng)?shù)陌l(fā)展之路。
但是兄弟兩人擔(dān)心一旦商業(yè)化,他們會(huì)沒法自己把握游戲更新的節(jié)奏。
為此,兩人拒絕了很多發(fā)行商的合作請(qǐng)求,承諾游戲繼續(xù)提供免費(fèi)下載。
就在這樣的承諾中,矮人要塞頑強(qiáng)地生存了下來,并且越做越大。
到了2019年,兄弟中的哥哥Zach查出患有癌癥,高昂的醫(yī)藥費(fèi)讓兩人逐漸感到力不從心。
△ Zach Adams
終于與發(fā)行商Kitfox Games合作,決定讓游戲登上Steam與Itch.io平臺(tái)出售。
不過玩家是否花錢購買完全靠自愿,免費(fèi)版也將繼續(xù)開放并保證持續(xù)更新。
為了讓降低新玩家的上手難度,出售版將會(huì)包含全新的圖形界面、符合現(xiàn)代習(xí)慣的操作模式,自動(dòng)更新和Steam創(chuàng)意工坊功能。
目前新版游戲仍在開發(fā)中,發(fā)售日期和價(jià)格都沒有公布。
每個(gè)季度兄弟倆都會(huì)公布最新的開發(fā)進(jìn)展。
現(xiàn)在如果想要嘗試這款傳奇游戲,最好的方式是下載玩家社區(qū)維護(hù)的“懶人包”,集成了玩家自制圖形界面和更多降低游戲上手成本的工具。
游戲官網(wǎng):http://www.bay12games.com/dwarves/
懶人包:https://dffd.bay12games.com/file.php?id=7622
steam地址:https://store.steampowered.com/app/975370/Dwarf_Fortress/
參考鏈接:
[1]https://stackoverflow.blog/2021/07/28/700000-lines-of-code-20-years-and-one-developer-how-dwarf-fortress-is-built/
[2]https://news.ycombinator.com/item?id=27996684
[3]https://www.reddit.com/r/programming/comments/otwbsj/700000_lines_of_code_20_years_and_one_developer/
[4]http://www.bay12games.com/dwarves/mantisbt/view.php?id=9195
[5]https://en.wikipedia.org/wiki/Tarn_Adams
本文來自微信公眾號(hào)“量子位”(ID:QbitAI),作者:夢(mèng)晨 博雯,36氪經(jīng)授權(quán)發(fā)布。
