The embodiment of the invention provides a game synchronization method, game server and game client, the method includes: every game client gets a game instructions, the game instructions added to upload queue; every first predetermined time the upload queue in the game instructions added to upload data packets, and to the game server transmits the uploaded data packet; and receiving the game server every second time to send the data packet; according to the sending data packets, delete the game server received the game instructions from the upload queue; and according to the sending data packets, control the game. Performance. The embodiment of the invention can make the game server and the game client have high communication reliability when playing the game.
【技术实现步骤摘要】
本专利技术涉及游戏数据处理
,具体涉及一种游戏同步方法、游戏客户端及游戏服务器。
技术介绍
动作游戏(如目前风靡的动作类手游)等对游戏数据同步要求较高的网络游戏,需要设置实时性较高的游戏同步机制;游戏同步可以理解为是,一个玩家的操作所触发的游戏操作命令,需要同步到与该玩家处于同一游戏场景的其他玩家的游戏客户端上进行表现。游戏同步主要是通过游戏服务器、游戏客户端间的数据交互实现,即游戏服务器可将一游戏客户端发送的游戏操作命令,反馈给处于同一游戏场景的其他游戏客户端中;在实现游戏同步时,游戏服务器与游戏客户端间的通讯可靠性尤为重要,提供具有较高通讯可靠性的游戏同步方案,一直是本领域技术人员研究的关键点。
技术实现思路
有鉴于此,本专利技术实施例提供一种游戏同步方法、游戏客户端及游戏服务器,以使得游戏服务器与游戏客户端在进行游戏同步时,具有较高的通讯可靠性,以便进一步提升游戏同步的实时性、准确性。为实现上述目的,本专利技术实施例提供如下技术方案:一种游戏同步方法,应用于游戏客户端,所述方法包括:每获取一个游戏操作指令,将所述游戏操作指令加入上传队列中;每隔第一预定时间将所述上传队列中的游戏操作指令加入上传数据包中,并向游戏服务器发送所述上传数据包;及,接收所述游戏服务器每隔第二预定时间发送的下发数据包;所述下发数据包包括:当前的第二预定时间所述游戏服务器的下发队列中存在的帧数据块;一帧数据块包含有处于同一游戏场景的游戏客户端在同一第二预定时间内通过上传数据包发送的游戏操作指令;根据所述下发数据包,从所述上传队列中删除所述游戏服务器已接收的游戏操作指令;并根据 ...
【技术保护点】
一种游戏同步方法,其特征在于,应用于游戏客户端,所述方法包括:每获取一个游戏操作指令,将所述游戏操作指令加入上传队列中;每隔第一预定时间将所述上传队列中的游戏操作指令加入上传数据包中,并向游戏服务器发送所述上传数据包;及,接收所述游戏服务器每隔第二预定时间发送的下发数据包;所述下发数据包包括:当前的第二预定时间所述游戏服务器的下发队列中存在的帧数据块;一帧数据块包含有处于同一游戏场景的游戏客户端在同一第二预定时间内通过上传数据包发送的游戏操作指令;根据所述下发数据包,从所述上传队列中删除所述游戏服务器已接收的游戏操作指令;并根据所述下发数据包,控制游戏表现。
【技术特征摘要】
1.一种游戏同步方法,其特征在于,应用于游戏客户端,所述方法包括:每获取一个游戏操作指令,将所述游戏操作指令加入上传队列中;每隔第一预定时间将所述上传队列中的游戏操作指令加入上传数据包中,并向游戏服务器发送所述上传数据包;及,接收所述游戏服务器每隔第二预定时间发送的下发数据包;所述下发数据包包括:当前的第二预定时间所述游戏服务器的下发队列中存在的帧数据块;一帧数据块包含有处于同一游戏场景的游戏客户端在同一第二预定时间内通过上传数据包发送的游戏操作指令;根据所述下发数据包,从所述上传队列中删除所述游戏服务器已接收的游戏操作指令;并根据所述下发数据包,控制游戏表现。2.根据权利要求1所述的游戏同步方法,其特征在于,所述上传数据包还包括:当前的上传编号,游戏客户端最近一次接收的下发数据包的接收确认信息;其中,所述最近一次接收的下发数据包的接收确认信息,携带有最近一次接收的下发数据包所对应的下发编号;所述下发数据包还包括:当前的下发编号,游戏服务器最近一次接收的上传数据包的接收确认信息;其中,所述最近一次接收的上传数据包的接收确认信息,携带有所述游戏服务器最近一次接收的上传数据包所对应的上传编号;所述根据所述下发数据包,从所述上传队列中删除所述游戏服务器已接收的游戏操作指令包括:根据所述下发数据包中携带的最近一次接收的上传数据包的接收确认信息,从所述上传队列中删除对应上传编号的游戏操作指令。3.根据权利要求2所述的游戏同步方法,其特征在于,所述根据所述下发数据包中携带的最近一次接收的上传数据包的接收确认信息,从所述上传队列中删除对应上传编号的游戏操作指令包括:判断所述下发数据包中的接收确认信息对应的上传编号,是否大于上一次接收的下发数据包中的接收确认信息对应的上传编号;在所述下发数据包中的接收确认信息对应的上传编号,大于上一次接收的下发数据包中的接收确认信息对应的上传编号时,从所述上传队列中删除与所述下发数据包中的接收确认信息对应的上传编号,所相应的游戏操作指令。4.根据权利要求3所述的游戏同步方法,其特征在于,所述上传编号,与对应的上传数据包发送时,最新加入上传队列中的游戏操作指令的获取序数对应;其中,每获取一个游戏操作指令,游戏操作指令的获取序数加1;所述从所述上传队列中删除与所述下发数据包中的接收确认信息对应的上传编号,所相应的游戏操作指令包括:确定所述下发数据包中的接收确认信息对应的上传编号,与上一次接收的下发数据包中的接收确认信息对应的上传编号的差值;从上传队列中删除个数与所述差值相应,且在上传队列中保留最久的游戏操作指令。5.根据权利要求2所述的游戏同步方法,其特征在于,所述下发数据包还包括:用于校验下发数据包是否被篡改的校验和;所述根据所述下发数据包中携带的最近一次接收的上传数据包的接收确认信息,从所述上传队列中删除对应上传编号的游戏操作指令之前,所述方法还包括:判断所述下发数据包中的校验和是否为预定值;在所述下发数据包中的校验和为预定值时,执行根据所述下发数据包中携带的最近一次接收的上传数据包的接收确认信息,从所述上传队列中删除对应上传编号的游戏操作指令的步骤。6.根据权利要求1或2所述的游戏同步方法,其特征在于,所述上传数据包还包括:用于校验上传数据包是否被篡改的校验和,所述游戏客户端的标识,所述上传数据包中的游戏操作指令的个数;所述游戏操作指令包括:对玩家操作的定义,该定义对应的参数,及玩家操作所在的帧号。7.根据权利要求1或2所述的游戏同步方法,其特征在于,所述下发数据包中的帧数据块以帧数据块列表形式存在,所述帧数据块列表中记录有至少一个帧数据块;所述根据所述下发数据包,控制游戏表现包括:遍历所述下发数据包中的帧数据块列表,根据帧数据块列表中各帧数据块对应的游戏操作指令,控制游戏表现。8.根据权利要求7所述的游戏同步方法,其特征在于,所述遍历所述下发数据包中的帧数据块列表,根据帧数据块列表中各帧数据块对应的游戏操作指令,控制游戏表现包括:获取帧数据块列表;遍历帧数据块列表中的各帧数据块,将所遍历的各帧数据块存入帧队列中;将帧数据块列表中的各帧数据块的帧号进行变换,得到各帧数据块对应的游戏客户端帧号,并在下一个游戏服务器帧到来前,将所得到的游戏客户端帧号锁定在下一个游戏服务器帧的前一帧;及将各帧数据块对应的游戏客户端帧号,和下一个游戏服务器帧的前一帧传入帧缓冲器中;每隔一帧从帧缓冲器中取出当前跳帧加速的倍数;根据所述倍数,从帧队列中调取帧数据块;根据所调取的帧数据块的游戏操作指令控制游戏表现。9.根据权利要求8所述的游戏同步方法,其特征在于,所述根据所述倍数,从帧队列中调取帧数据块包括:如果所述倍数为零,说明帧缓冲器正在缓冲中,没有需要处理的帧;如果所述倍数为1,则说明帧缓冲器缓冲结束,但不需要加速,从帧队列中调取出最新的帧数据块;如果所述倍数大于1,从帧队列调取出与所述倍数相应个数的帧数据块。10.根据权利要求7所述的游戏同步方法,其特征在于,所述帧数据块列表还包括:所述帧数据块列表中记录的帧数据块的个数;所述帧数据包括:游戏服务器需同步给游戏客户端的游戏操作指令,及需同步的游戏操作指令的个数。11.根据权利要求1或2所述的游戏同步方法,其特征在于,在获取游戏操作指令时,如果玩家操作为非交互性操作,所述方法还包括:根据玩家操作进行游戏的预表现。12.根据权利要求1或2所述的游戏同步方法,其特征在于,玩家角色具有两种角色模式,包括:预表现角色和逻辑角色;其中,预表现角色为通过直接执行玩家操作而作出表现的角色,逻辑角色为执行游戏服务器同步给游戏客户端的操作而作出表现的角色;所述方法还包括:保持预表现角色和逻辑角色的一致性,且随着时间推移,在预表现角色...
【专利技术属性】
技术研发人员:高炼,唐声福,林江,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。