资深3A开发者分享:从业20多年的网游研发心得

【GameLook专稿,未经授权不得转载】

GameLook报道/如今,大部分游戏都已经做成了网络游戏,与传统游戏研发模式不同的是,网游发布之后并不是项目的结束,反而是游戏寿命的刚刚开始。

此前的GDC演讲中,曾经从事过《网络创世纪(Ultima Online)》、《星球大战:旧共和国》、《星球大战:星系》、《BattleCry》和《辐射76》等多个3A大作的资深游戏开发者Richard Vogel,根据自己20多年的从业经验,分享了他一线研发积累的心得和教训。

以下是Gamelook听译的全部内容:

Richard Vogel:

我有很多东西要说,所以现在就直接开始,今天的信息量很大,但我认为主要是围绕研发而不是在线运营,当然,对于游戏在线运营,我也完全可以再做一个专场分享。我做这个演讲的原因,是因为看到很多在线运营中的问题都是在游戏制作过程中引起的,所以今天会专门聚焦这个方面。

这可能是我迄今为止做过最难的分享,因为一次将我在过去20年学到的GaaS经验全部分享出来是不可能的,不过,我基于节奏(pattern)挑选了一些自己认为重要的事情。

网游是个服务,不是一款游戏

我要做的第一件事,就是强调,“你在制作的是一个服务,而不是一款游戏”。

这句话是我在1998年说的,我觉得在研发的时候,很重要的是,你要把它当成一项服务来做。我将游戏比作冰山理论(Iceberg Theory),游戏发布的时候就像是浮出水面的冰山,但人们不知道的是,在它的下面还有非常巨大的一部分是对玩家隐藏、但又非常重要的,因为,如果你不把这些事情做好,那么游戏发布之后,带给玩家的体验就会很糟糕。

就像这张图中所列出的那样,你需要打造很多东西,这就让游戏研发变得非常复杂。我可以说,GaaS是所有开发者面临最为复杂的内容打造,

网游不是短跑冲刺,而是马拉松

另一件事也非常重要,游戏研发不是百米冲刺,而是一场马拉松。你在研发当中所做的任何事情,都会在某些时候以某种方式对在线运营产生影响,有些会带来比较好的影响,有些则比较糟糕。

这就像是我们处理预制作的方式,当你将游戏当做服务来打造的时候,你不会想在这个阶段搞百米冲刺,但很多人都会那么做,因为他们希望尽快把东西做出来。你对待游戏制作的方式也是如此,这一点我会稍后再说。

营销与PR方面最好的案例是,《星球大战:旧共和国》发布之后,EA的营销部门说,我们的工作结束了吗?我说当然没有,我们做这些营销就像是一个个节点,而你们刚刚完成了一部分,现在我们要做其他的节点,我们该如何营销、买量,让玩家知道这款游戏?社区管理是另一个方面。

你必须长期留在这里。我觉得这是人们没有意识到的最大的一个节奏,你发布了游戏之后,会有很多人玩,如果你不维护游戏,人们就会选择离开,尤其是市场竞争越来越激烈的情况下。《星球大战:旧共和国》是个很好的案例,这款游戏发布之后收入很高,平均几乎团队每个人都赚到了100万美元以上,而且这款游戏连续2年多都很成功。但随着《圣歌》的理立项,很多人被抽调了过去,那是个没有IP的新游戏,问题是《星球大战:旧共和国》团队并没有得到补充,所以游戏不久之后就走上了下坡路。

我将打造一款在线游戏视为阿波罗登月计划的一部分,如果你考虑到之前所说的,发布一款游戏就像是露出了冰山一角,但还有很多东西是你要做正确的,很多东西都是在不断变化的。

短期与长线思维

我要分享的第一个教训,就是短期与长线思维。这是我一直都在宣传的概念,因为很多人在打造服务型游戏的时候往往意识不到这一点。就像之前所说,你在游戏制作阶段的每一个决策,都会在游戏上线之后产生或多或少的影响,这是一个事实,我见到过技术债、设计债这些问题都会在游戏上线之后表现出来。

当你设计游戏系统,或者从事任何系统设计的时候,必须做到简单、可规模化、可拓展、安全和稳定。如果你设计一个非常复杂的游戏系统且不知道某个部分会造成什么问题的时候,那么游戏上线之后一些东西会破坏另一些东西,你可能在线解决一个bug,然后触发多个新bug。

