一种基于确定性的高精度同步预测回滚方法技术

技术编号:30641541 阅读:13 留言:0更新日期:2021-11-04 00:39
本发明专利技术涉及一种基于确定性的高精度同步预测回滚方法及系统,当客户端产生用户指令时,该用户指令发送服务器处理,同时,客户端进行如下处理:步骤1、客户端对用户指令进行分帧处理,得到预测帧指令;步骤2、对于每一预测帧指令,进行如下处理:根据该预测帧指令和前一帧的世界状态进行计算,得到当前的预测世界状态;步骤3、当客户端收到服务器发送的第N个权威帧指令时,回滚到第N

【技术实现步骤摘要】
一种基于确定性的高精度同步预测回滚方法


[0001]本专利技术涉及网络游戏
,具体涉及一种基于确定性的高精度同步预测回滚方法。

技术介绍

[0002]网络游戏是一种多人联机的实时性、互动性软件产品,每一位玩家通过操作一个游戏客户端来体验游戏,每一玩家的各客户端之间通过互联网网络来实现互联,即通过网络传输来实现各客户端间的数据同步,以此来实现在不同的客户端上呈现出一致的游戏体验。
[0003]网络游戏的一个特点是依赖于网络传输。玩家通过客户端的输入装置产生指令,指令需要且必须经网络传输给服务器,服务器经校验、计算后会产生新的指令返回给客户端,客户端收到检验计算过的新指令后才能产生对玩家输入指令的反馈。网络游戏中这种从指令的产生到指令的生效的时长,称为指令响应时延。
[0004]如图1所示,指令响应时延 = 1.指令发出时长 + 2.指令上行传输时长 + 3.服务器处理时长 + 4.指令下行传输时长 + 5.指令生效时长。
[0005]其中1.指令发出时长、5.指令生效时间与客户端网络模块架构实现有关,是一个稳定的固定时长,在极致的优化下可以减少到毫秒级(ms)。3.服务器处理时长与服务端架构实现有关,是一个稳定的固定时长,在极致优化下也可以减少到毫秒级(ms)。而2.指令上行传输时长、4.指令下行传输时长与网络环境有关。
[0006]首先,无论是上行传输时间还是下行传输时间,在目前的网络环境下传输时长本身是一个几百毫秒级的时长,此时长远远高于1、3、5的时长。网络传输的这个特性被称为高时延,意思是数据从一个端通过网络传输到另一端的时长较长。
[0007]其次,上行与下行传输时间是一个不稳定的时间,较好网络环境下的传输时长与较差网络环境下的传输时长可能会差出几倍,例如100ms~800ms间,上下限的差距是八倍。网络传输的这个特性被称为高抖动,意思是传输时长忽快忽慢,而不是稳定时长。
[0008]数据的上行传输时长与下行传输时长的和,也称为 RTT(Round Trip Time)。
[0009]在客户端与服务器架构都优化良好的情况下,指令响应时延主要取决于2.上行传输时间与4.下行传输时间,而1.指令发出时间、3.服务器处理时长、5.指令生效时长的影响则较小。
[0010]网络游戏是一个高实时性互动性软件产品,玩家通过客户端的输入装置来触发指令,通过指令来改变游戏走势获得胜利。网络游戏产品要求对于玩家产生的每一个指令能够给予快速的响应,所以营造网络游戏良好体验的一个关键点就是降低指令响应时延。在一个高时延、高抖动的网络传输环境里,玩家在触发一个指令后,无法迅速且连续地看到指令的执行结果,会对游戏的实时性与互动性带来巨大的影响,严重降低网络游戏产品的体验。
[0011]在无优化的网络游戏产品里,当玩家产生一个指令,需要等待指令响应时长的时
间后,才能在客户端上看到指令的反馈。而在等待的这段时间里,玩家在客户端上看不到任何与该指令相关的反馈。例如玩家产生一个释放技能指令,而技能需要经历“指令响应时长”后,才能在客户端上进行释放,而在此等待期间,玩家看不到自己角色有任何动作。此种未经优化的处理方法,在高时延、高抖动的网络下,会给玩家造成游戏响应滞后的糟糕体验。
[0012]因此,在网络游戏产品中,一般有两种的缓解网络传输高时延、高抖动特性对游戏体验影响的解决方案。
[0013]现有方案一:前摇动画。
[0014]前摇动画是众多网络游戏选择并实施的一个应对高时延、高抖动网络环境的解决方案,此方案可以用于优化高时延、高抖动网络环境下的部分动画相关的体验,如技能的释放体验。
[0015]在前摇动画的方案里,通过播放一种叫前摇动画的动画,来缓解这种指令响应的滞后感。当玩家产生一个指令时,指令同样会被发送到远程服务器。但与此同时客户端会立即播放一段与此指令相关的动画,这段动画通常会是一个技能动作的起手动画,也被叫做前摇动画。因为有了前摇动画,所以玩家在触发一个指令后,能够立即在客户端上看到指令的响应(即前摇动画),而无需在经历指令响应时延后才能看到指令的响应。
[0016]前摇动画方案是在原本的指令处理流程上,多播放了一段前摇动画。而这段前摇动画,是一段数值无关动画,即前摇动画的播放并不会影响游戏的结果。在前摇动画结束前,如果客户端收到了指令的回包,则再执行真正的指令响应。所以前摇动画,填补了指令响应时延期间客户端无反馈的问题。通过这样一种方式,让玩家在感观上觉得自己产生的指令被立即得到的执行,使得网络传输的高时延、高抖动带来的响应滞后问题得到缓解。
[0017]现有方案二:表现与计算分离。
[0018]表现与计算分离也是众多网络游戏产品使用的一个应对高时延、高抖动问题的技术方案。在这种方案里,表现与计算完全分离。
[0019]在原始的指令处理流程里,指令经服务器检验计算后再返回客户端后,客户端才能执行指令的响应(如播放技能动画)。也就是数据与表现一一对应,必须数据上确实执行了一个指令,客户端才能在画面上展现此指令的结果。
[0020]表现与计算分离的方案则打破了这个原则。首先客户端架构上拆分为表现层与计算层,表现层为各客户端独有数据,无须同步;而计算层为所有客户端的同步数据,所有客户端上一致。
[0021]当玩家产生一个指令时,首先客户端同样将指认发往服务器进行校验计算,但与此同时客户端表现层无需理会服务器对指令的校验计算处理,立即执行此指令的表现。当后续客户端收到经校验计算的指令后,客户端计算层再执行数据层的更新。
[0022]表现与计算分离的方案,本质上是将客户端数据中的表现相关且无需同步的数据剥离了出来,形成了一层新的表现层。因表现层与计算层分离,所以表现层对指令的执行,并不会影响到游戏最终的结果。而表现层对指令的立即执行,能够消除高时延、高抖动的网络环境带给玩家的滞后感。
[0023]但是上述两种方案都存在一定的瑕疵:一、前摇动画方案的缺陷。
[0024]1. 瑕疵的动画体验。
[0025]如图2所示,前摇动画如果时间太短,则在前摇动画结束与指令实际执行期间,会留有一段无响应时长。对玩家而言,则看到的是动画间断,即前摇动画与指令动画中间有断层,未衔接在一起。这段间断时间,称为空白间隙。所以前摇动画不能太短。
[0026]如图3所示,前摇动画如果时间太长。首先,会产生与上面类似的问题。即前摇动画未播放完时,就被打断转去播放指令动画,导致动画与指令动画间有一个有一个硬切不连贯,降低动画质量。其次,过长的前摇动画,同样会给玩家的带来指令滞后响应的感受。所以动画不能太长。
[0027]综上前摇动画既不能太短,也不能太长。但无论前摇动画设计为多长,都会出现上述空白间隙以及重叠间隙的问题,无法避免。
[0028]2.缓解程度有限。
[0029]当网络时延较高呈中重度时,即前摇动画时长远小于网络时时延,空白间隙问题将会大规模发生。前摇动画已完全本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于确定性的高精度同步预测回滚方法,其特征在于:当客户端产生用户指令时,该用户指令发送服务器处理,与此同时,客户端对用户指令进行预测,并计算出预测世界状态;客户端的预测及计算如下:步骤1、客户端对用户指令进行分帧处理,得到预测帧指令;步骤2、对于每一预测帧指令,进行如下处理:根据该预测帧指令和前一帧的世界状态进行计算,得到当前的预测世界状态;步骤3、当客户端收到服务器发送的第N个权威帧指令时,回滚到第N

1帧世界状态,然后依据第N个权威帧指令和第N

1帧世界状态计算出第N帧世界状态,其中,N≥1;将第N帧世界状态作为基础,获取第N+1以及后续的预测帧指令,重复步骤2

步骤3。2.根据权利要求1所述的一种基于确定性的高精度同步预测回滚方法,其特征在于:所述客户端的预测帧指令与权威帧指令之间存在数据相关指令时,客户端停止对数据相关指令的预测,仅预测数据无...

【专利技术属性】
技术研发人员:谢思远李志健
申请(专利权)人:深圳迭代如风网络科技有限公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1