一种游戏中对象坐标的同步方法、装置、设备及介质转让专利

申请号 : CN202310877129.X

文献号 : CN117046102B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 何博文刘雨沈琳焘张鹏辉张家旗

申请人 : 广州三七极耀网络科技有限公司

摘要 :

本申请公开了一种游戏中对象坐标的同步方法、装置、设备及介质,本申请属于计算机技术领域。该方法包括:在坐标校验模式开启的情况下,获取游戏中的目标对象在客户端解算得到的第一坐标信息;接收所述目标对象在服务器端解算得到的第二坐标信息;确定所述第一坐标信息与所述第二坐标信息的坐标差异,根据所述坐标差异对所述目标对象进行坐标同步。本技术方案,可以确保玩家对游戏操控时所观察到的信息与服务器端相一致,进而确保了游戏中操作的响应正常,游戏的基础功能能够正常实现,以提高用户的使用体验。

权利要求 :

1.一种游戏中对象坐标的同步方法,其特征在于,所述方法包括:在坐标校验模式开启的情况下,获取游戏中的目标对象在客户端解算得到的第一坐标信息;

接收所述目标对象在服务器端解算得到的第二坐标信息;

确定所述第一坐标信息与所述第二坐标信息的坐标差异,根据所述坐标差异对所述目标对象进行坐标同步;

获取所述目标对象在客户端解算得到的第一移动信息;以及,获取所述目标对象在服务器端解算得到的第二移动信息,根据所述第一移动信息和所述第二移动信息确定同步调节阈值;

在识别所述坐标差异大于同步调节阈值的情况下,根据所述坐标差异,所述第一移动信息包含的移动速度大小和移动速度方向,以及所述第二移动信息包含的移动速度大小和移动速度方向,确定差异类型,并基于所述差异类型生成目标对象的坐标同步报告。

2.根据权利要求1所述的游戏中对象坐标的同步方法,其特征在于,所述确定所述第一坐标信息与所述第二坐标信息的坐标差异,根据所述坐标差异对所述目标对象进行坐标同步,包括:以所述第一坐标信息的像素坐标的横坐标与所述第二坐标信息的像素坐标的横坐标作差,得到横坐标差值;以及,以所述第一坐标信息的像素坐标的纵坐标与所述第二坐标信息的像素坐标的纵坐标作差,得到纵坐标差值,将所述横坐标差值和所述纵坐标差值作为坐标差异;

在识别所述坐标差异大于同步调节阈值的情况下,根据所述坐标差异对所述目标对象的第二坐标信息进行位置更正。

3.根据权利要求1所述的游戏中对象坐标的同步方法,其特征在于,所述差异类型包括:移动延迟差异、地形影响差异以及自动校正差异中的至少一种。

4.根据权利要求1所述的游戏中对象坐标的同步方法,其特征在于,在根据所述第一移动信息和所述第二移动信息确定同步调节阈值之前,所述方法还包括:获取所述目标对象的形态信息;

相应的,根据所述第一移动信息和所述第二移动信息确定同步调节阈值,包括:根据所述第一移动信息、所述第二移动信息以及所述形态信息确定同步调节阈值。

5.根据权利要求2所述的游戏中对象坐标的同步方法,其特征在于,在将所述横坐标差值和所述纵坐标差值作为坐标差异之后,所述方法还包括:在连续预设次数均确定为所述坐标差异不大于同步调节阈值的情况下,生成退出指令,以退出所述坐标校验模式。

6.一种游戏中对象坐标的同步装置,其特征在于,所述装置包括:第一坐标信息获取模块,用于在识别到坐标校验模式的开启指令的情况下,获取游戏中的目标对象在客户端解算得到的第一坐标信息;

第二坐标信息接收模块,用于接收所述目标对象在服务器端解算得到的第二坐标信息;

坐标同步模块,用于确定所述第一坐标信息与所述第二坐标信息的坐标差异,根据所述坐标差异对所述目标对象进行坐标同步;

同步调节阈值确定模块,用于获取所述目标对象在客户端解算得到的第一移动信息;

以及,获取所述目标对象在服务器端解算得到的第二移动信息,根据所述第一移动信息和所述第二移动信息确定同步调节阈值;

差异类型确定模块,用于根据所述坐标差异,所述第一移动信息包含的移动速度大小和移动速度方向,以及所述第二移动信息包含的移动速度大小和移动速度方向,确定差异类型,并基于所述差异类型生成目标对象的坐标同步报告。

7.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1‑5中任一项所述的游戏中对象坐标的同步方法的步骤。

8.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1‑5中任一项所述的游戏中对象坐标的同步方法的步骤。

说明书 :

一种游戏中对象坐标的同步方法、装置、设备及介质

