一种2d游戏中客户端的同步方法、装置和系统的制作方法

文档序号:9238139阅读:319来源:国知局
一种2d游戏中客户端的同步方法、装置和系统的制作方法
【技术领域】
[0001] 本发明涉及通讯的技术领域,特别是涉及一种2D游戏中客户端的同步方法、一种 2D游戏中客户端的同步装置和一种2D游戏中客户端的同步系统。
【背景技术】
[0002] 在网络游戏中,通常多个客户端需要和服务器保持连接或者频繁与服务器进行数 据交互,以实现在每个客户端中都可以看到其他客户端控制人物的移动是实时且准确的。
[0003] 但是由于网络延时存在,导致其他客户端的操作不能实时地传输到当前客户端 中,使得其他客户端的操作在当前客户端的动作之间产生微小差异,这一微小差异不断累 积,使得其在当前客户端的动作实现会出现明显偏差。
[0004] 当动作出现偏差时,需要通过同步策略来进行移动状态的纠正人物的移动。一般 同步策略分为同步方案和纠正方案两部分,其中同步方案分为状态同步和帧同步;而常见 的纠正方案大致分为直接拉扯和航位推测。
[0005] 直接拉扯即将对象从当前位置直接拉扯到最新位置即终点,航位推测是通过最新 的移动状态来预测终点,得到一个用于纠正的运动轨迹。
[0006] 参见图1,示出了一种航位推测的示例图。在此示例中,假设在客户端A在第一帧 中人物1在位置B,按照当时的移动状态,预测第二帧时人物1移动到的位置为G;但是客户 端A在第二帧时收到人物1的位置在位置M,并且根据第二帧收到人物1的移动状态,预测 第三帧时人物1移动到的位置为N。所以客户端A要根据第二帧接收到的移动状态,在第三 帧时将人物1移动到位置N,即路线为GN。
[0007] 但是,直接拉扯会造成严重的瞬移现象,使得动作失真严重,偏离现实情况。
[0008] 而在2D网络游戏中,存在模拟重力以及大量阻挡,由于纠正过程是模拟出的一个 运动过程,它的运动轨迹是通过模拟计算得到的,而计算过程中无法考虑到阻挡和受重力 的效果,会产生运动轨迹失真、人物穿透阻挡等问题。例如上述示例中,若路线GN存在阻 挡,则该示例中会出现穿越阻挡现象。并且,因为有模拟重力,若向重力相反方向向上纠正 时,就表现出不受重力的现象,与现实情况不符。
[0009] 总之,现有的多客户端同步策略精度低,容易产生与偏离现实情况的现象,使得用 户在游戏过程中,容易产生错误操作,尤其是射击类等对精度要求十分高的网络游戏,用户 体现十分差。
[0010] 因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提出一种多客户 端同步策略,提高同步精度,减少偏离现实情况现在的出现,提升用户体验。

【发明内容】

