日活8000万,《王者荣耀》后台技术架构演进!

本文介绍了《王者荣耀》的技术总监孙勋在腾讯TGDC上的演讲内容,重点讲述了游戏的技术演进,包括引擎、网络架构和同步方案。游戏采用的UDP协议和帧同步方案,以及如何处理不同平台同服的问题。此外,还讨论了网络优化、丢包处理和服务器架构的设计,如大厅服务器、PvP服务器和Proxy的使用,以应对大规模并发和跨平台对战的需求。
摘要由CSDN通过智能技术生成

这个曾经在端游时代主导搭建 RTS 游戏《霸三国》框架的技术团队,在转型做 MOBA 手游《王者荣耀》后为游戏提供了巨大的支持,但这个过程也并非一帆风顺。

在今年刚结束的腾讯 TGDC 上,《王者荣耀》技术总监孙勋在技术专场中,对这款游戏进行了一次技术复盘,从技术层面上为听众嘉宾讲解了游戏在引擎、整体网络架构与网络同步方案上的尝试与转变。

孙勋称,目前游戏的服务器架构主要由“游戏大厅”和“PvP”2 个部分组成,而在不断探索中,后来又在架构中加入了 Proxy 中转服务器,也正是这个服务器的加入为《王者荣耀》解决了后来“安卓、iOS”同服等一系列出现的问题。

此外,他还介绍了《王者荣耀》在网络协议以及同步方案上的一些尝试,并一一复盘了这些尝试的优劣势。

为大家解答了为什么,最终游戏会放弃 TCP 协议(传输控制协议)与曾经在《霸三国》中所使用的 Client-Server 结构(C/S结构),并且转而使用了 UDP 协议(用户数据报协议)与帧同步方案。

本文是腾讯王者荣耀项目技术总监孙勋带来的《王者荣耀技术架构》主题演讲内容整理。将分几部分为大家介绍王者后台开发过程中的一些内容和思考:包括《王者荣耀》整个背景介绍、后端架构、上线后的调整,以及网络同步方案和反zuobi方案等。

现在《王者荣耀》后端机器大概有 4600 多台,我们的容量也有一定的扩展,进程数目是 4 万多个。

 

《王者荣耀》游戏背景

2012 年,我们当时做的端游《霸三国OL》,就是王者的前身。这款产品最开始是偏向 RTS 的游戏,后来我们把它改成了端游 MOBA,再后来做成了手游 MOBA,即现在的《王者荣耀》。

从 2012 年开始做 RTS 游戏到 2013 年,从多控制单位的 RTS 游戏,变成 MOBA 游戏,到 2014 年启动手游 MOBA 的预研,再到 2015 年 2 月份我们把大量人力(大概 100 多号人)投入做《英雄战迹》(《王者荣耀》前身)开发,时间并不长。

《霸三国》的玩法是玩家可以在战前通过排兵布阵构成自己局内的策略,通过控制多个单位,技能释放、兵种特性的释放形成对抗。

我们最开始做《霸三国》的时候客户端引擎是 unreal,但在做《王者荣耀》的时候改用了unity 引擎,3 到 4 个月的研发时间内,产品本身从代码层面没有任何东西是从《霸三国》那里搬过来用的,全部代码都需要重写。

《霸三国OL》的一些启示

做端游《霸三国OL》的这段经历,给我们做王者带来很多相应的启示,比如策划、程序及整个团队对 MOBA 的理解。

另外当时在做端游《霸三国》的时候,我们采用了 Client-Server 的模式,但其实在过程中有借鉴类似帧同步的概念:例如在断线重回对视野的处理这块。

传统的做法是,重回时会发当前的镜像和后续的其他下行通知信息。

这种做法会有一个问题,如果新增其他的场景内模块的时候,根据场景内包含的当前的各种物件、所在状态的各种各样信息,都需要把这些东西打包发下去,在后续开发、维护的时候会显得很麻烦。

我们的做法是,把服务器下发的所有序列包做缓存,并按顺序重发,让客户端做出快进的表现,它的概念和帧同步比较类似。

还有一点,就是预留设计弹性,在最开始的 RTS 中,每个玩家最多可以操作 5-8

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值