一种游戏场景管理方法、装置、服务器及终端与流程

文档序号:17294415发布日期:2019-04-03 04:15阅读:192来源:国知局
一种游戏场景管理方法、装置、服务器及终端与流程

本发明涉及互联网技术领域,特别是涉及一种游戏场景管理方法、装置、服务器及终端。



背景技术:

目前,游戏服务器的场景管理方法,通常为单进程场景管理。当单个场景所容纳的游戏玩家数量达到该场景预设的最大玩家数量后,其他游戏玩家将不能进入该场景。为了解决上述技术问题,现有技术通常采用的方法为:分线。分线的过程是游戏服务器为单个场景创建多个场景实例的过程。具体的,当监测到一个场景中的第一场景实例的游戏玩家数量达到该场景实例预设的最大玩家数量后,游戏服务器创建第二场景实例,第一场景实例中的游戏玩家可以从第一场景实例切换到第二场景实例,

现有技术中,第一场景实例中的游戏玩家从第一场景实例切换到第二场景实例的过程为:控制游戏玩家所在的客户端与第一场景实例所在的服务器断开连接,并删除第一场景实例的所有场景数据;控制另一服务器建立第二场景实例,并准备游戏玩家的玩家数据;在第二场景实例所在的服务器建立好第二场景实例后,控制游戏玩家所在的客户端与第二场景实例所在服务器建立连接,并从第二场景实例所在服务器获取第二场景实例的所有场景数据(即加载第二场景实例)以及游戏玩家的主操角色数据;游戏玩家所在的客户端利用所获取的主操角色数据,生成主操角色,从而游戏玩家可以在第二场景实例中继续玩游戏。

但是,在上述第二场景实例与第一场景实例切换的过程中,第二场景实例所在服务器建立第二场景实例所需要的时间较长,且在第二场景实例建立好之后,游戏玩家所在客户端需要通过读条的方式来加载第二场景实例,该读条过程所需要的时间也较长。在服务器建立第二场景实例以及客户端加载第二场景实例的过程中,游戏玩家均处于等待状态,即在较长时间内游戏玩家不能玩游戏,从而影响了游戏玩家的游戏体验。



技术实现要素:

本发明实施例的目的在于提供一种游戏场景管理方法、装置、服务器及终端,以实现游戏玩家所在的客户端在不同游戏场景实例之间的无缝切换,提高游戏玩家的游戏体验。具体技术方案如下:

第一方面,本发明实施例提供了一种游戏场景管理方法,所述方法包括:

在判断出游戏玩家所在的客户端需要从当前所在的第一场景实例切换到第二场景实例时,控制游戏玩家所在的客户端与第一服务器断开连接,所述第一服务器为第一场景实例所在的服务器所述游戏玩家所在的客户端中存储有所述第一场景实例对应的第一场景数据及所述游戏玩家的游戏玩家数据;

控制所述游戏玩家所在的客户端与第二服务器建立连接,其中,所述第二服务器为第二场景实例所在的服务器;

在判断出第二服务器中不存在第二场景实例时,控制所述第二服务器创建第二场景实例,其中,所述第一场景实例与所述第二场景实例属于同一场景;

控制所述第二服务器将目标场景数据发送至游戏玩家所在的客户端,所述目标场景数据为:在所述第二场景实例对应的第二场景数据中存在、且在所述第一场景实例对应的第一场景数据中不存在的场景数据。

可选的,所述控制所述第二服务器创建第二场景实例的步骤,包括:

控制所述第二服务器从所述游戏玩家所在的客户端获取所述第一场景数据与所述第二场景数据相同的场景数据,并将所获取的场景数据发送至所述第二服务器;

控制所述第二服务器从存储场景数据的服务器中,获取所述目标场景数据,并将所获取的场景数据发送至所述第二服务器;

控制所述第二服务器利用所获取的所述第一场景数据与所述第二场景数据相同的场景数据,以及目标场景数据创建第二场景实例。

可选的,当目标客户端与所述第二服务器建立连接时,所述目标客户端为未与所述第一服务器建立过连接的客户端,所述方法还包括:

控制所述第二服务器获取所述目标客户端对应的目标玩家数据;

控制所述第二服务器利用所述目标玩家数据,创建目标玩家的目标主操角色;

控制所述第二服务器将所述目标玩家数据发送至目标客户端,以使所述目标客户端接收到所述目标玩家数据后,利用所述目标玩家数据,创建目标玩家的目标主操角色。

可选的,在控制所述第二服务器将目标场景数据发送至游戏玩家所在的客户端的步骤之后,所述方法还包括:

控制所述第二服务器向所述游戏玩家所在的客户端发送第一通知信息,所述第一通知信息用于提示所述游戏玩家所在的客户端删除在所述第一场景数据中存在、且在所述第二场景数据中不存在的场景数据。