[0011] 本发明实施例所要解决的技术问题是提供一种2D游戏中客户端的同步方法,提 高同步精度,减少偏离现实情况现在的出现,提升用户体验。
[0012] 相应的,本发明实施例还提供了一种2D游戏中客户端的同步装置、一种2D游戏中 客户端的同步系统,用以保证上述方法的实现及应用。
[0013] 为了解决上述问题,本发明公开了一种2D游戏中客户端的同步方法,所述客户端 包括第一客户端和第二客户端,所述第一客户端对应第一业务对象,所述第二客户端对应 第二业务对象,所述的方法包括:
[0014] 在服务器侧监测所述第二业务对象的真实位置与显示位置;所述显示位置为所述 第二业务对象在所述第一客户端中显示的位置;
[0015] 当所述真实位置与所述显示位置之间的距离超过预设的偏差阈值时,依据所述第 二业务对象对应的操作信息计算预设时间内所述第二业务对象的预测位置;
[0016] 计算在水平方向上所述第二业务对象从所述显示位置在预设时间内移动到所述 预测位置的加速度;
[0017] 将所述加速度发送至所述第一客户端;所述第一客户端用于在坚直方向上将所述 第二业务对象从所述显示位置移动到所述真实位置,在坚直方向上按照所述操作信息在预 设时间内将所述第二业务对象从所述真实位置移动到所述预测位置,以及,在水平方向上 按照所述操作信息和所述加速度,在预设时间内将所述第二业务对象从所述显示位置移动 到所述预测位置。
[0018] 优选地,通过以下公式计算在水平方向上所述第二业务对象从所述显示位置在预 设时间内移动到所述预测位置的加速度:
[0019]
[0020] 其中,Si为在水平方向的预测位置,S2为在水平方向的显示位置,Vi为所述第二业 务对象在水平方向的第一移动速度,a为加速度,t为预设时间。
[0021] 优选地,所述依据所述第二业务对象对应的操作信息计算预设时间内所述第二业 务对象的预测位置的步骤包括:
[0022] 在所述操作信息对应的水平方向上,执行所述第二业务对象在水平方向的第一移 动速度和预设时间的乘积计算,获得水平移动距离;
[0023] 在水平方向上,执行所述真实位置和所述水平移动距离的加法计算,获得水平方 向的预测位置;
[0024] 亦所试楹作佶息对府的坚直方向上,通过以下公式计算坚直移动距离:
[0025]
[0026] 其中,AS
为竖直移动距离,V3为所述第二业务对象在坚直方向的第二移动速度, g为预置的模拟重力加速度,t为预设时间;
[0027] 在坚直方向上,执行所述真实位置和所述坚直移动距离的加法计算,获得坚直方 向的预测位置。
[0028] 本发明实施例还公开了一种2D游戏中客户端的同步方法,所述客户端包括第一 客户端和第二客户端,所述第一客户端对应第一业务对象,所述第二客户端对应第二业务 对象,所述的方法包括:
[0029] 在所述第一客户端侧接收服务器侧发送的所述第二业务对象对应的加速度;其 中,所述加速度为所述服务器在所述真实位置与所述显示位置之间的距离超过预设的偏差 阈值时,依据所述第二业务对象对应的操作信息计算预设时间内所述第二业务对象的预测 位置,计算在水平方向上所述第二业务对象从所述显示位置在预设时间内移动到所述预测 位置的加速度;所述显示位置为所述第二业务对象在所述第一客户端中显示的位置;
[0030] 在坚直方向上将所述第二业务对象从所述显示位置移动到所述真实位置;
[0031] 在坚直方向上按照所述操作信息在预设时间内将所述第二业务对象从所述真实 位置移动到所述预测位置;
[0032] 在水平方向上按照所述操作信息和所述加速度,在预设时间内将所述第二业务对 象从所述显示位置移动到所述预测位置。
[0033] 优选地,所述在坚直方向上按照所述操作信息在预设时间内将所述第二业务对象 从所述真实位置移动到所述预测位置的步骤包括:
[0034] 在所述操作信息对应的坚直方向上,通过以下坚直移动速度在预设时间内将所述 第二业务对象从所述真实位置移动到所述预测位置:
[0035] V4=V5-gA t
[0036]其中,V4为坚直移动速度,V5为所述第二业务对象在坚直方向的第三移动速度,gx 预置的模拟重力加速度,At为当前时间与真实位置对应的时间之间的时间间隔。
[0037] 优选地,所述在水平方向上按照所述操作信息和所述加速度,在预设时间内将所 述第二业务对象从所述显示位置移动到所述预测位置的步骤包括:
[0038] 在所述操作信息对应的水平方向上,通过以下水平移动速度在预设时间内将所述 第二业务对象从所述显示位置移动到所述预测位置:
[0039] V6=V7+a A t
[0040] 其中,V6为水平移动速度,V7为所述第二业务对象在水平方向的第四移动速度,a为所述加速度,At为当前时间与真实位置对应的时间之间的时间间隔。
[0041] 本发明实施例还公开了一种2D游戏中客户端的同步装置,所述客户端包括第一 客户端和第二客户端,所述第一客户端对应第一业务对象,所述第二客户端对应第二业务 对象,所述的装置包括:
[0042] 监测模块,用于监测所述第二业务对象的真实位置与显示位置;所述显示位置为 所述第二业务对象在所述第一客户端中显示的位置;
[0043] 预测模块,用于在所述真实位置与所述显示位置之间的距离超过预设的偏差阈值 时,依据所述第二业务对象对应的操作信息计算预设时间内所述第二业务对象的预测位 置;
[0044] 加速度计算模块,用于计算在水平方向上所述第二业务对象从所述显示位置在预 设时间内移动到所述预测位置的加速度;
[0045] 加速度发送模块,用于将所述加速度发送至所述第一客户端;所述第一客户端用 于在坚直方向上将所述第二业务对象从所述显示位置拉扯到所述真实位置,在坚直方向上 按照所述操作信息在预设时间内将所述第二业务对象从所述真实位置移动到所述预测位 置,以及,在水平方向上按照所述操作信息和所述加速度,在预设时间内将所述第二业务对 象从所述显示位置移动到所述预测位置。
[0046] 优选地,通过以下公式计算在水平方向上所述第二业务对象从所述显示位置在预 设时间内移动到所述预测位置的加速度:
[0047]
[0048]其中,Si为在水平方向的预测位置,S2为在水平方向的显示位置,%为所述第二业 务对象在水平方向的第一移动速度,a为加速度,t为预设时间。
[0049] 优选地,所述预测模块包括:
[0050] 水平移动距离获得子模块,用于在所述操作信息对应的水平方向上,执行所述第 二业务对象在水平方向的第一移动速度和预设时间的乘积计算,获得水平移动距离;
[0051] 水平预测位置获得子模块,用于在水平方向上,执行所述真实位置和所述水平移 动距离的加法计算,获得水平方向的预测位置;
[0052] 坚直移动距离计算子模块,用于在所述操作信息对应的坚直方向上,通过以下公 式计算坚直移动距离:
[0053]
[0054] 其中,AS为坚直移动距离,V3为所述第二业务对象在坚直方向的第二移动速度, g为预置的模拟重力加速度,t为预设时间;
[0055] 坚直预测位置获得子模块,用于在坚直方向上,执行所述真实位置和所述坚直移 动距离的加法计算,获得坚直方向的预测位置。
[0056] 本发明实施例还公开了一种2D游戏中客户端的同步装置,所述客户端包括第一 客户端和第二客户端,所述第一客户端对应第一业务对象,所述第二客户端对应第二业务 对象,所述的装置包括:
[0057] 加速度接收模块,用于接收服务器侧发送的所述第二业务对象对应的加速度;其 中,所述加速度为所述服务器在所述真实位置与所述显示位置之间的距离超过预设的偏差 阈值时,依据所述第二业务对象对应的操作信息计算预设时间内所述第二业务对象的预测 位置,计算在水平方向上所述第二业务对象从所述显示位置在预设时间内移动到所述预测 位置的加速度;所述显示位置为所述第二业务对象在所述第一客户端中显示的位置;
[0058] 第一移动模块,用于在坚直方向上将所述第二业务对象从所述显示位置移动到所 述真实位置;
[0059] 第二移动模块,用于在坚直方向上按照所述操作信息在预设时间内将所述第二业 务对象从所述真实位置移
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1