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、在回滚所述其他游戏账户的账户状态之后,还包括:
20、在计算得到的校验参数不符合所述目标帧的校验参数的情况下,重新向所述游戏服务器发起游戏数据获取请求;所述计算得到的校验参数为所述其他游戏账户在回滚后计算确定的校验参数。
21、第二方面,本申请还提供了一种多人实时游戏的回滚装置,包括:
22、实时通信模块,用于实时传输针对当前游戏账户的当前帧的帧指令至游戏服务器,同时实时接收从所述游戏服务器传输的针对其他游戏账户的目标帧的帧指令;
23、预测帧生成模块,用于在所述目标帧早于所述当前帧的情况下,根据所述目标帧的帧指令,确定所述其他游戏账户从所述目标帧至所述当前帧之间的预测帧;
24、状态回滚模块,用于在根据预设判定条件和所述预测帧,确定出所述其他游戏账户与所述当前游戏账户具有第一预设关系的情况下,回滚所述其他游戏账户的账户状态;所述第一预设关系用于表示所述其他游戏账户与所述当前游戏账户产生交互的可能性高于预设阈值。
25、第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
26、实时传输针对当前游戏账户的当前帧的帧指令至游戏服务器,同时实时接收从所述游戏服务器传输的针对其他游戏账户的目标帧的帧指令;
27、在所述目标帧早于所述当前帧的情况下,根据所述目标帧的帧指令,确定所述其他游戏账户从所述目标帧至所述当前帧之间的预测帧;
28、在根据预设判定条件和所述预测帧,确定出所述其他游戏账户与所述当前游戏账户具有第一预设关系的情况下,回滚所述其他游戏账户的账户状态;所述第一预设关系用于表示所述其他游戏账户与所述当前游戏账户产生交互的可能性高于预设阈值。
29、第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
30、实时传输针对当前游戏账户的当前帧的帧指令至游戏服务器,同时实时接收从所述游戏服务器传输的针对其他游戏账户的目标帧的帧指令;
31、在所述目标帧早于所述当前帧的情况下,根据所述目标帧的帧指令,确定所述其他游戏账户从所述目标帧至所述当前帧之间的预测帧;
32、在根据预设判定条件和所述预测帧,确定出所述其他游戏账户与所述当前游戏账户具有第一预设关系的情况下,回滚所述其他游戏账户的账户状态;所述第一预设关系用于表示所述其他游戏账户与所述当前游戏账户产生交互的可能性高于预设阈值。
33、第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
34、实时传输针对当前游戏账户的当前帧的帧指令至游戏服务器,同时实时接收从所述游戏服务器传输的针对其他游戏账户的目标帧的帧指令;
35、在所述目标帧早于所述当前帧的情况下,根据所述目标帧的帧指令,确定所述其他游戏账户从所述目标帧至所述当前帧之间的预测帧;
36、在根据预设判定条件和所述预测帧,确定出所述其他游戏账户与所述当前游戏账户具有第一预设关系的情况下,回滚所述其他游戏账户的账户状态;所述第一预设关系用于表示所述其他游戏账户与所述当前游戏账户产生交互的可能性高于预设阈值。
37、上述多人实时游戏的回滚方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,首先,实时传输针对当前游戏账户的当前帧的帧指令至游戏服务器,同时实时接收从游戏服务器传输的针对其他游戏账户的目标帧的帧指令,确保游戏服务器和各终端之间的数据同步,提高指令传输的实时性;然后,在目标帧早于当前帧的情况下,根据目标帧的帧指令,确定其他游戏账户从目标帧至当前帧之间的预测帧,通过预测算法,推算其他玩家的状态变化,本文档来自技高网...
【技术保护点】
1.一种多人实时游戏的回滚方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述回滚所述其他游戏账户的账户状态,包括:
3.根据权利要求2所述的方法,其特征在于,在回滚展示所述其他游戏账户的回滚帧之后,还包括:
4.根据权利要求2所述的方法,其特征在于,在回滚展示所述其他游戏账户的回滚帧之后,还包括:
5.根据权利要求1所述的方法,其特征在于,在实时接收从所述游戏服务器传输的针对其他游戏账户的目标帧的帧指令之后,还包括:
6.根据权利要求1所述的方法,其特征在于,所述实时接收从所述游戏服务器传输的针对其他游戏账户的目标帧的帧指令,包括:
7.一种多人实时游戏的回滚装置,其特征在于,所述装置包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种多人实时游戏的回滚方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述回滚所述其他游戏账户的账户状态,包括:
3.根据权利要求2所述的方法,其特征在于,在回滚展示所述其他游戏账户的回滚帧之后,还包括:
4.根据权利要求2所述的方法,其特征在于,在回滚展示所述其他游戏账户的回滚帧之后,还包括:
5.根据权利要求1所述的方法,其特征在于,在实时接收从所述游戏服务器传输的针对其他游戏账户的目标帧的帧指令之后,还包括:
6.根据权利要求1所述的方法,其特征在于,所述实时接收从所述游戏服...
【专利技术属性】
技术研发人员:范嘉馨,陈曦行,
申请(专利权)人:广州趣研网络科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。