安全是另一个重要问题,不论做什么,你都不能信任客户端,你做的任何事都必须经过服务器验证。

谈到游戏设计的时候,我经常发现很多策划是短视的,这也是我提出短期思维和长期思维的原因。他们希望把事情做完,在比较紧凑的时间和规划之内完成,他们做了一个决定,我会喊停,并且说,“你做的这个决定会在游戏上线之后,导致这个问题发生。”这是真事,但有时候他们看不到,因此说这样的决策是短视的。

当我谈到这个教训的时候,资源管线就是个很好的例子,你必须在上线的时候形成节奏,按照特定节奏发布内容和功能。最好是确保你的资源管线是精简的,你不希望一个角色需要5个月的时间才能做完,而是更少的时间,不要把事情复杂化,如果你做免费游戏,确保你有一个可靠的管线,如果做一款最低付费游戏(上线后加入内购),确保游戏发布之后始终有新内容提供。

这是极为重要的,从《堡垒之夜》的内容节奏就可以看出来,这是个很好的案例。

技术选择也很重要,你在研发中选择的任何东西都会影响游戏上线之后的表现,包括你使用的引擎、服务器背后的技术或者平台。你需要对这些选择保持谨慎,可以参考我之前所说的,规模化和稳定性都很重要。

核心圈层和meta游戏都需要你投入时间把它们做正确,不要忽略它们。变现是另一个需要注意的,你要知道自己在打造什么类型的产品、为谁设计游戏,以及打造的是哪个平台的游戏。因为,主机和PC游戏变现与手游的差别很大。

在《星球大战:旧共和国》这个项目上,我们要打造一款纯在线游戏,如果在网络游戏中,你没有太多的内容规划,就会发生很可怕的事情。

当时我们有两个引擎选择,一个是Heroblade引擎,另一个是bigworld引擎,我们选择了前者,这个选择很糟糕。它带来了很多问题,选择它是因为其更像UO,后者是我比较熟悉的,我对这个选择很担心,这些担心都成为了现实。

我们不得不做了列表上的这些事,因为我们在游戏里欠下了非常大的技术债,以至于我不得不停下项目,找到了所有的技术开发者,了解我们处于什么阶段,并搞清楚我们需要做什么才能让这款网络游戏行之有效。

他们过去做的是将系统方面的程序员撤走,我们可以研发内容而不是系统,但在网络上游戏里,你必须平衡游戏内容和系统,这样才能带来即兴玩家行为,由于是网络游戏,你需要能够让角色传送,可以在玩家不注意的情况下关闭服务器,但由于技术债的存在,这些我们当时都做不到。

从这件事我学到的教训是,它耗费了我们大量的时间。因此,小心你的选择。

找到对的节奏

这是你做服务型游戏时必须注意的另一件事,因为你在游戏发布时需要提供的内容量很大,因此你必须对驱动团队非常谨慎。持续加速进度对于服务型游戏的研发并不是好事,因为与单机游戏不同,游戏发布只是个开始,你不能让团队一直不休息。

这会导致筋疲力尽,我经历过几次,并且学到了很深刻的教训。你不能在团队成员都非常劳累的时候还抓紧时间推动游戏发布,这样的决策是错误的,他们实际上会因此离开团队和公司。

我学到的是在何时以及通过什么方式加速进度,我所做的,就是将游戏项目分为几个阶段,为它们设计了几个“门槛”。比如什么时候要做出第一个可玩版本等等,我会在这些节点发布内容,但在必要的情况下,我会要求团队加速(比如封测、公测和游戏发布前)。我让团队有很清晰的目标,在工作室内发布清晰的指南,而且明确这个加速是自愿参与的。

因为,如果不这么做,你就会有让团队筋疲力尽的风险,因此需要对方式非常谨慎。

其中有件事是如何发布,我学到的一件事是,在研发进行到一半的时候,你需要做一次Game Jam,用两周的时间,让任何人都可以组队提出创意和打造游戏可以用到的内容,在这两周里,你可能完成的工作量比平常一个月还多。这还可以让团队恢复能量,我非常推荐同行们这么做。

我还在游戏发布之前就开始招聘在线运营和研发运营,因为你需要通过Beta测试,给目前从事项目研发的团队带来缓冲时间,我通常会调整研发运营团队,因为想要让所有人都在测试期间感受一下研发运营团队遇到的痛苦。

《网络创世纪(Ultima Online)》和《星球大战:星系》案例

