1個人70萬行程式碼,20年持續更新,這款遊戲號稱開發到死,永不停更

夢晨 博雯 發自 凹非寺
量子位 報道 | 公眾號 QbitAI

這是一款「開發到死」,「永不停更」的遊戲。

兄弟兩人,一人開發,一人劇情,共同維持了這款遊戲近20年

現在的玩家剛剛打開它,往往會發出「這啥玩意兒?」的疑問:

沒錯,這款《矮人要塞》 (Dwarf Fortress)的默認界面完全由ASCII字符構成。

它是《我的世界》的靈感來源之一,還被紐約現代藝術博物館收藏。

影響力不僅限於遊戲,更是改變了藝術界對遊戲的看法。

除了畫面原始以外,這款遊戲還不支持滑鼠操作,玩家需要記住一整套鍵盤指令。

規則也極其複雜,與其他遊戲相比《矮人要塞》的難度曲線被調侃成這樣:

這樣一款各方面都「勸退」的遊戲,到底靠什麼成為公認的神作?

人類歷史上最複雜的遊戲

整體來看,這是一款沙盒模擬經營遊戲,玩家控制一群矮人,試圖建造並經營一個要塞。

每次開始新遊戲都由程序隨機生成一個世界

這個隨機生成的世界有完整的地形、氣候、礦產分佈、動植物生態圈等要素,並按規則動態變化。

還要生成整個文明的歷史,各個種族間的衝突、家族血緣關係,每個遊戲人物有自己的性格、喜好和記憶。

下圖就是在生成歷史,到第164年已經發生了27萬個對後世有影響的事件。

這個過程甚至會把性能稍弱的CPU榨乾

這個過程甚至會把性能稍弱的CPU榨乾。

這個過程甚至會把性能稍弱的CPU榨乾

遊戲中的角色並沒有抽象的「生命值」,而是身體的每個部位都有獨立的狀態,遇到火焰會燒傷,低溫會生病,摔倒會骨折。

在戰鬥中受傷也沒有喝生命藥水就能回覆的簡單機制,如果不好好包紮傷口,戰鬥勝利的一方也會隨後感染而死亡……

但事實上,想要在一篇文章裡說明白《矮人要塞》的玩法幾乎是不可能的。

甚至從一個經典「Bug」就能看出,這個遊戲世界有多複雜

在某次更新以後,有玩家在遊戲裡養的兩隻貓都離奇死亡了。

要塞沒有被入侵,從遊戲記錄裡看沒有發生任何戰鬥,唯一的線索就是兩隻貓倒在一大灘嘔吐物裡。

他猜測或許是酒精中毒?但遊戲裡貓的設定根本不會喝酒,於是他在遊戲官方論壇裡報告了這個問題。

隨後,越來越多的玩家也遇到了同樣的問題,他們在遊戲裡養的貓接二連三莫名死亡。

並且玩家觀察到只有貓會出現這個現象,其他寵物暫時安全。

直到一位玩家目擊了他的貓倒在發生鬥毆的酒館裡,真相終於浮出水面。

原來是矮人們打架時把酒灑在了地板上,貓經過時酒液粘在它們的毛髮上,隨後貓在清理自己毛髮時攝入了過量酒精而中毒死亡。

遊戲製作人終於找到問題出現在「從身體表面攝入物質」這部分程式碼的數值問題,並進行了調整。

遊戲出了Bug,玩家們反倒很開心。這個Bug正可以說明他們熱愛的這款遊戲的偉大之處。

因為這個Bug的出現需要一系列複雜的規則和互動:

在矮人的設定上,愛喝酒,喝醉了可能打架。

在動物的設定上,貓有毛髮,還會通過舔清理自己。

在物理法則上,液體會灑、會留在地板上,液體會粘在貓毛上,而貓舔毛會攝入沾上的液體,酒精的毒性與生物的體重相關……

所有這些規則要同時成立並進行互動才能產生這個Bug,也難怪有玩家評價到:

這根本不是Bug,是功能!

《矮人要塞》一直保持原始畫面的原因也是開發者20年來一直忙於修改複雜的玩法規則,根本找不到時間製作圖形界面。

到現在已經積累了71萬行程式碼。

如此細緻的一款遊戲於2002年開始製作,從2006年發行首個版本到今天就一直是免費的。

