第 342 期·中文精读

托德·霍华德:《天际》、《上古卷轴6》、《辐射》与《星空》

Todd Howard: Skyrim, Elder Scrolls 6, Fallout, and Starfield

贝塞斯达游戏总监谈《天际》《辐射》《星空》的设计取舍与《上古卷轴6》的构想。

官方音频00:00 / --:--
中文精读由 AI 基于原始访谈改写,非官方翻译,可能存在偏差或错误;表述以原音频与官方文稿为准。说明

Todd Howard 提到过一个细节:Bethesda 的游戏里通常留着一块开发者测试用的格子区域,里面整整齐齐堆着游戏里所有的武器。他们从不指望玩家找到这块地方。玩家总能找到。

Lex Fridman 在访谈一开头就问了个古怪的问题:我们有没有可能正活在某个未来的 Todd Howard 设计的游戏里,如果是,怎么逃出去。

这话听着像玩笑,托德的回答很认真。他们做游戏的方式,就是尽量让世界对一切操作都有反应。玩家会试每一扇门,撞每一面墙,捡起每一个杯子,然后在心里确认这个世界的规则长什么样。规则一宽松,混乱就免不了。真有人被困在他们的游戏里,那个人会一直试下去,最后总能找到一扇设计师没预料到的门。

那不是设计出来的出口。那是意外留下的出口,是个让人开心的 bug。(托德·霍华德)

Lex 补了一句《楚门的世界》:干脆上船,一直往前开。托德说对,一直开。

后面那句更有意思:游戏越真实,那扇门越难找。世界越大,玩家越有耐心把每个角落摸一遍。他们因此学会了一件事,别费劲把玩家围起来。围是围不住的。

让 NPC 好笑的,是它对你有反应

《天际》里的守卫台词被做成了无数梗图。你走过去,他冒出一句关于你手里那把你刚偷来的剑的话,或者一句阴阳怪气的评价。

托德说,写电影角色和写游戏角色是两回事。电影角色要为自己而有趣,得给他背景、动机、弧光。游戏里当然也有这样的角色,玩家确实会在意他们。真正被记住的那些,是对你有反应的角色。守卫的台词几乎纯粹为了反应而写,它本身不构成任何故事。

Lydia 是《天际》里最被记住的随从之一。她会说:

我发誓为你分担重担。(《天际》随从 Lydia)

这句话是通用的,所有 Housecarl 都有这一句。为什么偏偏从她嘴里说出来就成立?托德的解释很朴素:那条录音里有一丝不耐烦,而你正在使唤她。她在回应你,没在讲自己的故事。

技术上,这些对话是一叠小状态机。当前发生了什么,从一个小列表里随机挑一句话说。再加一层:玩家在干什么。跳桌子、顺手牵羊、半夜溜进别人家,这些事都能被接住。能接住的事情越多,角色看起来越活。

生活里也是这么回事。你记住某个便利店店员,多半跟他的传奇经历无关,是因为他某天对你说了一句特别到位的话。

一个管理器管全世界

Lex 追问这套状态机到底有多大。答案比想象中集中:在他们的引擎里,所有 NPC 归一个大的 AI 管理器管,没有一人一套的独立系统。

那个管理器一直在想全世界所有人。离玩家近的人更新频率高,离得远的人降到一个很低的 tick rate,但依然在跑。任务系统更彻底,所有任务同时运行。

别的开放世界游戏里,你启动一个活动,世界的其他部分就关掉了,好让那个活动显得有分量。我更喜欢让其他一切继续运转。(托德·霍华德)

这个取舍很清楚。他们要做的是模拟,舞台布景走另一条路。等到两条线撞上,事情才好看起来:你正赶一个任务,某个 NPC 恰好按自己的日程走到了这里,两件事叠在一起,产生了一个谁都没写过的场面。

代价是算力。这也解释了他后面那句听起来有点土的话:他们能接受 30 帧。

世界在你睡着之后还转吗

Lex 问了个更本质的问题:能不能做一个玩家离开之后仍在运转的世界,等你回来,那个镇子已经有了自己的历史。

托德的回答很实在:看不见的东西不做优先级。他们的关卡设计师真的去研究迪士尼乐园是怎么建的,店铺摆在入口,你进来会看到什么、会做什么,都是安排好的。

安排的目的在于让你相信,好让真正的大事有分量。一条龙落下来,一只死亡爪从废土里走出来,这些瞬间要能砸到你身上,前提是你已经买账了那些小细节:风的方向、路人的一句话、酒馆里谁坐在哪。

往未来看,他想推得更远,具体做法是先把事物在世界里的存在方式想清楚,再想玩家怎么参与。他拿公会举例:法师公会在这个幻想世界里平时在干什么?如果答案只是等玩家来报名、做一串任务、拿金币、当上会长,那它就是个店面,挂着牌子写着此处提供任务与经验值。

这个标准放到游戏之外也成立。一个组织如果存在的唯一理由就是服务用户,它看起来就假。真实感来自它有自己的目的,哪怕那个目的跟用户无关。