技术领域

[0001] 本申请属于计算机技术领域,具体涉及一种游戏中对象坐标的同步方法、装置、设备及介质。

背景技术

[0002] 随着科技水平的迅速发展,人们对日常生活中的休闲娱乐方式的要求越来越多样化,在正常的学习和工作之余,通过智能手机或者智能电脑等其他终端设备进行适度游戏,可以极大的辅助人们的身心放松。
[0003] 目前,在一些游戏类型中,对于对象的控制是由客户端和服务器端分别进行计算的。例如,在游戏中主角A在移动过程中,客户端通过其原始坐标以及移动速度等,解算出主角A的实时坐标,服务器端也基于服务器端得到的其原始坐标以及移动速度,解算出主角A的实时坐标。但是在一些情况下,会造成两者解算出的同一对象坐标不一致,这就会牵扯出很多游戏基础功能的问题,例如客户端解算主角A已经到达怪物B面前,并使用技能打击怪物B,但是服务器端确识别到主角A尚未到达怪物B面前,技能被空放,因此客户端显示怪物B掉血,服务器端确未计算掉血,造成基础功能无法正常实现,极大的影响了玩家的游戏体验。因此,如何能够在这一类型的游戏中对客户端和服务器端的对象进行坐标同步,是本领域技术人员亟待解决的技术难题。

发明内容

[0004] 本申请实施例的目的是提供一种游戏中对象坐标的同步方法、装置、设备及介质,解决了现有技术中无法对客户端和服务器端的游戏中的对象进行坐标同步的问题,确保玩家对游戏操控时所观察到的信息与服务器端相一致,进而确保了游戏中操作的响应正常,游戏的基础功能能够正常实现,以提高用户的使用体验。
[0005] 第一方面,本申请实施例提供了一种游戏中对象坐标的同步方法,所述方法包括:
[0006] 在坐标校验模式开启的情况下,获取游戏中的目标对象在客户端解算得到的第一坐标信息;
[0007] 接收所述目标对象在服务器端解算得到的第二坐标信息;
[0008] 确定所述第一坐标信息与所述第二坐标信息的坐标差异,根据所述坐标差异对所述目标对象进行坐标同步。
[0009] 进一步的,所述确定所述第一坐标信息与所述第二坐标信息的坐标差异,根据所述坐标差异对所述目标对象进行坐标同步,包括:
[0010] 以所述第一坐标信息的像素坐标的横坐标与所述第二坐标信息的像素坐标的横坐标作差,得到横坐标差值;以及,以所述第一坐标信息的像素坐标的纵坐标与所述第二坐标信息的像素坐标的纵坐标作差,得到纵坐标差值,将所述横坐标差值和所述纵坐标差值作为坐标差异;
[0011] 在识别所述坐标差异大于同步调节阈值的情况下,根据所述坐标差异对所述目标对象的第二坐标信息进行位置更正。
[0012] 进一步的,在识别所述坐标差异与所述同步调节阈值的大小关系之前,所述方法还包括:
[0013] 获取所述目标对象在客户端解算得到的第一移动信息;以及,获取所述目标对象在服务器端解算得到的第二移动信息;
[0014] 根据所述第一移动信息和所述第二移动信息确定同步调节阈值。
[0015] 进一步的,在识别所述坐标差异大于同步调节阈值的情况下,根据所述坐标差异对所述目标对象进行坐标同步之后,所述方法还包括:
[0016] 根据所述坐标差异,所述第一移动信息包含的移动速度大小和移动速度方向,以及所述第二移动信息包含的移动速度大小和移动速度方向,确定差异类型,并基于所述差异类型生成目标对象的坐标同步报告。
[0017] 进一步的,所述差异类型包括:移动延迟差异、地形影响差异以及自动校正差异中的至少一种。
[0018] 进一步的,在根据所述第一移动信息和所述第二移动信息确定同步调节阈值之前,所述方法还包括:
[0019] 获取所述目标对象的形态信息;
[0020] 相应的,根据所述第一移动信息和所述第二移动信息确定同步调节阈值,包括:
[0021] 根据所述第一移动信息、所述第二移动信息以及所述形态信息确定同步调节阈值。
[0022] 进一步的,在将所述横坐标差值和所述纵坐标差值作为坐标差异之后,所述方法还包括:
[0023] 在连续预设次数均确定为所述坐标差异不大于同步调节阈值的情况下,生成退出指令,以退出所述坐标校验模式。
[0024] 第二方面,本申请实施例提供了一种游戏中对象坐标的同步装置,所述装置包括:
[0025] 第一坐标信息获取模块,用于在识别到坐标校验模式的开启指令的情况下,获取游戏中的目标对象在客户端解算得到的第一坐标信息;
[0026] 第二坐标信息接收模块,用于接收所述目标对象在服务器端解算得到的第二坐标信息;
[0027] 坐标同步模块,用于确定所述第一坐标信息与所述第二坐标信息的坐标差异,根据所述坐标差异对所述目标对象进行坐标同步。
[0028] 进一步的,所述坐标同步模块,具体用于:
[0029] 以所述第一坐标信息的像素坐标的横坐标与所述第二坐标信息的像素坐标的横坐标作差,得到横坐标差值;以及,以所述第一坐标信息的像素坐标的纵坐标与所述第二坐标信息的像素坐标的纵坐标作差,得到纵坐标差值,将所述横坐标差值和所述纵坐标差值作为坐标差异;
[0030] 在识别所述坐标差异大于同步调节阈值的情况下,根据所述坐标差异对所述目标对象的第二坐标信息进行位置更正。
[0031] 进一步的,所述装置还包括:同步调节阈值确定模块,所述同步调节阈值确定模块,用于:
[0032] 获取所述目标对象在客户端解算得到的第一移动信息;以及,获取所述目标对象在服务器端解算得到的第二移动信息;
[0033] 根据所述第一移动信息和所述第二移动信息确定同步调节阈值。
[0034] 进一步的,所述装置还包括:差异类型确定模块,所述差异类型确定模块,用于:
[0035] 根据所述坐标差异,所述第一移动信息包含的移动速度大小和移动速度方向,以及所述第二移动信息包含的移动速度大小和移动速度方向,确定差异类型,并基于所述差异类型生成目标对象的坐标同步报告。
[0036] 进一步的,所述差异类型包括:移动延迟差异、地形影响差异以及自动校正差异中的至少一种。
[0037] 进一步的,所述同步调节阈值确定模块,还用于:
[0038] 获取所述目标对象的形态信息;
[0039] 相应的,根据所述第一移动信息和所述第二移动信息确定同步调节阈值,包括:
[0040] 根据所述第一移动信息、所述第二移动信息以及所述形态信息确定同步调节阈值。
[0041] 进一步的,所述装置还包括:校验模式退出模块,所述校验模式退出模块,用于:
[0042] 在连续预设次数均确定为所述坐标差异不大于同步调节阈值的情况下,生成退出指令,以退出所述坐标校验模式。
[0043] 第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
[0044] 第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
[0045] 第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
[0046] 在本申请实施例中,在坐标校验模式开启的情况下,获取游戏中的目标对象在客户端解算得到的第一坐标信息;接收所述目标对象在服务器端解算得到的第二坐标信息;确定所述第一坐标信息与所述第二坐标信息的坐标差异,根据所述坐标差异对所述目标对象进行坐标同步。通过上述方案提供的坐标校验模式,可以在客户端和服务器端分别独立解算游戏中对象的坐标的情况下,进行两端坐标差异的计算以及坐标同步,可以确保玩家观看到页面中的每个对象的坐标,在客户端和服务器端是一致的,从而保证游戏运行过程中功能的正常实现。