第二方面,本发明实施例提供了一种游戏场景管理方法,所述方法包括:

在判断出游戏玩家所在的客户端需要从当前所在的第一场景实例切换到第二场景实例时,游戏玩家所在的客户端与第一服务器断开连接,所述第一服务器为第一场景实例所在的服务器,所述游戏玩家所在的客户端中存储有所述第一场景实例对应的第一场景数据及所述游戏玩家的游戏玩家数据;

所述游戏玩家所在的客户端控制所述游戏玩家的主操角色按照预设规则在第一场景实例中运行;

所述游戏玩家所在的客户端与第二服务器断开连接,其中,所述第二服务器为第二场景实例所在的服务器;

所述游戏玩家所在的客户端获取所述第二服务器发送的目标场景数据,所述目标场景数据为所述第二服务器建立好第二场景实例后,向所述游戏玩家所在的客户端发送的,所述目标场景数据为:在所述第二场景实例的第二场景数据中存在、且在所述第一场景实例的第一场景数据不存在的场景数据。

可选的,在所述获取所述第二服务器发送的目标场景数据的步骤之后,所述方法还包括:

所述游戏玩家所在的客户端获取第一通知信息,所述第一通知信息用于提示所述游戏玩家所在的客户端删除在所述第一场景数据中存在、且在所述第二场景数据中不存在的场景数据。

可选的,在所述获取所述第二服务器发送的目标场景数据的步骤之后,所述方法还包括:

所述游戏玩家所在的客户端在预设时间内未接收到第二通知信息,删除在所述第一场景数据中存在、且在所述第二场景数据中不存在的场景数据,所述第二通知信息用于提示所述游戏玩家所在的客户端其本地存储有所述第二场景数据中不存在的场景数据。

第三方面,本发明实施例提供了一种游戏场景管理装置,所述装置包括:

第一连接断开模块,用于在判断出游戏玩家所在的客户端需要从当前所在的第一场景实例切换到第二场景实例时,控制游戏玩家所在的客户端与第一服务器断开连接,所述第一服务器为第一场景实例所在的服务器所述游戏玩家所在的客户端中存储有所述第一场景实例对应的第一场景数据及所述游戏玩家的游戏玩家数据;

第二连接建立模块,用于控制所述游戏玩家所在的客户端与第二服务器建立连接,其中,所述第二服务器为第二场景实例所在的服务器;

场景实例创建模块,用于在判断出第二服务器中不存在第二场景实例时,控制所述第二服务器创建第二场景实例,其中,所述第一场景实例与所述第二场景实例属于同一场景;

场景数据发送模块,用于控制所述第二服务器将目标场景数据发送至游戏玩家所在的客户端,所述目标场景数据为:在所述第二场景实例对应的第二场景数据中存在、且在所述第一场景实例对应的第一场景数据中不存在的场景数据。

可选的,所述场景实例创建模块,具体用于:

控制所述第二服务器从所述游戏玩家所在的客户端获取所述第一场景数据与所述第二场景数据相同的场景数据,并将所获取的场景数据发送至所述第二服务器;

控制所述第二服务器从存储场景数据的服务器中,获取所述目标场景数据,并将所获取的场景数据发送至所述第二服务器;

控制所述第二服务器利用所获取的所述第一场景数据与所述第二场景数据相同的场景数据,以及目标场景数据创建第二场景实例。

可选的,所述装置还包括:

玩家数据获取模块,用于当目标客户端与所述第二服务器建立连接时,所述目标客户端为未与所述第一服务器建立过连接的客户端,控制所述第二服务器获取所述目标客户端对应的目标玩家数据;

主操角色创建模块,用于控制所述第二服务器利用所述目标玩家数据,创建目标玩家的目标主操角色;

玩家数据发送模块,用于控制所述第二服务器将所述目标玩家数据发送至目标客户端,以使所述目标客户端接收到所述目标玩家数据后,利用所述目标玩家数据,创建目标玩家的目标主操角色。

可选的,所述装置还包括:

通知信息发送模块,用于在控制所述第二服务器将目标场景数据发送至游戏玩家所在的客户端的步骤之后,控制所述第二服务器向所述游戏玩家所在的客户端发送第一通知信息,所述第一通知信息用于提示所述游戏玩家所在的客户端删除在所述第一场景数据中存在、且在所述第二场景数据中不存在的场景数据。

第四方面,本发明实施例提供了一种游戏场景管理装置,所述装置包括:

第二连接断开模块,用于在判断出游戏玩家所在的客户端需要从当前所在的第一场景实例切换到第二场景实例时,与第一服务器断开连接,所述第一服务器为第一场景实例所在的服务器,所述游戏玩家所在的客户端中存储有所述第一场景实例对应的第一场景数据及所述游戏玩家的游戏玩家数据;

