在游戏开发领域,鲜有人能像 Fred Gill 一样,拥有如此广博的经验与洞见。他职业生涯辉煌,曾在 Respawn Entertainment 担任要职,参与打造了 Apex Legends 和 Titanfall 等热门大作。Fred 已多次成功驾驭发行前开发的种种复杂局面与挑战。
近日,他与我们深入探讨了游戏开发中各个精妙的阶段,剖析了塑造一款游戏从概念走向发行之路的关键优先事项、技术选型与战略考量。
Fred Gill:游戏开发分为不同阶段,每个阶段的优先事项各不相同:
在这一阶段,工程团队与技术总监会为团队的快速原型开发提供支持——快速迭代(短反馈循环)能带来更高的品质;而一旦找到了乐趣(即确定功能集),就要开始考虑需要哪些技术来支撑这款游戏——既包括客户端(PC 或主机)技术,也包括服务器端技术/API。
「找到乐趣」的工作在制作阶段并不会停止——只是在这一阶段,它往往表现为渐进式的改进与调整,而非颠覆性的变革;偶尔也会出现能让游戏品质大幅提升的重大改动,遇到时您就只能想办法应对。我知道有些游戏在 Alpha 阶段之后进行了重大改动,结果证明堪称神来之笔,但风险极高,那绝不是您会希望做这类改动的时机。
这一阶段团队也会开始敲定用于游戏发行的技术决策;技术团队会结合自己对游戏的理解,对第三方技术进行评估。
在这一阶段,如果游戏是在线游戏,并且有重要的新技术为游戏发布提供支撑,团队可能会选择进行一次「技术测试」(Technical Test)。这类测试过去被称为「封闭 Alpha 测试」或「公开 Beta 测试」,但这些术语常常让公众感到困惑。Respawn 在开发 Titanfall2 时提出了「技术测试」这一说法——Titanfall2 采用的专用服务器扩容技术与初代 Titanfall 完全不同。这次「技术测试」旨在检验扩容能力是否足以支撑游戏发行。结果扩容表现并不理想,但我们通过这次技术测试摸清了所有问题所在,从而确保了正式发行时的顺利上线!
FG:在我看来,游戏设计高于一切——如果设计团队为了让游戏变得更好而需要做出改动(尤其是当他们能够证明这一需求时),那就必须优先满足,于是其他事项就得往后排,或者发行日期就得推迟。我们在 Apex Legends 上就遇到过类似情况——我们实际的发行日期(2019年2月4日)并非最初期望的日期。
提升游戏的知名度至关重要,这意味着要与市场团队协作,共同制作素材以尽可能地展现游戏的最佳一面——可能是截图、游戏内画面、发行前的测试版本等。而当团队仍在打磨玩法与内容(以及修复 Bug)时,这会颇为棘手。关键在于让开发团队与市场团队在目标和需求上达成一致——说起来容易,做起来却相当有挑战。专注(FOCUS)是制作游戏最重要的要素之一——把少数几件事做到极致,而不是把大量事情做得平庸。在游戏收尾阶段,这种专注尤为关键——只要核心要素到位,并且您没有丢掉这份专注,游戏品质在制作阶段最后几个月里所能取得的提升幅度会令人惊叹。
FG:对于任何技术选型(「自建还是购买」),都有两个关键问题,即:1)「它能否让您更早发行、风险更低,并且至少达到同等品质?」;2)「它是否物有所值?」这两个问题实际上就是投资回报率(ROI)。
由此又会引出一长串更为细致的问题,其中一些是:
这些问题及其答案都存在许多微妙之处。理想情况下,答案应当是客观的,而非主观的。
技术组件越大,这些问题就越难回答! 为什么?
注意:有些游戏的设计永远不会把引擎推向极限。如果是这种情况,那就再好不过了。
引擎的选择会影响整个团队的工作流程,因此这一决策会更加主观。我见过许多团队试图把引擎「改造成团队所习惯的工作方式」。那简直是自讨苦吃,我从没见过有谁成功做到过(除非对引擎进行硬分叉)。引擎选择在当下、以及在您发行时,会对各个领域分别产生怎样的影响?它会如何影响内容创作者与工程团队的迭代速度(这与品质直接相关)——哪些方面会更快,哪些方面会更慢,它能否既支持您当下验证游戏、又支持日后将其发行?这里可以举个例子:「您的设计团队是否愿意使用可视化脚本来迭代玩法?您能否用可视化脚本完成发行(其性能是否足够)?如果您需要基于文本的脚本,那么每次升级引擎时进行相应集成的成本又有多高?」
我认为,「如果一个游戏团队已经用某款引擎发行过一款游戏,那么这个团队要切换到另一款引擎就应当是相当困难的(并非不可能)」——一旦团队亲身经历过用某款引擎发行游戏的全过程(尝过其中的苦头),就会理解引擎团队所做的取舍/妥协,于是日后用同一款引擎发行游戏就会变得更容易。
GGWP:您能否谈谈第三方服务在您游戏开发中所扮演的角色?您又是如何选择要集成哪些服务的?”
FG:除了上面的回答之外,对于第三方服务,还有以下这个问题需要考虑:
注意:多租户可能成本更低,但也可能存在扩容、安全以及「吵闹邻居」(noisy neighbour)问题(不仅其他应用可能成为您的吵闹邻居,您的游戏也可能成为它们的吵闹邻居)。
Respawn 做的是游戏,而不是技术。技术只是制作游戏的副产品。Respawn 之所以自行为 Titanfall 开发了许多后端服务,是因为他们想要/需要的技术在市场上要么并不存在,要么还不成熟。由于团队对这些技术的优劣了如指掌,而更换技术就意味着要砍掉游戏功能,这些技术后来被沿用并加以改造,应用到了 Titanfall2 和 Apex Legends 上。EA 当时是 Respawn 的发行商,拥有一些 Respawn 本可使用的后端服务,但作为一家独立开发商,Respawn 希望尽量减少与任何单一发行商的绑定。这一切在 2017 年 Respawn 被 EA 收购后彻底改变了。
GGWP:根据您的经验,哪些服务更常由内部自行开发,哪些通常会外包?又是什么因素驱动着这些决策?
FG:与 2013/2014 年相比,如今可供授权使用的后端服务多了许多,而且它们能够以非常成功的游戏所要求的规模运行。其选择标准与我上面关于选择游戏引擎的回答非常相似,只是需要着重考虑以下几点:
在 EA,第一方服务在安全层面已经通过审批,在数据处理方面符合法律合规要求,也经过了大规模测试,而且至关重要的是,只需极少量的游戏胶水代码即可实现互操作。另一方面,第三方服务往往更为精致好用,也就是说更易于集成和配置(毕竟其公司的存亡可能正取决于这一点)。
GGWP:对于多人游戏而言,在发行前需要准备好哪些运营(LiveOps)服务?
FG:这是个长长的清单。我们在 Apex 发行时并没有把这些全部做到——其中一些在当时还无法实现,比如在 2019 年 2 月 Apex 发行时,跨平台游玩和跨平台进度同步还无法实现。最关键的经验是:在您首次把游戏交到玩家手中之前就把这些工作做好,要容易得多。
FG:测试、测试、再测试,而且要以超出您预期玩家数量(包括同时在线和全生命周期)的规模来测试!有两个方面需要您考虑:
背景知识:多人游戏基本上有三种常见架构:
在 Titanfall 之前,专用服务器都托管在数据中心的裸金属服务器上,这些服务器必须提前数月订购,而且最短承诺期为 30 天。如果您为一次发行订购的服务器太少,玩家就会难以进入对局,而纠正这一问题可能需要数周时间(因为订购有交付周期),等到您纠正过来时,您已经惹恼了社区中的大多数人,他们也已经转投其他游戏了。而如果您为发行订购了过多服务器,则可能会因服务器闲置而白白浪费数百万美元。随着您试图不断扩容以匹配活跃玩家规模,这一过程还得定期(每月)反复上演。
Titanfall 是首款在发行时就为专用服务器配备自动扩容能力的游戏。它使用的是 Microsoft 的 Thunderhead 系统。Titanfall 会「即时」启动专用服务器,并在不再需要时将其关闭;由于存在延迟,它会尽量保留略多于所需的容量,但有时玩家仍可能需要等上一两分钟。
Titanfall2 转向了一种混合模式:在全球各地的数据中心部署裸金属服务器,当某个地区的数据中心容量耗尽时,再随之补充云端容量。Apex Legends 发行时也采用了这种模式——它在成本与容量扩展之间取得了良好的平衡。
在测试基础设施方面,「瘦客户端」(thin clients,即一种模拟玩家进出游戏等交互行为的客户端)是一种很好的方式,但维护开销相当可观。此外,也有若干 API 测试框架可以取得类似的效果。对所有测试结果都要「持保留态度」——它们充其量只是对玩家在游戏中实际行为的最佳猜测,因此可能会与实际情况相去甚远——而且,仅仅一项新的游戏功能就可能让玩家的交互行为发生翻天覆地的变化!
在测试专用服务器方面,最理想的做法是让客户端通过正常的玩家流程运行机器人(bots),连接到专用服务器并进行游玩(服务器代码保持纯净)——但这很难创建和维护。让专用服务器自身运行机器人来代替玩家,可以接近这种效果(此时服务器代码会被污染),而且实现起来要容易得多;除此之外,就是尽可能安排真人在专用服务器上游玩,以对专用服务器进行压力测试——您能投入的机器人/真人越多越好。
我记得在 Apex Legends 上,任何人都极难预测基础设施需要支撑的峰值同时在线用户数(PSU,也称为 PCU,即峰值并发用户数)——EA 当时没有一款免费的 PC/主机游戏,而我们的营销策略是「确保在我们开始宣传 Apex 时,玩家手里就已经拿到了游戏」。我们当时的目标是确保基础设施能够承受一定数量的用户。2018 年 10 月,我与时任 EA 首席技术官的 Ken Moss 开了一次会。Ken、Laura Miele 和 Andrew Wilson 最近都玩过 Apex,都玩得非常尽兴。Ken 认为 PSU 的预测值远远偏低。我问 Ken 他认为我们应该以多少为目标。Ken 说 600 万,依据是 Fortnite(含移动端)经常突破 800 万——与其在偏低的数字上栽跟头,不如宁可多花些钱。此后,我们的很大一部分精力都放在确保能够扩容至 600 万上(我们确实不得不做出一些改动)——所幸我们这么做了,因为在首个发行周末,我们就轻松突破了 200 万,而我们最初的架构根本无法支撑这样的规模。
FG:在 Apex 上,我们的重心是确保反作弊足够稳健。对于文字聊天和语音聊天,我们(除了支持 CVAA 之外)什么都没做。这一方面是因为「缺乏数据指标」来判断文字聊天和语音聊天是否会滋生有害行为,另一方面则是因为我们有 Ping 系统,它在内部试玩测试中很受欢迎,这意味着玩家并不需要使用文字聊天或语音聊天。
对于未来的游戏,我一定会确保在发行之前就把 UGC(文字聊天、语音聊天等)审核功能构建到位。
FG:在安全方面,EA 拥有一支出色的安全团队、一个健康的安全社区,每年还会定期举办一场内部安全大会。在 EA,任何一款游戏发行之前,安全团队都会审查其基础设施和代码,并可提供渗透测试、定期代码扫描、凭据的安全存储、关键系统的代码审查,同时还设有一支应急响应团队以应对违规事件。
安全意识是团队必须持续强化的东西(「永远不要信任客户端」),功能以及代码/系统也需要定期审查。您的游戏一旦发行,就会持续遭到极少数玩家的攻击/弱点探测(每款游戏都是如此)——这些人包括试图作弊者、想利用 Bug/漏洞牟利者、数据挖掘者,以及企图实施欺诈的人。
在稳定性方面,则包括持续集成、支持以「瘦客户端」实现自动化的测试基础设施、客户端上的机器人、服务器上的机器人、一支庞大的 QA 团队、定期的内部试玩测试、出色的崩溃报告等。
FG:不客气!

