System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,具体的说,涉及的是一种游戏状态同步方法、装置、设备及存储介质。
技术介绍
1、网络游戏是联网进行的多人电子游戏,又称在线游戏,在用户进行网络游戏时,需要保障各个用户之间的信息交互,实现各个客户端的游戏状态同步。现有技术中,状态同步方式通常有帧同步、状态同步和实时广播同步,其中,帧同步和状态同步每间隔一定时间向服务器发送一次状态,而实时广播则是实时进行;在进行游戏时通常由上述三种同步方式单独使用或结合使用将消息进行广播。然而对于多人在线时数据量大、角色较多的情况,上述方案在角色同步过程中容易出现掉帧、卡顿和缓冲问题。
技术实现思路
1、基于此,本专利技术提供了一种游戏状态同步方法、装置、设备及存储介质,其能够通过根据目标角色的当前画面帧与帧阈值临界点的比对结果选用不同的游戏状态同步方式,降低了角色同步过程中掉帧、卡顿和缓冲的风险。
2、为实现上述目的,本专利技术实施例提供了一种游戏状态同步方法,包括:
3、获取客户端发送的同步数据包,并解析得到目标角色的角色状态数据;
4、当所述目标角色的当前画面帧超出预设的帧阈值临界点时,采用插值算法对所述角色状态数据进行运算,同步所述目标角色的状态;其中,所述帧阈值临界点与所述目标角色出生所在帧的帧数差值为预设差值;
5、当所述目标角色的当前画面帧未超出预设的帧阈值临界点时,对所述角色状态数据直接赋值运算,同步所述目标角色的状态。
6、作为上述方案的改进,所述当所述
7、获取所述客户端对于所述同步数据包的发送频率;
8、当所述目标角色的当前画面帧超出预设的帧阈值临界点时,对所述角色状态数据以所述发送频率进行插值运算,同步所述目标角色的状态。
9、作为上述方案的改进,所述获取客户端发送的同步数据包,包括:获取客户端通过服务器广播的同步数据包。
10、作为上述方案的改进,还包括:
11、响应于用户操作,对指定角色进行处理,并根据处理结果生成同步数据包;
12、将生成的同步数据包通过服务器进行广播,分发至所述客户端。
13、作为上述方案的改进,所述响应于用户操作,对指定角色进行处理,包括以下中的至少一种:
14、响应于角色创建操作,创建指定角色;
15、响应于角色移动操作,控制所述指定角色移动;
16、响应于角色摧毁操作,摧毁所述指定角色;
17、响应于角色动作状态改变操作,控制所述指定角色的动作状态改变。
18、作为上述方案的改进,还包括:
19、向服务器发起角色查验请求;其中,所述角色查验请求包括当前场景id和当前场景的现有角色信息;
20、接收所述服务器反馈的角色修正信息,并根据所述角色修正信息对当前场景的角色进行修正;
21、其中,所述角色修正信息由所述服务器通过以下方式得到:
22、解析所述角色查验请求,得到所述当前场景id和所述现有角色信息;
23、根据所述当前场景id查询后台维持的所有角色信息,并与所述现有角色信息比对,得到遗漏角色和多余角色;
24、根据所述遗漏角色和所述多余角色生成角色修正信息。
25、作为上述方案的改进,所述角色查验请求还包括客户端心跳数据,所述角色修正信息还包括服务器心跳数据。
26、为实现上述目的,本专利技术实施例还提供了一种游戏状态同步装置,包括:
27、数据获取模块,用于获取客户端发送的同步数据包,并解析得到目标角色的角色状态数据;
28、第一同步模块,用于当所述目标角色的当前画面帧超出预设的帧阈值临界点时,采用插值算法对所述角色状态数据进行运算,同步所述目标角色的状态;其中,所述帧阈值临界点与所述目标角色出生所在帧的帧数差值为预设差值;
29、第二同步模块,用于当所述目标角色的当前画面帧未超出预设的帧阈值临界点时,对所述角色状态数据直接赋值运算,同步所述目标角色的状态。
30、为实现上述目的,本专利技术实施例还提供了一种游戏状态同步设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一实施例所述的游戏状态同步方法。
31、为实现上述目的,本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述任一实施例所述的游戏状态同步方法。
32、与现有技术相比,本专利技术实施例公开的游戏状态同步方法、装置、设备及存储介质,通过获取客户端发送的同步数据包,以解析得到目标角色的角色状态数据;当所述目标角色的当前画面帧超出预设的帧阈值临界点时,采用插值算法对所述角色状态数据进行运算,同步所述目标角色的状态;其中,所述帧阈值临界点与所述目标角色出生所在帧的帧数差值为预设差值;当所述目标角色的当前画面帧未超出预设的帧阈值临界点时,对所述角色状态数据直接赋值运算,同步所述目标角色的状态。由此可见,本专利技术实施例通过根据目标角色的当前画面帧与帧阈值临界点的比对结果选用不同的游戏状态同步方式,降低了角色同步过程中掉帧、卡顿和缓冲的风险。
本文档来自技高网...【技术保护点】
1.一种游戏状态同步方法,其特征在于,包括:
2.如权利要求1所述的游戏状态同步方法,其特征在于,所述当所述目标角色的当前画面帧超出预设的帧阈值临界点时,采用插值算法对所述角色状态数据进行运算,同步所述目标角色的状态,还包括:
3.如权利要求2所述的游戏状态同步方法,其特征在于,所述获取客户端发送的同步数据包,包括:获取客户端通过服务器广播的同步数据包。
4.如权利要求1所述的游戏状态同步方法,其特征在于,还包括:
5.如权利要求4所述的游戏状态同步方法,其特征在于,所述响应于用户操作,对指定角色进行处理,包括以下中的至少一种:
6.如权利要求1~5任一所述的游戏状态同步方法,其特征在于,还包括:
7.如权利要求6所述的游戏状态同步方法,其特征在于,所述角色查验请求还包括客户端心跳数据,所述角色修正信息还包括服务器心跳数据。
8.一种游戏状态同步装置,其特征在于,包括:
9.一种游戏状态同步设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至7中任意一项所述的游戏状态同步方法。
...【技术特征摘要】
1.一种游戏状态同步方法,其特征在于,包括:
2.如权利要求1所述的游戏状态同步方法,其特征在于,所述当所述目标角色的当前画面帧超出预设的帧阈值临界点时,采用插值算法对所述角色状态数据进行运算,同步所述目标角色的状态,还包括:
3.如权利要求2所述的游戏状态同步方法,其特征在于,所述获取客户端发送的同步数据包,包括:获取客户端通过服务器广播的同步数据包。
4.如权利要求1所述的游戏状态同步方法,其特征在于,还包括:
5.如权利要求4所述的游戏状态同步方法,其特征在于,所述响应于用户操作,对指定角色进行处理,包括以下中的至少一种:
6.如权利要求1~5任一所述的游戏状态同步方法,其特...
【专利技术属性】
技术研发人员:陈星睿,郑彬戈,齐松,仝博,李伟,
申请(专利权)人:咪咕文化科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。