对于这两个游戏,你们可以通过图片看到我们经历的加班时间,当我加入的时候,《网络创世纪》处于非常糟糕的状态,我们几乎没有选择,经历了很长时间的加班。我记得当时的团队规模在一年之内就从64人减员至12人,随后又减少至8人。我们没有任何的在线运营团队,所以很多人几乎都是24/7连轴转。

《星球大战:星系》因为有大量的限制,我们也不得不让团队加班,我从这个项目学到了很多教训,而且再也不会那么做。

在《星球大战:旧共和国》这个项目上,我没有让团队加班,而且这是个很大的团队大概有550人。这时候我有了更好的规划,为游戏打造了一个产品发布路线图,并且每隔六个月都会从头审视规划一次,我确定了MVP,并且将数百人团队划分成32个小团队。

我发布了一个技术审核板,很早就打造了研发运营和在线运营团队,这一切奠定了研发节奏,使得我们不用再进行长时间的加班,我们几乎很少加班,所以我感到很自豪。

我看到的另一件事,就是预处理不足。我不认为任何人愿意看到自己的健康根基是仓促完成的,但是,当你的预处理过于匆忙,就会出现问题。我经常看到人们过于着急地快速进入制作阶段,这很常见。

不要着急,用一些时间敲定你的核心玩法圈层,确保它在进入meta玩法和其他内容之前运行顺畅。

这里的案例是《BattleCry》,这是一款在Bethesda做的多人对战游戏,我们当时想做一款没有人做过的在线多人对战游戏,这里本身就有很多风险。但我们其中的一个问题是,过早进入了预制作阶段,我们有五个职业,但在设计了3个职业之后就进入了预制作,结果就是,在我们需要的时候,却失去了核心玩法圈层。

内容跑步机(Content Treadmill)

这是另一个心得,打造这些游戏需要很大的努力,研发耗费的时间很长,原因就在于内容方面。

对于《星球大战:旧共和国》,我们开始遇到的问题是,我们想打造战争游戏,希望所有的NPC都有配音,所以我们希望对每个职业都打造200个小时的内容,游戏里有8个职业,意味着1600个小时的内容。

我们需要做18.5万行对话、4000个过场动画,我想到的第一件事就是,我们该如何把这些内容做出来?

如之前所说,我的解决方法,是将团队分为了数十个小组,我们为此专门停了两周,希望找到如何成功处理这么大的内容量,我将技术团队分成了7个技术研发团队负责不同方面的事情,每个团队都有各自负责的事情。我还让几十个小团队彼此合作,彼此依赖,我们每周都有团队讨论,每个月都开一次会,还设计了团队日报,后者指的是用五分钟写完、必须一分钟内可以读完,这很重要,因为我不希望看论文,我只想看到人们在做什么。

团队日报之所以重要,是因为它可以让制作人很快知道这550人都在做什么,并且可以按照分工找到问题,比如某个人应该做另一件事而不是目前手上的工作,提高了团队效率。

我的另一个方案是招聘外包,这个项目上,我招聘了150个外包人员。我找了联合研发合作伙伴,我将大量的美术和音频外包出去,这个方法很好用,我有一个核心美术师团队做审核,同时做一些更复杂的美术资源,外包人员做了很多的武器、角色和定制化的美术资源。

如果你希望有比较好的次留、七日留存和月留存,就要在游戏发布之前准备内容生成,这一点很难做到,因为在游戏发布之前,你无论如何都会焦头烂额。但是,你还是需要打造一些小团队,准备游戏发布之后三个月的内容。

你的心跳就是一切

这里说的心跳,就是你对问题的回应速度有多快,同时保持比较好的游戏更新节奏,这对于你的游戏成功很重要。

那么,影响你心跳的都有哪些因素?补丁大小,最近我总是看到很让人费解的事情,有些游戏的首日更新包体非常大,这是不对的,玩家们不希望第一天就需要下载数个小时,你给玩家带来的惊吓越多,他们弃坑的可能就越大,毕竟可玩的游戏选择太多了。

美术资源的复杂度,你做出新武器、特效、角色、动画的速度可以有多快?系统设计,你的游戏更新有多快,这很重要。不只是美术,游戏设计也很重要,当然还有支线任务、建造系统等等。

再说一些很多人不会第一时间想到的事情,也就是热更新,这些事游戏上线之后做的紧急修复。一个小版本的打造不应该超过45分钟,完整版本不应该高于4个小时。有人说,能否将时间扩展到32个小时或者24个小时?答案是否定的,你必须在4小时内完成,因为你不知道上线之后可执行文件会出什么问题。

