GDC Day3:游戏调试及服务器技术

GDC第三天,今天主要集中在后端相关技术,同时对腾讯的云游戏平台也有了一个大概的了解。

1. Procedural Generation of Cinematic Dialogues in ‘Assassin’s Creed Odyssey’

此分享主要讲的是刺客信条奥德赛电影级对话系统相关技术,一般游戏过场动画都采用CG,或者比较弱的游戏动画,刺客信条中的对话系统是根据玩家的选择不同,进行的任务分支也不同,人物进行交谈的内容也会不同,涉及到的动作,姿态也会不同,不同天气下,说不同国家语言,对话场景和过程都有所差异,CG是完全没法实现的。

分享的内容大致如下:

  • 工作流:对话系统团队成员类型大概有:Quest Designer、Writer和Cinematic Designer,还有一套过程式的工具系统。这套工具可以完成对话场景的各种细节,包括人物的表情、姿势、说话的口型、光照等等进行编辑,有些部分可以自动生成。

  • 对话场景生成:设定好舞台、调整好相机(各种模式都有)、编辑、身体动画、面部动画、对口型、眼神、光线,然后生成电影级的对话。

  • 挑战和机会

  • 结论:拥护玩家、使用过程式系统、不断地尝试和迭代。

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

2. Debugging in the Large: Cross-Platform Stability at 70M+ Monthly Active Users (Presented by Backtrace)

由Roblox和Backtrace公司两位大佬,分享了一些关于调试超大跨平台系统的方式和方法:

  • 宕机和死机,是无法避免的。
  • 要解决问题,就得有一套工作流和系统,想法去收集(Windows/Linux/第三方/等)、上传、分析和解决。
  • 代码稳定性很重要,提出了几种分析方法:Feature Flags、监控、错误指纹提取、错误分类、可视化等。
  • 对于无法直接定位的问题,分享造成的原因:符号调试、编译器差异、野指针等。

分享过程中有一句话,感同身受:New code means new bug, But new code never crash if it doesn’t run(新的代码意味着新的BUG,要想新的代码别宕机除非别运行它)。

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

3. Agones: Scaling Multiplayer Game Servers with Open Source (Presented by Google Cloud)

Agones,是Gooogle联合Ubisoft开发的一套开源游戏服务器框架,支持游戏服务器的分配、动态扩缩容,基于Kubenetes和容器技术。分享主要分为三部分:

  • Google大佬介绍Agones的功能和架构。
  • Ubisoft大佬分享和Googl的合作,遇到挑战就得寻求协作,Agones就是育碧和Google协作的成果。
  • Supersolid大佬分享了他们快速使用Agones开发了一款3D多人在线贪食蛇的游戏。

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

4. Mastering the Apex of Scaling Game Servers (Presented by Multiplay)

Apex英雄人数在短短时间内翻了5倍,后台服务器是如何做到的?Multiplay公司为Respawn提供了强力的支持,Multiplay大佬介绍了一下:

  • 硬件服务器和云服务器的混合架构,兼顾性能和扩展。
  • 动态扩容:优先使用硬件服务器,扛不住了从亚马逊云、谷歌云分配虚拟服务器。
  • 动态缩容:人数降低的时候,为了节约资源,自动回收服务器。
  • 无缝切换:实时服务器补丁、客户端补丁、数据补丁。

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

5. Technical Challenges of Developing Multiplayer Shooters (Presented by Pearl Abyss)

多人在线FPS中的技术挑战,这位韩国大佬介绍了:

  • 第一人称使用viewmodel的优劣。
  • 多个NPC的网络优化:根据玩家数量动态生成NPC。
  • 多人驾驶(支持物理)的实现,提供两种方式,一种是服务器计算、一种是客户端计算,并给出自己的建议。
  • 多种武器的动画优化。

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

6. Streamed Cloud Gaming Solutions for Both Android and PC Games (Presented by Tencent and Intel)

昨日,Google发布了自己的Stadia云游戏平台(之前的Project Stream),基于Youtube流媒体技术之上,借助Google强大的服务器能力,一经发布,就得到很多关注。

今日,腾讯联合Intel也分享了自己的云游戏方案,Intel分享了自己支持云游戏的硬件方案,腾讯分享了自己的两套云游戏方案:

  • 腾讯即玩的PC云游戏方案
  • 是腾讯WeTest的Andriod云游戏方案

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

7. 小结

  • 刺客信条奥德赛,电影级的对话系统相当强大
  • 只要写代码不可能不出错,我们得形成一套工作流和系统,来及时收集和处理,避免再次发生,浪费宝贵的人力资源。
  • Google的Agones服务器框架值得好好研究下。
  • 动态扩容很重要,缩容也很重要
  • 云游戏2019年这是要火的节奏,Google Stadia、腾讯PC和Andriod云游戏方案、微软xCloud相继在GDC上进行发布和分享。
David++