並且還保持著每隔兩三年就會打個大補丁的更新頻率。

這樣的傳奇遊戲背後是怎樣的兩位製作人?

從史丹佛數學博士到遊戲製作人

從史丹佛數學博士到遊戲製作人
左:Zach 右:Tarn

時間來到2004年,此時的Tarn Adams正焦頭爛額。

一來,他正忙於史丹佛大學的數學博士學位的申請。

二來,他和哥哥Zach Adams共同開發的遊戲《亞莫之奴:神與血》開始出現越來越多的問題。

雙重困境之下,Tarn決定暫停這款遊戲的開發,宣佈將主要精力轉移到另一款遊戲上——

也就是我們現在熟知的矮人要塞,全名《亞莫之奴:神與血第二章:矮人要塞》。

不過,這時Tarn的生活重心主要還是在學業上。

比如2004年,他就在《幾何分析》雜誌上發表了一篇數學論文:

當然,在此期間,兄弟倆還是合夥「不務正業」,創辦了遊戲公司Bay 12 Games:

Tarn的數學知識使他非常擅長空間方面的演算法,而Zach則擁有豐富的古代歷史知識。

在兩人合作開發併發布了幾款免費遊戲之後,也吸引到了一小批粉絲,賺了大概300美元

對這時候的哥倆來說,遊戲開發還只是個兼職

到2006年,Tarn繼續在德州農工大學攻讀博士後。

但此時,科研與遊戲開發之間的衝突已經愈發緊張,讓Tarn時常處在一種抑鬱的情緒之中。

在數學領域深造,這是他從本科時代就開始的目標。

但同時,Tarn也是一個小學五年級就自己開發遊戲玩,高中就在線上發佈公開遊戲的骨灰級遊戲愛好者啊!

深思熟慮之後,這一年,Tarn決定退學,然後全職遊戲開發!

在這期間收入完全靠粉絲自願捐贈。

在這期間收入完全靠粉絲自願捐贈

到了2006年8月8日,矮人要塞的第一個alpha版本發佈。

在接下來的幾個月中,他們也逐漸積累了一批死忠粉。

靠粉絲的捐贈可以獲得平均每月800-1000美元

按照正常邏輯,找發行商合作,然後開始賺錢似乎是一條理所應當的發展之路。

但是兄弟兩人擔心一旦商業化,他們會沒法自己把握遊戲更新的節奏。

為此,兩人拒絕了很多發行商的合作請求,承諾遊戲繼續提供免費下載。

就在這樣的承諾中,矮人要塞頑強地生存了下來,並且越做越大。

因患上癌症終於準備上線Steam

到了2019年,兄弟中的哥哥Zach查出患有癌症,高昂的醫藥費讓兩人逐漸感到力不從心。

Zach Adams

終於與發行商Kitfox Games合作,決定讓遊戲登上Steam與Itch.io平臺出售。

不過玩家是否花錢購買完全靠自願,免費版也將繼續開放並保證持續更新。

為了讓降低新玩家的上手難度,出售版將會包含全新的圖形界面、符合現代習慣的操作模式,自動更新和Steam創意工坊功能。

目前新版遊戲仍在開發中,發售日期和價格都沒有公佈。

每個季度兄弟倆都會公佈最新的開發進展。

每個季度兄弟倆都會公佈最新的開發進展

現在如果想要嘗試這款傳奇遊戲,最好的方式是下載玩家社區維護的「懶人包」,集成了玩家自制圖形界面和更多降低遊戲上手成本的工具。

遊戲官網:
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

相關文章

臉部辨識遭到美國波士頓政府禁用

臉部辨識遭到美國波士頓政府禁用

郭一璞 發自 凹非寺量子位 報道 | 公眾號 QbitAI 舊金山之後,美國又有一座大城市禁用臉部辨識了。這次,是哈佛、MIT等知名高校的所...

黃仁勳從烤箱裡取出新鮮出爐的GPU

黃仁勳從烤箱裡取出新鮮出爐的GPU

深黑的皮衣,蒼白的頭髮,熟悉的Jensen Huang又來了,但是少了寬敞的會場和粉絲的尖叫。 因為美國疫情的原因,英偉達和其他科技公司一樣...