部署时间最好是6小时以内,所以你最好对这个版本进行QA,正常情况下,85%的修复都是在服务器完成的,不需要改变玩家客户端上的可执行文件。

这是如何完成的?数据存储于服务器,策划系统是数据驱动的。自动化QA测试,当你做一些内容的时候,有工具进行自动测试很关键。脚本语言也可以带来帮助,当你做游戏系统的时候,它可以允许你随时修改。

对于玩家们来说,这些热更新应该是无缝完成的,实际上,你应该每周都为游戏做更新,比如修复小bug,增加商店物品等等,还需要做每月大更新,新增武器、能力、等级增强等。季度,也就是赛季内容很不错,新关卡、新角色、新模式,大型内容更新不应该超过6-8个月,有时候你可以等待一年,但如果你等的时间更久,那么这个内容量应该非常大才行。

转换到beta测试

游戏项目会做很多的测试收集反馈,比如焦点测试、组织测试、内部体验测试,我认为每一个从事项目研发的人都应该自己玩一遍游戏,并且强制团队成员这么做。因为,如果你自己都不愿意玩,人们更不会去玩,不管是程序员、策划还是美术师,你都必须坐下来玩游戏。

进入测试阶段之后,还有三个环节获得反馈,比如社区(玩家)、客户支持和KPI。

当你打造一个在线服务的时候,你需要打造所有这些元素,并不是每一个都需要全功能打造,但每一个功能都要有。我的方法是用研发运营和在线运营团队在发布之前为研发团队提供缓冲时间,因为外部测试开始之后,你会收到大量内部测试无法获得的反馈。

进入测试之后,很多事情都会发生变化,比如发布管理、支线任务、每次发布之后的分析,社区管理等等都需要加入,这时候你们就开始作为在线团队开始运营了。讲一个团队从研发转换到在线运营是困难的,每次这么做的时候,都有很多人不理解,所以在游戏发布之前,就要对他们进行培训。

如果看研发流程,如果没有预制作就直接开始了研发,那么你就会一直在研发期间重复做预制作的事情,功能、内容等,做出来之后都需要进行测试,直到最后。

说一些很基础的东西,封测意味着仅限于邀请,被邀请的用户可以得到游戏密匙,这是你首次在外部用户之间进行验证,然后去搞清楚哪些行得通、哪些行不通。这个验证过程是很重要,它可以确保你是否有一个有趣而吸引人的游戏。

我经常做的是从5000人测试开始,然后扩张至1万、2万人,这些都是不错的封测样本范围。如果是你的第一款游戏,封测人数很难扩容,甚至100人都不容易找到。我想要说的是,当你达到20万PCU,游戏就已经很受欢迎了。

封测最主要的就是平衡、调整和增加新内容,如果你做一款免费MMO游戏,那么测试虚拟货币很重要,你要确保在真正收费之前,你的经济系统是良性和健康的。这个阶段的玩家流失是有可能的,但这种现象发生的时候,你的游戏留存率就会出问题,所以要留意这一点。

遥测对于监控KPI也是很重要的,封测并不是24/7,你可以限制在特定区域,还有些时候,在准备新内容的时候,你完全可以关闭测试服,这通常持续6-8个月。

开放测试不需要那么久,你需要确保游戏优化良好,这个阶段真正重要的是,看你的PCU能够达到什么程度,如果这个阶段服务器出问题,那么上线之后也会有同样的事情。你还需要测试变现系统表现如何,这时候需要开启游戏内商店,这时候已经需要开始提供退款选项。我通常开放测试都会限制在比较短的时间内,然后直接游戏上线运营。

多种方式衡量KPI

多方式衡量KPI,这是我希望提到的另一件事,在游戏里衡量KPI的方式有很多种,但它们很重要。

比如游戏设计,你有很多种遥测方式,这些与你的商业KPI一样重要。这些KPI的作用,就是在每个测试阶段设定了目标,所以进入封测之前,我们需要达成这些关键的指标。

这些是比较关键的一些KPI,比如邀请到登录比例、次留等数据都很重要,我认为测试期间的30日留存也很重要,虽然这个时候的用户量不高,但监控这些数据是非常值得的。

