关于GDC
Jon Chu
Senior Technical Program Manager, Bungie
Bringing players together: Building Cross Play in 'Destiny 2'
让玩家相聚在一起:《命运2》的跨平台游戏建设
演讲概述:
至今为止玩家可以在7个不同平台上游玩《命运2》,包括:PS4,PS5,Xbox One,Xbox Series One X/S,Stadia,Steam,Microsoft PC商店。
《命运2》的游戏本体代码库体积非常巨大,一部分的游戏引擎可以追溯到同样是由Bungie开发的《光环》系列,但许多游戏自研引擎中的核心系统代码是非常难以更改的,这也对跨平台游戏开发形成了极大的挑战。
《命运2》的跨平台开发主要由4个核心团队,约50名员工提供直接支持。包括工程师、测试人员、设计师、制作人、技术经理等等。除此之外,还得到了发行、市场、分析小组、玩家支持与社群小组,及网络运维小组的支持保障。这些都是在疫情期间所有人远程办公的情况下完成的。这四个核心团队分别为:
● 引擎客户端小组:负责底层引擎代码调整,如游戏匹配和网络通信;
● UI-UX小组:负责游戏交互体验的设计,以及跨平台好友管理功能设计;
● 服务小组:负责由跨平台而引入的一系列新服务的接入支持;
● Bungie.net小组:负责网页版和手机版Bungie.net的体验,以及《命运2》相关App的开发运营。
整个跨平台项目共耗时约一年半时间。自2020年夏季预研开始,之后是技术攻坚和第三方审核等工作。2021年初,跨平台游玩得以在两个平台上进行测试,在经过Bungie内部测试及Beta测试后,2021年8月的Lost赛季,跨平台游戏正式对外发布。Jon在演讲中提到,在工作室中很流行的一句话是:
我们不能控制结果,但是我们可以控制执行过程。
We can't control our outcomes, but we can control our executions.
搭建全新系统
首先,在推动游戏跨平台升级的过程中,需要搭建一些新的系统和改进服务以适应新的需求。《命运2》原先开发时使用的许多系统都是基于平台级API(应用程序接口)的,核心游戏使用的是Bungie的自研专利引擎,这些支持跨平台游戏的接口需要在引擎内部复刻出来,许多系统与服务的重构将开发的规模提升到了平台级别以上。其中例如通信或UI这类核心的涉及底层核心系统改动的功能,需要尽早计划安排。
-
通信系统
作为跨平台开发中的核心需求,通信系统(Networking)是保障不同平台的玩家能够在《命运2》中顺利沟通的一大重要模块,也是核心系统中规模及改动影响最大的。《命运2》在不同平台上的游戏包体会有一些区别,为了系统的整体稳定性,最终开发者决定创建一个映射层来准确响应不同平台的通信需求。
-
玩家身份系统
-
好友系统
玩家的好友池在跨平台游戏中已经由单平台延伸到了所有平台,于是新的社交系统“Bungie社交网络”诞生了。玩家可通过搜索Bungie ID来查找到对应的好友,进行“浏览玩家资料-发送好友请求-查看好友请求-接受/拒绝好友申请”一系列操作,以及设置屏蔽、隐身等其他功能。新的身份系统也给好友列表的UI增添了许多的复杂性,列表中需要添加更多信息(如头像、平台信息等)以分辨不同玩家。
-
组队邀请会话
《命运2》游戏中,玩家组成的队伍成为“火力战队”,当跨平台邀请好友组队时,系统是无法直接调用另一个平台的API的,于是需要构建新的组队服务来进行管理,包括邀请消息提示,以及其他相对应的UI套件等等。
-
玩家交流系统
内部沟通管理
● 合理设置同步点,确保项目卡点能够迅速被处理;
● 同时也要注意合理分配会议时间和实际工作时间。
以好友列表功能为例,每周例会主要用于探讨好友系统的交互以及客户端中的其他功能,“屏蔽”功能应如何设计及实现就是在例会上提出的,会议中工程师和设计师围绕玩家体验和反馈,对“屏蔽”功能在跨平台上的表现进行讨论。随后的技术会议中,工程师则会探讨具体的实现方式。核心组成员每周的例行测试则是为了跟进项目整体进度和评估体验。
匹配机制调整
社交系统调整
平台认证需求
自制 vs. 引进
● 解决方案提供的库当中必须囊括所有运营平台;
● 虽然自行处理数据的成本小于使用第三方的成本,但是长期维护系统所带来的持续成本是高昂的;
以第三方文字过滤器为例,一些供应商在过滤不文明用语时加入了机器学习模块来分析语境,这些系统能将例如"You are a f***ing idiot"识别为侮辱性语言,而"This game is f***ing awesome"为正向舆论,类似的模型训练效果需要雇佣更专业的技术人员。同时需要考虑的其他因素有:该解决方案是否应用于所有有需求的语言,有无其他工具帮助管理识别屡次违规的成员,以及这个流程对现有流程有何影响。最终,《命运2》的跨平台团队引入了第三方语音聊天解决方案和文字聊天过滤器。而对于文字聊天功能,开发团队选择搭建自有的文字聊天服务,以便于未来系统的拓展。
功能模块逐步上线
对于《命运2》来说,跨平台游戏项目开发之前游戏就已经运营了一段时间,要在不干扰游戏正常运营的情况下对跨平台功能进行落地,是一项非常富有挑战的任务。Bungie跨平台项目组的主要策略为:首先工作室内部先进行了约10人左右的测试,保证程序不会崩溃,然后再把测试规模扩大到内部约500名员工。测试规模逐步扩大可以给所有平台的技术调整留下充足的时间。《命运2》中会提前一个赛季将变动较大的技术模块与新增的UI引入,以便于给后续的测试和稳定性维护留足时间,也使得开发者有足够的时间去收集反馈并做出调整。如此一来,在内部Alpha测试和Beta公测之间,开发者能够对即将上线的内容拥有足够的信心。
然而这种更新模式也不是完美的。在游戏早期逐步加入跨平台游戏功能模块,也带来了一些风险:玩家曾经无意中提前进入了跨平台游戏模式。这些“意外”在暴露了系统bug的同时,也拉高了玩家对于正式上线的期待值。
打通平台之间的壁垒意味着将拓宽玩家社群边界,也意味着可能产生未曾见过的玩家违规行为的风险。在项目早期应及时分析提出此类风险,并寻找对应解决方案以保护游戏玩家生态。在项目早期应尽早将涉及底层代码调整的功能优先级提高,从而降低新功能对整个系统稳定性的影响。功能分批上线时,可依次扩大测试规模,为功能的正式上线提供及时反馈和保障。
GDC2022雷火UX演讲一览
【实录】条条大路通罗马:在《永劫无间》中用不同学科方法分析流失
本文来自微信公众号“网易雷火UX用户体验中心”(ID:LeihuoUX)。大作社经授权转载,该文观点仅代表作者本人,大作社平台仅提供信息存储空间服务。