主操角色运行模块,用于控制所述游戏玩家的主操角色按照预设规则在第一场景实例中运行;

第二连接建立模块,用于与第二服务器断开连接,其中,所述第二服务器为第二场景实例所在的服务器;

场景数据获取模块,用于获取所述第二服务器发送的目标场景数据,所述目标场景数据为所述第二服务器建立好第二场景实例后,向所述游戏玩家所在的客户端发送的,所述目标场景数据为:在所述第二场景实例的第二场景数据中存在、且在所述第一场景实例的第一场景数据不存在的场景数据。

可选的,所述装置还包括:

第一通知信息获取模块,用于在所述获取所述第二服务器发送的目标场景数据的步骤之后,在所述场景数据获取模块获取所述第二服务器发送的目标场景数据的步骤之后,获取第一通知信息,所述第一通知信息用于提示所述游戏玩家所在的客户端删除在所述第一场景数据中存在、且在所述第二场景数据中不存在的场景数据。

可选的,所述装置还包括:

第二通知信息获取模块,用于在所述场景数据获取模块获取所述第二服务器发送的目标场景数据之后,在预设时间内未接收到第二通知信息,删除在所述第一场景数据中存在、且在所述第二场景数据中不存在的场景数据,所述第二通知信息用于提示所述游戏玩家所在的客户端其本地存储有所述第二场景数据中不存在的场景数据。

第五方面,本发明实施例提供了一种服务器,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现第一方面所述的游戏场景管理方法。

第六方面,本发明实施例提供了一种终端,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现第二方面所述的游戏场景管理方法。

第七方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的游戏场景管理方法。

第八方面,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第二方面所述的游戏场景管理方法。

本发明实施例提供的技术方案,游戏玩家所在的客户端中存储有第一场景实例的第一场景数据及游戏玩家的游戏玩家数据,因此,游戏玩家所在的客户端与第一服务器断开连接后,游戏玩家仍然可以在第一场景实例中玩游戏;并且,第二服务器建立好第二场景实例后,可以将第二场景实例中的场景数据同步到游戏玩家所在的客户端。可见,通过本发明实施例提供的技术方案,可以实现游戏玩家所在的客户端在不同的游戏场景实例之间的无缝切换,提高游戏玩家的游戏体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例所提供的一种游戏场景管理方法的流程图;

图2为本发明实施例所提供的一种客户端与第一服务器、第二服务器交互的示意图;

图3为本发明实施例所提供的另一种游戏场景管理方法的流程图;

图4为本发明实施例所提供的一种游戏场景管理装置的结构示意图;

图5为本发明实施例所提供的另一种游戏场景管理装置的结构示意图;

图6为本发明实施例所提供的一种服务器的结构示意图;

图7为本发明实施例所提供的一种终端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了实现客户端在不同游戏场景实例之间的无缝切换,提高玩家的游戏体验,本发明实施例提供了一种游戏场景管理方法、装置、服务器及终端。

第一方面,下面首先对本发明实施例所提供的一种游戏场景管理方法进行介绍。

需要说明的是,本发明实施例提供的一种游戏场景管理方法可以应用于服务器,该服务器可以为:用于建立游戏场景的第二场景实例,为了方便描述,可以将该服务器称为第二服务器。相应的,将第一场景实例所在的服务器称为第一服务器。当然,该服务器还可以是其他服务器,本发明实例对此不做具体限定。

可以理解的是,第二服务器可以与游戏玩家所在的客户端建立通信连接,第一服务器也可以与游戏玩家所在的客户端建立通信连接。第一服务器和第二服务器可以是同一服务器,也可以是不同的服务器。也就是说,第一场景实例和第二场景实例可以运行于同一进程,也可以运行于不同的,还可以运行与不同的物理机器中,从而可以防止因单个游戏场景中的游戏玩家数量达到该游戏场景能容纳的最大游戏玩家数量,而导致有些游戏玩家不能进入游戏场景中玩游戏。下面将对本发明实施例所提供的一种游戏场景管理方法进行详细描述。

本发明实施例所提供的一种游戏场景管理方法,如图1所示,可以包括如下步骤:

s110,在判断出游戏玩家所在的客户端需要从当前所在的第一场景实例切换到第二场景实例时时,控制游戏玩家所在的客户端与第一服务器断开连接,游戏玩家所在的客户端中存储有第一场景实例的场景数据及游戏玩家的游戏玩家数据。