Daggerfall 是 Starfield 的祖先

1996 年的《Daggerfall》给当年玩过的人留下的印象是「无穷」。地图只覆盖 Iliac Bay 一带,密度却让人觉得走不完。

托德说这款游戏对他们做《星空》有直接的参照意义。原因在城市之外:你走出城门,地形是生成的,没有一处是手摆的。这跟《天际》正好相反,《天际》每个角落都是人放上去的。两种节奏,两种乐趣。

《星空》更接近《Daggerfall》。走出城市,相当一部分内容是程序生成的。他自己承认这是他们没做过的游戏流,乐趣的类型不一样。

往回看,《Arena》和《Daggerfall》的差别也很清楚。《Arena》覆盖所有省份,村庄和地点没那么多,比例尺也不同。它的系统非常古典:拿经验、升级,干净利落。《Daggerfall》往深里挖,你是谁、技能怎么长、有哪些优势和劣势。引擎从《Arena》那种 Doom 式的 2.5D 变成全 3D,你能抬头看天,能一路走出城外。Lex 记忆里《Arena》也很开阔,托德纠正说那是错觉,真正让人觉得世界没有边的是《Daggerfall》。

规模感从来不是地图尺寸的函数。它取决于你走一段路能撞见多少东西。

五年级教室里的 TRS-80

最早的记忆在街机厅和披萨店。《太空侵略者》,然后是《吃豆人》。托德特意提了《吃豆人》:它有主题曲,有动画片,有全套周边,把电子游戏推到了大众面前,那个规模在当时简直离谱。

转折发生在五年级。学校把一台 TRS-80 搬进教室,上面装着一个《星际迷航》游戏。他完全被吸住了。老师问,想不想知道这东西是怎么做出来的。

我被钩住了。我必须搞清楚怎么做出这种东西。(托德·霍华德)

他自学编程,目标非常具体:写自己的游戏。到六七年级,他已经在 Apple II 上做了一个自己的《星际迷航》,而且他自认为比教室那台好得多。

他也画画,也写程序,十岁到十二岁那几年,做游戏就是他的爱好。做过的项目包括《夺宝奇兵》、一个《迈阿密风云》游戏、一个《Gru the Wanderer》、一个《Traveler》。每做一个,他都想搞定一个新的图形技巧:改字符集让图形以另一种格式出现,或者想办法打开 Apple II 那个秘密的双高分辨率模式。

周围有朋友在做同样的事,大家互相攀比。他给自己的定位是中游。

Lex 在这里问了个尖锐的问题:你现在被很多人认为是史上最伟大的游戏设计师之一,那时候你在中游,你有没有感觉到这就是你的人生。

答案是没有,一点都没有。那个年纪没人会这么想。更关键的一点,他当时不觉得这是个工作。大学里他甚至嫌计算机课不够他想要的深度,最后拿的是商科学位。

Circuit City 没要他,Bethesda 要了

毕业之后他去面财务岗。一路面到 Circuit City 公司财务的最后一轮,被拒了。

我当时想,去他的,那我就去做电子游戏。(托德·霍华德)

这里有个很具体的物件:他大学时的女朋友、现在的妻子,圣诞节送了他一份《Wayne Gretzky Hockey 3》。他注意到盒子上的地址在马里兰州的 Rockville,正好在他从威廉玛丽学院回家过圣诞的路上。

1993 年的马丁·路德·金日,他开车过去,敲门。有人出来见他,说毕业了再联系我们。

他就一直联系。那时候《Arena》刚出,他玩得很投入。Bethesda 当时的产品线是体育游戏:《Gridiron!》,早期带物理的橄榄球游戏;NCAA 篮球;冰球。业内流传的故事是 EA 做 Madden 遇到麻烦,曾经雇 Bethesda 帮忙。他入职时,老板办公室里摆着一本 John Madden 的奥克兰突袭者战术手册。他今天还在玩 Madden。

他真正想做的是「终极大学橄榄球游戏」。第一条参与的产品线是《NCAA 篮球:通往四强之路》,被拉进去赶工期。

让他决定留下的原因是这家公司什么都做:终结者这样的科幻,开放世界角色扮演,还有体育。三类他都喜欢。他形容那种感觉,这地方我必须来。

那个年代的技术细节现在听起来像考古:《Arena》装在大约六到八张软盘里。软盘数量直接决定成本,想做大游戏,先得算清楚要塞几张盘。CD-ROM 之所以成为整个行业的起跳点,理由简单到粗暴:容量不限制了。

Future Shock 和那些被复制的建筑外壳

《终结者:未来震撼》和《Daggerfall》同期开发,用的是新的 X 引擎,属于早期 3D 引擎。写引擎的是一批丹麦程序员,那个年代 PC 上有一个很火的 demo scene。《Daggerfall》排在后面,所以他成了终结者团队的主力之一。他很快当上了制作人,同时还做关卡。

