发明内容
有鉴于此,本申请提供了一种游戏角色控制方法与装置、计算设备及计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本发明实施例的第一方面,提供了一种游戏角色控制方法,所述方法用于服务器,包括:
接收客户端上传的针对至少两个目标角色的绑定指令,根据所述绑定指令在所述至少两个目标角色中确定主角色,其中,所述主角色为所述至少两个目标角色中接收控制指令的目标角色;
向所述客户端下发所述主角色的标识信息;
接收所述客户端上传的基于所述标识信息对主角色的控制指令,并根据所述控制指令和移动参数确定所述主角色的预测位置;
控制所述主角色移动至所述预测位置。
可选地,根据所述绑定指令在所述至少两个目标角色中确定主角色,包括;
解析所述绑定指令中携带的动作指令以及所述至少两个目标角色的属性信息;
根据所述动作指令和所述至少两个目标角色的属性信息确定所述至少两个目标角色中确定主角色。
可选地,所述控制指令中携带所述主角色的运动路径、运动方向和运动时长,所述移动参数包括主角色的移动速度;
可选地,根据所述控制指令和移动参数确定所述主角色的预测位置,包括:
基于所述控制指令,通过所述运动路径、所述运动方向和所述运动时长,结合所述移动速度,确定所述主角色的预测位置。
可选地,所述移动参数包括所述主角色的移动动作;
可选地,控制所述主角色移动至所述预测位置,包括:
控制所述主角色沿所述运动路径和所述运动方向,执行所述移动动作并按照所述移动速度和所述运动时长,移动至所述主角色的预测位置。
可选地,所述方法还包括:
接收所述客户端上传的所述主角色的目标位置,将所述预测位置和所述目标位置进行比较,在所述目标位置与所述预测位置不一致的情况下,向所述客户端下发纠错指令,其中,所述纠错指令中携带有所述预测位置。
根据本发明实施例的第二方面,提供了一种游戏角色控制方法,所述方法用于客户端,包括:
接收针对至少两个目标角色的绑定指令并将所述绑定指令上传至服务器;
接收所述服务器基于所述绑定指令反馈的标识信息,其中,所述标识信息用于指示所述至少两个目标角色中接收控制指令的主角色;
获取针对所述主角色的控制指令,基于所述控制指令和移动参数确定所述主角色的目标位置;
控制所述主角色移动至所述目标位置并将所述控制指令和所述目标位置上传至所述服务器。
可选地,所述控制指令中携带所述主角色的运动路径、运动方向和运动时长,所述移动参数包括主角色的移动速度;
可选地,基于所述控制指令和移动参数确定所述主角色的目标位置,包括:
通过所述运动路径、所述运动方向和所述运动时长,结合所述移动速度,确定所述主角色的目标位置。
可选地,所述移动参数包括所述主角色的移动动作;
可选地,控制所述主角色移动至所述目标位置,包括:
控制所述主角色沿所述运动路径和所述运动方向,执行所述移动动作并按照所述移动速度和所述运动时长,移动至所述主角色的目标位置。
可选地,所述方法还包括:
在所述预测位置与所述目标位置不一致的情况下,接收所述服务器下发的针对所述主角色的纠错指令和预测位置,基于所述纠错指令将所述主角色的目标位置调整为所述预测位置;
在所述预测位置与所述目标位置一致的情况下,接收针对所述主角色的控制指令并控制所述主角色进行移动。
根据本发明实施例的第三方面,提供了一种游戏角色控制装置,用于服务器,所述装置包括:
绑定模块,被配置为接收客户端上传的针对至少两个目标角色的绑定指令,根据所述绑定指令在所述至少两个目标角色中确定主角色,其中,所述主角色为所述至少两个目标角色中接收控制指令的目标角色;
下发模块,被配置为向所述客户端下发所述主角色的标识信息;
预测模块,被配置为接收所述客户端上传的基于所述标识信息对主角色的控制指令,并根据所述控制指令和移动参数确定所述主角色的预测位置;
第一移动模块,被配置控制所述主角色移动至所述预测位置。
根据本发明实施例的第四方面,提供了一种游戏角色控制装置,用于客户端,所述装置包括:
上传模块,被配置为接收针对至少两个目标角色的绑定指令并将所述绑定指令上传至服务器;
接收模块,被配置为接收所述服务器基于所述绑定指令反馈的标识信息,其中,所述标识信息用于指示所述至少两个目标角色中接收控制指令的主角色;
获取模块,被配置为获取针对所述主角色的控制指令,基于所述控制指令和移动参数确定所述主角色的目标位置;
第二移动模块,被配置为控制所述主角色移动至所述目标位置并将所述控制指令和所述目标位置上传至所述服务器。
根据本发明实施例的第五方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现上述任一段所述方法的步骤。
根据本发明实施例的第六方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现上述任一段所述方法的步骤。
本发明提供了一种游戏角色控制的方法与装置,首先通过客户端接收需要绑定的目标角色和对应的绑定指令,并将所述绑定指令上传至服务器,接着通过所述服务器解析所述绑定指令,确定需要绑定的目标角色的属性信息,根据所述绑定指令确定绑定后接收控制指令的目标角色作为主角色,并向所述客户端下发所述主角色的标识信息,保证了所述服务器可以准确的确定接收控制指令的目标角色;通知所述客户端可以进行移动操作的目标角色的标识信息,确保了所述客户端可以明确直接控制的目标角色,可以准确地确定所述目标角色之间的控制关系。
其次,根据所述服务器接收所述客户端的控制指令,并由所述主角色接收所述控制指令,保证了服务器与客户端可以通过相同的控制指令控制所述目标角色进行移动,也避免了因游戏外挂导致的作弊问题。
另外,通过所述服务器与所述客户端分别计算所述目标对象的预测位置和目标位置,并在所述预测位置与所述目标位置不一致的情况下,通过所述服务器向所述客户端下发纠错指令和预测位置,所述客户端将所述目标位置调整为所述预测位置,进一步保证了游戏外挂不会对游戏角色的移动造成影响。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
游戏外挂:是指利用电脑技术针对一个或多个网络游戏,通过改变软件的部分程序制作而成的作弊程序。
NPC:非玩家控制角色(NPC,None Player Character)。
MMORPG:大型多人在线角色扮演游戏,Massively Multiplayer Online Role-Playing Game。
在本发明中,提供了一种游戏角色控制的方法及装置、计算设备及计算机可读存储介质,在下面的实施例中逐一进行详细说明。
本实施例提供了一种游戏角色控制方法,用于服务器,参见图1,图1为用于服务器的游戏角色控制方法的流程示意图,包括步骤S102至步骤S108。
S102:接收客户端上传的针对至少两个目标角色的绑定指令,根据所述绑定指令在所述至少两个目标角色中确定主角色,其中,所述主角色为所述至少两个目标角色中接收控制指令的目标角色。
在实际应用中,服务器首先接收客户端上传的针对至少两个目标角色的绑定指令,并在所述至少两个目标角色中根据所述绑定指令确定主角色。其中,所述绑定指令用于确定游戏中具体哪些游戏角色需要进行绑定,也用于在所述至少两个游戏角色中确定接收控制指令的游戏角色具体是哪一个。需要说明的是,由主角色接收控制指令,表示所述主角色可以控制自身与被绑定的其它游戏角色进行共同移动,不接收控制指令、与所述主角色进行共同移动的游戏角色为从角色。需要说明的是,在实际应用中,服务器只对所述主角色下发控制指令,从角色仅跟随所述主角色进行被动的移动,无法接收控制指令。
例如,服务器接收到客户端上传的绑定指令为“将人和马绑定”,其中,人和马为需要进行绑定的游戏角色,其中,马为NPC非玩家控制角色(NPC,None Player Character)。服务器通过所述绑定指令确定主角色为NPC马,此时的从角色为人,由NPC马接收控制指令并与游戏角色人进行共同移动。
通过服务器接收客户端上传的针对至少两个目标角色的绑定指令并在所述至少两个目标角色中确定主角色,保证了服务器可以准确的确认接收控制指令的游戏角色,明确了游戏角色之间的绑定关系,也保证了游戏角色之间的控制关系。
在本实施例的一种可选实施方案中,根据所述绑定指令在所述至少两个目标角色中确定主角色,包括;
解析所述绑定指令中携带的动作指令以及所述至少两个目标角色的属性信息;
根据所述动作指令和所述至少两个目标角色的属性信息确定所述至少两个目标角色中确定主角色。
在实际应用中,所述绑定指令中包括所述目标角色的动作指令和所述目标角色的属性信息,其中,所述属性信息用于表明所述目标角色的属性,例如,所述目标角色可以是人物角色,也可以是动物角色,在所述目标角色为人物角色的情况下,所述人物角色的属性信息为“人物”,而在所述目标角色为动物角色的情况下,所述动物角色的属性信息为“动物”或是“交通工具”。
需要说明的是,所述至少两个目标角色中包括至少两个游戏角色,其中接收控制指令并进行移动的游戏角色为主角色;而不接收控制指令,仅跟随所述主角色进行移动的游戏角色为从角色。其中主角色为游戏玩家可以直接控制并进行移动的游戏角色,而从角色可以是玩家控制的游戏角色也可以是非玩家控制的角色,如NPC等。沿用上述人和马的例子,在游戏中,玩家操作游戏角色人进行移动,此时游戏角色人为主角色;在玩家控制所述游戏角色人通过游戏技能呼唤出马后骑在马上,此时游戏角色人与NPC马进行了绑定,并确定绑定后游戏角色人为从角色,NPC马为主角色,玩家此时通过控制马进行移动,游戏角色人跟随NPC马移动,游戏玩家此时不能直接控制游戏角色人,而是将控制指令发送给NPC马,由NPC马带动游戏角色人进行移动。
通过所述绑定指令确定所述目标角色中的主角色与从角色,进一步保证了服务器可以明确所述目标角色之间的绑定关系,方便所述服务器进行进一步操作。
S104:向所述客户端下发所述主角色的标识信息。
在实际应用中,服务器确定在至少两个目标角色中的主角色与从角色后,接着确定所述主角色的标识信息,并将所述主角色的标识信息下发至客户端。其中,所述标识信息用于区分所述游戏角色,所述主角色与所述从角色均有对应的、不同的标识信息。
需要说明的是,在所述服务器确定所述主角色的标识信息以及所述从角色的标识信息后,仅需要将所述主角色,也就是接收控制指令的目标角色的标识信息下发至客户端,无需发送所述从角色,也就是不接收控制指令的目标角色的标识信息。
通过所述服务器向所述客户端下发所述拥有移动操作权的目标角色的标识信息,保证了客户端可以与服务器保持一致,避免了因标识信息错误导致的游戏角色移动错误的情况。
步骤S106:接收所述客户端上传的基于所述标识信息对主角色的控制指令,并根据所述控制指令和移动参数确定所述主角色的预测位置。
需要说明的是,所述控制指令为客户端上传的,由游戏玩家发出的,针对主角色的指令。例如,游戏玩家通过向游戏角色:“人”下发控制指令:“移动到地点A”,此时游戏角色人可以直接对所述控制指令作出反应,游戏玩家通过控制指令控制所述游戏角色人进行移动。
在本实施例的一种可选实施方案中,根据所述控制指令和移动参数确定所述主角色的预测位置,包括:
基于所述控制指令,通过所述运动路径、所述运动方向和所述运动时长,结合所述移动速度,确定所述主角色的预测位置。
需要说明的是,所述运动路径、所述运动方向和所述运动时长均包含在所述控制指令中,所述主角色的移动速度包含在移动参数中。
在实际应用中,服务器通过接收客户端上传的控制指令,明确所述主角色的运功路径、运动方向、运动时长和运动速度后,基于所述运功路径、运动方向、运动时长和运动速度控制所述主角色进行运动并到达运动的终点,并将所述运动的终点作为所述主角色的预测位置。
另外,所述预测位置为所述服务器通过所述控制指令控制所述游戏角色进行移动后到达的位置,在实际的游戏过程中,以服务器计算得到的预测位置为准。
通过服务器按照客户端上传的控制指令和移动参数确定所述主角色的预测位置,保证了服务器可以准确地控制所述主角色进行移动,避免了因控制指令不明确、参数定义不清晰导致的游戏角色移动错误的情况。
步骤S108:控制所述主角色移动至所述预测位置。
在实际应用中,服务器需要接收客户端上传的针对所述目标对象的控制指令,并根据所述控制指令和预设的游戏中的移动参数控制所述目标角色进行移动,到达所述目标角色的预测位置。
在本实施例的一种可选实施方案中,控制所述主角色移动至所述预测位置,包括:
控制所述主角色沿所述运动路径和所述运动方向,执行所述移动动作并按照所述移动速度和所述运动时长,移动至所述主角色的预测位置
沿用上例,服务器根据客户端上传的控制指令“移动到地点A”确定所述主角色的运动路径和运动方向后,结合对所述主角色预设的移动速度“每秒3米”和运动时长控制所述主角色进行移动,直到运动时间结束后到达预测位置。
通过服务器根据所述客户端上传的控制指令得到所述目标角色的预测位置,保证了通过服务器计算得到的游戏角色的移动目的地可以作为客户端的标准,也确保了所述服务器可以准确的获取所述游戏角色的移动目的地,避免了所述客户端与所述服务器的游戏角色的移动情况不一致的情况。
在步骤S108之后,还可以执行步骤S110,所述步骤S110具体如下所示:
步骤S110:接收所述客户端上传的所述主角色的目标位置,将所述预测位置和所述目标位置进行比较,在所述目标位置与所述预测位置不一致的情况下,向所述客户端下发纠错指令,其中,所述纠错指令中携带有所述预测位置。
在实际应用中,若要确保所述服务器和所述客户端的游戏角色运动到相同的位置,需要基于所述服务器的预测位置对所述客户端的目标位置进行验证,在所述服务器的预测位置与所述客户端的目标位置不一致的情况下,由所述服务器向所述客户端下发纠错指令和预测位置来纠正所述客户端的目标位置。
沿用上例,假设当前服务器的预测位置为地点A,但所述客户端因网络延迟,通过游戏玩家的操作运动到了目标位置地点B,此时服务的预测位置与所述客户端的目标位置不一致,则由服务器向所述客户端下发纠错指令和预测位置,将所述客户端的游戏角色的位置由地点B调整为地点A。
通过所述服务器向所述客户端下发纠错指令和预测位置,保证了所述服务器和所述客户端中,目标角色在移动后的位置可以保持一致,并且以服务器计算的预测位置为准进行纠正,进一步保证了可以避免游戏外挂对游戏内容进行修改。
本实施例提供了一种游戏角色控制方法,用于客户端,参见图2,图2为用于客户端的游戏角色控制方法的流程示意图,包括步骤S202至步骤S208。
步骤S202:接收针对至少两个目标角色的绑定指令并将所述绑定指令上传至服务器。
在实际应用中,由客户端接收游戏玩家发出的绑定指令,并在客户端中获取需要绑定的至少两个需要进行绑定的游戏角色,接着将所述绑定指令上传至服务器,需要说明的是,与服务器同理,所述绑定指令用于确定需要进行绑定的至少两个游戏角色,并将所述需要绑定的游戏角色进行绑定操作。
沿用服务器中游戏角色人和游戏角色马的例子,首先由游戏玩家的控制指令,确定需要绑定的游戏角色为游戏角色人和游戏角色马,接着由客户端获取所述游戏角色人和所述游戏角色马,并将绑定指令“将游戏角色人和游戏角色马进行绑定”上传至服务器。
在另一种情况下,由两个游戏角色人:人物X和人物Y,共同乘骑一匹马,此时的绑定关系为“人物X、人物Y和NPC马”。在实际应用中,可以根据具体的需求设定绑定的游戏角色的数量。
通过客户端接收绑定指令并获取至少两个需要进行绑定的目标角色,并将所述绑定指令上传至服务器,保证了服务器可以快速、准确的确定需要进行绑定的目标角色,并将所述绑定指令上传至所述服务器,进一步确保了所述服务器可以与所述客户端保持一致,避免了游戏外挂的问题。
步骤S204:接收所述服务器基于所述绑定指令反馈的标识信息,其中,所述标识信息用于指示所述至少两个目标角色中接收控制指令的主角色。
在实际应用中,客户端在将所述绑定指令上传至所述服务器后,需要接收所述服务器基于所述绑定指令反馈的标识信息,并根据所述标识信息在客户端获取的所述至少两个目标角色中确定接收控制指令的主角色。沿用上例,在所述客户端将绑定指令“将游戏角色人和游戏角色马进行绑定”上传至所述服务器后,接收所述服务器下发的所述游戏角色马的标识信息I1,此时根据所述标识信息I1对应的游戏角色为马可知,接收控制指令的主角色为游戏角色马。
通过客户端接收所述服务器下发的标识信息,并基于所述标识信息在所述至少两个目标角色中接收控制指令的主角色,保证了客所述户端可以准确的确定接收控制指令的主角色,进一步保证了所述客户端可以避免目标角色移动混乱的情况。
步骤S206:获取针对所述主角色的控制指令,基于所述控制指令和移动参数确定所述主角色的目标位置。
具体的,所述控制指令中携带所述主角色的运动路径、运动方向和运动时长,所述移动参数包括主角色的移动速度。
在本实施例一个可选的实施方案中,基于所述控制指令和移动参数确定所述主角色的目标位置,包括:
通过所述运动路径、所述运动方向和所述运动时长,结合所述移动速度,确定所述主角色的目标位置。
在实际应用中,由客户端获取游戏玩家针对主角色的控制指令,并基于所述控制指令和预设的移动参数确定所述主角色的目标位置,以一个手机游戏为例,游戏玩家发出控制指令为“向右移动”,客户端获取所述控制指令后,结合游戏玩家在手机屏幕上进行操作的时长确定所述主角色的运动时长,在得到所述运动时长后,客户端确认所述控制指令为“向右移动3秒”,并且根据预设的所述主角色的移动速度“5米每秒”,此时客户端可以轻易的确定目标位置为“与当前位置距离为15米,方向向右的地点”。
具体地,所述移动参数还可以包括所述主角色在移动的过程中执行的动作。
步骤S208:控制所述主角色移动至所述目标位置并将所述控制指令和所述目标位置上传至所述服务器。
在实际应用中,客户端通过接收针对主角色的控制指令对所述主角色进行控制,并控制所述主角色移动至所述目标位置后,将所述目标位置和所述控制指令上传至所述服务器。沿用上例,在客户端获取控制指令为“向右移动3秒”后,根据所述控制指令控制所述主角色进行移动,在所述主角色移动到目标位置“与当前位置距离为15米,方向向右的地点”后,将所述控制指令“向右移动3秒”上传至所述服务器。
在本实施例一个可选的实施方案中,控制所述主角色移动至所述目标位置,包括:
控制所述主角色沿所述运动路径和所述运动方向,执行所述移动动作并按照所述移动速度和所述运动时长,移动至所述主角色的目标位置。
沿用上例,在客户端接收到针对所述主角色的控制指令后,基于控制指令中的主角色的运动路径“沿当前路径右拐”、运动方向“向右”和运动时长“3秒”,以及所述主角色预设的移动参数“移动速度5米每秒”进行移动,在移动结束后,所述主角色到达目标位置。
需要说明的是,所述客户端与所述服务器分别基于所述游戏玩家的控制指令计算得到所述游戏角色的目标位置和预测位置,在所述主角色进行移动的过程中,客户端与服务器无需实时的交互所述移动数据。
在本实施例一个可选实施的方案中,在步骤S208之后,还可以执行步骤S210。
步骤S210:在所述预测位置与所述目标位置不一致的情况下,接收所述服务器下发的针对所述主角色的纠错指令和预测位置,基于所述纠错指令将所述主角色的目标位置调整为所述预测位置;
在所述预测位置与所述目标位置一致的情况下,接收针对所述主角色的控制指令并控制所述主角色进行移动。
在实际应用中,在所述服务器确定所述客户端计算得到的目标位置与所述服务器计算得到的预测位置不一致的情况下,所述服务器会向所述客户端下发纠错指令和所述预测位置,在所述客户端接收到所述纠错指令和所述预测位置后,客户端确定自身计算得到的目标位置错误,并将所述目标位置调整为所述服务器计算得到的预测位置。
沿用上述游戏角色人和游戏角色马的例子,当所述游戏角色马的目标位置为“地点A”时,服务器此时向客户端下发了纠错指令和预测位置“地点B”,在客户端接收到所述纠错指令和所述预测位置“地点B”后,将所述目标位置“地点A”调整为“地点B”,并将所述游戏角色马的位置调整为“地点B”。
通过所述客户端接收所述服务器下发的纠错指令,并基于所述服务器下发的预测位置调整游戏角色的目标位置,保证了所述客户端中游戏角色的移动后的位置可以与所述服务器保持一致,进一步确保了可以准确的控制所述游戏角色进行移动。
通过本实施例提供的用于客户端的一种游戏角色控制方法,通过所述客户端获取需要进行绑定的至少两个目标角色并获取绑定指令,接着向所述服务器上传所述绑定指令,接收所述服务器下发的标识信息并基于所述标识信息接收控制指令的主角色,最后根据游戏玩家的控制指令控制接收控制指令的主角色进行移动,保证了所述客户端可以准确的控制所述主角色进行移动,避免了出现客户端中目标角色出现移动混乱或移动的终点不一致的情况。
其次,在客户端计算得到的目标位置与所述服务器计算得到的预测位置不一致时,通过接收所述服务器下发的纠错指令和预测位置来调整所述目标位置,进一步保证了所述客户端可以与所述服务器保持一致,也避免了因游戏外挂导致的篡改游戏数据的问题。
下面以一个具体的游戏场景对本发明提供的一种游戏角色控制方法进行进一步说明。如图3所述,图3为本实施例提供的一种游戏角色控制方法在一个具体应用场景中的流程示意图,其中包括步骤S302至步骤S320。
步骤S302:客户端接收针对至少两个目标角色的绑定指令并将所述绑定指令上传至服务器。
在一个具体的游戏场景中,客户端首先通过游戏玩家的指令获取绑定指令,并且获取需要绑定的游戏角色,如图4所示,图4为一个具体游戏场景示意图,图4中,401为游戏角色“侠客”,402为游戏中的NPC马。游戏玩家通过控制游戏角色“侠客”使用“召唤马匹”技能将所示NPC马召唤出来并其在所示NPC马上,此时客户端确定需要绑定的游戏角色为游戏角色“侠客”和NPC马,并将绑定指令“将侠客和马绑定”上传至服务器。
在另一种情况下,由两个游戏角色共同骑马,此时需要绑定的目标角色为“两个游戏角色和马”,此时的绑定指令为“将两个游戏角色和马进行绑定”。
步骤S304:服务器接收客户端上传的针对至少两个目标角色的绑定指令,根据所述绑定指令在所述至少两个目标角色中确定主角色。
需要说明的是,所述主角色为所述至少两个目标角色中接收控制指令的目标角色。
服务器接收到所示客户端上传的绑定指令“将侠客和马绑定”后,获取游戏角色“侠客”和所示游戏NPC马,并确定所述游戏角色“侠客”在后续的移动中是骑在NPC马上的,确定所述NPC马拥有移动操作权。
步骤S306:服务器向所述客户端下发所述主角色的标识信息。
在所述服务器确定拥有移动操作权的游戏角色为NPC马后,将所述NPC马的标识信息I2下发至所述客户端。
步骤S308:客户端接收所述服务器基于所述绑定指令反馈的标识信息,其中,所述标识信息用于指示所述至少两个目标角色中接收控制指令的主角色。
客户端接收到所述标识信息I2后,在游戏角色“侠客”和NPC马中确定拥有移动操作权的游戏角色为NPC马。
在另一种情况下,所述游戏角色“侠客”被另一游戏角色“僧侣”通过技能“擒拿”控制并被拖动。如图5所示,图5为一个具体游戏场景的示意图,其中501为被控制的游戏角色“侠客”,502为释放“擒拿”技能的游戏角色“僧侣”,并由所示游戏角色“僧侣”拖动所示游戏角色“侠客”沿着道路向左移动。此时接收玩家控制指令的主角色为僧侣,并由所述游戏角色僧侣控制所述游戏角色侠客进行移动,在技能“擒拿”生效的时间段内,游戏角色侠客停止接收游戏玩家的控制指令。
步骤S310:客户端获取针对所述主角色的控制指令,基于所述控制指令和移动参数确定所述主角色的目标位置。
在所述客户端确定接收控制指令的游戏角色为NPC马后,接收游戏玩家的针对NPC马的控制指令,将所述控制指令发送给拥有移动操作权的NPC马,接着基于所述控制指令控制所述NPC马进行移动,此时游戏角色“侠客”骑在NPC马上与所述NPC马一起移动。需要说明的是,所述游戏角色“侠客”并不接收游戏玩家的控制指令,仅依附于接收玩家控制指令的所述NPC马进行移动。
在游戏玩家控制所述NPC马进行移动的同时,所述客户端会获取游戏玩家的控制指令,在本实施例提供的应用场景下,客户端接收的控制指令为“沿朝向南方的道路移动1分钟”。
步骤S312:客户端控制所述主角色移动至所述目标位置并将所述控制指令和所述目标位置上传至所述服务器。
与服务器同理,客户端基于所述控制指令“沿朝向南方的道路移动1分钟”,并且客户端还需要在所述主角色进行移动的过程中,通过预设的移动参数中包含的移动动作对所述主角色进行渲染。例如当前的主角色马进行移动的动作为“奔跑”,客户端根据“奔跑”对主角色马的动作进行渲染。需要说明的是,在实际应用中,由于客户端需要与游戏玩家的操作保持一致,对游戏中对游戏角色相关的计算是在服务器之前的,以便于获得流畅的画面效果。
步骤S314:服务器接收所述客户端上传的基于所述标识信息对主角色的控制指令,并根据所述控制指令和移动参数确定所述主角色的预测位置。
在服务器接收到所述客户端上传的控制指令后,服务器通过玩家的控制指令计算得到所述NPC马的预测位置“位置Y”。需要说明的是,所述移动参数为游戏程序为所述主角色预设的一些列参数,在本实施例的情况下,所述移动参数包括:NPC马的移动速度“每秒6米”和在进行移动时执行的动作“奔跑并带起灰尘”。在实际应用中,可以根据实际需要为主角色设置移动参数。
步骤S316:服务器控制所述主角色移动至所述预测位置。
服务器通过客户端上传的控制指令“沿朝向南方的道路移动1分钟”,基于对所述主角色预设的移动参数和控制指令中包含的运动方向、运动时长和运动路径进行移动,在运动时长结束后到达所述预测位置。
步骤S318:服务器对所述预测位置和所述目标位置进行比较,在不一致的情况下向所述客户端下发纠错指令和所述预测位置。
在所述服务器得到所述预测位置为“位置Y”,所述服务器将所述预测位置“位置Y”与所述客户端上传的目标位置“位置X”进行比较,确定所述预测位置与所述目标位置不一致,此时所述服务器向所述客户端下发纠错指令“将NPC马的位置调整为位置Y”和预测位置“位置Y”。
步骤S320:客户端接收所述服务器下发的纠错指令和预测位置,将所述目标位置调整为所述预测位置。
客户端接收到所述服务器下发的纠错指令“将NPC马的位置调整为位置Y”和预测位置“位置Y”后,确定由自身计算得到的NPC马的移动终点是错误的,并将所述NPC马进行运动后的位置,由“位置X”调整为“位置Y”,如图6所示,图6为NPC马在获取纠错指令后对目标位置进行调整的示意图,图6的上半部分为客户端接收纠错指令调整NPC马的目标位置“位置X”前的示意图,图6的下班部分为客户端接收纠错指令将NPC马的位置调整为“位置Y”的示意图,其中601为在位置X的乘骑在NPC马身上的游戏角色侠客,602为在位置Y的乘骑在NPC马身上的游戏角色侠客。
本实施例提供了一种游戏技能同步执行装置,用于服务器,参见图7,所述装置包括:
绑定模块702,被配置为接收客户端上传的针对至少两个目标角色的绑定指令,根据所述绑定指令在所述至少两个目标角色中确定主角色,其中,所述主角色为所述至少两个目标角色中接收控制指令的目标角色;
下发模块704,被配置为向所述客户端下发所述主角色的标识信息;
预测模块706,被配置为接收所述客户端上传的基于所述标识信息对主角色的控制指令,并根据所述控制指令和移动参数确定所述主角色的预测位置;
第一移动模块708,被配置控制所述主角色移动至所述预测位置。
所述绑定模块702,被进一步配置为解析所述绑定指令中携带的动作指令以及所述至少两个目标角色的属性信息;
根据所述动作指令和所述至少两个目标角色的属性信息确定所述至少两个目标角色中确定主角色。
可选地,所述控制指令中携带所述主角色的运动路径、运动方向和运动时长,所述移动参数包括主角色的移动速度;
所述预测模块706,被进一步配置为基于所述控制指令,通过所述运动路径、所述运动方向和所述运动时长,结合所述移动速度,确定所述主角色的预测位置。
可选地,所述移动参数包括所述主角色的移动动作;
所述预测模块708,被进一步配置为控制所述主角色沿所述运动路径和所述运动方向,执行所述移动动作并按照所述移动速度和所述运动时长,移动至所述主角色的预测位置。
所述装置还包括:
纠错模块710,被配置为接收所述客户端上传的所述主角色的目标位置,将所述预测位置和所述目标位置进行比较,在所述目标位置与所述预测位置不一致的情况下,向所述客户端下发纠错指令,其中,所述纠错指令中携带有所述预测位置。
本实施例提供了一种游戏技能同步执行装置,用于客户端,参见图8,所述装置包括:
上传模块802,被配置为接收针对至少两个目标角色的绑定指令并将所述绑定指令上传至服务器;
接收模块804,被配置为被配置为接收所述服务器基于所述绑定指令反馈的标识信息,其中,所述标识信息用于指示所述至少两个目标角色中接收控制指令的主角色;
获取模块806,被配置为获取针对所述主角色的控制指令,基于所述控制指令和移动参数确定所述主角色的目标位置;
第二移动模块808,被配置为为控制所述主角色移动至所述目标位置并将所述控制指令和所述目标位置上传至所述服务器。
可选地,所述控制指令中携带所述主角色的运动路径、运动方向和运动时长,所述移动参数包括主角色的移动速度;
所述接收模块804,被进一步配置为根据所述标识信息在所述至少两个目标角色中确定主角色与从角色,确定所述主角色为拥有所述移动操作权的目标角色。
所述获取模块806,被进一步配置为通过所述运动路径、所述运动方向和所述运动时长,结合所述移动速度,确定所述主角色的目标位置。
可选地,所述移动参数包括所述主角色的移动动作;
所述第二移动模块808,被进一步配置为控制所述主角色沿所述运动路径和所述运动方向,执行所述移动动作并按照所述移动速度和所述运动时长,移动至所述主角色的目标位置。
所述装置,还包括:
调整模块810,被配置为在所述预测位置与所述目标位置不一致的情况下,接收所述服务器下发的针对所述主角色的纠错指令和预测位置,基于所述纠错指令将所述主角色的目标位置调整为所述预测位置;
在所述预测位置与所述目标位置一致的情况下,接收针对所述主角色的控制指令并控制所述主角色进行移动。
上述为本实施例的一种用于服务器和客户端的游戏角色控制装置的示意性方案。需要说明的是,该装置的技术方案与前述的用于服务器的游戏角色控制方法以及用于客户端的游戏角色控制方法的技术方案属于同一构思,游戏角色控制装置的技术方案未详细描述的细节内容,均可以参见前述的游戏角色控制方法的技术方案的描述。所述游戏角色控制方法包括的具体内容已在前述实施例中提供,在此不再赘述。
本实施例提供了一种计算设备900,参见图9所示。
图9是示出了根据本说明书一实施例的计算设备900的结构框图。该计算设备900的部件包括但不限于存储器910和处理器920。处理器920与存储器910通过总线930相连接,数据库950用于保存数据。
计算设备900还包括接入设备940,接入设备940使得计算设备900能够经由一个或多个网络960通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备940可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备900的上述部件以及图9中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图9所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备900可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备900还可以是移动式或静止式的服务器。
其中,处理器920可以执行前述实施例提供的游戏角色控制方法中的步骤。具体步骤在本实施例不再赘述。
本发明一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述游戏角色控制方法中的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的游戏角色控制方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见前述游戏角色控制方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。