游戏玩家所在的客户端可能从第一场景实例切换到第二场景实例,具体的,第一场景实例中的游戏玩家数量大于第一场景实例所能容纳的最大玩家数量后,说明第一场景实例中当前的玩家数量达到上限,即其他游戏玩家不能进入该第一场景实例了,此时,游戏玩家所在的客户端可能需要从第一场景实例切换到第二场景实例。需要说明的是,第一场景实例中所能容纳的最大玩家数量可以是在创建第一场景实例时预设的玩家数量,在实际应用中,可以根据实际情况来设定第一场景实例所能容纳的最大玩家数量,本发明实施例对第一场景实例所能容纳的最大玩家数量不作具体限定。

由于第一场景实例中的游戏玩家数量大于第一场景实例所能容纳的最大玩家数量,因此,为了保证其他游戏玩家也能进入游戏场景中玩游戏,第二服务器需要创建第二场景实例,进而游戏玩家可以进入第二场景实例中继续玩游戏。此时,游戏玩家所在的客户端可以与第一场景实例所在的第一服务器断开连接。

需要强调的是,游戏玩家所在的客户端与第一服务器断开连接,但是,游戏玩家所在的客户端还存储有第一场景实例的场景数据以及该游戏玩家的游戏玩家数据,也就是说,游戏玩家所在的客户端并没有像现有技术那样销毁第一场景实例,而是保留第一场景实例。这样,虽然游戏玩家所在的客户端与第一服务器断开连接,由于游戏玩家所在的客户端中存储有第一场景实例中的场景数据以及该游戏玩家的游戏玩家数据,因此,游戏玩家仍然可以在第一场景实例中玩游戏,而无需像现有技术那样进行读条操作,提高了用户的游戏体验。

具体的,游戏玩家所在的客户端可以控制游戏玩家的主操角色按照预设规则在第一场景实例中运行,需要说明的是,该预设规则可以为保持与第一服务器断开时的运动状态。当然,该预设规则还可以根据实际情况进行设定,本发明实施例对该预设规则不做具体限定。

s120,控制游戏玩家所在的客户端与第二服务器建立连接,其中,第二服务器为第二场景实例所在的服务器。

在游戏玩家所在的客户端与第一服务器断开连接后,为了使得后续步骤中,游戏玩家可以在第二场景实例中玩游戏,可以控制游戏玩家所在的客户端与第二服务器建立连接,并且,该第二服务器为第二场景实例所在的服务器。

s130,在判断出第二服务器中不存在第二场景实例时,控制第二服务器创建第二场景实例,其中,第一场景实例与第二场景实例属于同一场景。

可以理解的是,在游戏玩家所在的客户端与第二服务器建立连接时,第二服务器中可能已经存在第二场景实例,因此,在控制游戏玩家所在的客户端与第二服务器建立连接后,可以判断第二服务器中是否存在第二场景实例,在第二服务器中不存在第二场景实例时,控制第二服务器创建第二场景实例。

并且,为了实现游戏玩家所在的客户端在第一场景实例和第二场景实例之间进行无缝切换,第二服务器所创建的第二场景实例与第一场景实例属于同一场景。而且,第二场景实例所能容纳的最大玩家数量可以大于第一场景实例所能容纳的最大玩家数量。

为了降低第二服务器创建第二场景实例过程中所耗费的计算资源和时间。在一种实施方式中,控制第二服务器创建第二场景实例的步骤,可以包括:

控制第二服务器从游戏玩家所在的客户端获取第一场景数据与第二场景数据相同的场景数据,并将所获取的场景数据发送至第二服务器;

控制第二服务器从存储场景数据的服务器中,获取目标场景数据,并将所获取的场景数据发送至第二服务器;

控制第二服务器利用所获取的第一场景数据与第二场景数据相同的场景数据,以及目标场景数据创建第二场景实例。

可以理解的是,游戏场景实例是由大量游戏元素组成的,每个游戏元素对应一个场景数据。例如,游戏场景实例中有npc(非玩家角色)、player(玩家角色)以及其他场景元素组成。由于第一场景实例与第二场景实例属于同一场景。因此,第一场景实例与第二场景实例有较多相同的游戏元素,且相同的游戏元素对应的场景数据相同,也就是说,第二场景实例与第一场景实例有较多相同的场景数据,为了方面描述,可以将第一场景实例对应的场景数据称为第一场景数据,将第二场景实例对应的场景数据称为第二场景数据。

因此,第二服务器建立第二场景实例时,可以不用像现有技术那样,完全重新建立第二场景实例,对于第一场景实例中也存在的场景元素,第二场景实例可以直接进行复用。具体的,第二服务器可以直接从游戏玩家所在的客户端获取第一场景数据与第二场景数据相同的场景数据,并且第二服务器可以从游戏玩家所在的客户端获取游戏玩家的角色数据,该角色数据可以包括:角色的门派、智能、装备、外装等;而对于第二场景数据中存在,且在第一场景数据中不存在的目标场景数据而言,第二服务器可以从存储场景数据的服务器中查找,即从存储场景数据的服务器中获取目标场景数据。由于第一场景数据与第二场景数据相同的场景数据,以及目标场景数据组成了第二场景实例对应的场景数据,因此,第二服务器可以利用所获取的第一场景数据与第二场景数据相同的场景数据,以及目标场景数据来创建第二场景实例。