有件事他回头看才明白有多幸运:终结者的授权当时处于法律上的悬空状态,没人能管他们。于是他们把电影翻来覆去地扒:他用的是哪把枪,激光的瓦数是多少。

《Future Shock》做的是一个开阔的废土,带高度图的地形,上面铺满 instanced 物体。这个概念值得拆开讲:很多游戏里每一面墙、每一栋建筑都是独立数据;他们只做几种建筑外壳,然后到处复制摆放。内存和渲染都省下来了,世界可以更大,做得也更快。

他说,今天他们建世界的方式还是这一套。

那几年每年都有新技术冒出来,3D 加速、高清,一路推着走。视觉上的边际回报越来越小,要做的事情越来越费工:一个杯子的材质粗糙度、全局光照怎么从墙上反弹,都要人一点点磨。现在的限制不在于做不到,在于做不做得起。

30 帧换来的自由度

Lex 问画质和故事之间有没有取舍。托德的顺序是这样的:先保证玩家有最大的能动性、能做的事最多,然后在这个前提下牺牲画质和帧率。

我们的游戏传统上能接受 30 帧,只要画面够好,模拟在跑。(托德·霍华德)

美术工作量在涨,所以他们也用外包。相对行业里同体量的项目,他们的团队算小的。

这个顺序值得多看一眼。大多数产品先定体验的上限,再削减功能去够。他们的做法反过来:先把「玩家能做什么」这条线画到最宽,剩下的资源才分给别处。画质是结果,从来不是目标。

让玩家坐下来看一场日落

Lex 说《天际》最震撼他的瞬间是推门出去那一下。托德把它拆成三层:画质一层,气氛一层,还有一层是节奏。

他喜欢的是那种站住的时刻。风怎么响,树怎么动,云怎么走。他自己会在游戏里散步看日落,看光落在水面上是什么样。

天空是被低估的部分。它在屏幕上占的面积比大多数人意识到的多得多,所以他们在天空上花的时间很长。声音同样要紧,风声和树叶的沙沙声撑起了一整个空间。

Lex 提到有个 mod 会把所有敌人去掉,他想开个直播,就那么在《天际》里走几个小时,顺便回答观众的问题。托德听了显然很高兴。

技术层面,那种开阔感来自流式加载和 LOD。《天际》《湮灭》《辐射》那些 Xbox 360 时代的作品,大量精力花在一件事上:你往前走的时候,数据怎么持续不断地流进来,远处的几何体怎么简化到不压垮处理器。今天硬件快了,这套东西成了标配,当年是硬骨头。

Tone:把幻想钉在现实上

Lex 追问 tone 到底是什么。托德说它是所有东西加在一起的总和。

他给了一个很实用的判断方法:翻几页图就能看出来。《指环王》和《权力的游戏》不一样,《Excalibur》又是另一种。找到那个让作品独一无二的点,然后先用现实把它钉住,再一点点放出更奇幻的东西。

他拿《晨风》举例。你走进来的第一座城镇是非常古典的中世纪模样,等你越过城墙往外看,蘑菇树和巨型昆虫才出现。顺序很重要:先让你站稳,再让你惊讶。

《星空》是同一套逻辑。里面有激光枪,有飞船互相开火,但它被钉在「今天太空事业的延伸」这个基座上。

《辐射》是例外,他承认越做越疯。

再往上,是科技等级这种具体问题:这个幻想世界里魔法有多普及,武器和盔甲是为了实用还是为了好看,人们怎么过日子。这些问题回答清楚了,一个地方才有「我信它存在」的质地。

访谈到这里,Lex 把话题拐到龙上:龙怎么嵌进 tone 里。托德笑了,说这问题荒谬,然后承认自己就是喜欢龙。

整场对话里,最能说明他工作方式的是那句关于门的判断:别费劲把玩家围起来。你围不住。与其设计一堵没有缝的墙,不如接受他们总会翻出去,再把翻出去之后看到的东西做够好。

  • 下次打开一个开放世界游戏,先别推主线。去撞墙,去试那些明显没用的门,去找那扇设计师没留的出口。你会发现设计者对边界的想象力比你以为的窄。
  • 做产品时,明确写下你愿意「说 yes」的范围有多宽。范围越宽,意外越多,维护成本越高,用户黏性也越强。范围窄也没错,错在没想清楚就默认拒绝。
  • 检查你设计的系统:里面的每个角色有没有自己的日程,还是只在用户点开的那一刻才存在。前者贵,后者假,中间那条线要自己划。
  • 资源紧张时,先定「用户能做什么」的上限,再从剩下的预算里切画质、切性能。反过来做,你会得到一个精致但不好玩的东西。
  • 给用户留出站住看风景的时机。风、声音、光落在水面上的样子不产生任何进度,它们决定了用户会不会记住这个地方。
  • 做新项目时找一个老项目当尺子。《星空》的量尺是 1996 年的《Daggerfall》,不是任何一款当代 3A。老作品里往往藏着后来被优化掉的那种粗糙的自由。

本集资源与出处