1个人70万行代码,20年持续更新,这款游戏号称开发到死,永不停更
Posted QbitAl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1个人70万行代码,20年持续更新,这款游戏号称开发到死,永不停更相关的知识,希望对你有一定的参考价值。
梦晨 博雯 发自 凹非寺
量子位 报道 | 公众号 QbitAI
这是一款「开发到死」,「永不停更」的游戏。
兄弟两人,一人开发,一人剧情,共同维持了这款游戏近20年。
现在的玩家刚刚打开它,往往会发出“这啥玩意儿?”的疑问:
没错,这款《矮人要塞》 (Dwarf Fortress)的默认界面完全由ASCII字符构成。
它是《我的世界》的灵感来源之一,还被纽约现代艺术博物馆收藏。
影响力不仅限于游戏,更是改变了艺术界对游戏的看法。
除了画面原始以外,这款游戏还不支持鼠标操作,玩家需要记住一整套键盘指令。
规则也极其复杂,与其他游戏相比《矮人要塞》的难度曲线被调侃成这样:
这样一款各方面都“劝退”的游戏,到底靠什么成为公认的神作?
人类历史上最复杂的游戏
整体来看,这是一款沙盒模拟经营游戏,玩家控制一群矮人,试图建造并经营一个要塞。
每次开始新游戏都由程序随机生成一个世界。
这个随机生成的世界有完整的地形、气候、矿产分布、动植物生态圈等要素,并按规则动态变化。
还要生成整个文明的历史,各个种族间的冲突、家族血缘关系,每个游戏人物有自己的性格、喜好和记忆。
下图就是在生成历史,到第164年已经发生了27万个对后世有影响的事件。
这个过程甚至会把性能稍弱的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
以上是关于1个人70万行代码,20年持续更新,这款游戏号称开发到死,永不停更的主要内容,如果未能解决你的问题,请参考以下文章
70 万行代码历时 20 年,一名程序员写出的史诗般的计算机程序
70 万行代码历时 20 年,一名程序员写出的史诗般的计算机程序
70万行代码历时20年,一名开发人员写出的史诗般的计算机程序
70 万行代码历时 20 年,一名程序员写出的史诗般的计算机程序