GDC是全球游戏行业最具规模、最有权威、最有影响力的专业峰会。每年的GDC大会上,全球顶尖的游戏开发者们将齐聚在这里,交流彼此的想法,构想游戏业的未来方向。本篇为大家介绍的是来自Bungie公司高级技术项目经理JonChu的演讲“Bringingplayerstogether:BuildingCrossPlayin'Destiny2'”。
JonChu
SeniorTechnicalProgramManager,Bungie
演讲标题:
Bringingplayerstogether:BuildingCrossPlayin'Destiny2'
让玩家相聚在一起:《命运2》的跨平台游戏建设
演讲者信息:
演讲概述:
一、Bungie和《命运》系列
Bungie是美国著名的游戏制作商,由AlexSeropian于1991年5月成立,最初位于芝加哥。2000年微软收购Bungie,并于2001年11月15日同步发售了第一人称射击游戏《光环:战斗进化》为Xbox护航。2010年4月,Bungie与动视合作开发了《命运》,2017年发行《命运2》。《命运2》是一个大型多人在线FPS动作游戏。游戏中玩家将扮演充满光的力量的守护者来捍卫人性,同时将参与各类搜寻、射击任务来升级自己的装备和武器,帮助角色成长为终极怪物收割机。
至今为止玩家可以在7个不同平台上游玩《命运2》,包括:PS4,PS5,XboxOne,XboxSeriesOneX/S,Stadia,Steam,MicrosoftPC商店。
《命运2》的游戏本体代码库体积非常巨大,一部分的游戏引擎可以追溯到同样是由Bungie开发的《光环》系列,但许多游戏自研引擎中的核心系统代码是非常难以更改的,这也对跨平台游戏开发形成了极大的挑战。
二、团队构成及时间线
《命运2》的跨平台开发主要由4个核心团队,约50名员工提供直接支持。包括工程师、测试人员、设计师、制作人、技术经理等等。除此之外,还得到了发行、市场、分析小组、玩家支持与社群小组,及网络运维小组的支持保障。这些都是在疫情期间所有人远程办公的情况下完成的。这四个核心团队分别为:
引擎客户端小组:负责底层引擎代码调整,如游戏匹配和网络通信;
UI-UX小组:负责游戏交互体验的设计,以及跨平台好友管理功能设计;
服务小组:负责由跨平台而引入的一系列新服务的接入支持;
小组:负责网页版和手机版的体验,以及《命运2》相关App的开发运营。
整个跨平台项目共耗时约一年半时间。自2020年夏季预研开始,之后是技术攻坚和第三方审核等工作。2021年初,跨平台游玩得以在两个平台上进行测试,在经过Bungie内部测试及Beta测试后,2021年8月的Lost赛季,跨平台游戏正式对外发布。Jon在演讲中提到,在工作室中很流行的一句话是:
我们不能控制结果,但是我们可以控制执行过程。
Wecan'tcontrolouroutcomes,butwecancontrolourexecutions.
三、跨平台游戏开发:七项挑战
在《命运2》跨平台游戏相关开发过程中,开发者总结了七项关键的经验与挑战:
搭建全新系统
首先,在推动游戏跨平台升级的过程中,需要搭建一些新的系统和改进服务以适应新的需求。《命运2》原先开发时使用的许多系统都是基于平台级API(应用程序接口)的,核心游戏使用的是Bungie的自研专利引擎,这些支持跨平台游戏的接口需要在引擎内部复刻出来,许多系统与服务的重构将开发的规模提升到了平台级别以上。其中例如通信或UI这类核心的涉及底层核心系统改动的功能,需要尽早计划安排。
其次,在跨平台功能升级的过程当中,不可避免的需要将一些平台级别的服务迁移到平台之外,这时通常面临的是使用第三方服务还是自建服务的选择。打通跨平台游玩渠道的最大益处是能让玩家在游戏时不受平台限制,在不同平台间迁移的体验变得更流畅。若在项目一开始时就将云游戏和移动端游戏考虑在内,则能帮助跨平台之间的游戏体验更好地衔接。
通信系统
作为跨平台开发中的核心需求,通信系统(Networking)是保障不同平台的玩家能够在《命运2》中顺利沟通的一大重要模块,也是核心系统中规模及改动影响最大的。《命运2》在不同平台上的游戏包体会有一些区别,为了系统的整体稳定性,最终开发者决定创建一个映射层来准确响应不同平台的通信需求。
玩家身份系统
玩家在游戏中花费了大量的时间精力去提升他们的角色,玩家所对应的角色可以看作是其在游戏宇宙中的延伸。玩家的昵称和身份也代表着特殊的含义。“BungieID”使用了[昵称号后面的4位数字区分开来,作为玩家在游戏中的唯一标识,开发团队将不同平台的昵称统一绑定在了BungieID中。
好友系统
玩家的好友池在跨平台游戏中已经由单平台延伸到了所有平台,于是新的社交系统“Bungie社交网络”诞生了。玩家可通过搜索BungieID来查找到对应的好友,进行“浏览玩家资料-发送好友请求-查看好友请求-接受/拒绝好友申请”一系列操作,以及设置屏蔽、隐身等其他功能。新的身份系统也给好友列表的UI增添了许多的复杂性,列表中需要添加更多信息(如头像、平台信息等)以分辨不同玩家。
组队邀请会话
《命运2》游戏中,玩家组成的队伍成为“火力战队”,当跨平台邀请好友组队时,系统是无法直接调用另一个平台的API的,于是需要构建新的组队服务来进行管理,包括邀请消息提示,以及其他相对应的UI套件等等。
玩家交流系统
和其他多人在线游戏类似,玩家可通过语音、文字聊天与战队的成员交流。《命运2》一开始使用的是平台层级的语音系统:如PS平台使用索尼的API,Xbox平台使用的微软的API。而跨平台交流中,系统需要自行将来自不同平台玩家的语音消息进行编码和解码,于是开发团队转而寻求第三方语音服务的帮助,以实现跨平台玩家语音功能。类似的,对于文字聊天来说,游戏中原本使用Steam平台的API,其他平台玩家的加入会使得文字聊天系统需要向更高层级迁移。
内部沟通管理
从《命运2》的经验来看,在团队管理的过程中有三个要点:
合理设置同步点,确保项目卡点能够迅速被处理;
强调各部门间进度对齐的重要性,尤其是在规模较大的团队居家办公的情况下;
同时也要注意合理分配会议时间和实际工作时间。
在类似《命运2》跨平台游戏这样一个大规模的项目管理上,内部的沟通和意见梳理非常重要。自2021年9月以来非常紧张的开发时间,以及疫情期间远程办公给团队间信息同步带来的挑战,都给团队的目标对齐和沟通效率提出了非常高的要求。为此,开发团队划分了功能小组(如玩家交流系统)及业务部门(测试工程部门),并定期举行例会,便于同步项目进度及某个特殊功能的未来开发计划。
匹配机制调整
在《命运2》的跨平台项目中,考虑到游戏的公平性和平衡性,开发者针对不同的游戏活动设计了不同的匹配池。如手柄和键鼠玩家的可竞争性,或是主机和PC平台的安全等级区别,项目组经过玩家和社群调研评估后决定,在某些模式下主机和PC玩家应拥有各自不同的匹配池,核心是为了维护游戏公平性和保护玩家:合作情境下所有玩家都进入同一个匹配池,而竞争模式下主机玩家(Stadia,Xbox主机,PS)与PC玩家(Steam,MicrosoftPCStore)分别在各自的匹配池中。在一定的情况下主机玩家可以选择进入PC的匹配池,而PC玩家不能选择进入主机匹配池。
社交系统调整
不同平台的玩家都拥有各自遵循的游戏道德准则。当打破平台间的边界,让所有玩家走到一起时,玩家们会接触到一些不曾接触过的新的社交行为,这其中也有可能产生例如骚扰、谩骂等违规或是不道德的行为。对于拓宽玩家交互边界所要承担的风险,《命运2》团队的决定是在昵称中使用统一的屏蔽词和过滤器,以规避不同平台过滤规则不一的风险,且被屏蔽的账号无法通过切换平台来继续骚扰其他玩家。通过一系列玩家社交系统的调整,开发团队可以尽最大可能保护玩家,以确保所有玩家能够拥有最佳的游戏体验。
平台认证需求
自制vs.引进
前文中提到,在《命运2》的跨平台系统开发中,许多新系统的引入需要开发者在自行开发还是引进第三方服务中做出抉择,其中主要需要考虑的几点因素为:
解决方案提供的库当中必须囊括所有运营平台;
虽然自行处理数据的成本小于使用第三方的成本,但是长期维护系统所带来的持续成本是高昂的;
第三方平台接入的难易度以及文档、培训以及后续支持。
以第三方文字过滤器为例,一些供应商在过滤不文明用语时加入了机器学习模块来分析语境,这些系统能将例如"Youareaf***ingidiot"识别为侮辱性语言,而"Thisgameisf***ingawesome"为正向舆论,类似的模型训练效果需要雇佣更专业的技术人员。同时需要考虑的其他因素有:该解决方案是否应用于所有有需求的语言,有无其他工具帮助管理识别屡次违规的成员,以及这个流程对现有流程有何影响。最终,《命运2》的跨平台团队引入了第三方语音聊天解决方案和文字聊天过滤器。而对于文字聊天功能,开发团队选择搭建自有的文字聊天服务,以便于未来系统的拓展。
功能模块逐步上线
然而这种更新模式也不是完美的。在游戏早期逐步加入跨平台游戏功能模块,也带来了一些风险:玩家曾经无意中提前进入了跨平台游戏模式。这些“意外”在暴露了系统bug的同时,也拉高了玩家对于正式上线的期待值。
总结
跨平台游戏开发意味着要调整许多依赖于平台层的接口和引擎,以加入许多全新的系统及服务来支持跨平台功能。新加入的系统和服务需要衡量开发与维护成本,以辅助决定该功能是开启自研或是接入第三方服务。在跨平台功能开发的过程中许多第一方的需求会影响到游戏设计和玩家体验,这些特定需求需要在项目早期进行梳理以便能够更有序地嵌入整个开发流程中。


