乔恩朱
Bungie 高级技术项目经理
演讲题目:
将玩家聚集在一起:在《命运 2》中构建跨平台游戏
将玩家聚集在一起:《命运 2》的跨平台游戏开发
演讲者信息:
Jon Chu 是 Bungie 的高级技术项目经理。作为工程团队的领导者,他负责掌控项目的产品愿景和未来发展路线开发学习,同时管理多个游戏项目的进度。在 Bungie 工作的 3 年里,Jon 大部分时间都专注于工具和引擎的开发:比如改进 UI 设计的工作流程、更新游戏活动的《命运 2》引擎、提高开发效率等。近期,他正带领工作室多个团队探索游戏行业的前沿领域,其中最重要的就是《命运2》的跨平台游戏建设。
演讲概述:
本次演讲重点关注《命运2》的跨平台搭建,分享了Bungie团队在搭建过程中在游戏开发、团队管理、设计细节等方面的经验。跨平台游戏的开发和运营不仅要注重游戏内的玩家互动,更需要关注不同平台玩家的社交需求。当多平台玩家之间的互动边界不断拓宽时,往往会引入新的风险:比如一些可能对现有玩家生态造成破坏的行为。因此,在开发跨平台游戏的同时如何保护玩家,是制作团队前期需要评估的问题。在开发阶段,应尽早做出对核心代码架构影响较大的变更,以提高系统的持续稳定性。游戏应尽可能逐步上线,以便有足够的时间来测试和完善各项功能。
1. Bungie和“命运”系列
Bungie是美国知名游戏厂商。它由 Alex Seropian 于 1991 年 5 月创立,最初位于芝加哥。 2000年,微软收购了Bungie人物立绘,并于2001年11月15日同时在Xbox上发布了第一人称射击游戏《光环:战斗进化》。 2010年4月,Bungie与动视合作开发《命运》,《命运2》于2017年发行。《命运2》是一款大型多人在线FPS动作游戏。在游戏中,玩家将扮演充满光之力量的守护者,保卫人类。同时,他们将参加各种搜索和射击任务来升级装备和武器,帮助角色成长为终极怪物收割机。
到目前为止,玩家可以在 7 个不同的平台上玩《命运 2》,包括:PS4、PS5、Xbox One、Xbox Series One X/S、Stadia、Steam 和 Microsoft PC Store。
《命运2》的游戏代码库非常庞大。部分游戏引擎可以追溯到同样由Bungie开发的《光环》系列。然而,很多游戏自研引擎中的核心系统代码很难改变。这也对跨平台游戏开发提出了很大的挑战。
2. 团队组成及时间安排
《命运2》的跨平台开发主要由4个核心团队和约50名员工提供直接支持。包括工程师、测试人员、设计师、制作人、技术经理等。此外,还有发行、营销、分析团队、玩家支持和社区团队、网络运维团队的支持和保障。这些都是在疫情期间大家远程办公的情况下完成的。四个核心团队是:
整个跨平台项目大约花费了一年半的时间。从2020年夏季的预研究开始,后续将进行技术研究和第三方评审。 2021年初,跨平台游戏将在两个平台上进行测试。经过Bungie的内测和Beta测试,这款跨平台游戏将于2021年8月的《Lost》赛季正式发售。Jon在演讲中提到,工作室里流行的一句话是:
我们无法控制结果,但我们可以控制执行。
我们无法控制我们的结果,但我们可以控制我们的执行。
在项目开发过程中,项目组以提升玩家体验为中心,根据反馈做出了正确的选择和调整。跨平台游戏正式上线后,也获得了广大玩家的一致好评。
3. 跨平台游戏开发:七大挑战
在《命运2》跨平台游戏的开发过程中,开发者总结了七大关键经验和挑战:
构建新系统
首先,在推动跨平台游戏升级的过程中,需要建设一些新的系统和改进的服务,以适应新的需求。 《命运2》最初开发中使用的许多系统都是基于平台级API(应用程序编程接口)的。核心游戏采用Bungie自主研发的专利引擎。这些支持跨平台游戏的接口需要在引擎内重现。 ,很多系统和服务的重构,将发展规模提升至平台层面以上。其中,通信或UI等涉及底层核心系统变更的核心功能需要尽早规划和布局。
其次,在跨平台功能升级的过程中,不可避免地将一些平台级的服务迁移到平台外。这个时候我们通常会面临使用第三方服务还是自建服务的选择。打通跨平台游戏通道的最大好处就是玩家可以不受平台限制地玩游戏,不同平台之间的迁移体验变得更加流畅。如果在项目之初就考虑到云游戏和移动游戏,可以帮助更好地连接跨平台的游戏体验。
作为跨平台开发的核心需求,通讯系统(Networking)是保证不同平台的玩家在《命运2》中能够顺畅沟通的重要模块。也是规模和变化影响最大的核心系统。 《命运2》在不同平台上的游戏包会有一些差异。为了系统的整体稳定性,开发人员最终决定创建映射层,以准确响应不同平台的通信需求。
玩家花费了大量的时间和精力来完善他们在游戏中的角色,他们的角色可以被视为他们的角色在游戏宇宙中的延伸。玩家的昵称和身份也代表着特殊的含义。 “Bungie ID”使用[昵称#1234]的形式。平台开通后,即使玩家昵称相同,也可以通过#号后的4位数字进行区分,作为玩家在游戏中的唯一标识。开发团队将来自不同平台的昵称统一为Bungie ID。
跨平台游戏中玩家的好友池从单一平台扩展到了所有平台,于是一个新的社交系统“Bungie Social Network”诞生了。玩家可以搜索Bungie ID找到对应的好友,进行“浏览玩家信息-发送好友请求-查看好友请求-接受/拒绝好友请求”等一系列操作,以及设置屏蔽、隐身等功能。新的身份系统也给好友列表的UI增加了很多复杂性。需要在列表中添加更多信息(例如头像、平台信息等)以区分不同的玩家。
在《命运2》游戏中,由玩家组成的小队就成为“火力小队”。跨平台邀请好友组队时,系统无法直接调用其他平台的API,需要新建一个组队服务进行管理。包括邀请消息提示、其他相应的UI套件等。
与其他多人在线游戏类似,玩家可以通过语音和文字聊天与团队成员进行交流。 《命运2》最初使用的是平台级语音系统:例如PS平台使用索尼的API,Xbox平台使用微软的API。在跨平台通信中,系统需要自行对不同平台玩家的语音消息进行编码和解码,因此开发团队求助于第三方语音服务来实现跨平台玩家语音功能。同样,对于文字聊天,游戏最初使用的是Steam平台的API。其他平台玩家的加入,会让文字聊天系统需要迁移到更高的层次。
内部沟通管理
从《命运2》的经验来看,团队管理过程中存在三个关键点:
在《命运2》跨平台游戏这样的大型项目的管理中,内部沟通和意见梳理非常重要。 2021年9月以来开发时间非常紧张,以及疫情期间远程办公给团队间信息同步带来的挑战,对团队的目标契合和沟通效率提出了非常高的要求。为此,开发团队分为职能组(如玩家通讯系统)和业务部门(测试工程部),并定期召开例会,以便同步项目进度和特定功能的未来开发计划。
以好友列表功能为例。每周例会主要用于讨论好友系统以及客户端中其他功能的交互。例会上提出了“屏蔽”功能应该如何设计和实现。会议期间,工程师和设计师聚集在玩家周围。经验和反馈,讨论阻止如何跨平台工作。在后续的技术会议中,工程师们将讨论具体的实现方法。核心团队成员每周测试是为了跟进项目的整体进度并评估体验。
匹配机制调整
在《命运2》的跨平台项目中,考虑到游戏的公平性和平衡性,开发者针对不同的游戏活动设计了不同的匹配池。例如,游戏手柄和键盘鼠标玩家的竞争力,或者主机和PC平台安全级别的差异,项目组经过玩家和社区的研究和评估后决定,主机和PC玩家应该有不同的匹配池某些模式。 ,核心是维护游戏公平性,保护玩家:合作情况下所有玩家进入同一个匹配池,而竞技模式下主机玩家(Stadia、Xbox主机、PS)和PC玩家(Steam、Microsoft PC Store)处于同一匹配池中。他们各自的匹配池。在某些情况下,主机玩家可以选择进入PC匹配池,但PC玩家不能选择进入主机匹配池。
社会制度调整
不同平台的玩家有自己的游戏道德。当平台之间的界限被打破,所有玩家聚集在一起时,玩家就会接触到一些以前从未接触过的新的社交行为平台游戏开发,这也可能导致骚扰、辱骂等非法或不道德的行为。对于拓宽玩家互动边界的风险,《命运2》团队决定在昵称中使用统一的屏蔽词和过滤器,以避免不同平台上过滤规则不同的风险,并且被屏蔽的账户无法切换平台。继续骚扰其他玩家。通过对玩家社交系统的一系列调整,开发团队可以尽可能地保护玩家,确保所有玩家都能拥有最好的游戏体验。
平台认证要求
跨平台功能的开发意味着与不同平台方合作,包括索尼、Valve、谷歌、微软等。不同平台对游戏的要求不同:有的平台要求玩家的身份与平台昵称相对应,有的平台要求玩家的身份与平台昵称相对应。要求播放器界面上不能显示其他平台的标识。在预研阶段,开发团队仔细浏览和分析了平台各方的设计需求,对与最初设计不同的部分进行了标记和重点关注。在保持团队合作的专业性、优化玩家体验的同时,我们还要与平台方紧密合作,尽力寻找各方的共赢点,满足平台各方的需求。
国产与进口
前面提到,在《命运2》的跨平台系统开发中,很多新系统的引入需要开发者在自行开发还是引入第三方服务之间做出选择。需要考虑的主要因素有:
以第三方文本过滤器为例。一些供应商添加了机器学习模块,用于在过滤不文明词语时分析上下文。例如,这些系统可以将“你真是个白痴”识别为侮辱性语言,而“这个游戏太棒了”是积极的公众舆论。类似的模型培训效果需要聘请更多专业的技术人员。其他需要考虑的因素包括该解决方案是否以所有必需的语言提供,是否有其他工具可以帮助管理层识别屡犯者,以及此流程将如何影响现有流程。最后,《命运2》的跨平台团队推出了第三方语音聊天解决方案和文字聊天过滤器。对于文字聊天功能,开发团队选择构建自己的文字聊天服务,以方便未来系统的扩展。
功能模块逐步上线
对于《命运2》来说,在开发跨平台游戏项目之前,游戏已经运营了一段时间。在不干扰游戏正常运行的情况下实现跨平台功能是一项非常具有挑战性的任务。 Bungie跨平台项目团队的主要策略是:首先在工作室内部进行10人左右的测试,确保程序不会崩溃,然后将测试规模扩大到内部员工500人左右。测试规模的逐步扩大可以为各平台的技术调整留出充足的时间。 《命运2》将提前一季引入技术模块和新UI的重大变化,以便为后续测试和稳定性维护留出足够的时间,也让开发者有足够的时间收集反馈并进行改进。出调整。这样,开发者就可以对内部Alpha测试和公测Beta测试之间即将推出的内容有足够的信心。
然而,这种更新模式并不完美。游戏前期逐步加入的跨平台游戏功能模块也带来了一些风险:玩家在不经意间提前进入了跨平台游戏模式。这些“意外”不仅暴露了系统bug,也提高了玩家对正式上线的期待。
总结
跨平台游戏开发意味着调整许多依赖于平台层的接口和引擎,添加许多新的系统和服务来支持跨平台功能。新增的系统和服务需要衡量开发和维护成本,以帮助决定是自行开发功能还是接入第三方服务。在跨平台功能的开发过程中平台游戏开发,许多第一方的需求会影响游戏设计和玩家体验。这些具体的需求需要在项目的早期就进行梳理,以便能够更加有序地嵌入到整个开发过程中。
打破平台之间的壁垒意味着拓宽玩家群体的边界,也意味着前所未有的玩家违规风险。此类风险应在项目前期及时分析和提出,并找到相应的解决方案,保护游戏玩家生态。涉及底层代码调整的功能应在项目初期尽早优先考虑,以减少新功能对整个系统稳定性的影响。当功能批量上线时,可以依次扩大测试规模,为功能的正式上线提供及时的反馈和保障。