Fred Gill —— LinkedIn
Fred 在电子游戏行业已经从业 40 多年。他的职业生涯始于 17 岁那年,当时他卖出了自己的第一款游戏。1988 年毕业后,Fred 与四位朋友共同创办了一家游戏公司,并在此后的 15 年里带领公司发展成一支 100 人的团队。这家公司最终于 1997 年被收购。2002 年母公司倒闭后,Fred 又创办了另一家小型开发工作室,这一次担任 CEO。然而,他发现担任 CEO 并不那么令人愉快,于是又转回到技术总监的岗位,加入了 EA 旗下的一家工作室。该团队在 11 个月内负责打造了 Battlefield: Modern Combat 的单人战役部分(作为 Dice 所开发多人模式的补充)。
Fred 后来于 2006 年加入 Swordfish Studios,之后重返 EA,加入了一个名为 EA Partners 的小型部门。在这一岗位上,他与多家独立工作室合作,以 EA 作为发行商,帮助他们的产品推向市场。他参与发行的作品包括 Crysis 2、Syndicate、Crysis 3、A Way Out、Unravel、Titanfall 以及 Titanfall 2(等等)。2017 年 EA 收购 Respawn 后,Fred 于 2018 年加入 Respawn,担任工作室技术总监,最终成为技术副总裁兼技术负责人。他的贡献包括协助发行 Apex Legends,并一直担任该系列的技术总监直至第 18 赛季。Fred 于 2023 年 8 月退休,回归本心,为自己制作游戏,且并不指望它们能取得商业上的成功。Fred 目前还在帮助两家慈善机构,其中一家由他自己创办(Antidote Gamers),旨在帮助对抗电子游戏中的有害行为。