7月1日上午,2022全球元宇宙大会“星火燎原”计划云游戏论坛于线上与大家见面,论坛期间,阿里巴巴云游戏事业部(元境) 技术负责人郭旷野,HTC中国区副总裁华晓枫,Unity大中华区业务总经理肖蓓蓓,微软全球游戏云平台方案高级架构师崔岩等全球云游戏领域顶级技术团队的重磅嘉宾共同参与,从入口到平台,从内容开发赋能到商业生态探索,站在元宇宙x云游戏的高度,以俯瞰云游戏产业链的视角,共同展现了云游戏前沿发展的技术和商业生态。在本次活动中,阿里巴巴云游戏事业部(元境) 技术负责人郭旷野在演讲中分享了元境在云游戏规模化发展方面的技术实践。
一
什么是云游戏?
云游戏是把游戏本身运行在数据中心里,以低延迟音视频流通过带宽网络传输,最终到达客户不同类型的终端,用户在不同终端上的指令通过宽带网络上行到数据中心运行的游戏里,实现客户端设备远程控制游戏。
云游戏对于我们从业者来说,看到的更多的是技术媒介层面的意义,而对于游戏玩家来说,它带来的好处在于游戏本身运行在云端,玩家可以即点即玩,不需要下载;同时,更新的链路也部署在云端,每次大小版本更新也无需玩家额外下载内容。目前云游戏已经支持IOS、安卓、macOS、windows和各类浏览器,给到玩家非常丰富的终端体验。对于游戏开发者而言,在手游移植端游或端游移植手游的过程中,需要消耗大量的精力和成本去做不同的设备的兼容性适配,云游戏可以为开发者提供稳定一致的运行环境,让云上的游戏开发可以做到一次开发,全端覆盖;未来,云游戏可以通过云原生游戏的方式,将云端超大规模算力提供给游戏运行时本身,带来全新的玩法设计。
二
云游戏规模化发展的三个阶段
郭旷野从游戏内容的角度出发,将云游戏规模化发展分为三个阶段:云化游戏、云移植游戏、云原生游戏。
1
云化游戏
云化游戏是当前市场主流,大部分云游戏平台都停留在使用云化游戏作为主要服务内容。云化游戏不需要开发厂商对游戏做改动,游戏本身也是针对其他平台设计的,在上云过程中内容量比较大,可以为平台带来很好的内容支撑,同时也能快速享受到云游戏带来的媒介优势;由于没有做体验改动,很多云化游戏没有做匹配云端环境的优化,媒介不适配带来的缺陷导致了游戏体验缺口,最典型的就是支付未打通的情况,例如玩家通过手机体验端游的时候,原本通过手机扫描屏幕上的二维码即可支付,而在云游戏环境下则需要截屏保存二维码,再转移到微信或支付宝使用扫码支付识别截屏。
在不做移植的情况下,当跨过适配端,如从PC转向手机或手机转向大屏,游戏在操作上会和原生体验有较大的区别。
2
云移植游戏
在云化游戏发展到一定阶段,使用者逐渐开始体验到云游戏带来的价值后,很多厂商会转入云移植游戏阶段,针对云游戏平台进行少量的开发移植,如解决支付、账号等平台功能打通问题,为玩家提供一致性的游戏体验;针对输入方面的适配,增加云游戏操作可玩性。
在这一阶段,部分厂商会通过云游戏带来的更大容量存储、更好的部署效率等特性,对游戏本身进行改造,给玩家提供新的体验。目前,国内不少前沿云游戏厂家已经逐步在践行这个过程了。
3
云原生游戏
目前,仅有部分CP在布局探索云原生游戏,云原生游戏本身就是面向云端环境运行开发的,在设计时就考虑到了云原生的特性。尽管仍然没有出现成熟的商业内容实现真正认知的云原生游戏,但元境以及合作厂商乃至整个业界都在为云原生游戏正向发展努力,期待在未来一段时间内,能够让玩家体验到云原生游戏这一新世代的差异化玩法。
三
云游戏规模化服务的难点
云游戏规模化带来的挑战主要有四重因素,第一是流畅的玩家体验,云游戏对延迟和流畅度的要求极为苛刻,端到端延迟小于100ms,因此缓冲空间极小;第二是兼容现阶段多种游戏,目前仍然是以存量上云为主的业务形态,现有的云游戏平台需要去兼容端游、手游、页游等多平台的游戏,而面向云原生游戏的全新架构仍需要探索;第三是规模化云化运行,与传统中心服务不同,云游戏通过边缘节点以单容器模式对终端做点对点传输,对于服务可靠性和运维能力都提出了新的挑战;第四是成本挑战,游戏内容对渲染和AI算力提出了更高的要求,比传统音视频类应用的单用户成本更高。
针对上述四大关键挑战,郭旷野分享了元境应对的策略。
1
更好体验意味着更广的玩家覆盖
提到云游戏,玩家比较关注的是游戏本身的体验,从技术角度来看,云游戏体验难做的原因在于,传统游戏的输入设备和显示器直接和客户端的操作系统相连,输入和显示的稳定性是类本地的完美状态;而云游戏将游戏置于云上,额外引入了端侧的解码、云端编码、网络传输发送和中间态各种细碎的工程延迟环节,这些环节将链路拉长,为了保证游戏本身的运行依然是可用可玩的形态,对性能的需求又会非常严苛,一般需要将用户从点击到看到屏幕响应的时间控制在120ms-160ms以下,才能让玩家感受不到延迟的发生。将120ms-160ms进行拆解,分配到链路各个环节,游戏处理33-80ms、编码4-8ms、解码8-12ms、HDMI输入16-33ms、屏幕显示4-16ms、USB输入poll 8ms,每个环节每一毫秒的优化都非常关键。
除了工程方面的挑战之外,网络延迟是另一个不得不面对的难题,云游戏的传输是通过广域网和用户wifi环境进行的,在不使用专线的情况下,网络延迟处于波动状态,因此云游戏的网络状态是没有绝对的保障的。在实践情况下,网络延迟带来的影响主要有以下几类:
由调度决定的云主机和玩家端之间的距离,直接决定了基础延时和线路质量的水平;
用户本身所处环境的嘈杂程度、信号干扰、协议共用(家庭网络环境下,其他设备端的下载影响);
网络传输栈自身的效率影响;
云游戏游玩过程中,偶发性的网络抖动和网络环境变化,需要阻塞控制和传输缓冲发送算法。
总结来说,云游戏来自延迟的挑战主要分为两部分,一部分是来自基础链路工程方面的压缩,另一部分是如何面对复杂的网络环境。
应对复杂的网络环境,需要确保规模化的玩家体验,其原因在于,如果单纯确保单个玩家的游戏体验,只需要压缩基础链路工程带来的延迟,当问题扩散到线上全网时,设备的兼容性、网络的复杂性、调度的准确性就显得非常愈发重要,如果把用户的分布制作成光谱,通过单个云游戏技术,一定有部分玩家处于非常可玩区间内,一部分玩家处于绝对不可玩区间内,网络不满足最低要求,而大部分用户会处于可玩性不确定的状态。我们在这一方面的投入的目的,就是希望将光谱中可玩的玩家群体逐步扩大,转换到业务上,就是打造流畅、稳定、持续的体验,对于培养玩家的云游戏使用体验会很有帮助,带来更加宽广的玩家覆盖。
2
元境以工程化模式打磨体验
针对上述各类难题,元境以工程化模式打磨体验。针对复杂的延迟链路,我们建立了专用WebRTC服务端和客户端,重写了WebRTC很多具体时限,以达到最优的工程延迟范围;针对低延迟的实时编解码优化,我们建立了主客观画质定向调优框架,持续迭代实时编码的性能和画质;针对碎片化端解码性能,我们使用淘系设备评分,针对线上体验有问题的重点设备,做定向优化;针对网络可能带来的WiFi重传、信道干扰、缓冲膨胀、多协议并存等问题,我们有专门的弱网模拟实验室,模拟35种典型的不同的网络场景,持续在线下不断打磨算法,同时,我们还有自研的类似BBR自适应码率算法对抗弱网,再加上宽广的线上覆盖,持续用线上数据打磨算法效率;针对调度部分,找到最合理的机器,依托阿里2800+边缘节点进行云游戏的部署,可以让云游戏基础设施尽量和玩家贴近;前向方面,我们和达摩院合作前向研究5G QoS,打磨相应的技术专精力。
3
云边协同调度找到最佳链接
端边云协同在云游戏领域的应用具有非常大的价值,首先,针对玩家诉求,玩家希望找到一台离自己足够近的边缘机器,满足连接延迟最优化,实现最好的效果,这也是绝大部分服务运营的重点。其次,边缘节点本质属性是碎片化的,也就意味着每一个边缘节点的机器容量不会很高,当边缘部署超量后,在非峰值状态下就会产生大量的空置,空置本身转化成了对于玩家的运营成本,最终体现到云游戏的价格上。
一方面,我们面对的问题是,用户越靠近边缘,体验就越好;另一方面,如何平衡边缘部署容量,不会产生大规模的空置,变向抬高云游戏运营成本。解决的办法,就是通过云边协同方式找到最佳链接,具体实操的方法,是在用户点击选择云游戏时,首先通过边缘和中心找到离玩家最近的机房,同时在边缘机房超量过程中,智能找到离玩家最近的中心机房,逐级做服务本身的卸载。通过这种方式,可以保障边缘的资源利用始终保持在较高的水位,同时将峰值的流量卸载一部分到更大的中心节点,保障整体的资源使用量维持在较高水平,从而进一步降低成本。元境在云边端协同方面的探索目前还在进行时状态,我们将持续在调度算法上不断调整优化,让延迟需求高的玩家能够优先匹配到保障质量的调度方式上去,并逐步降低资源耗损以控制成本。
4
适应云化游戏阶段,兼容端、手、页游
现有游戏的存量是比较巨大的,很多客户和厂商希望通过云游戏的方式将存量游戏带到新的平台媒介上,比如页游转向手游,满足持续黏性需求;手游向大屏迁移,提升大屏内容丰富度;端游向手游迁移,保障消费全流程覆盖。
每个游戏发展的底层编程环境和基础架构是大相径庭的,页游经过多年发展,从最早期Actionscript到中期Flash到最新的H5和Canvas,经历了很长的时间跨度,并且依然有很多玩家比较喜欢的游戏依然运行在上面。元境在这方面的努力,一方面是针对多种不同的浏览器做兼容性的支持,包括兼容IE模块运行一些老的页游;另一方面,兼容最新的浏览器Chromium-based,支持H5的新特性。通过多种多核的浏览器方案,能够让网页游戏更好的运行在云游戏环境中。针对页游常见的跨端需求,我们也做了很多输入模拟的工作,使得常见的页游的操作能够在手机或大屏上被还原出来。
在x86架构上,元境也有比较完整的端游容器,一方面能够享受x86在算力方面已有的优势,包括最好的GPU和非常高速的本地化存储,在此基础上,我们着重解决了windows多年来多种不同的图形接口、输入接口以及编程环境输入方式的区别,元境使用了相对完备的兼容层去适应DX不同版本、OpenGL等各种不同的输入方式,使各种端游在迁移到元境时,不需要改造,就能顺畅、高性能地运行起来。
在输入方面,元境支持键鼠加手柄的操作,另外,我们也在积极补全跨屏输入适配遇到的各种问题。
手游容器方面,我们使用的是板卡SOC方案,可以理解为将传统手机SOC芯片制作成服务器后放置在云端,主要目的是实现较好的兼容性输出。大部分的手机游戏都是针对SOC进行变异的,我们的板卡方案能够维持较好的兼容性。在此基础上,我们做了多种系统能力的升级,包含云端设备模拟,以解决云端手机没有蓝牙、GPS、摄像头,而游戏可能会调用的问题;针对各种不同规格的屏幕(穿孔屏、刘海屏等)、不同尺寸的屏幕,去提供差异化的支持。游戏本地终端的属性会被复制到云端,让云端使用非常接近于本地的环境去运行游戏,达到类似于原生的效果。
在端游、手游、页游方面,元境能够提供非常好的兼容性,不管存量游戏属于哪个种类,我们都能快速提供近似原生的体验,对运行游戏的平台非常友好。
我们在云原生容器方面也在持续不断地布局和技术探索,对云上算力的扩张,分布式渲染、低延时网络、AI+物理算力都是可能在本地端和云端会有量级的差别的部分,希望在近期阶段内,这些探索能够取得进展。
5
低成本开发、接入、使用
除了游戏上云的成本,一个成熟的云游戏服务,其开发、接入和使用成本也是非常关键的,通常讨论比较多的是实际运营的使用成本,在使用成本方面,元境实现了多种不同维度的计费,通过弹性调度、云边协同调度降低客户使用成本,也通过定制硬件和边缘计算的推动,也在不断降低云游戏运营方面的成本,并将节约成本反哺到客户接入中。
在开发成本上,元境提供优秀的手机APP、浏览器、OTT端、PC端的SDK,无论客户使用哪种运营环境,都能快速帮助客户将成熟的云游戏产品搭建起来。接入方面,除了客户端的SDK外,元境还提供完整运营控制台、易用的云端部署和顺滑的游戏适配环境,将整个服务端的接入成本也降到最低。
在使用过程中,元境以规模化服务、分钟级的弹性和自动化运维去服务客户线上流量。
6
企业级运维保障,7*24小时稳定护航
线上服务方面,基于阿里浓厚的to B基因,元境在大型服务上线方面有着充足的心得和经验。上线的过程,首先需要重保规划,根据客户的业务需求评估规划和容量,进行提前准备;在实际上线过程中,有专门的技术支持人员保障上线过程顺滑和平稳;上线完结后,会通过重保验收和总结,为客户整个上线本身带来好的结果。
上线之后,元境提供完备的7*24小时部署监控、自愈快恢、健康巡检、风险自动化识别等功能,保障十万级别的线上服务在线上平稳运行,不会遇到机房割接、服务终端、中间件不稳定造成的问题。元境在稳定性方面投入了很多精力,因为云游戏的技术属性意味着云端会有大量的机器需要管理,这是传统云计算的陌生领域,我们在监控、自愈、快恢、故障演练方面的持续投入,也带来了线上稳定的持续运营机制。
四
客户案例
原神
逆水寒
战舰世界
通过上述案例可以看到,国内云游戏市场从概念性质持续向规模化商业化迈进,内容方面也在从云化向移植转变,我们也希望这个过程能够持续稳定健康地进行,更快进入到云原生游戏的时代。