可见,本发明实施例提供的技术方案中,第二服务器在建立第二场景实例时,并不像现有技术那样完全重新建立第二场景实例,而是可以复用第一场景实例。因此,大大降低了第二服务器在建立第二场景实例过程中所消耗的计算资源和时间。

s140,控制第二服务器将目标场景数据发送至游戏玩家所在的客户端,目标场景数据为:在第二场景实例对应的第二场景数据中存在、且在第一场景实例对应的第一场景数据中不存在的场景数据。

第二服务器在建立好第二场景实例后,可以将在第二场景实例的第二场景数据中存在、且在第一场景实例的第一场景数据中不存在的目标场景数据发送至游戏玩家所在的客户端。游戏玩家所在的客户端在接收到目标场景数据后,可以形成目标场景数据对应的场景元素,从而第二服务器将第二场景实例同步到游戏玩家数据所在的客户端,游戏玩家可以在第二场景实例中继续玩游戏。可见,通过本发明实施例提供的技术方案,游戏玩家所在的客户端可以由第一场景实例无缝切换至第二场景实例,提高了游戏玩家的游戏体验。

需要说明的是,由于游戏玩家所在的客户端中存储了第一场景实例中的第一场景数据,而在第一场景数据中存在的场景数据,可能在第二场景数据中并不存在,为了节省游戏玩家所在的客户端的内存,在一种实施方式中,在将目标场景数据发送至游戏玩家所在的客户端的步骤之后,该种游戏场景管理方法还可以包括:

向游戏玩家所在的客户端发送第一通知信息,第一通知信息用于提示游戏玩家所在的客户端删除在第一场景数据中存在、且在第二场景数据中不存在的场景数据。

为了更加详细地对本发明实施例进行阐述,下面将结合具体的实例进行详细阐述。如图2所示,本发明实施例提供的游戏场景管理方法,可以包括如下4个步骤,分别为s1-s4,具体的:

s1:游戏玩家所在的客户端与第一服务器建立连接,即游戏玩家在第一场景实例中玩游戏;

s2:在判断出游戏玩家所在的客户端需要从当前所在的第一场景实例切换到第二场景实例时,客户端与第一服务器断开连接;

s3:控制客户端与第二服务器建立连接,并且,在第二服务器中不存在第二场景实例时,第二服务器创建第二场景实例,第二服务器从客户端获取第一场景数据与所述第二场景数据相同的场景数据,即第二服务器在创建第二场景实例时,可以复用第一场景实例中的场景元素。

s4,第二服务器在建立好第二场景实例后,将目标场景数据发送至游戏玩家所在的客户端,游戏玩家所在的客户端在接收到目标场景数据后,可以形成目标场景数据对应的场景元素,即第二服务器将第二场景实例同步到游戏玩家数据所在的客户端,游戏玩家可以在第二场景实例中继续玩游戏。

本发明实施例提供的技术方案,游戏玩家所在的客户端中存储有第一场景实例的第一场景数据及所述游戏玩家的游戏玩家数据,因此,游戏玩家所在的客户端与第一服务器断开连接后,游戏玩家仍然可以在第一场景实例中玩游戏;并且,第二服务器服务器建立好第二场景实例后,且游戏玩家与第二服务器建立连接后,可以将第二场景实例同步到游戏玩家所在的客户端。可见,通过本发明实施例提供的技术方案,可以实现游戏玩家所在的客户端在不同游戏场景实例之间的无缝切换,提高游戏玩家的游戏体验。

由于第二场景实例种的游戏玩家可能是第一场景实例中的游戏玩家,还可以其他游戏玩家,为了方面描述,可以将其他游戏玩家描述为目标玩家,在一种实施方式中,当目标客户端与第二服务器建立连接时,目标客户端为未与第一服务器建立过连接的客户端,游戏场景管理方法还可以包括:

控制第二服务器获取目标客户端对应的目标玩家数据;

控制第二服务器利用目标玩家数据,创建目标玩家的目标主操角色;

控制第二服务器将目标玩家数据发送至目标客户端,以使目标客户端接收到目标玩家数据后,利用目标玩家数据,创建目标玩家的目标主操角色。

