一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

游戏中游戏对象位置同步方法、装置、电子设备与流程

2022-06-05 00:27:24 来源:中国专利 TAG:


1.本发明实施例涉及互联网技术领域,特别是涉及一种游戏中游戏对象位置同步方法、一种游戏中游戏对象位置同步装置、电子设备和存储介质。


背景技术:

2.目前,随着网络技术的飞速发展,网络游戏也逐渐的走入人们的生活,越来越多的人都在通过终端设备(如智能手机、电脑等)来玩游戏,人们通过玩游戏来消遣闲暇时光,让生活更加丰富多彩。
3.简单来说,游戏可以理解成可以控制的计算机的3d(三维)动画,动画是由一帧帧画面所组成的。在游戏中的游戏对象的位移,如果在玩家角度观看到的是流畅的动画,则需要每帧画面中游戏对象的位置变化需要保持在一个比较稳定的移动范围内,而如果出现在某几帧画面中游戏对象的移动范围很小,甚至不移动的情况,就会出现常见的卡顿情况。
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.可选地,所述装置还包括:位置预测模块,用于获取所述游戏对象的继续运动时间;所述继续运动时间为基于当前网络延迟时间生成;采用所述初始运动状态数据和所述继续运动时间,计算所述游戏对象在所述游戏中的预测位置;将所述预测位置同步至所述目标终端设备。
38.可选地,所述初始运动状态数据包括所述游戏对象的初始位置、位移速度、位移方向和位移状态。
39.可选地,所述位置预测模块,用于当所述位移状态为继续运动状态时,采用所述初始位置、位移速度、位移方向和所述继续运动时间,计算所述游戏对象在所述游戏中的预测位置。
40.可选地,所述装置还包括:停止预测模块,用于若未在指定时间内接收到所述终端设备发送的所述游戏中所述游戏对象的下一位移指令,则在所述继续运动时间后,停止采用所述初始运动状态数据和所述继续运动时间计算所述游戏对象在所述游戏中的预测位置。
41.本发明实施例公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的游戏中游戏对象位置同步方法的步骤。
42.本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的游戏中游戏对象位置同步方法的步骤。
43.本发明实施例还公开了一种计算机程序产品,该程序产品被存储在存储介质中,该计算机程序产品被至少一个处理器执行以实现如本发明实施例所述的方法。
44.本发明实施例包括以下优点:
45.在本发明实施例中,接收终端设备发送的游戏中游戏对象的位移指令,基于位移指令中的位移运动类型获取对应的位移运算公式,将位移指令中的初始运动状态数据填入位移运算公式中,得到目标位移运算公式,然后,将目标位移运算公式同步至目标终端设备,以使目标终端设备基于目标位移运算公式对游戏对象的位置进行预测。在本发明实施例中,若游戏对象的位移运动类型具有对应的位移运算公式,说明该游戏对象在游戏中按
照一定的运动规律进行位移运动,则将目标位移运算公式同步至目标终端设备后,目标终端设备可以基于目标位移运算公式自行对游戏对象进行位置预测,仅需要传输少量的数据即可实现位置同步,无需终端设备和服务器为了实现位置同步多次传输位置数据,降低了设备的性能压力。
附图说明
46.图1是本发明的一种游戏中游戏对象位置同步方法实施例的步骤流程图;
47.图2是本发明的一种游戏中游戏对象位置同步的应用环境示意图;
48.图3是本发明的另一种在游戏中实现游戏对象同步过程的时序图;
49.图4是本发明的一种游戏中游戏对象位置同步装置实施例的结构框图;
50.图5是本发明实施例中提供的一种电子设备的框图。
具体实施方式
51.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
52.目前,在游戏中实现游戏对象同步的方案有状态同步和帧同步:
53.状态同步:
54.玩家的终端设备会不断的上传自己操控的游戏对象在游戏中的当前位置,并广播到其他玩家的终端设备,然后其他玩家的终端设备收到当前位置后,按照设定插值算法,在游戏中将游戏对象从当前位置平滑过渡到下一个位置,从而达到位置的同步。
55.帧同步:
56.玩家的终端设备发送游戏对象对应的游戏指令到服务器,服务器接收并汇总,然后转发给登录在相同游戏中的所有的终端设备,终端设备则根据接收到的游戏指令来做运算和显示该游戏对象对应的位置。
57.然而,上述两种方案有以下共同缺点:1、需要较多的数据来进行同步,而且同步的准确和流畅程度与数据同步的频率正相关。2、对于网络状态要求较高,一旦同步过程中出现了网络波动,就容易造成被同步一方的卡顿。
58.除此之外,帧同步,由于是基于游戏指令在本地终端设备进行运算,为了维护数据的一致性,需要更多的数据来进行矫正;状态同步,由于受到服务器的帧率限制,即使终端设备保持较高的帧率上传游戏对象的位置(例如一秒25帧),但是服务器广播数据的时候,通常不可能按照与终端设备相同的帧率进行数据广播(例如一秒10帧),从而会造成一定的数据流失,使得其他终端设备同步的存在一定误差。
59.当然在实际中,在很多情况下仍然需要使用状态同步和帧同步这两种方案来解决游戏对象在游戏中位置同步问题,但是,如果所有同步方案都的套用这两种方案显然并不合适。
60.在本发明实施例中,考虑到在游戏中,游戏对象的运动是有一定规律的,而且游戏对象该位移运动类型的运动一旦产生,那么在较长一段时间内,该游戏对象是可以根据位移运算公式来进行位置的预测,例如,游戏中投掷物的抛物线运动,不受重力的直线运动或贴地运动等等,这些有规律的运动,仍然使用帧同步和状态同步来解决同步问题,但是需要
终端设备同步大量的数据至其他终端设备。因此,在本发明实施例,针对游戏对象有一定规律的运动,可以利用较少的数据量,较低的同步频率,来实现更为流畅且一致的同步效果。
61.在本发明其中一种实施例中的游戏中游戏对象位置同步方法可以运行于本地终端设备或者是服务器。当游戏中游戏对象位置同步方法运行于服务器时,该游戏中游戏对象位置同步方法则可以基于云交互系统来实现与执行,其中,云交互系统包括服务器和客户端设备。
62.在一可选的实施方式中,云交互系统下可以运行各种云应用,例如:云游戏。以云游戏为例,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,游戏中游戏对象位置同步方法的储存与运行是在云游戏服务器上完成的,客户端设备的作用用于数据的接收、发送以及游戏画面的呈现,举例而言,客户端设备可以是靠近用户侧的具有数据传输功能的显示设备,如,第一终端设备、电视机、计算机、掌上电脑等;但是进行游戏中游戏对象位置同步方法的为云端的云游戏服务器。在进行游戏时,玩家操作客户端设备向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回客户端设备,最后,通过客户端设备进行解码并输出游戏画面。
63.在一可选的实施方式中,以游戏为例,本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
64.参照图1,示出了本发明的一种游戏中游戏对象位置同步方法实施例的步骤流程图,本发明实施例具体可以包括如下步骤:
65.步骤101、接收终端设备发送的游戏中游戏对象的位移指令;所述位移指令中包括所述游戏对象在游戏中的初始运动状态数据,所述初始运动状态数据包括所述游戏对象的位移运动类型。
66.在本发明实施例中,终端设备的处理器上执行的应用程序可以是需要下载安装的应用程序,也可以是即点即用的应用程序,本技术实施例对此不作限定。其中,终端设备可以是智能手机、平板电脑、游戏主机、电子书阅读器、多媒体播放设备、可穿戴设备、机器人等电子设备。
67.在终端设备的上运行的应用程序可以是游戏应用程序,并在终端设备的触控显示器上渲染图形用户界面,图形用户界面所显示的内容至少部分地包含一局部或全部的游戏场景。此外,游戏场景中可以包括至少一游戏对象,该游戏对象可以是玩家通过移动终端进行操控的游戏虚拟角色、游戏开发者在某个具体游戏场景中预先设置的非玩家角色(non-practicing character,npc),以及虚拟物品(例如石头、炸弹、绳索、药品)等等。
68.其中,位移运动类型可以包括抛物线运动、加速度运动、直线匀速运动等等。
69.在具体实现中,游戏对象可以由玩家通过终端设备操控其在游戏场景中进行位移运动,示例性地,玩家将游戏对象从空中由静止开始下落以进行位移运动(位移运动类型为
加速度),让游戏对象在光滑的地面上进行位移运动(位移运动类型为直线匀速),将游戏对象从空中抛向地面以进行位移运动(位移运动类型为抛物线)等等。相应的,终端设备相应从中提取到游戏对象的初始位置、速度、加速度、位移运动类型等数据,作为游戏对象的初始运动状态数据,并基于初始运动状态数据生成位移指令提交至服务器,服务器再将该位移指令转发至其他终端设备中。
70.步骤102、获取所述位移运动类型对应的位移运算公式;所述位移运算公式用于指示所述游戏对象在所述游戏中按照一定的运动规律进行位移运动。
71.步骤103、将所述初始运动状态数据填入所述位移运算公式中,得到目标位移运算公式。
72.其中,若游戏对象的位移运动具有一定的运动规律,那么就可以采用位移运算公式(数学公式)对位移运动进行表达。例如,加速度运动可以采用加速度公式进行表达,抛物线运动可以采用抛物线公式进行表达,直线匀速运动可以采用速度公式进行表达。
73.在本发明实施例中,若位移运动类型具有对应的位移运算公式,则可以在获取位移运动类型对应的位移运算公式后,将终端设备提交的初始运动状态数据填入位移运算公式中,得到目标位移运算公式。
74.当然,若位移运动类型不具有对应的位移运算公式,则说明该游戏对象的位移运动不具有一定的运动规律,则可以选择使用帧同步或者状态同步,来实现游戏对象在游戏中位置同步。
75.步骤104、将所述目标位移运算公式同步至目标终端设备,以使所述目标终端设备基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测。
76.其中,目标终端设备包括与该终端设备进入相同的游戏中的其他终端设备。当然,还可以包括终端设备本身,本发明实施例对此不加以限制。
77.示例性地,参照图2,是本发明的一种游戏中游戏对象位置同步的应用环境示意图,其中,终端设备201可以向服务器202提交包含初始运动状态数据的位移指令,服务器202则可以基于初始运动状态数中的位移运动类型,确定位移运算公式,并在将初始运动状态数据填入后得到目标位移运算公式后,可以将目标位移运算公式同步至终端设备201和目标终端设备203中,以使目标终端设备203可以基于目标位移运算公式对游戏对象的位置进行预测。
78.可以理解,若游戏对象的位移运动可以采用位移运算公式进行表达,因此基于将终端设备提交的初始运动状态数据填入对应的位移运算公式得到目标位移运算公式,则说明在一定时间内或者一定条件下,游戏对象都可以按照该目标位移运算公式进行移动,因此若所有终端设备都基于目标位移运算公式自行预测游戏对象的位置,预测的位置是准确的,并且,由于无需终端设备同步位置至其他终端设备,降低了终端设备的压力。
79.需要说明的是,若游戏对象的位移运动类型不具有对应的位移运算公式,则可以采用其他方案来实现游戏对象的位置同步,例如,可以采用帧同步或者状态同步来实现游戏对象的位置同步,本发明实施例对此无需加以限制。
80.在上述游戏中游戏对象位置同步方法中,接收终端设备发送的游戏中游戏对象的位移指令,基于位移指令中的位移运动类型获取对应的位移运算公式,将位移指令中的初始运动状态数据填入位移运算公式中,得到目标位移运算公式,然后,将目标位移运算公式
同步至目标终端设备,以使目标终端设备基于目标位移运算公式对游戏对象的位置进行预测。在本发明实施例中,若游戏对象的位移运动类型具有对应的位移运算公式,说明该游戏对象在游戏中按照一定的运动规律进行位移运动,则将目标位移运算公式同步至目标终端设备后,目标终端设备可以基于目标位移运算公式自行对游戏对象进行位置预测,仅需要传输少量的数据即可实现位置同步,无需终端设备和服务器为了实现位置同步多次传输位置数据,降低了设备的性能压力。
81.在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。
82.在一示例性实施例中,在所述步骤104、将所述目标位移运算公式同步至目标终端设备,以使所述目标终端设备基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测之后,所述方法还可以包括如下步骤:
83.采用所述目标位移运算公式计算所述游戏对象在所述游戏中的预测位置;
84.若基于所述预测位置确定所述游戏对象与所述游戏中的其他游戏对象发生碰撞,则向所述目标终端设备发送停止预测指令,以使所述目标终端设备停止基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测。
85.在本发明实施例中,游戏对象的位移运动由终端设备中的客户端(client)发起,通知服务器(server)准备开始位移运动,此时,服务器会准备基于初始运动状态数据生成的目标位移运算公式同步给所有的终端设备,终端设备接收后就可以基于目标位移运算公式,开始预测游戏对象的位置,以模拟在客户端中游戏对象的位移运动,同时,服务器也可以基于目标位移运算公式开始预测游戏对象的位置以模拟在客户端中游戏对象的位移运动。
86.在实际中,游戏对象在游戏中进行位移运动的过程中,可能会出现位移运动被打断的情况。举例来说,假设游戏对象是一个炸弹,炸弹在抛物线运动过程中,有可能会与游戏场景中其他对象发生碰撞,例如炸弹碰撞到地面或者墙体等障碍物时,将会发生爆炸,则需要结束本次的抛物线运动。
87.因此,在本发明实施例中,采用目标位移运算公式计算游戏对象在游戏中的预测位置,并基于该预测位置确定是否会与游戏场景中的其他对象发生碰撞,例如,若在预测位置与游戏中的其他游戏对象的位置重叠,或者,预测位置与前一位置之间的连线与其他游戏对象相交,可以确定为游戏对象与游戏中的其他游戏对象发生碰撞,说明需要结束本次的运动,则向目标终端设备发送停止预测指令,目标终端设备在接收到停止预测指令后,将停止基于目标位移运算公式对游戏对象的位置进行预测。
88.在上述示例性实施例中,在采用目标位移运算公式计算游戏对象在游戏中的预测位置,若基于预测位置确定游戏对象与游戏中的其他游戏对象发生碰撞,说明游戏对象将不会再继续符合目标位移运算公式的位移运动,则可以目标终端设备发送停止预测指令,从而停止继续基于目标位移运算公式对游戏对象在游戏中的位置进行预测,避免了服务器和目标终端设备进行错误的位置预测。
89.在一示例性实施例中,在所述步骤104、将所述目标位移运算公式同步至目标终端设备,以使所述目标终端设备基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测之后,所述方法还可以包括如下步骤:
90.若在所述预测位置满足所述目标位移运算公式中对应的结束条件,则向所述目标终端设备发送停止预测指令,以使所述目标终端设备停止基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测。
91.在实际中,游戏对象在游戏场景中运动的过程中,除了可能会出现位移运动被打断的情况(例如,游戏对象与游戏中的其他游戏对象发生碰撞)需要结束对游戏对象的预测之外,在满足预测位置满足目标位移运算公式中对应的结束条件时,也可以结束对游戏对象的预测。
92.具体地,为了在游戏中给予玩家更加真实的游戏体验,游戏中游戏对象在游戏场景中运动时,需要符合现实世界中的运动规律,比如,在游戏场景中抛物线运动的游戏对象,若移动轨迹是一个完整的抛物线时,将不会再继续进行抛物线运动,再比如,在游戏场景中加速度运动的游戏对象,在移动时间达到一定移动时间后,将不会再继续进行加速度运动。
93.在上述示例性实施例中,采用目标位移运算公式计算游戏对象在游戏中的预测位置,将检测在该预测位置是否满足目标位移运算公式中对应的结束条件,若在预测位置满足目标位移运算公式中对应的结束条件,说明需要结束本次的运动,则向目标终端设备发送停止预测指令,目标终端设备在接收到停止预测指令后,将停止基于目标位移运算公式对游戏对象的位置进行预测,避免了服务器和目标终端设备进行错误的位置预测。
94.在一示例性实施例中,所述采用所述目标位移运算公式计算所述游戏对象在所述游戏中的预测位置,可以包括如下步骤:
95.获取所述目标位移运算公式的生成时间,并确定在所述生成时间后的经过时间;
96.将所述经过时间填入所述目标位移运算公式,计算所述游戏对象在游戏中的预测位置。
97.其中,目标位移运算公式可以表示为:p=f(t)。
98.其中,t表示已经经过的时间,f表示位移方式,p表示按照f的方式位移运动,经过时间t后所处于的预测位置。
99.作为一个具体示例,匀加速直线运动的目标位移运算公式可以为:
100.p=f(t)=p0 vt 0.5at*t
101.其中,p0表示游戏对象的初始位置,加速表示a,也就是说,p表示游戏对象从p0出发,以速度v和加速度a进行位移运动,在经过时间t的后所达到的位置。举例来说,假设服务器或者目标终端设备在时间点t0接收游戏对象的位移指令,然后,游戏对象若位移运动到了时间点tn,那么t=tn-t0。
102.在本发明实施例中,在终端设备或者服务器在基于目标位移运算公式计算预测位置时,还可以基于每帧的时间去计算下一帧的位置(例如,假设每秒25帧,则每帧的时间就是1/25秒)。示例性地,假设上一帧中游戏对象已经位移运动到了p12,若每帧的时间是t`,那么预测的下一帧的预测位置为p13=p12 t`*v 0.5a*t`。
103.当然,基于每帧的时间计算出来的预测位置计算方式相比于基于经过时间计算的预测位置计算方式,误差相对较大,因此,如果用于同步且高速的位移运动,则可以选择从游戏对象从位移运动开始到当前的经过时间t的预测位置的计算方式,可以计算出最精确的预测位置。
104.应用本发明实施例,减少了位置同步时所需要传输的数据量,在相关技术中,是每一帧同步一次位置数据,完成一段位移可能要上传上百次的位置,本发明实施例取而代之的是,只需要同步一次数据即可完成,对于复杂一些的位移运动,也只需要分段传输(例如,假设复杂的位置运动包括了抛物线运动和加速度运动这两种位移运动类型,则可以分段传输抛物线运动和加速度运动分别对应的目标位移运动公式),因此,数据传输的次数和数量也是有限的。可以理解,由于其他终端设备可以自行进行位置预测,从而在其他终端设备上模拟游戏对象在游戏中的位移运动,因此不需要等待下一帧同步的位置数据,由于无需等待终端设备同步位置,在其他终端设备上游戏对象位移运动的表现将更加流畅。
105.为了使本领域技术人员更好地理解,以下采用一个具体示例进行说明。参照图3,是本发明实施例的一种整体在游戏中实现游戏对象同步过程的时序图,该时序图中包括终端设备(client)、服务器(server)和其他终端设备(others),具体过程可以包括:
106.1、开始运动;终端设备的游戏中的游戏对象开始运动时,向服务器发送位移指令;
107.2、模拟轨迹;服务器基于位移指令中的游戏对象的初始运动状态数据,模拟在终端设备中游戏对象的轨迹;
108.3、发送位移数据;服务器将位移数据(即目标位移运算公式)发送至终端设备和其他终端设备中;
109.4、同步;在终端设备、服务器和其他终端设备中,均基于目标位移运算公式进行位置预测,以模拟在游戏对象的轨迹。
110.5、发生动态碰撞,打断位移;在游戏对象的运动由于检测到碰撞而打断,或者正常结束,服务器都可以向终端设备和其他终端设备发送停止预测指令;
111.6、位移结束;在终端设备、服务器和其他终端设备基于停止预测指令,结束对游戏对象的位置预测。
112.应用本发明实施例,对于可以使用数学公式来表达位移运动的游戏对象,可以基于终端设备提交的游戏对象的初始运动状态数据和位移运算公式生成的目标位移运算公式,一次性广播给所有的终端设备,使得终端设备可以基于目标位移运算公式模拟游戏对象在游戏中的位移运动,当然,对于不能使用数学公式来表达的位移运动的游戏对象,则可以采用帧同步或者状态同步实现游戏对象的位置同步,实现更轻量且表现更好游戏对象的位置同步方法。
113.在一示例性实施例中,在所述骤101、接收终端设备发送的游戏中游戏对象的位移指令之后,所述方法还可以包括如下步骤:
114.获取所述游戏对象的继续运动时间;所述继续运动时间为基于当前网络延迟时间生成;
115.采用所述初始运动状态数据和所述继续运动时间,计算所述游戏对象在所述游戏中的预测位置;
116.将所述预测位置同步至所述目标终端设备。
117.其中,继续运动时间表示在未接收到下一位移指令之前,游戏对象在游戏中位移运动的时间。
118.在具体实现中,可能会有网络环境不佳的情况,此时服务器可能无法及时接收到终端设备发送的下一位移指令,因此在本发明实施例,基于继续运动时间和初始运动状态
数据来计算游戏对象在游戏中的预测位置,然后再同步至其他终端设备,使得即使网络环境不佳,在其他终端设备中游戏对象在游戏中的位移运动始终是流畅的。
119.在一示例性实施例中,所述初始运动状态数据可以包括所述游戏对象的初始位置、位移速度、位移方向和位移状态。举例来说,服务器接收到的某一帧的位移指令中包括的初始运动状态数据有:1.该帧游戏对象需要到达的初始位置p;2.位移速度v;3.位移方向drc;4.游戏对象的位移状态movestate。
120.具体地,可以根据位移速度v、位移方向drc和继续运动时间计算出移动距离,再将移动距离与初始位置p相加即可得到预测位置,然后将预测位置同步至目标终端设备中,实现游戏中游戏对象的位置同步。
121.在具体实施过程中,考虑到网络环境会出现网络抖动情况,即延迟时间时高时低,例如,会出现这一帧延迟的延迟时间可能100ms(毫秒),下一帧的延迟时间则可能是250ms的情形,因此,在本发明实施例中,继续运动时间的取值可以参考当前网络环境的延迟时间动态调整生成,使得对于网络抖动在100ms~250ms的范围的网络抖动内有着实际可观测到的优化。
122.当然,如果在基于继续运动时间计算预测位置时,接收到下一帧的位移指令,则可以在预测位置上,基于下一帧的位移指令进行位移运动,使得游戏对象在游戏中的位移运动是流畅的。举例来说,假设基于前一帧的位移指令计算得到预测位置a,则游戏对象将移动至预测位置a,此时若接收到下一帧的位移指令,则从预测位置a,位移运动至下一帧的位移指令中的位置b。
123.在上述示例性实施例中,可以根据基于当前网络延迟生成的继续运动时间,结合前一帧的初始运动状态数据,计算游戏对象在所述游戏中的预测位置后同步至目标终端设备,即使网络环境不佳,也可以实现游戏对象的位置同步。
124.在一示例性实施例中,所述采用所述初始运动状态数据和所述继续运动时间,计算所述游戏对象在所述游戏中的预测位置,可以包括如下步骤:
125.当所述位移状态为继续运动状态时,采用所述初始位置、位移速度、位移方向和所述继续运动时间,计算所述游戏对象在所述游戏中的预测位置。
126.其中,位移状态(movestate)用于表征游戏对象是否在游戏中继续进行位移运动,。
127.在本发明实施例中,如果前一帧接收到的初始运动状态数据中的位移状态是继续运动状态,在没有接收到下一帧的位移指令时,可以确定游戏对象仍然在位移运动中,则可以使用前一帧的位移指令中的位移速度、位移方向和继续运动时间计算出移动距离,再将移动距离与初始运动状态数据中的初始位置相加即可得到预测位置,然后再同步至其他终端设备,实现游戏对象的位置同步。
128.当然,如果前一帧接收到的位移指令中的位移状态不是继续运动状态,说明游戏对象已经在游戏中停止进行位移运动了,则无需使用前一帧初始运动状态数据进行游戏对象的位置预测。
129.在上述示例性实施例中,根据位移状态来确定是否进行游戏对象的位置预测,可以避免在游戏对象已经不再位移运动的情况下进行位置预测,减少不必要的计算性能的消耗。
130.在一示例性实施例中,所述方法还可以包括如下步骤:
131.若未在指定时间内接收到所述终端设备发送的所述游戏中所述游戏对象的下一位移指令,则在所述继续运动时间后,停止采用所述初始运动状态数据和所述继续运动时间计算所述游戏对象在所述游戏中的预测位置。
132.其中,指定时间可以是继续运动时间。
133.在本发明实施例中,如果在位置预测过程中接收到游戏对象的下一帧的位移指令,那么就可以控制游戏对象基于该位移指令在预测位置上进行位移运动;如果在指定时间后仍然没有接收到游戏对象的下一帧的位移指令,说明网络环境较差,可能玩家也已经无法正常进行游戏了,预测位置意义不大,则在指定时间后,例如在继续运动时间后,就停止进行游戏对象的位置预测。
134.在上述示例性实施例中,若在指定时间没有接收到下一帧的位移指令,则可以停止进行游戏对象的位置预测,说减少不必要的计算性能的消耗。
135.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
136.参照图4,示出了本发明的一种游戏中游戏对象位置同步装置实施例的结构框图,本发明实施例具体可以包括如下模块:
137.接收模块401,用于接收终端设备发送的游戏中游戏对象的位移指令;所述位移指令中包括所述游戏对象在游戏中的初始运动状态数据,所述初始运动状态数据包括所述游戏对象的位移运动类型;
138.获取模块402,用于获取所述位移运动类型对应的位移运算公式;所述位移运算公式用于指示所述游戏对象在所述游戏中按照一定的运动规律进行位移运动;
139.得到模块403,用于将所述初始运动状态数据填入所述位移运算公式中,得到目标位移运算公式;
140.同步模块404,用于将所述目标位移运算公式同步至目标终端设备,以使所述目标终端设备基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测。
141.在一示例性实施例中,所述装置还可以包括:停止预测模块,用于采用所述目标位移运算公式计算所述游戏对象在所述游戏中的预测位置;若基于所述预测位置确定所述游戏对象与所述游戏中的其他游戏对象发生碰撞,则向所述目标终端设备发送停止预测指令,以使所述目标终端设备停止基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测。
142.在一示例性实施例中,所述装置还可以包括:停止预测模块,用于若在所述预测位置满足所述目标位移运算公式中对应的结束条件,则向所述目标终端设备发送停止预测指令,以使所述目标终端设备停止基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测。
143.在一示例性实施例中,所述停止预测模块,用于获取所述目标位移运算公式的生成时间,并确定在所述生成时间后的经过时间;将所述经过时间填入所述目标位移运算公
式,计算所述游戏对象在游戏中的预测位置。
144.在一示例性实施例中,所述装置还可以包括:位置预测模块,用于获取所述游戏对象的继续运动时间;所述继续运动时间为基于当前网络延迟时间生成;采用所述初始运动状态数据和所述继续运动时间,计算所述游戏对象在所述游戏中的预测位置;将所述预测位置同步至所述目标终端设备。
145.在一示例性实施例中,所述初始运动状态数据可以包括所述游戏对象的初始位置、位移速度、位移方向和位移状态。
146.在一示例性实施例中,所述位置预测模块,用于当所述位移状态为继续运动状态时,采用所述初始位置、位移速度、位移方向和所述继续运动时间,计算所述游戏对象在所述游戏中的预测位置。
147.在一示例性实施例中,所述装置还可以包括:停止预测模块,用于若未在指定时间内接收到所述终端设备发送的所述游戏中所述游戏对象的下一位移指令,则在所述继续运动时间后,停止采用所述初始运动状态数据和所述继续运动时间计算所述游戏对象在所述游戏中的预测位置。
148.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
149.另外,本发明实施例还提供一种电子设备,该电子设备可以包括终端设备、服务器(集群)等电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
150.存储器503,用于存放计算机程序;
151.处理器501,用于执行存储器503上所存放的程序时,实现如下步骤,例如:
152.接收终端设备发送的游戏中游戏对象的位移指令;所述位移指令中包括所述游戏对象在游戏中的初始运动状态数据,所述初始运动状态数据包括所述游戏对象的位移运动类型;
153.获取所述位移运动类型对应的位移运算公式;所述位移运算公式用于指示所述游戏对象在所述游戏中按照一定的运动规律进行位移运动;
154.将所述初始运动状态数据填入所述位移运算公式中,得到目标位移运算公式;
155.将所述目标位移运算公式同步至目标终端设备,以使所述目标终端设备基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测。
156.可选地,在所述将所述目标位移运算公式同步至目标终端设备,以使所述目标终端设备基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测之后,所述方法还包括:
157.采用所述目标位移运算公式计算所述游戏对象在所述游戏中的预测位置;
158.若基于所述预测位置确定所述游戏对象与所述游戏中的其他游戏对象发生碰撞,则向所述目标终端设备发送停止预测指令,以使所述目标终端设备停止基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测。
159.可选地,在所述将所述目标位移运算公式同步至目标终端设备,以使所述目标终端设备基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测之后,所述方法还包括:
160.若在所述预测位置满足所述目标位移运算公式中对应的结束条件,则向所述目标终端设备发送停止预测指令,以使所述目标终端设备停止基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测。
161.可选地,所述采用所述目标位移运算公式计算所述游戏对象在所述游戏中的预测位置,包括:
162.获取所述目标位移运算公式的生成时间,并确定在所述生成时间后的经过时间;
163.将所述经过时间填入所述目标位移运算公式,计算所述游戏对象在游戏中的预测位置。
164.可选地,在所述接收终端设备发送的游戏中游戏对象的位移指令之后,所述方法还包括:
165.获取所述游戏对象的继续运动时间;所述继续运动时间为基于当前网络延迟时间生成;
166.采用所述初始运动状态数据和所述继续运动时间,计算所述游戏对象在所述游戏中的预测位置;
167.将所述预测位置同步至所述目标终端设备。
168.可选地,所述初始运动状态数据包括所述游戏对象的初始位置、位移速度、位移方向和位移状态。
169.可选地,所述采用所述初始运动状态数据和所述继续运动时间,计算所述游戏对象在所述游戏中的预测位置,包括:
170.当所述位移状态为继续运动状态时,采用所述初始位置、位移速度、位移方向和所述继续运动时间,计算所述游戏对象在所述游戏中的预测位置。
171.可选地,所述方法还包括:
172.若未在指定时间内接收到所述终端设备发送的所述游戏中所述游戏对象的下一位移指令,则在所述继续运动时间后,停止采用所述初始运动状态数据和所述继续运动时间计算所述游戏对象在所述游戏中的预测位置。
173.通过上述方式,若游戏对象的位移运动类型具有对应的位移运算公式,说明该游戏对象在游戏中按照一定的运动规律进行位移运动,则将目标位移运算公式同步至目标终端设备后,目标终端设备可以基于目标位移运算公式自行对游戏对象进行位置预测,仅需要传输少量的数据即可实现位置同步,无需终端设备和服务器为了实现位置同步多次传输位置数据,降低了设备的性能压力。
174.上述终端提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
175.通信接口用于上述终端与其他设备之间的通信。
176.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
177.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,
简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
178.本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上游戏中游戏对象位置同步方法实施例所述的步骤,例如:
179.接收终端设备发送的游戏中游戏对象的位移指令;所述位移指令中包括所述游戏对象在游戏中的初始运动状态数据,所述初始运动状态数据包括所述游戏对象的位移运动类型;
180.获取所述位移运动类型对应的位移运算公式;所述位移运算公式用于指示所述游戏对象在所述游戏中按照一定的运动规律进行位移运动;
181.将所述初始运动状态数据填入所述位移运算公式中,得到目标位移运算公式;
182.将所述目标位移运算公式同步至目标终端设备,以使所述目标终端设备基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测。
183.可选地,在所述将所述目标位移运算公式同步至目标终端设备,以使所述目标终端设备基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测之后,所述方法还包括:
184.采用所述目标位移运算公式计算所述游戏对象在所述游戏中的预测位置;
185.若基于所述预测位置确定所述游戏对象与所述游戏中的其他游戏对象发生碰撞,则向所述目标终端设备发送停止预测指令,以使所述目标终端设备停止基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测。
186.可选地,在所述将所述目标位移运算公式同步至目标终端设备,以使所述目标终端设备基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测之后,所述方法还包括:
187.若在所述预测位置满足所述目标位移运算公式中对应的结束条件,则向所述目标终端设备发送停止预测指令,以使所述目标终端设备停止基于所述目标位移运算公式对所述游戏对象在所述游戏中的位置进行预测。
188.可选地,所述采用所述目标位移运算公式计算所述游戏对象在所述游戏中的预测位置,包括:
189.获取所述目标位移运算公式的生成时间,并确定在所述生成时间后的经过时间;
190.将所述经过时间填入所述目标位移运算公式,计算所述游戏对象在游戏中的预测位置。
191.可选地,在所述接收终端设备发送的游戏中游戏对象的位移指令之后,所述方法还包括:
192.获取所述游戏对象的继续运动时间;所述继续运动时间为基于当前网络延迟时间生成;
193.采用所述初始运动状态数据和所述继续运动时间,计算所述游戏对象在所述游戏中的预测位置;
194.将所述预测位置同步至所述目标终端设备。
195.可选地,所述初始运动状态数据包括所述游戏对象的初始位置、位移速度、位移方向和位移状态。
196.可选地,所述采用所述初始运动状态数据和所述继续运动时间,计算所述游戏对象在所述游戏中的预测位置,包括:
197.当所述位移状态为继续运动状态时,采用所述初始位置、位移速度、位移方向和所述继续运动时间,计算所述游戏对象在所述游戏中的预测位置。
198.可选地,所述方法还包括:
199.若未在指定时间内接收到所述终端设备发送的所述游戏中所述游戏对象的下一位移指令,则在所述继续运动时间后,停止采用所述初始运动状态数据和所述继续运动时间计算所述游戏对象在所述游戏中的预测位置。
200.通过上述方式,若游戏对象的位移运动类型具有对应的位移运算公式,说明该游戏对象在游戏中按照一定的运动规律进行位移运动,则将目标位移运算公式同步至目标终端设备后,目标终端设备可以基于目标位移运算公式自行对游戏对象进行位置预测,仅需要传输少量的数据即可实现位置同步,无需终端设备和服务器为了实现位置同步多次传输位置数据,降低了设备的性能压力。
201.本发明实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述游戏中游戏对象位置同步方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
202.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
203.本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
204.本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
205.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
206.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在
计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
207.尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
208.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
209.以上对本发明所提供的一种游戏中游戏对象位置同步方法、一种游戏中游戏对象位置同步装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献