K因素就是病毒传播因素,比如测试之后,我问的第一件事,就是有多少人会把游戏推荐给好友?如果有很高比例的玩家都愿意推荐其他人来玩,这就是个很好的信号。在《星球大战:旧共和国》的例子中,大概有85%左右的人表示他们愿意推荐好友来玩。

预测分析,这里我没办法说太多,毕竟那时候是2011年,我做了预测模型,趋势分析,甚至邀请了USC的一些人对我们的在线数据做机器学习。他们可以预测一些问题,比如《星球大战:旧共和国》有刷金问题,他们做了一个模型,追踪刷金者的行为并进行学习,然后对这些人临时封号,当我们把这个解决方案加入到游戏里的时候,85%的刷金号都离开了。

如今,这些事情应该是常见的,你需要做任何事,都可以尝试让机器学习去做,它们甚至可以预测用户流失,甚至自动向流失用户发送邮件邀请他们回来,或者调查到底发生了什么。网络游戏还有一种现象就是脚本(机器人),如果你可以用机器学习来追踪并临时封禁这些账户,可以给游戏环境带来很大的改善。

如今,任何方式给玩家带来负面体验的行为,你都应该自动检测并禁止它,因为技术已经成熟。

测试前需要做的准备

这是我特别想说的,你在游戏上线之前必须要做的事情。可以看看列表,你需要记录游戏里的bug,让QA可以及时验证,最好是进行游戏内调查,你要准备所有的社区管理工具,确定KPI指标,这些都是应该在封测之前完成的。

同样,你的游戏网站、调查工具、虚拟商店,社区计划等等也都是应该提前准备的。

公开测试之前,你的MTX商店就应该上线并且可运营,与封测期间相比,一切都应该功能完备,CS和CRM工具都应该上线。社区管理场景是非常重要的,作为社区经理,你有时候可能成为众矢之的,因为游戏出现问题之后,可能很快在媒体上传播,如果你能够做提前计划,那会非常好。如果出现问题之后很久才有人作出反馈,社区会非常不满。

对于社区管理,我想补充的是,你与社区处于一种情感关系之中,不要把他们当做PR对象,不要和他们打官腔,要开放、坦诚地与他们沟通,所有的社交网络和沟通平台都应该作为交流渠道。

在研发生涯当中,有句话我可能说了不止100遍,那就是,你只有一次游戏发布的机会。如果发布成功,同时在线人数很高,那你的游戏表现很好,如果发布表现不好,通过图标可以看到,你很可能错过唯一机会。

你还有机会恢复吗?当然,业内有不少游戏经历过失败的发布,并且成功将游戏救了回来。然而,你却永远回不到可能达到的高度,这是所有人都应该思考的,因为它可能会损害你的游戏系列,甚至是新IP。

如果是核心玩法除了问题,你可能要对游戏进行手术式大改,这就会伤害到你为数不多的核心用户,他们一旦流失,你永远都挽不回来,甚至面临游戏关停的风险。

其中一个案例是《星球大战:星系》,这款游戏的发布表现很糟糕,因为我们的内容工具管线直到游戏发布之前六个月才做出来,而且我们没有做足够的压力测试,我们失败了。在游戏发布之前,我们有500万独立用户,但在发布之后,那一周流失了大量用户,而且他们再也没有回来。经过了大量努力之后,我们才将用户稳定在了35万左右,我们在两年零8个月的时间里做了一切力所能及的事情,但游戏发布的时候,我们依然需要一年的时间才能做完内容,结果证明,强行发布的选择,并不是最好的。

当然,也有很多的反向案例,但大多数时候,商业方面的原因让你不得不那么做。所以,如果你明知道有问题,还不得不发布,要意识到这对于收入可能意味着什么。对我们而言,《辐射76》是一个很有代表性的游戏,你不能将外部测试压缩到2个月以内,这是行不通的。

这样做的结果,是给游戏系列带来了负面影响,他们从来没能恢复到可能达到的高度。有一个问题是,游戏有太多的bug,他们试图一次性解决所有bug以赶上游戏发布时间,这是很糟糕的,因为哪怕是解决了很多bug,你也没有时间一一检查,甚至会带来新的bug。

对于辐射系列玩家来说,传统的NPC在主机游戏平台是非常重要的,但在《辐射76》当中,缺失了这些NPC让游戏世界感觉空荡荡。所以,你在研发阶段做的任何事情,都会影响游戏上线后的表现。

如若转载,请注明出处:http://www.gamelook.com.cn/2022/12/506367

关注微信