在该实施方式中,当有目标客户端与第二服务器建立连接后,说明目标客户端对应的游戏玩家想要在第二场景实例中玩游戏,此时,第二服务器可以获取目标客户端对应的目标玩家数据,并利用目标玩家数据,创建目标玩家的目标主操角色;而且,可以将目标玩家数据发送至目标客户端,目标客户端接收到目标玩家数据后,可以利用目标玩家数据,创建目标玩家的目标主操角色;并且,本发明实施例提供的技术方案,游戏玩家所在的客户端中存储有第一场景实例的第一场景数据及游戏玩家的游戏玩家数据,因此,游戏玩家所在的客户端与第一服务器断开连接后,游戏玩家仍然可以在第一场景实例中玩游戏;并且,第二服务器建立好第二场景实例后,可以将第二场景实例中的场景数据同步到游戏玩家所在的客户端。

可见,通过本发明实施例提供的技术方案,可以实现游戏玩家所在的客户端在不同的游戏场景实例之间的无缝切换,提高游戏玩家的游戏体验。并且,新游戏场景可以容纳更多的游戏玩家,进一步地提高了用户的体验。

第二方面,下面首先对本发明实施例所提供的一种游戏场景管理方法进行介绍。

需要说明的是,本发明实施例所提供的一种游戏场景管理方法可以应用于游戏玩家所在的客户端。

本发明实施例所提供的一种游戏场景管理方法,如图3所示,可以包括如下步骤:

s310,在判断出游戏玩家所在的客户端需要从当前所在的第一场景实例切换到第二场景实例时,游戏玩家所在的客户端与第一服务器断开连接,第一服务器为第一场景实例所在的服务器,游戏玩家所在的客户端中存储有第一场景实例对应的场景数据及游戏玩家的游戏玩家数据。

s320,游戏玩家所在的客户端控制游戏玩家的主操角色按照预设规则在第一场景实例中运行。

需要强调的是,游戏玩家所在的客户端与第一服务器断开连接,但是,游戏玩家所在的客户端还存储有第一场景实例的场景数据以及该游戏玩家的游戏玩家数据,也就是说,游戏玩家所在的客户端并没有像现有技术那样销毁第一场景实例,而是保留第一场景实例。这样,虽然游戏玩家所在的客户端与第一服务器断开连接,由于游戏玩家所在的客户端中存储有第一场景实例中的场景数据以及该游戏玩家的游戏玩家数据,因此,游戏玩家仍然可以在第一场景实例中玩游戏,而无需像现有技术那样进行读条操作,提高了用户的游戏体验。

具体的,游戏玩家所在的客户端可以控制游戏玩家的主操角色按照预设规则在第一场景实例中运行,需要说明的是,该预设规则可以为保持与第一服务器断开时的运动状态。当然,该预设规则还可以根据实际情况进行设定,本发明实施例对该预设规则不做具体限定。

s330,控制游戏玩家所在的客户端与第二服务器建立连接,其中,第二服务器为第二场景实例所在的服务器。

在游戏玩家所在的客户端与第一服务器断开连接后,为了使得后续步骤中,游戏玩家可以在第二场景实例中玩游戏,可以控制游戏玩家所在的客户端与第二服务器建立连接,并且,该第二服务器为第二场景实例所在的服务器。

s340,获取第二服务器发送的目标场景数据,目标场景数据为第二服务器建立好第二场景实例后,向游戏玩家所在的客户端发送的,目标场景数据为:在第二场景实例的第二场景数据中存在、且在第一场景实例的第一场景数据不存在的场景数据。

第二服务器在建立好第二场景实例后,可以将在第二场景实例的第二场景数据中存在、且在第一场景实例的第一场景数据中不存在的目标场景数据发送至游戏玩家所在的客户端。游戏玩家所在的客户端在接收到目标场景数据后,可以形成目标场景数据对应的场景元素,从而第二服务器将第二场景实例同步到游戏玩家数据所在的客户端,游戏玩家可以在第二场景实例中继续玩游戏。可见,通过本发明实施例提供的技术方案,游戏玩家所在的客户端可以由第一场景实例无缝切换至第二场景实例,提高了游戏玩家的游戏体验。

需要说明的是,由于游戏玩家所在的客户端中存储了第一场景实例中的第一场景数据,而在第一场景数据中存在的场景数据,可能在第二场景数据中并不存在。

为了节省游戏玩家所在的客户端的内存,在一种实施方式中,在获取第二服务器发送的目标场景数据的步骤之后,游戏场景管理方法还可以包括:

获取第一通知信息,第一通知信息用于提示游戏玩家所在的客户端删除在第一场景数据中存在、且在第二场景数据中不存在的场景数据。

在另一种实施方式中,在获取第二服务器发送的目标场景数据的步骤之后,游戏场景管理方法还可以包括:

