加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

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

发布时间:2017-10-12 17:53:51 所属栏目:建站 来源:游戏葡萄微信
导读:副标题#e# 这个曾经在端游时代主导搭建 RTS 游戏《霸三国》框架的技术团队,在转型做 MOBA 手游《王者荣耀》后为游戏提供了巨大的支持,但这个过程也并非一帆风顺。 在今年刚结束的腾讯 TGDC 上,《王者荣耀》技术总监孙勋在技术专场中,对这款游戏进行了一

当 Android 玩家登录 Android 大区会连接到 Android 大厅,iOS 登录之后连接 iOS 大区的大厅,当他们需要开黑的时候,我们通过 Adapter 把中转模块所有的大区桥接起来,通过一定的算法投递到某个大区。投递的选择和大区资源占比有直接关系。

网络同步方案

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

之前做《霸三国》的时候采用 Client-Server 的模式,服务器判定客户端表现,那为什么我们在做《王者荣耀》的时候选用帧同步的方式呢?

Client-Server 模式的好处在于:

首先,安全。因为都是服务器计算,客户端只是负责表现层面的功能,不会影响各种判定的结果。

另外,Client-Server 模式因为是基于结果的表现,所以中间可以出现丢包,丢包是可以被接受和处理的,只要最终结果补发一致即可。

帧同步在端游用得比较多,大家比较熟悉的 DotA,还有《星际争霸》,都是用的帧同步技术。

帧同步本身对网络要求更加严苛,下发的执行序列是不允许丢包的,需要严格保证顺序性,包是 12345,就必须是 12345,如果丢包,必须要等到丢的包到达之后才能顺序后续执行。

MOBA 本身的单位比较多,同屏时客户端最多有将近 100 个单位,假如一个 AOE 技能打到 20 个单位,然后种了一个 debuff,Client-Server 状态模式需要发这些信息下去,可能潜在的同步状态信息是比较多的。

另外一个 Client-Server 模式本身开发的方式,客户端表现与服务器的判定,要完美的匹配是比较困难的。

我们之前做端游 MOBA 的时候,一个英雄技能我们开发要两三周的时间。《王者荣耀》当时开发周期是三、四个月,这样的时间压力下,我们用 Client-Server 的方式搞不定,时间不够。

当时团队心里会比较紧张,因为那时候市面上并没有看到用这种方式做强 PvP、高及时性手游的。

帧同步网络抗抖动能力比较弱,因为不能丢包。帧同步的基本原理,大家有兴趣可以下来自己了解一下。

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读