1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

8 月 1 日消息 這是一款「開發到死」,「永不停更」的遊戲。兄弟兩人,一人開發,一人劇情,共同維持了這款遊戲近 20 年。現在的玩家剛剛打開它,往往會發出「這什麼玩意兒?」的疑問:沒錯,這款《矮人要塞》 (Dwarf Fortress) 的默認界面完全由 ASCII 字符構成。它是《我的世界》的靈感來源之一,還被紐約現代藝術博物館收藏。影響力不僅限於遊戲,更是改變了藝術界對遊戲的看法。

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

除了畫面原始以外,這款遊戲還不支持滑鼠操作,玩家需要記住一整套鍵盤指令。規則也極其復雜,與其他遊戲相比《矮人要塞》的難度曲線被調侃成這樣:

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

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

人類歷史上最復雜的遊戲

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

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

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

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

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

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

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

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

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

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

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

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

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

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

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

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

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

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

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

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

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

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

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

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

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

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

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

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

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

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

這根本不是 Bug,是功能!

《矮人要塞》一直保持原始畫面的原因也是開發者 20 年來一直忙於修改復雜的玩法規則,根本找不到時間製作圖形界面。到現在已經積累了 71 萬行代碼。

如此細致的一款遊戲於 2002 年開始製作,從 2006 年發行首個版本到今天就一直是免費的。並且還保持著每隔兩三年就會打個大補丁的更新頻率。

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

從斯坦福數學博士到遊戲製作人

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

▲ 左:Zach 右:Tarn

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

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

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

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

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

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

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

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

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

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

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

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

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

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

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

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

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

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

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

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

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

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

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

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

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

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

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

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

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

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

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

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

▲ Zach Adams

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

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

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

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

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

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

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

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

1個人70萬行代碼 20年持續更新 史上最復雜遊戲號稱開發到死

遊戲官網:點擊打開

懶人包:點擊打開

steam 地址:點擊打開

來源:cnBeta