附图说明

[0047] 图1是本申请实施例一提供的游戏中对象坐标的同步方法的流程示意图;
[0048] 图2是本申请实施例一提供的坐标差异的示意图;
[0049] 图3是本申请实施例二提供的游戏中对象坐标的同步方法的流程示意图;
[0050] 图4是本申请实施例三提供的游戏中对象坐标的同步方法的流程示意图;
[0051] 图5是本申请实施例四提供的游戏中对象坐标的同步装置的结构示意图;
[0052] 图6是本申请实施例五提供的电子设备的结构示意图。

具体实施方式

[0053] 为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0054] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
[0055] 本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
[0056] 下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的游戏中对象坐标的同步方法、装置、设备及介质进行详细地说明。
[0057] 实施例一
[0058] 图1是本申请实施例一提供的游戏中对象坐标的同步方法的流程示意图。
[0059] 如图1所示,具体包括如下步骤:
[0060] S101,在坐标校验模式开启的情况下,获取游戏中的目标对象在客户端解算得到的第一坐标信息。
[0061] 首先,本方案的使用场景可以是在智能终端,例如智能手机、平板电脑或者台式电脑上,由开发人员或者玩家进行游戏中对象坐标的校验的场景。
[0062] 基于上述使用场景,可以理解的,本申请的执行主体可以是该智能终端,还可以是在智能终端中的处理器或者其他附属计算设备,此处不做过多的限定。
[0063] 本方案中,游戏可以是多种类型的,尤其可以是MMO类型游戏。MMO类型游戏指的是大型多人在线游戏,英文全称为Massive(Massively)Multiplayer Online Game,简称MMOG。一般指代任何网络游戏的服务器上可以提供大量玩家同时在线的游戏,例如可以提供1000人左右同时在线游戏,即可称之为大型多人在线游戏。
[0064] 目标对象可以是游戏中的任意对象,例如主角的人物对象,或者游戏中的怪物对象,更或者可以是游戏中的山、树木等场景对象。
[0065] 目标对象的坐标,可以是目标对象在游戏坐标系中的坐标,例如游戏中的某个场景,会以某一个点作为原点设立三维坐标系,则游戏中的每一个对象相对于该原点的位置,可以用游戏坐标系中的三维坐标来体现。除此之外,目标对象的坐标,还可以是在开发人员或者玩家的显示屏中的坐标,例如在显示屏中的像素坐标。具体的,某一个对象在显示屏中进行显示时,可以以该对象的中心点的坐标,来体现其在显示屏中的位置。由于对于开发人员或者玩家来说,显示屏是直观可见的,其中的对象是开发人员或者玩家所关注的,因此,本方案可以通过识别显示屏中显示出来的对象的像素坐标,进行坐标校验。
[0066] 坐标校验模式,可以是对游戏中的一个或者多个对象进行坐标的校验。本方案中,由于目标对象的坐标,是客户端基于目标对象的原始位置和移动轨迹、移动速度等信息进行解算来得到的。因此,对于目标对象来说,客户端解算得到一个坐标信息,而服务器端解算可能得到不同的坐标信息。因此以确保游戏体验为目标的情况下,需要进行坐标校验。
[0067] 通常情况下,可以是开发人员在游戏上线之前,通过对各种游戏场景、各种地图中的跑图来进行坐标校验。如果任何游戏场景、地图的跑图过程中,坐标校验均一致,则确定该游戏的客户端解算和服务器端解算是完全一致的。这样就可以在游戏上线前实现一致性校验。
[0068] 本方案中,可以通过一段指令代码或者一个开关组件来控制坐标校验模式的开启或者关闭。
[0069] S102,接收所述目标对象在服务器端解算得到的第二坐标信息。
[0070] 本方案中,服务器端对目标对象的坐标信息进行解算之后,可以通过网络传输至客户端所在的智能终端,供智能终端基于两者解算的坐标信息进行坐标校验。
[0071] 可以理解的,在坐标校验模式开启之后,可以获取客户端的画面中所包括的一个或者多个对象,确定其中的部分或者全部为目标对象,再向服务器端发出目标对象的坐标信息获取请求。服务器端接收到该请求之后,可以基于目标对象的ID(Identity,身份标识号码),对已经解算得到的目标对象的坐标信息进行反馈,或者基于目标对象的ID,确定需要对哪些目标对象的坐标进行解算,并在解算之后反馈给客户端所在的智能终端。
[0072] 具体的,其解算方式可以基于客户端当前画面作为AOI(Area of Interest)作为关注区域,来计算每个目标对象的AOI坐标,其中,AOI坐标编辑是一种用于图像处理和计算机视觉领域的技术,用于确定图像中感兴趣区域的位置和范围。通过编辑AOI坐标,可以准确地选择和提取图像中特定区域的信息。
[0073] 例如,在一个MMO类型游戏中,例如战歌M。为MMO类型游戏开发者提供坐标校验功能,需要保证游戏中的对象(如主角、怪物)的客户端及服务器端的坐标一致性。其中,对象是多种多样的,对象的行为及移动是频繁的,AOI对场景对象坐标的实时性及一致性要求很高,AOI中的场景对象的坐标,如果在客户端及服务器端不一致,将导致一系列的基础性问题。因此,MMO类型游戏开发基于AOI的功能时,需要开发者采用一种方法去实时校验AOI坐标的一致性校验。
[0074] S103,确定所述第一坐标信息与所述第二坐标信息的坐标差异,根据所述坐标差异对所述目标对象进行坐标同步。
[0075] 本方案中,在得到第一坐标信息与第二坐标信息之后,可以基于两者的坐标信息计算坐标差异。此处,坐标差异可以是一个数值,例如每个坐标轴的数值作差,得到客户端的第一坐标信息与服务器端的第二坐标信息之间的差值。除此之外,坐标差异还可以是一个比例值,例如该坐标差值相对于目标对象的宽度的数值。例如目标对象是一个人物,分别获取客户端的第一坐标信息和服务器端的第二坐标信息,通过计算坐标横向相差15个像素坐标,纵向相差10个像素坐标,得到这样一组数据之后,可以综合计算得到坐标差异。
[0076] 可以理解的,在得到坐标差异之后,可以根据坐标差异对目标对象进行坐标同步。本方案中,由于不同场景下,所产生的坐标差异是不同的,也对应于不同的同步策略。例如在一些场景下,客户端解算的第一坐标信息出现了问题,应该基于服务器端解算的第二坐标信息进行同步,也就是将第一坐标信息修改为与第二坐标信息相同。但是在有些场景下,也可能是因为服务器端解算的第二坐标信息存在问题,导致的计算出坐标差异,在这种情况下,就应该基于第一坐标信息对第二坐标信息进行坐标同步。
[0077] 需要知道的,坐标同步的方式,可以结合游戏中实际的场景来衡量,上文所指出的修改为两个坐标信息相同,只是一种示例,并不排除其他的修改方式。
[0078] 在本方案中,可选的,所述确定所述第一坐标信息与所述第二坐标信息的坐标差异,根据所述坐标差异对所述目标对象进行坐标同步,包括:
[0079] 以所述第一坐标信息的像素坐标的横坐标与所述第二坐标信息的像素坐标的横坐标作差,得到横坐标差值;以及,以所述第一坐标信息的像素坐标的纵坐标与所述第二坐标信息的像素坐标的纵坐标作差,得到纵坐标差值,将所述横坐标差值和所述纵坐标差值作为坐标差异;
[0080] 在识别所述坐标差异大于同步调节阈值的情况下,根据所述坐标差异对所述目标对象的第二坐标信息进行位置更正。
[0081] 其中,第一坐标信息和第二坐标信息可以是目标对象在屏幕中的像素坐标,例如以屏幕的左上方为坐标原点,向右为X轴的正向,向下为Y轴的正向,由此可以计算屏幕中任意一个目标对象的坐标信息。并基于目前屏幕显示的内容,通过服务器端获取服务器端解算的该目标对象的坐标信息。由于第一坐标信息和第二坐标信息均包含横坐标和纵坐标,可以将两者的横坐标作差,得到横坐标差值,将两者的纵坐标作差,得到纵坐标差值。
[0082] 在得到横坐标差值和纵坐标差值之后,可以进行距离计算,或者以坐标对的形式作为坐标差异。
[0083] 本方案中,得到坐标差异之后,可以将其与同步调节阈值进行比较,如果大于该同步调节阈值,则对两个坐标信息进行位置更正。由于一些情况中,是因为服务器端没有同步到客户端的移动效果修改造成的,则可以对第二坐标信息进行位置更正。对应的示例为,如果一个怪物在移动,开发人员或者玩家对齐施加减速技能,但是服务器端没有同步到该技能,则服务器端对怪物的坐标信息的解算会存在异常,因此,需要基于第一坐标信息对第二坐标信息进行位置更正。
[0084] 本实施例这样设置,可以采用一种坐标差异的确定方式,对服务器端的第二坐标信息出现异常的情况做出位置更正,以使目标对象的坐标在客户端和服务器端是同步的,避免服务器端没有同步到客户端的信息而造成解算的坐标信息出现偏差的情况。
[0085] 图2是本申请实施例一提供的坐标差异的示意图。如图2所示,人物所在的位置是基于客户端解算得到的第一坐标信息渲染的,胶囊体所在的位置是基于服务器端解算得到的第二坐标信息渲染的。可见,第一坐标信息和第二坐标信息存在明显的差异,可以基于在屏幕中的像素点坐标来确定两者之间的坐标差异。
[0086] 在本申请实施例中,在坐标校验模式开启的情况下,获取游戏中的目标对象在客户端解算得到的第一坐标信息;接收所述目标对象在服务器端解算得到的第二坐标信息;确定所述第一坐标信息与所述第二坐标信息的坐标差异,根据所述坐标差异对所述目标对象进行坐标同步。通过上述方案提供的坐标校验模式,可以在客户端和服务器端分别独立解算游戏中对象的坐标的情况下,进行两端坐标差异的计算以及坐标同步,可以确保玩家观看到页面中的每个对象的坐标,在客户端和服务器端是一致的,从而保证游戏运行过程中功能的正常实现。
[0087] 实施例二
[0088] 图3是本申请实施例二提供的游戏中对象坐标的同步方法的流程示意图。本方案对上述实施例做出了更优的改进,具体改进为:在识别所述坐标差异与所述同步调节阈值的大小关系之前,所述方法还包括:获取所述目标对象在客户端解算得到的第一移动信息;以及,获取所述目标对象在服务器端解算得到的第二移动信息;根据所述第一移动信息和所述第二移动信息确定同步调节阈值。
[0089] 如图3所示,具体包括如下步骤:
[0090] S301,在坐标校验模式开启的情况下,获取游戏中的目标对象在客户端解算得到的第一坐标信息。
[0091] S302,接收所述目标对象在服务器端解算得到的第二坐标信息。
[0092] S303,以所述第一坐标信息的像素坐标的横坐标与所述第二坐标信息的像素坐标的横坐标作差,得到横坐标差值;以及,以所述第一坐标信息的像素坐标的纵坐标与所述第二坐标信息的像素坐标的纵坐标作差,得到纵坐标差值,将所述横坐标差值和所述纵坐标差值作为坐标差异。
[0093] S304,获取所述目标对象在客户端解算得到的第一移动信息;以及,获取所述目标对象在服务器端解算得到的第二移动信息。
[0094] 本方案中,第一移动信息和第二移动信息可以包括目标对象的移动速度信息。例如,目标对象为开发人员操控的人物,开发人员正在控制其向屏幕右方跑动,则移动速度信息可以是其向右跑动的速度。
[0095] S305,根据所述第一移动信息和所述第二移动信息确定同步调节阈值。
[0096] 由于不同场景下移动速度快慢不一,加之服务器端向客户端所在的智能终端发送第二坐标信息存在延迟,因此可以知道的,移动速度越快,人物与胶囊体之间的坐标差异可能越大。因此,可以在获取到目标对象的移动速度信息之后,基于该移动速度信息确定同步调节阈值,例如移动速度越快,该同步调节阈值越大。也就是说,虽然在高速移动下,人物与胶囊体之间的间距会很大,但是其不超出网络传输延迟的正常范围,也可以认为客户端的第一坐标信息与服务器端的第二坐标信息是具备一致性的,无需做坐标同步的处理。
[0097] 例如,当前的网络延迟是30ms,人物的向右移动的移动速度信息为15游戏坐标单位/秒,若在人物与胶囊体之间的距离在P个像素距离之内,且人物在前,胶囊体在后,即人物在胶囊体的右侧,则认为是合理情况。而如果人物与胶囊体之间的距离在P个像素距离之外,则认为是第二坐标信息的解算存在问题,需要对齐进行坐标同步的处理。
[0098] 此处,可以基于移动速度信息,确定P,即根据所述第一移动信息和所述第二移动信息确定同步调节阈值。
[0099] S306,在识别所述坐标差异大于同步调节阈值的情况下,根据所述坐标差异对所述目标对象的第二坐标信息进行位置更正。
[0100] 结合上述示例,如果识别到坐标差异大于同步调节阈值P,则需要对第二坐标信息进行位置更正。具体的,可以更正到人物的左侧的小于P个像素距离之内的某个位置。
[0101] 本实施例通过对移动速度信息的获取,可以更加精准的确定同步调节阈值,并在确定适合当前移动速度信息的同步调节阈值之后,识别服务器端解算的坐标信息是否存在异常,以在存在异常的情况下对齐进行更正。
[0102] 在上述实施例的基础上,可选的,在识别所述坐标差异大于同步调节阈值的情况下,根据所述坐标差异对所述目标对象进行坐标同步之后,所述方法还包括:
[0103] 根据所述坐标差异,所述第一移动信息包含的移动速度大小和移动速度方向,以及所述第二移动信息包含的移动速度大小和移动速度方向,确定差异类型,并基于所述差异类型生成目标对象的坐标同步报告。
[0104] 其中,在得到第一移动信息之后,可以读取其中的移动速度大小和移动速度方向,例如移动速度大小为20游戏坐标单位/秒,移动速度方向为向右上方移动。则在获取到第二移动信息之后,可以读取其中的移动速度大小和移动速度方向,例如移动速度大小为15游戏坐标单位/秒,移动速度方向为水平向右移动。则可以确定为两者存在移动方向差异,结合如果识别到当前人物的移动是在向右方的山上跑动,则可以确定为服务器端的第二坐标信息解算的过程中,没有结合地形信息,所以可以确定差异类型为:方向差异‑地形错误。
[0105] 本方案可以基于此来生成目标对象的坐标同步报告,例如在调取坐标同步日志之后,将所确定的差异类型加入到相应的注解中,形成坐标差异报告。
[0106] 本方案这样设置的好处是可以在进行坐标同步的过程中,结合更多的信息,例如移动方向信息和移动速度信息,来识别到出现坐标差异的差异类型,从而可以为开发人员提供相应的数据,供开发人员对于游戏做出相应的改进,克服坐标差异的问题。
[0107] 在上述技术方案的基础上,可选的,所述差异类型包括:移动延迟差异、地形影响差异以及自动校正差异中的至少一种。
[0108] 其中,移动延迟差异,可以是由于开发人员操控人物快速移动的过程中,接收到的服务器端反馈的第二坐标信息相对于第一坐标信息会在移动方向上存在一定的滞后造成的。移动延迟差异可以与当前的网络延迟大小相关,同时也与人物或者怪物等目标对象的移动速度信息有关。
[0109] 地形影响差异,可以是在开发人员操控人物快速移动的过程中,接收到的服务器端反馈的第二坐标信息相对于第一坐标信息会在移动方向上存在一定的偏差造成的。地形影响差异可以与当前人物或者怪物移动的地形相关,具体可以体现在人物或者怪物等目标对象的移动方向信息上。
[0110] 自动校正差异,可以是客户端出现的坐标异常,也可以是在服务器端出现的坐标异常。例如在客户端侧,将鸟类怪物校正到与地面相接触,但实际该鸟类怪物是出于飞行中的,客户端自动进行了校正。类似的情况也可以在服务器端出现,因此,可以将其与目标对象的当前状态相关联,结合当前状态确定目标对象的实际坐标,并对第一坐标信息或者第二坐标信息进行同步。
[0111] 本技术方案这样设置的好处是可以在坐标信息同步的过程中,按照出现坐标差异的类型的不同,采用不同的处理策略,同时也能够识别到目标对象的准确坐标信息,避免出现坐标同步错误的情况。
[0112] 实施例三
[0113] 图4是本申请实施例三提供的游戏中对象坐标的同步方法的流程示意图。本方案对上述实施例做出了更优的改进,具体改进为:在根据所述第一移动信息和所述第二移动信息确定同步调节阈值之前,所述方法还包括:获取所述目标对象的形态信息;相应的,根据所述第一移动信息和所述第二移动信息确定同步调节阈值,包括:根据所述第一移动信息、所述第二移动信息以及所述形态信息确定同步调节阈值。
[0114] 如图4所示,具体包括如下步骤:
[0115] S401,在坐标校验模式开启的情况下,获取游戏中的目标对象在客户端解算得到的第一坐标信息。
[0116] S402,接收所述目标对象在服务器端解算得到的第二坐标信息。
[0117] S403,以所述第一坐标信息的像素坐标的横坐标与所述第二坐标信息的像素坐标的横坐标作差,得到横坐标差值;以及,以所述第一坐标信息的像素坐标的纵坐标与所述第二坐标信息的像素坐标的纵坐标作差,得到纵坐标差值,将所述横坐标差值和所述纵坐标差值作为坐标差异。
[0118] S404,获取所述目标对象在客户端解算得到的第一移动信息;以及,获取所述目标对象在服务器端解算得到的第二移动信息。
[0119] S405,获取所述目标对象的形态信息。
[0120] 目标对象的形态信息,可以是目标对象在游戏中的体积的信息,或者目标对象在当前屏幕显示游戏场景中的体积的信息。目标对象的形态信息可以与目标对象的属性参数有关,例如目标对象在游戏中是一名球员,则可以结合游戏中存储的该球员的属性参数,例如身高、体重、臂展以及三围等来确定其形态信息。
[0121] S406,根据所述第一移动信息、所述第二移动信息以及所述形态信息确定同步调节阈值。
[0122] 本方案中,在确定同步调节阈值的过程中,可以结合移动信息和形态信息。例如,移动信息可以包括移动速度和移动方向等,形态信息可以包括目标对象在游戏中的大小,或者在屏幕中占用的像素点个数等。可以理解的,当目标对象的体积越大时,即便存在少了的坐标偏差,开发人员或者玩家在客户端释放技能或者普通攻击时,仍然能够击打到目标对象。因此可以理解为目标对象的形态信息越大,对于坐标偏差的容忍度就越高,所以可以结合形态信息一同来确定同步调节阈值。
[0123] S407,在识别所述坐标差异大于同步调节阈值的情况下,根据所述坐标差异对所述目标对象的第二坐标信息进行位置更正。
[0124] 本实施例提供的技术方案,可以在同步调节阈值的确定过程中,考虑到目标对象的形态信息,即目标对象的形态较为宽大时,可以增大同步调节阈值,保证游戏效果的同时,减少智能终端设备的坐标同步次数,以节约计算量和客户端与服务器端的信息传递量,节约能效,并确保客户端的算力充足,保证游戏的流畅性。
[0125] 在上述技术方案的基础上,可选的,在将所述横坐标差值和所述纵坐标差值作为坐标差异之后,所述方法还包括:
[0126] 在连续预设次数均确定为所述坐标差异不大于同步调节阈值的情况下,生成退出指令,以退出所述坐标校验模式。
[0127] 其中,可以周期性的进行坐标差异的计算,例如每2秒计算一次,当发现连续10次计算坐标差异之后,坐标差异都不大于同步调节阈值,则可以确定当前游戏场景下客户端和服务器端解算的坐标信息都是准确的,因此,在当前游戏场景下退出坐标校验模式。
[0128] 退出之后,也可以生成相应的提示信息,以弹窗的形式告知给开发人员,供开发人员及时发现当前游戏场景不存在坐标差异的问题,可以切换到另一游戏场景进行测试。
[0129] 本方案这样设置,可以提高游戏的测试效率,无需开发人员手动操作来控制坐标校验模式的开启和退出。并且,这样设置还能够避免每个开发人员的主观因素带来的测试结果不一致的请。
[0130] 实施例四
[0131] 图5是本申请实施例四提供的游戏中对象坐标的同步装置的结构示意图。
[0132] 如图5所示,具体包括如下:
[0133] 第一坐标信息获取模块501,用于在识别到坐标校验模式的开启指令的情况下,获取游戏中的目标对象在客户端解算得到的第一坐标信息;
[0134] 第二坐标信息接收模块502,用于接收所述目标对象在服务器端解算得到的第二坐标信息;
[0135] 坐标同步模块503,用于确定所述第一坐标信息与所述第二坐标信息的坐标差异,根据所述坐标差异对所述目标对象进行坐标同步。
[0136] 进一步的,所述坐标同步模块,具体用于:
[0137] 以所述第一坐标信息的像素坐标的横坐标与所述第二坐标信息的像素坐标的横坐标作差,得到横坐标差值;以及,以所述第一坐标信息的像素坐标的纵坐标与所述第二坐标信息的像素坐标的纵坐标作差,得到纵坐标差值,将所述横坐标差值和所述纵坐标差值作为坐标差异;
[0138] 在识别所述坐标差异大于同步调节阈值的情况下,根据所述坐标差异对所述目标对象的第二坐标信息进行位置更正。
[0139] 进一步的,所述装置还包括:同步调节阈值确定模块,所述同步调节阈值确定模块,用于:
[0140] 获取所述目标对象在客户端解算得到的第一移动信息;以及,获取所述目标对象在服务器端解算得到的第二移动信息;
[0141] 根据所述第一移动信息和所述第二移动信息确定同步调节阈值。
[0142] 进一步的,所述装置还包括:差异类型确定模块,所述差异类型确定模块,用于:
[0143] 根据所述坐标差异,所述第一移动信息包含的移动速度大小和移动速度方向,以及所述第二移动信息包含的移动速度大小和移动速度方向,确定差异类型,并基于所述差异类型生成目标对象的坐标同步报告。
[0144] 进一步的,所述差异类型包括:移动延迟差异、地形影响差异以及自动校正差异中的至少一种。
[0145] 进一步的,所述同步调节阈值确定模块,还用于:
[0146] 获取所述目标对象的形态信息;
[0147] 相应的,根据所述第一移动信息和所述第二移动信息确定同步调节阈值,包括:
[0148] 根据所述第一移动信息、所述第二移动信息以及所述形态信息确定同步调节阈值。
[0149] 进一步的,所述装置还包括:校验模式退出模块,所述校验模式退出模块,用于:
[0150] 在连续预设次数均确定为所述坐标差异不大于同步调节阈值的情况下,生成退出指令,以退出所述坐标校验模式。
[0151] 在本申请实施例中,在坐标校验模式开启的情况下,获取游戏中的目标对象在客户端解算得到的第一坐标信息;接收所述目标对象在服务器端解算得到的第二坐标信息;确定所述第一坐标信息与所述第二坐标信息的坐标差异,根据所述坐标差异对所述目标对象进行坐标同步。通过上述方案提供的坐标校验模式,可以在客户端和服务器端分别独立解算游戏中对象的坐标的情况下,进行两端坐标差异的计算以及坐标同步,可以确保玩家观看到页面中的每个对象的坐标,在客户端和服务器端是一致的,从而保证游戏运行过程中功能的正常实现。
[0152] 本申请实施例中的游戏中对象坐标的同步装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra‑mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
[0153] 本申请实施例中的游戏中对象坐标的同步装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
[0154] 本申请实施例提供的游戏中对象坐标的同步装置能够实现上述各方法实施例实现的各个过程,为避免重复,这里不再赘述。
[0155] 实施例五
[0156] 图6是本申请实施例五提供的电子设备的结构示意图。如图6所示,本申请实施例还提供一种电子设备600,包括处理器601,存储器602,存储在存储器602上并可在所述处理器601上运行的程序或指令,该程序或指令被处理器601执行时实现上述游戏中对象坐标的同步装置实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0157] 需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
[0158] 实施例六
[0159] 本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述游戏中对象坐标的同步装置实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0160] 其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
[0161] 实施例七
[0162] 本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述游戏中对象坐标的同步装置实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0163] 应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
[0164] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
[0165] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
[0166] 上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
[0167] 上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。