在预设时间内未接收到第二通知信息,删除在第一场景数据中存在、且在第二场景数据中不存在的场景数据,第二通知信息用于提示游戏玩家所在的客户端其本地存储有第二场景数据中不存在的场景数据。

本发明实施例提供的技术方案,游戏玩家所在的客户端中存储有第一场景实例的第一场景数据及游戏玩家的游戏玩家数据,因此,游戏玩家所在的客户端与第一服务器断开连接后,游戏玩家仍然可以在第一场景实例中玩游戏;并且,第二服务器建立好第二场景实例后,可以将第二场景实例中的场景数据同步到游戏玩家所在的客户端。可见,通过本发明实施例提供的技术方案,可以实现游戏玩家所在的客户端在不同的游戏场景实例之间的无缝切换,提高游戏玩家的游戏体验。

第三方面,本发明实施例还提供了一种游戏场景管理装置,如图4所示,所述装置包括:

第一连接断开模块410,用于在判断出游戏玩家所在的客户端需要从当前所在的第一场景实例切换到第二场景实例时,控制游戏玩家所在的客户端与第一服务器断开连接,所述第一服务器为第一场景实例所在的服务器所述游戏玩家所在的客户端中存储有所述第一场景实例对应的第一场景数据及所述游戏玩家的游戏玩家数据;

第二连接建立模块420,用于控制所述游戏玩家所在的客户端与第二服务器建立连接,其中,所述第二服务器为第二场景实例所在的服务器;

场景实例创建模块430,在判断出第二服务器中不存在第二场景实例时,控制所述第二服务器创建第二场景实例,其中,所述第一场景实例与所述第二场景实例属于同一场景;

场景数据发送模块440,用于控制所述第二服务器将目标场景数据发送至游戏玩家所在的客户端,所述目标场景数据为:在所述第二场景实例对应的第二场景数据中存在、且在所述第一场景实例对应的第一场景数据中不存在的场景数据。

本发明实施例提供的技术方案,游戏玩家所在的客户端中存储有第一场景实例的第一场景数据及游戏玩家的游戏玩家数据,因此,游戏玩家所在的客户端与第一服务器断开连接后,游戏玩家仍然可以在第一场景实例中玩游戏;并且,第二服务器建立好第二场景实例后,可以将第二场景实例中的场景数据同步到游戏玩家所在的客户端。可见,通过本发明实施例提供的技术方案,可以实现游戏玩家所在的客户端在不同的游戏场景实例之间的无缝切换,提高游戏玩家的游戏体验。

可选的,所述场景实例创建模块,具体用于:

控制所述第二服务器从所述游戏玩家所在的客户端获取所述第一场景数据与所述第二场景数据相同的场景数据,并将所获取的场景数据发送至所述第二服务器;

控制所述第二服务器从存储场景数据的服务器中,获取所述目标场景数据,并将所获取的场景数据发送至所述第二服务器;

控制所述第二服务器利用所获取的所述第一场景数据与所述第二场景数据相同的场景数据,以及目标场景数据创建第二场景实例。

可选的,所述装置还可以包括:

玩家数据获取模块,用于当目标客户端与所述第二服务器建立连接时,所述目标客户端为未与所述第一服务器建立过连接的客户端,控制所述第二服务器获取所述目标客户端对应的目标玩家数据;

主操角色创建模块,用于控制所述第二服务器利用所述目标玩家数据,创建目标玩家的目标主操角色;

玩家数据发送模块,用于控制所述第二服务器将所述目标玩家数据发送至目标客户端,以使所述目标客户端接收到所述目标玩家数据后,利用所述目标玩家数据,创建目标玩家的目标主操角色。

可选的,所述装置还可以包括:

通知信息发送模块,用于在控制所述第二服务器将目标场景数据发送至游戏玩家所在的客户端的步骤之后,控制所述第二服务器向所述游戏玩家所在的客户端发送第一通知信息,所述第一通知信息用于提示所述游戏玩家所在的客户端删除在所述第一场景数据中存在、且在所述第二场景数据中不存在的场景数据。

第四方面,本发明实施例还提供了一种游戏场景管理装置,如图5所示,所述装置可以包括:

第二连接断开模块510,用于在判断出游戏玩家所在的客户端需要从当前所在的第一场景实例切换到第二场景实例时,与第一服务器断开连接,所述第一服务器为第一场景实例所在的服务器,所述游戏玩家所在的客户端中存储有所述第一场景实例对应的第一场景数据及所述游戏玩家的游戏玩家数据;

主操角色运行模块520,用于控制所述游戏玩家的主操角色按照预设规则在所述第一场景实例中运行;

第二连接建立模块530,用于与第二服务器断开连接,其中,所述第二服务器为第二场景实例所在的服务器;

