Tarn Adams:不写故事的人
2026 年 10 月 1 日,《矮人要塞》的论坛上贴出这个月的报告。Tarn Adams 说,魔法还在做:爆炸、发光的符文、肉质的脊椎墙,诸如此类。然后他给了一句评价:非常健康向上。
他四十八岁。这样的月报他写了很多年,语气一直没变,把骇人的东西说得像家常菜。
游戏的样子很怪。屏幕上是一片字母和符号:一个矮人是一个笑脸,一个盔甲架是一个音符。你要带一群矮人挖进山里,建一座堡垒,管他们的吃住、酒、心情和葬礼。没有剧本,也没有主角,世界在开局时自己生成,历史自己跑。
《矮人要塞》2002 年开工,本来只打算做两个月。2006 年 8 月,第一个公开版本放了出来。今年八月,它过完公开二十周年。这个看起来像一堆字母的东西,后来影响过《我的世界》和《环世界》,2012 年,纽约现代艺术博物馆把它选进了一个讲电子游戏历史的展览。版本号才走到 53.16,1.0 还没有日期。
2011 年,《纽约时报》的记者去过他家。工作间是公寓的备用卧室,窗户用胶合板封死,冰箱里只有三罐汽水和一壶水,那壶水是猫的。桌上放着一叠四英寸厚的索引卡,按颜色分类,写满他打算做进游戏里的东西。他说,他喜欢能把游戏拿在手里。
那叠卡片后来变成一张两千六百项的清单。
一个人二十多年只做同一款游戏,容易被讲成坚持的故事。他的情形不苦。他做的是自己最想做的事,做得高兴,还越做越大。难的地方在别处:为了让故事自己长出来,他先把自己变成了一个不写故事的人。
先写一个想看到的故事
兄弟俩小时候用一本螺旋笔记本轮流写章节,哥哥 Zach 写一章,他写下一章,回头再从里面挑容易实现的点子,做进游戏。后来他们决定不写情节了。
「我们从来就不太想写情节,很多情节看起来可以由计算机生成。」这是他 2008 年对一家游戏媒体说的。他接着解释,把故事拆成核心元素,找出统辖它们的规则,再让这些东西在世界里跑起来。
用他自己的话,就是造出有动机的演员,然后放他们走。
2011 年记者进门的时候,他正坐在那儿对付一场吸血鬼矮人的瘟疫。他说,要是它们见人就咬,半个殖民地立刻完蛋,那太没意思了。沉默了一会儿,他又说:也许要咬三次才会传染?
多数人先搭一套系统,再看能长出什么。他的顺序相反:先要一个故事,再回头造能让它发生的零件。2016 年他讲得更具体:先写一个短篇,一个普通的奇幻故事,然后问自己,这个故事为什么有意思,哪几个拐点让它立起来;从中找出五到十个必须有的机制,就做这十个。
「就像设计地图生成器之前,先画几张示例地图。」他后来说。
按这个办法做出来最费工的东西,是神话。2016 年 3 月,他第一次去游戏开发者大会,上台讲程序生成,现场跑了一个创世神话生成器。它不往世界里塞奇幻元素,它先造一个宇宙的来历,再让这个来历去决定地理。演示里那个世界,大陆是宇宙卵的碎片。
那天他刮了胡子去开会,结果前半天没人认出他。维基百科上那张照片里,他留着一把大胡子。
世界自己长出来的部分
开局的时候,游戏先造地形,再造历史。文明和洞穴被放上地图,然后跑一场没有玩家的策略游戏,几千个角色按各自的规则行动。他说,历史只是那场游戏的记录。所以玩家进去的时候,这片地上已经有灭亡的王国、被挖空的山和几百年前的战争。
最早出名的意外是鲤鱼。兄弟俩只是把鲤鱼写成肉食的,体型和矮人差不多大。哥哥后来说:「我们不知道鲤鱼会吃矮人。可我们把它写成肉食的、和矮人差不多大,所以这件事就发生了,很好。」
然后是猫。酒馆里洒了酒,猫走过酒渍,爪子上沾了酒,舔干净的时候把酒喝了下去。游戏按体重算酒精中毒,于是地上躺满死猫。2016 年他讲这件事,像在讲一个侦探故事。管这件事的,是一段八年前写的代码:它原本用来给受伤的矮人留血脚印,八年后被新系统拿来算脚上沾了什么。
还有诗。游戏里的诗有格律,能像手艺一样在师徒之间传,也能跨物种传。有人在游戏里遇到过一个离家出走的人类,跑去跟哥布林学写诗。
再往后,玩家的手伸了进来。有人在井水里灌进吸血鬼的血,把整个区域封死,让不知情的人喝下去,量产吸血鬼,再拿它们当计算机用。吸血鬼不会死,只会越来越渴,于是有人在机器里放了一群,让它们当零件。还有人用游戏里的机械和逻辑,做出了一台能跑的《太空侵略者》。他说:「这些东西没有我一点输入,也没有一点鼓励,就自己冒出来。我只是看着它发生。」
这套方法最漂亮的地方,也是最容易吹过头的地方。他自己不吹。2019 年他说,角色的动机、目标这些东西,一直远远落后于故事里的角色。哥哥说得更直接:模拟做得再复杂,如果不浮到玩家眼前,就不会成为他们故事的一部分。
有一次,他们给紧张的矮人加了抖脚的小动作。可紧张不影响别的系统,玩家看不见,这个动作就白做了。
他说,好故事在论坛和主播那里,不在他这里。
一座地下的石室,墙上刻满符文。地图、历史和走进去的人,都由程序生成。图片:Bay 12 Games / Kitfox Games
数学换成了游戏
游戏之前,他走的是另一条路。华盛顿大学数学系本科,斯坦福博士,2005 年毕业,论文写几何里一种叫「平坦链」的东西,导师是 Brian White。他没有计算机学位,也没受过正式的编程训练。这个游戏是一个研究几何测度论的人一行一行写出来的。
读博第一年,资格考没过,补考才过。他把那一年叫作压力锅,一度抑郁。后来他形容自己是二流的数学家,意思不是能力不够,是热情不够。
「他们一周要你六十个小时,给你的题要二十个小时才解得完。」
博士后在德州农工大学,只待了一年。2006 年夏天,他走进系主任办公室,哭着辞职。系里想留他一年,出五万美元薪水,他答应了,最后还是走了。
他把论文和游戏放在一起比过。「一道数学题做完,你有一篇论文,也许能发表,论文可以当作数学大厦的一块砖,可对我来说那不重要。做完一道题,手上有一个游戏,那真是太好了。」
这段经历解释了他后来能忍受的东西。他没有在忍。他换了一个地方,那里每天都能看见成品。
每一条「不」的价钱
他把二十年的时间全押在机制上。他的「不」都不是姿态,每一条都在守一样东西,也都在付一样东西。
不做画面。十六年里,整个游戏是字母和符号。这不是审美问题:他们上一个 3D 角色扮演游戏就是被画面拖死的。2008 年他说:「我告诉自己,《矮人要塞》的画面就像分镜。分镜做完了,想拍电影再拍,在那之前不行。」省下的是做机制的时间,付掉的是界面:有些最难看的菜单,键位是他随手挑的,十几年没回头清。直到 2022 年,商业版才加上像素图、鼠标和教程。
一个人写代码。2002 年到 2023 年,这款游戏只有他一双手。到 2021 年,代码七十一万行,没有版本控制。「我不用版本控制。你要是连那是什么都不知道,就不会来骂我。」他不用,是因为不喜欢把代码放进一个黑箱、当场看不到好处。省下的是不被打断,代价是二十年只有一双手。他也形容过这款游戏怎么吞掉别的项目:一颗恒星绕着黑洞转,光被一点点吸走;等它长到某个质量,所有他想做的事都被吸了进去。
不卖名字。2011 年有人出三十万美元,想买《矮人要塞》这个名字去用。他算了一笔账:这笔钱抵不过捐款因此下降的部分。
不完成。2011 年他说 1.0 还要二十年。2016 年,那张清单走完了百分之四十二。2019 年他说,连一半都不到,而且 1.0 也不算把游戏做完。清单是活的:每加一个系统,就要回头改所有旧系统的接口。「每个系统大概都以某种方式跟别的系统相关,只是还没全部实现。」他没打算做完。他要的是让这张清单还能长。
账单最后都开在他自己身上。2019 年他才买了第一部智能手机,转头就掉进太平洋。兄弟俩的笔记本电脑都只值几百美元。2016 年有人问他一周工作多久,他说一百小时,有时候更多,没有生活。可他又反问:既然能写《矮人要塞》,为什么要休假?
游戏说明书和网站上印着一句口号:Losing is fun! 失败很有趣。他解释过,这句话是给永久死亡找的一点安慰,他还想让人接受另一件事:玩的是世界,不是堡垒。
保险
在决定卖游戏之前,他们的收入是捐款。捐款的人可以要一个故事,或者一张兄弟俩画的蜡笔画:Tarn 上色,哥哥勾线。通常一个月画一次,地点在祖母家,祖母当估价师,决定捐五美元的人拿什么、捐一百美元的拿什么。2011 年记者去的那天,桌上等着十四张。最后一张是星空下的一座高塔,Tarn 用黑笔写下捐款人拟的题词:我们要建一座高得能挖到星星的塔。写完,他把笔递给哥哥,问,你要签名吗。
2019 年 3 月,这套过了十几年的办法停住了。
一家游戏媒体的记者问他,为什么现在要把游戏搬上 Steam 卖。他先笑,笑得很响,用笑声盖住紧张,然后说:「人总会老的。说到底就是这个。」
就在宣布前不久,哥哥鼻子上的一颗瘤查出来是癌。手术大约一万美元,保险付了大半,自付一千五。Tarn 看了自己的保单。「如果是我的话,我们在同一个镇长大,医生都是同一批,我会被清空。」
发行商 Kitfox 接了这个活。合同是一份对他们有利的八二分成,对方先收回成本,而且不碰代码。
「我们不是在危机里。」他对记者说,只是躲过了一颗子弹,现在去买几件防弹衣。
除以二十
2022 年 12 月 6 日,游戏在 Steam 上线。第一天卖出去十六万份,六天三十万份。
上线前,公司每月从订阅众筹平台 Patreon 和捐款拿到一万四到一万六美元。
「这是一大笔钱,可这是二十年的钱。」他说,「你把它除以二十,就又回到正常科技公司的薪水区间了。」
哥哥的说法是:「我们找到了一个万无一失的存钱办法:二十年不卖东西,然后一次全卖。」
上线六天之后,记者问他接下来怎么办。他说,大概得把整个生活重新安排一遍,可现在脑子里想的还是矮人的事。
2023 年 1 月,公司单月入账七百二十万美元,税前,没扣平台抽成和税。
那段时间,第二个人进了这间公司。她叫 Putnam,在社区里做了十年模组,靠把游戏程序拆开来读,把这个游戏读懂了。他说,他们是从 Steam 的愿望单数字上知道这次能成的,然后才敢想,要不要再带一个人。
这也是二十多年来第一次有第二双眼睛看代码,第一次上版本控制。
代价写在 2023 年的采访里:「我已经很多年没有用我习惯的方式,加过新的、有创造性的东西了。今年大概也会是这样。」
「我不适合。我不是一个以社交出名的人。」他不想当管理者,可又说,现在不一样了,得适应。
团队现在十五个人。他说,像在一条海盗船上,大家分自己的份,你把船员留住。
房子和两只猫
2024 年 7 月 1 日,月报里出现了一句不常出现的话。他说一切都好,他快结婚了;因为牵涉到跨国搬家,事情还悬着,取决于一些国家。11 月他补了一句,最近有点婚礼忙,十月的日志和报告都漏了。12 月他说,我搬到了英国,这里没有感恩节,不过我在一家咖啡店吃了个带蔓越莓的鸡肉三明治。2025 年 7 月,他又搬了一次,搬到一个更像诺里奇的地方,正在安顿。
2026 年 9 月,德国科隆的游戏展之后,有人问他,钱赚了几年,日子有什么变化。
「我想,有一点。」他说,「我现在住在一栋房子里。我有两只猫,它们爱我。那很好。」
「这基本上就像重新过上我父母靠普通工作能过上的生活。」他补了一句,差别不大。他还说过,他爱猫,可从机制上说,猫给他添了不少麻烦。问他工作怎么样,他说:「我们回来干活了。我是说,工作是一样的。」
不一样的骨头
八月,公开二十周年,他和哥哥在直播里打开 2006 年的第一个公开版本。屏幕上只有字母。
那之后他的时间都给了魔法。计划十一月上线的更新叫「神话与魔法」:每个世界开局先有自己的创世故事,再由这个故事决定用什么仪式、开什么工坊、收什么材料、遇到什么样的对手。组成魔法树的生成器用一种叫 Lua 的脚本语言写成,玩家可以改,也可以自己写一棵。这个更新,他十年前就宣布过。
「我和哥哥一直说自己在做一个奇幻宇宙生成器,」他说,「可它从来没有真正像过。」以前每个世界的骨头都一样。这一次他说,骨头由世界自己长。
一座带炼金工坊的堡垒,晶体和药瓶在发光。这是「神话与魔法」更新里的画面。图片:Bay 12 Games / Kitfox Games
他一直说自己在造的就是这个:一个不用人写故事的世界。
AI 和裁员那件事上,他看见的是另一种许诺:按一个按钮,游戏就出来了。这让他少见地发怒。「我认识的每个人,他们的老板都在慢慢发疯。」他说,老板们想按一个按钮就做出游戏,没想过剩下的人怎么办。他父亲在污水处理厂做计算机方面的事,厂里把他裁了,因为没人说得清他在干什么。那个厂现在没有了。
十月一日,他的月报照常贴出来:魔法还在做,爆炸、发光的符文、肉质的脊椎墙,诸如此类。然后是一句评价:非常健康向上。