场景数据获取模块540,用于获取所述第二服务器发送的目标场景数据,所述目标场景数据为所述第二服务器建立好第二场景实例后,向所述游戏玩家所在的客户端发送的,所述目标场景数据为:在所述第二场景实例的第二场景数据中存在、且在所述第一场景实例的第一场景数据不存在的场景数据。

本发明实施例提供的技术方案,游戏玩家所在的客户端中存储有第一场景实例的第一场景数据及游戏玩家的游戏玩家数据,因此,游戏玩家所在的客户端与第一服务器断开连接后,游戏玩家仍然可以在第一场景实例中玩游戏;并且,第二服务器建立好第二场景实例后,可以将第二场景实例中的场景数据同步到游戏玩家所在的客户端。可见,通过本发明实施例提供的技术方案,可以实现游戏玩家所在的客户端在不同的游戏场景实例之间的无缝切换,提高游戏玩家的游戏体验。

可选的,所述装置还可以包括:

第一通知信息获取模块,用于在所述获取所述第二服务器发送的目标场景数据的步骤之后,在所述场景数据获取模块获取所述第二服务器发送的目标场景数据的步骤之后,获取第一通知信息,所述第一通知信息用于提示所述游戏玩家所在的客户端删除在所述第一场景数据中存在、且在所述第二场景数据中不存在的场景数据。

可选的,所述装置还可以包括:

第二通知信息获取模块,用于在所述场景数据获取模块获取所述第二服务器发送的目标场景数据之后,在预设时间内未接收到第二通知信息,删除在所述第一场景数据中存在、且在所述第二场景数据中不存在的场景数据,所述第二通知信息用于提示所述游戏玩家所在的客户端其本地存储有所述第二场景数据中不存在的场景数据。

第五方面,本发明实施例还提供了一种服务器,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,

存储器603,用于存放计算机程序;

处理器601,用于执行存储器603上所存放的程序时,实现第一方面所述的游戏场景管理方法。

本发明实施例提供的技术方案,游戏玩家所在的客户端中存储有第一场景实例的第一场景数据及游戏玩家的游戏玩家数据,因此,游戏玩家所在的客户端与第一服务器断开连接后,游戏玩家仍然可以在第一场景实例中玩游戏;并且,第二服务器建立好第二场景实例后,可以将第二场景实例中的场景数据同步到游戏玩家所在的客户端。可见,通过本发明实施例提供的技术方案,可以实现游戏玩家所在的客户端在不同的游戏场景实例之间的无缝切换,提高游戏玩家的游戏体验。

上述服务器提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述服务器与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

第六方面,本发明实施例还提供了一种终端,所述终端中运行有游戏玩家所在的客户端,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,

存储器703,用于存放计算机程序;

处理器701,用于执行存储器703上所存放的程序时,实现第二方面所述的游戏场景管理方法。

本发明实施例提供的技术方案,游戏玩家所在的客户端中存储有第一场景实例的第一场景数据及游戏玩家的游戏玩家数据,因此,游戏玩家所在的客户端与第一服务器断开连接后,游戏玩家仍然可以在第一场景实例中玩游戏;并且,第二服务器建立好第二场景实例后,可以将第二场景实例中的场景数据同步到游戏玩家所在的客户端。可见,通过本发明实施例提供的技术方案,可以实现游戏玩家所在的客户端在不同的游戏场景实例之间的无缝切换,提高游戏玩家的游戏体验。

上述终端提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述终端与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

第七方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的游戏场景管理方法。

本发明实施例提供的技术方案,游戏玩家所在的客户端中存储有第一场景实例的第一场景数据及游戏玩家的游戏玩家数据,因此,游戏玩家所在的客户端与第一服务器断开连接后,游戏玩家仍然可以在第一场景实例中玩游戏;并且,第二服务器建立好第二场景实例后,可以将第二场景实例中的场景数据同步到游戏玩家所在的客户端。可见,通过本发明实施例提供的技术方案,可以实现游戏玩家所在的客户端在不同的游戏场景实例之间的无缝切换,提高游戏玩家的游戏体验。

第八方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第二方面所述的游戏场景管理方法。

本发明实施例提供的技术方案,游戏玩家所在的客户端中存储有第一场景实例的第一场景数据及游戏玩家的游戏玩家数据,因此,游戏玩家所在的客户端与第一服务器断开连接后,游戏玩家仍然可以在第一场景实例中玩游戏;并且,第二服务器建立好第二场景实例后,可以将第二场景实例中的场景数据同步到游戏玩家所在的客户端。可见,通过本发明实施例提供的技术方案,可以实现游戏玩家所在的客户端在不同的游戏场景实例之间的无缝切换,提高游戏玩家的游戏体验。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、服务器、终端、存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1