虚拟对象在地图间转移的方法、装置、设备及介质与流程
未命名
09-02
阅读:98
评论:0

1.本技术涉及在线游戏领域,特别涉及一种虚拟对象在地图间转移的方法、装置、设备及介质。
背景技术:
2.在mmog(massive multiplayer online game,大型多人在线游戏)中,不同用户在同一虚拟世界中进行游戏。前述虚拟世界由多张子地图拼接而成。
3.相关技术由不同的逻辑服务器处理不同子地图内的资源,比如,由第一逻辑服务器处理当前子地图内的虚拟对象,由第二逻辑服务器处理目标子地图内的虚拟对象,为了减少虚拟对象在当前子地图和目标子地图之间来回移动引起的逻辑服务器之间的频繁异步通信,逻辑服务器会在两个子地图之间设置缓冲区域,当用户控制虚拟对象从当前子地图进入目标子地图时,虚拟对象会经过缓冲区域,第一逻辑服务器上设置有主虚拟对象,以管理该虚拟对象的活动。当虚拟对象进入缓冲区域时,会在第二逻辑服务器上创建代理虚拟对象,第一逻辑服务器上的主虚拟对象和第二逻辑服务器上的代理虚拟对象是同步的。当虚拟对象从缓冲区域移动到目标子地图内后,会将第二逻辑服务器上的代理虚拟对象切换为主虚拟对象,并删除第一逻辑服务器上的主虚拟对象。
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.图1示出了本技术实施例提供的一种计算机系统的示意图;
29.图2示出了本技术实施例提供的一种虚拟对象在地图间转移的方法的流程示意图;
30.图3示出了本技术实施例提供的一种地图示意图;
31.图4示出了本技术实施例提供的一种虚拟对象穿越子地图的示意图;
32.图5示出了本技术实施例提供的一种刷新视野方法的流程示意图;
33.图6示出了本技术实施例提供的一种虚拟对象在地图间转移的方法的流程示意图;
34.图7示出了本技术实施例提供的一种地图示意图;
35.图8示出了本技术实施例提供的一种虚拟对象在地图间转移的方法的流程示意图;
36.图9示出了本技术实施例提供的一种虚拟对象在地图间转移的方法的流程示意图;
37.图10示出了本技术实施例提供的一种虚拟对象在地图间转移的方法的流程示意图;
38.图11示出了本技术实施例提供的一种虚拟对象在地图间转移的方法的流程示意图;
39.图12示出了本技术实施例提供的一种创建子地图方法的流程示意图;
40.图13示出了本技术实施例提供的一种虚拟对象在地图间转移的装置的示意图;
41.图14示出了本技术实施例提供的一种虚拟对象在地图间转移的装置的示意图;
42.图15示出了本技术实施例提供的一种计算机设备的示意图。
具体实施方式
43.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
44.首先,对本技术实施例中涉及的名词进行介绍:
45.虚拟环境:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟环境可以是三维虚拟环境,也可以是二维虚拟环境。该三维虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的环境,还可以是纯虚构的环境。
46.虚拟对象:是指在虚拟环境中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在虚拟环境中显示的人物、动物、植物、油桶、墙壁、石块等。可选地,当虚拟环境为三维虚拟环境时,虚拟对象是基于动画骨骼技术创建的三维立体模型,每个虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。可选地,当虚拟环境为二维虚拟环境时,虚拟对象是基于动画技术创建的二维平面模型,每个虚拟对象在二维虚拟环境中具有自身的形状和面积,占据二维虚拟环境中的一部分面积。
47.地图加载:虚拟对象从一个地图传送到另外一个地图的时候,客户端的过场动画表现。
48.无缝大世界:无缝大世界具有较大的连续的游戏空间,该游戏空间可以用一个大地图表示。无缝大世界由多个子地图组成,用户控制虚拟对象在子地图间移动时,客户端上不会显示过场动画表现。而对于非无缝大世界,非无缝大世界同样由多个子地图组成,但是用户控制虚拟对象在子地图间移动时,客户端上会显示过场动画表现。
49.需要说明的是,本技术所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本技术中涉及到的虚拟对象以及虚拟对象的相关信息都是在充分授权的情况下获取的。
50.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
51.图1示出了本技术一个示例性实施例提供的计算机系统的结构框图。该计算机系统100包括:第一终端120、服务器集群140和第二终端160。
52.第一终端120有进行游戏对战的客户端。该客户端可以是mmog游戏、棋牌游戏、moba(multiplayer online battle arena,多人在线战术竞技游戏)游戏、slg(simulation game,策略类游戏)游戏、虚拟现实应用程序、三维地图程序、fps(first-person shooting game,第一人称射击类游戏)游戏、多人枪战类生存游戏中的任意一种。第一终端120是第一用户使用的终端,第一用户使用第一终端120操作第一用户帐号的虚拟对象。
53.第一终端120通过无线网络或有线网络与服务器集群140相连。
54.服务器集群140包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器集群140用于为支持多人在线战术竞技的客户端提供后台服务。可选地,服务器集群140承担主要计算工作,第一终端120和第二终端160承担次要计算工作;或者,服务器集群140承担次要计算工作,第一终端120和第二终端160承担主要计算工作;或者,服务
器集群140、第一终端120和第二终端160三者之间采用分布式计算架构进行协同计算。可选地,服务器集群140包括调度服务器141和逻辑服务器142,调度服务器141用于调度逻辑服务器142,逻辑服务器142用于管理游戏地图中不同子地图内的资源,逻辑服务器142包括至少两个服务器。可选地,服务器集群还包括代理服务器143,代理服务器143与调度服务器141和逻辑服务器142相连,代理服务器143用于转发调度服务器141和逻辑服务器142之间的信息,示例性的,调度服务器141向代理服务器143发送第一信息,代理服务器143用于向至少两个逻辑服务器142转发第一信息,或者,调度服务器141接收代理服务器143转发的第二信息,第二信息是代理服务器143转发至少两个逻辑服务器142提供的信息。
55.第二终端160有进行游戏对战的客户端。该客户端可以是mmog游戏、棋牌游戏、moba游戏、slg游戏、虚拟现实应用程序、三维地图程序、fps游戏、多人枪战类生存游戏中的任意一种。第二终端160是第二用户使用的终端,第二用户使用第二终端160操作第二用户帐号的虚拟对象。第一用户帐号和第二用户帐号可以属于不同队伍、不同组织、不具有好友关系或具有临时性的通讯权限。
56.可选地,第一终端120和第二终端160上安装的客户端是相同的,或不同平台的同一类型应用程序。第一终端120可以泛指多个终端中的一个,第二终端160可以泛指多个终端中的一个,本实施例仅以第一终端120和第二终端160来举例说明。第一终端120和第二终端160的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、mp3播放器、mp4播放器、膝上型便携计算机和台式计算机中的至少一种。
57.图2示出了本技术一个示例性实施例提供的虚拟对象在地图间转移的方法的流程示意图。该方法应用于至少两个逻辑服务器142源逻辑服务器中,源逻辑服务器与调度服务器141相连,源逻辑服务器用于管理当前子地图上的各个虚拟对象的资源,调度服务器141和至少两个逻辑服务器142相连,该方法包括:
58.步骤202:在虚拟对象从当前子地图进入目标子地图且以虚拟对象为中心的判定框与目标子地图重合的情况下,向源逻辑服务器发送切图请求,判定框在目标地图中的投影面积大于虚拟对象在目标地图中的投影面积。
59.逻辑服务器用于管理目标地图中不同子地图内虚拟对象的资源。可选地,虚拟对象的资源指虚拟对象的状态数据。示例性的,状态数据用于记录虚拟对象的状态值、服装、技能、外形、生命值、饥饿值、寒冷值中的至少一种。比如,虚拟对象持有技能a,虚拟对象的状态数据b记录了虚拟对象持有技能a这一信息。又比如,虚拟对象装备有风衣,虚拟对象的状态数据c记录了虚拟对象装备风衣这一信息。示例性的,状态数据用于记录虚拟对象的标识、名称、类型、阵营、序列号中的至少一种。例如,虚拟对象属于“人类”这一阵营,状态数据通过一段数据序列来记录虚拟对象属于“人类”。又比如,虚拟对象的名称是“张三”,状态数据用于存储虚拟对象的名称。
60.可选地,虚拟对象的资源指控制虚拟对象活动所需的程序代码。这里的活动包括移动、射击、防御、释放技能、买卖物品、收集虚拟资源、行走、跳跃、飞行、游泳、爬行中的至少一种。示例性的,程序代码包括但不限于程序片段、决策树、行为树、ai(artificial intelligence,人工智能)模型、程序集、指令集中的至少一种。例如,程序片段a实现的功能是控制虚拟对象匀速移动。又例如,ai模型b实现的功能是控制虚拟对象自动寻路。又例如,行为树c实现的功能是控制虚拟对象自动寻敌并自动攻击。
61.需要说明的是,这里的虚拟对象的资源并不包括地图资源。地图资源包括但不限于地图的地形、地图上的可采集资源、地图的尺寸、地图的编号、地图上的建筑、地图上的景点、地图上的自然景观中的至少一种。例如,地图上设置有可采集的花朵,该花朵可视为前述的地图资源,又例如,地图上设置有山丘,该山丘可视为前述的地图资源。
62.目标地图是mmog游戏、棋牌游戏、moba游戏、slg游戏、虚拟现实应用程序、三维地图程序、fps游戏、多人枪战类生存游戏中任意一种程序的地图。示例性的,目标地图是mmog游戏内的地图,目标地图由多个子地图组成,每个子地图由不同的逻辑服务器负责。
63.可选地,目标地图中的子地图是随机划分得到的;或者,目标地图中的子地图是均匀划分的;或者,目标地图中的个子地图是按照地图环境种类划分得到的,地图环境种类用于描述子地图的环境,可选地,地图环境种类包括平原、丘陵、山地、海洋、湖泊、河流、沙漠、自定义环境中的至少一种。示例性的,如图3所示,按照地图环境种类对目标地图进行划分,得到多个子地图。可选地,采用染色法对目标地图进行划分,得到子地图。染色法指使用不同的颜色填充目标地图上的不同区域,按照填充颜色来划分子地图。
64.每个逻辑服务器负责的子地图可由调度服务器实现进行划分和确定,示例性的,将目标地图划分为k个子地图,k为大于1的正整数;向n个逻辑服务器发送子地图加载请求,子地图加载请求用于通知n个逻辑服务器各自加载k个子地图的地图资源,n为大于1的正整数,k和n可以相同的数,也可以是不同的数。示例性的,共有5个子地图,而逻辑服务器有4个,其中,存在一个逻辑服务器对应了两个子地图,而剩余的3个逻辑服务器与子地图之间一一对应。示例性的,共有4个子地图,而逻辑服务器有5个,其中,存在两个逻辑服务器对应了相同的子地图,而剩余的3个逻辑服务器与子地图之间一一对应。其中,调度服务器可以将目标地图随机划分为k个子地图;或者,调度服务器也可以将目标地图均匀划分为k个子地图;或者,调度服务器也可以根据地图环境种类,将目标地图划分为k个子地图。
65.判定框在目标地图中的投影面积大于虚拟对象在目标地图中的投影面积。
66.在本技术的一种实施方式中,判定框是以虚拟对象为中心的m宫格,m为正整数。示例性的,如图4所示,在以虚拟对象为中心的九宫格401全部从当前子地图402进入目标子地图403后,源逻辑服务器向调度服务器发送切图请求,九宫格401的中心一格用于表示虚拟对象。
67.在本技术的一种实施方式中,判定框是以虚拟对象为几何中心的矩形。
68.在本技术的另一种实施方式中,判定框是以虚拟对象为圆心的圆。
69.在本技术的另一种实施方式中,判定框是以虚拟对象为几何中心的正六边形。
70.步骤204:根据调度服务器返回的对象资源转移通知,确定目标逻辑服务器。
71.对象资源转移通知用于向源逻辑服务器提供目标逻辑服务器。目标逻辑服务器指与目标子地图对应的逻辑服务器。
72.可选地,对象资源转移通知包括目标逻辑服务器的ip(internet protocol address,互联网协议地址)。
73.可选地,对象资源转移通知包括目标逻辑服务器的标识码。源逻辑服务器存储有目标逻辑服务器的标识码与目标逻辑服务器的ip之间的对应关系。示例性的,源逻辑服务器根据目标逻辑服务器的标识码确定目标逻辑服务器的ip。
74.步骤206:向目标逻辑服务器复制虚拟对象的资源,以及在完成复制后,销毁源逻
辑服务器上虚拟对象的资源。
75.可选地,源逻辑服务器向目标服务器发送复制请求。在源逻辑服务器接收到目标服务器返回的复制许可后,向目标逻辑服务器复制虚拟对象的资源。在源逻辑服务器完成向目标逻辑服务器复制虚拟对象的资源的步骤后,销毁源逻辑服务器上虚拟对象的资源。
76.可选地,虚拟对象使用对象标识,该对象标识与虚拟对象是一一对应的。比如,虚拟对象1使用对象标识a,虚拟对象2使用对象标识b。此时,源逻辑服务器向目标逻辑服务器复制使用对象标识的虚拟对象的资源,以及销毁源逻辑服务器上的使用对象标识的虚拟对象的资源。
77.可选地,在完成向目标逻辑服务器复制虚拟对象的资源,以及销毁源逻辑服务器上虚拟对象的资源的步骤后,由目标逻辑服务器来接管对虚拟对象的资源的管理。例如,开始时,虚拟对象的资源是在源逻辑服务器上进行的,当完成向目标逻辑服务器复制虚拟对象的资源,以及销毁源逻辑服务器上虚拟对象的资源的步骤后,不再由源逻辑处理器来管理虚拟对象的资源,而是由目标逻辑服务器来管理虚拟对象的资源。需要说明的是,上述步骤206会在极短的时间内完成(比如,在1~2微秒内完成),对客户端的影响可忽略不计。
78.可选地,在客户端与逻辑服务器通信时,从源逻辑服务器和目标逻辑服务器之间获取的虚拟对象都携带有上述对象标识。此时,客户端会将从源逻辑服务器和目标逻辑服务器获取到的虚拟对象视为相同的虚拟对象,客户端上虚拟对象的形象不会被刷新,因此,用户不会观察到虚拟对象闪烁的情况。示例性的,客户端更新虚拟对象的视野信息的步骤如下:
79.步骤51:控制虚拟对象离开当前子地图。
80.可选地,用户通过客户端上的移动控件控制虚拟对象离开当前子地图,或者,用户通过键盘控制虚拟对象离开当前子地图,或者,用户通过手柄上的摇杆控制虚拟对象离开当前子地图。
81.步骤52:控制虚拟对象进入目标子地图。
82.类似步骤52的,用户通过客户端上的移动控件控制虚拟对象进入目标子地图,或者,用户通过键盘控制虚拟对象进入目标子地图,或者,用户通过手柄上的摇杆控制虚拟对象进入目标子地图。
83.步骤53:刷新视野信息。
84.可选地,客户端上预存储有目标地图的地图资源。地图资源指除与虚拟对象相关以外的虚拟资源。例如,目标地图上设置有可采集的花朵,该花朵可视为前述的地图资源,又例如,目标地图上设置有山丘,该山丘可视为前述的地图资源。可以理解的,在客户端上,当用户控制虚拟对象移动到第一子地图和第二子地图的交界处时,由于客户端预存储有目标地图的地图资源,此时,用户可以在客户端上同时观察到第一子地图和第二子地图的地图资源,比如,用户可以观察到第一子地图内的河流和第二子地图内的山脉。
85.可选地,在源逻辑服务器向目标逻辑服务器复制虚拟对象的资源,以及销毁源逻辑服务器上虚拟对象的资源后,刷新视野信息。示例性的,在客户端上,当用户控制的虚拟对象位于第一子地图内时,用户可以观察到第二子地图内的地图资源,但是用户观察不到第二子地图内存在的虚拟对象。当用户控制虚拟对象进入第二子地图后,刷新视野信息,刷新第二子地图内的虚拟对象。
86.由于在客户端与逻辑服务器通信时,从源逻辑服务器和目标逻辑服务器之间获取的虚拟对象都携带有相同的对象标识。因此,客户端上虚拟对象的形象不会被刷新,因此,用户不会观察到虚拟对象闪烁的情况。
87.可选地,在当前子地图达到资源加载量上限的情况下,当前子地图包括至少两个地图分块,在当前子地图达到资源加载量上限的情况下,向调度服务器发送虚拟对象转移请求;根据调度服务器发送的虚拟对象转移通知,将至少两个地图分块中的第一地图分块上的各个虚拟对象的资源复制到资源接收逻辑服务器中,以及在复制完成后,销毁源逻辑服务器上第一地图分块的各个虚拟对象的资源。
88.可选地,确定至少两个地图分块包括的虚拟对象数量;将包括虚拟对象数量最多的地图分块确定为第一地图分块。可选地,按照至少两个地图分块的编号顺序,从至少两个地图分块中确定第一地图分块。可选地,随机从至少两个地图分块中确定第一地图分块。
89.综上所述,本实施例在虚拟对象穿过子地图时,会将源逻辑服务器上虚拟对象的资源复制到目标逻辑服务器中,以及销毁源逻辑服务器上虚拟对象的资源。在虚拟对象在当前子地图和目标子地图之间来回移动的情况下,相较于相关技术,本技术中虚拟对象的资源的只存在于一个逻辑服务器上,减少了对游戏逻辑的影响,提升了开发效率,不需要频繁地在两个逻辑服务器之间同步资源,可以降低逻辑服务器的压力,减轻逻辑服务器的负担。
90.图6示出了本技术一个示例性实施例提供的虚拟对象在地图间转移的方法的流程示意图。该方法应用于至少两个逻辑服务器142中的源逻辑服务器中,源逻辑服务器与调度服务器141相连,源逻辑服务器用于管理当前子地图上的各个虚拟对象的资源,调度服务器141和至少两个逻辑服务器142相连,该方法包括:
91.步骤601:设置以虚拟对象为中心的判定框。
92.在本技术的一种实施方式中,判定框是以虚拟对象为中心的m宫格,m为正整数。示例性的,如图4所示,在以虚拟对象为中心的九宫格401全部从当前子地图402进入目标子地图403后,源逻辑服务器向调度服务器发送切图请求,九宫格401的中心一格用于表示虚拟对象。
93.在本技术的一种实施方式中,判定框是以虚拟对象为几何中心的矩形。
94.在本技术的另一种实施方式中,判定框是以虚拟对象为圆心的圆。
95.在本技术的另一种实施方式中,判定框是以虚拟对象为几何中心的正六边形。需要说明的是,判定框的具体形状可有技术人员根据实际需求自行进行设置和修改。
96.可选地,该判定框是根据虚拟对象的坐标设置的,示例性的,虚拟对象的坐标为(0,0),根据该坐标,确定判定框的4个顶点是(2,2)、(2,-2)、(-2,2)和(-2,-2),这4个顶点顺次相连得到矩形的判定框。
97.步骤602:在虚拟对象从当前子地图向目标子地图移动且判定框与当前子地图和目标子地图均存在重合区域的情况下,确定虚拟对象从当前子地图进入目标子地图。
98.示例性的,如图7所示,以判定框是九宫格701为例进行说明由于九宫格701会在目标地图中占据一定大小的投影面积,因此,在虚拟对象从当前子地图702向目标子地图703移动的过程中,九宫格701会与当前子地图702和目标子地图703同时存在重合区域,可以认为虚拟对象正在执行从当前子地图702进入目标子地图703这一动作,但是,此时并不能保
证虚拟对象已经完全进入目标子地图703。
99.步骤603:在判定框与目标子地图完全重合的情况下,向源逻辑服务器发送切图请求。
100.由于虚拟对象是从当前子地图进入目标子地图的,因此,当判定框完全落入目标子地图内后,向源逻辑服务器发送切图请求。
101.可选地,在虚拟对象从当前子地图进入目标子地图的过程中,根据判定框同当前子地图和目标子地图的边界之间的关系,来确定判定框是否与目标子地图完全重合。例如,在虚拟对象从当前子地图进入目标子地图的过程中,当判定框同当前子地图和目标子地图的边界之间的关系由相交变为不相交,则认为判定框与目标子地图完全重合。
102.可选地,在虚拟对象从当前子地图进入目标子地图的过程中,根据判定框内的点到当前子地图和目标子地图的边界之间的距离,来确定判定框是否与目标子地图完全重合。
103.步骤604:根据调度服务器返回的对象资源转移通知,确定目标逻辑服务器。
104.对象资源转移通知用于向源逻辑服务器提供目标逻辑服务器。目标逻辑服务器指与目标子地图对应的逻辑服务器。
105.可选地,对象资源转移通知包括目标逻辑服务器的ip。
106.可选地,对象资源转移通知包括目标逻辑服务器的标识码。源逻辑服务器存储有目标逻辑服务器的标识码与目标逻辑服务器的ip之间的对应关系。示例性的,源逻辑服务器根据目标逻辑服务器的标识码确定目标逻辑服务器的ip。
107.步骤605:向目标逻辑服务器复制虚拟对象的资源,以及在完成复制后,销毁源逻辑服务器上虚拟对象的资源。
108.由于源逻辑服务器中存在的虚拟对象是存在数量上限,这是因为源逻辑服务器的运算能力是存在上限的,源逻辑服务器在同一时间内所能管理的虚拟对象也是存在上限的,可选地,在当前子地图达到资源加载量上限的情况下,当前子地图包括至少两个地图分块,在当前子地图达到资源加载量上限的情况下,向调度服务器发送虚拟对象转移请求;根据调度服务器发送的虚拟对象转移通知,将至少两个地图分块中的第一地图分块上的各个虚拟对象的资源复制到资源接收逻辑服务器中,以及在复制完成后,销毁源逻辑服务器上第一地图分块的各个虚拟对象的资源。
109.可选地,确定至少两个地图分块包括的虚拟对象数量;将包括虚拟对象数量最多的地图分块确定为第一地图分块。可选地,按照至少两个地图分块的编号顺序,从至少两个地图分块中确定第一地图分块。可选地,随机从至少两个地图分块中确定第一地图分块。
110.综上所述,本实施例在虚拟对象穿过子地图时,会将源逻辑服务器上虚拟对象的资源复制到目标逻辑服务器中,以及销毁源逻辑服务器上虚拟对象的资源。在虚拟对象在当前子地图和目标子地图之间来回移动的情况下,相较于相关技术,本技术中虚拟对象的资源的只存在于一个逻辑服务器上,减少了对游戏逻辑的影响,提升了开发效率,不需要频繁地在两个逻辑服务器之间同步资源,可以降低逻辑服务器的压力,减轻逻辑服务器的负担。
111.而且,本实施例提供的判定框的设置方法,可以较为方便和快捷地确定出虚拟对象是否已经完全进入目标子地图,计算量较小,实时性好。
112.图8示出了本技术一个示例性实施例提供的虚拟对象在地图间转移的方法的流程示意图。该方法应用于调度服务器141中,调度服务器141和至少两个逻辑服务器142相连,至少两个逻辑服务器142用于管理子地图上的各个虚拟对象的资源,该方法包括:
113.步骤802:接收至少两个逻辑服务器中源逻辑服务器发送的切图请求。
114.切图请求是源逻辑服务器在虚拟对象从当前子地图进入目标子地图且以虚拟对象为中心的判定框与目标子地图重合的情况下向调度服务器发送的,当前子地图与源逻辑服务器相对应。
115.逻辑服务器用于管理目标地图中不同子地图内与所述虚拟对象相关的资源。比如,第一逻辑服务器负责处理第一子地图上所有虚拟对象的活动,这里的活动包括移动、射击、防御、释放技能、买卖物品、收集虚拟资源、行走、跳跃、飞行、游泳、爬行中的至少一种。
116.目标地图是mmog游戏、棋牌游戏、moba游戏、slg游戏、虚拟现实应用程序、三维地图程序、fps游戏、多人枪战类生存游戏中任意一种程序的地图。示例性的,目标地图是mmog游戏内的地图,目标地图由多个子地图组成,每个子地图由不同的逻辑服务器负责。
117.可选地,目标地图中的子地图是随机划分得到的;或者,目标地图中的子地图是均匀划分的;或者,目标地图中的个子地图是按照地图环境种类划分得到的,地图环境种类用于描述子地图的环境,可选地,地图环境种类包括平原、丘陵、山地、海洋、湖泊、河流、沙漠、自定义环境中的至少一种。示例性的,如图3所示,按照地图环境种类对目标地图进行划分,得到多个子地图。
118.可选地,采用染色法对目标地图进行划分,得到子地图。染色法指使用不同的颜色填充目标地图上的不同区域,按照填充颜色来划分子地图。
119.每个逻辑服务器负责的子地图可由调度服务器实现进行划分和确定,示例性的,将目标地图划分为k个子地图,k为大于1的正整数;向n个逻辑服务器发送子地图加载请求,子地图加载请求用于通知n个逻辑服务器各自加载k个子地图的地图资源,n为大于1的正整数,k和n可以相同的数,也可以是不同的数。示例性的,共有5个子地图,而逻辑服务器有4个,其中,存在一个逻辑服务器对应了两个子地图,而剩余的3个逻辑服务器与子地图之间一一对应。示例性的,共有4个子地图,而逻辑服务器有5个,其中,存在两个逻辑服务器对应了相同的子地图,而剩余的3个逻辑服务器与子地图之间一一对应。其中,调度服务器可以将目标地图随机划分为k个子地图;或者,调度服务器也可以将目标地图均匀划分为k个子地图;或者,调度服务器也可以根据地图环境种类,将目标地图划分为k个子地图。
120.在本技术的一种实施方式中,切图请求是在以虚拟对象为几何中心的m宫格与目标子地图重合的情况下,源逻辑服务器向调度服务器发送的,m为正整数。示例性的,如图4所示,在以虚拟对象为中心的九宫格401全部从当前子地图402进入目标子地图403后,源逻辑服务器向调度服务器发送切图请求。
121.在本技术的一种实施方式中,切图请求是在以虚拟对象为几何中心的矩形与目标子地图重合的情况下,源逻辑服务器向调度服务器发送的。
122.在本技术的另一种实施方式中,切图请求是在以虚拟对象为圆心的圆与目标子地图重合的情况下,源逻辑服务器向调度服务器发送的。
123.在本技术的另一种实施方式中,切图请求是在以虚拟对象为几何中心的正六边形与目标子地图重合的情况下,源逻辑服务器向调度服务器发送的。
124.步骤804:从至少两个逻辑服务器中确定与目标子地图对应的目标逻辑服务器。
125.可选地,调度服务器存储有子地图与逻辑服务器之间的对应关系。调度服务器根据前述对应关系从至少两个逻辑服务器中确定与目标子地图对应的目标逻辑服务器。
126.在本技术的一种可选实施方式中,不存在逻辑服务器管理目标子地图,此时,需要在逻辑服务器上新建该目标子地图。示例性的,在至少两个逻辑服务器中不存在与目标子地图对应的逻辑服务器的情况下,从至少两个逻辑服务器中确定第一逻辑服务器;向第一逻辑服务器发送第一地图创建通知,第一地图创建通知用于通知第一逻辑服务器创建目标子地图;在接收到第一逻辑服务器发送的第一地图创建完成通知的情况下,将第一逻辑服务器确定为目标逻辑服务器。
127.在本技术的一种可选实施方式中,逻辑服务器的资源加载量是存在上限的,资源加载量指逻辑服务器负责管理的虚拟对象的数量,当目标逻辑服务器达到资源加载量上限时,该目标逻辑服务器是无法继续接收新的虚拟对象的,因此,需要在其他逻辑服务器上新建该目标子地图。示例性的,在至少两个逻辑服务器中的目标逻辑服务器达到资源加载量上限的情况下,从至少两个逻辑服务器中确定第二逻辑服务器;向第二逻辑服务器发送第二地图创建通知,所述第二地图创建通知用于通知所述第二逻辑服务器创建目标子地图;在接收到第二逻辑服务器发送的第二地图创建完成通知的情况下,将第二逻辑服务器确定为目标逻辑服务器。
128.步骤806:向源逻辑服务器发送对象资源转移通知,对象资源转移通知用于通知源逻辑服务器向目标逻辑服务器复制虚拟对象的资源,以及在复制完成后,销毁源逻辑服务器上虚拟对象的资源。
129.可选地,虚拟对象使用对象标识,该对象标识与虚拟对象是一一对应的。比如,虚拟对象1使用对象标识a,虚拟对象2使用对象标识b。此时,对象资源转移通知用于通知源逻辑服务器向目标逻辑服务器复制使用对象标识的虚拟对象的资源,以及销毁源逻辑服务器上的使用对象标识的虚拟对象的资源。
130.可选地,在完成向目标逻辑服务器复制虚拟对象的资源,以及销毁源逻辑服务器上虚拟对象的资源的步骤后,由目标逻辑服务器来接管对虚拟对象的资源的管理。例如,开始时,虚拟对象的资源是在源逻辑服务器上进行的,当完成向目标逻辑服务器复制虚拟对象的资源,以及销毁源逻辑服务器上虚拟对象的资源的步骤后,不再由源逻辑处理器来管理虚拟对象的资源,而是由目标逻辑服务器来管理虚拟对象的资源。需要说明的是,上述步骤206会在极短的时间内完成(比如,在1~2微秒内完成),对客户端的影响可忽略不计。
131.可选地,在客户端与逻辑服务器通信时,从源逻辑服务器和目标逻辑服务器之间获取的虚拟对象都携带有上述对象标识。此时,客户端会将从源逻辑服务器和目标逻辑服务器获取到的虚拟对象视为相同的虚拟对象,客户端上虚拟对象的形象不会被刷新,因此,用户不会观察到虚拟对象闪烁的情况。
132.可选地,客户端上预存储有目标地图的地图资源。地图资源指除与虚拟对象相关以外的虚拟资源。例如,目标地图上设置有可采集的花朵,该花朵可视为前述的地图资源,又例如,目标地图上设置有山丘,该山丘可视为前述的地图资源。可以理解的,在客户端上,当用户控制虚拟对象移动到第一子地图和第二子地图的交界处时,由于客户端预存储有目标地图的地图资源,此时,用户可以在客户端上同时观察到第一子地图和第二子地图的地
图资源,比如,用户可以观察到第一子地图内的河流和第二子地图内的山脉。
133.可选地,在源逻辑服务器向目标逻辑服务器复制虚拟对象的资源,以及销毁源逻辑服务器上虚拟对象的资源后,刷新视野信息。示例性的,在客户端上,当用户控制的虚拟对象位于第一子地图内时,用户可以观察到第二子地图内的地图资源,但是用户观察不到第二子地图内存在的虚拟对象。当用户控制虚拟对象进入第二子地图后,刷新视野信息,刷新第二子地图内的虚拟对象。
134.由于在客户端与逻辑服务器通信时,从源逻辑服务器和目标逻辑服务器之间获取的虚拟对象都携带有相同的对象标识。因此,客户端上虚拟对象的形象不会被刷新,因此,用户不会观察到虚拟对象闪烁的情况。
135.可选地,在当前子地图达到资源加载量上限的情况下,将当前子地图拆分为第一当前子地图和第二当前子地图;从至少两个逻辑服务器中确定资源接收逻辑服务器;向源逻辑服务器发送虚拟对象转移通知,虚拟对象转移通知用于通知源逻辑服务器将第一当前子地图内的各个虚拟对象的资源复制到资源接收逻辑服务器中,以及在复制完成后,销毁源逻辑服务器中第一当前子地图内的各个虚拟对象的资源。
136.综上所述,在虚拟对象穿过子地图时,会将源逻辑服务器上虚拟对象的资源复制到目标逻辑服务器中,以及销毁源逻辑服务器上虚拟对象的资源。相较于相关技术,本技术中虚拟对象的资源的只存在于一个逻辑服务器上,减少了对游戏逻辑的影响,提升了开发效率,不需要频繁地在两个逻辑服务器之间同步资源,可以降低逻辑服务器的压力,减轻逻辑服务器的负担。
137.图9示出了本技术一个示例性实施例提供的虚拟对象在地图间转移的方法的流程示意图。该方法应用于调度服务器141中,调度服务器141和至少两个逻辑服务器142相连,该方法包括:
138.步骤901:接收源逻辑服务器发送的切图请求。
139.源逻辑服务器指处理当前子地图的逻辑服务器,当前子地图是虚拟对象所在的子地图。
140.在本技术的另一种实施方式中,切图请求是在以虚拟对象为中心的m宫格与目标子地图重合的情况下,源逻辑服务器向调度服务器发送的,m为正整数。
141.在本技术的一种实施方式中,切图请求是在以虚拟对象为几何中心的矩形与目标子地图重合的情况下,源逻辑服务器向调度服务器发送的。
142.在本技术的另一种实施方式中,切图请求是在以虚拟对象为圆心的圆与目标子地图重合的情况下,源逻辑服务器向调度服务器发送的。
143.在本技术的另一种实施方式中,切图请求是在以虚拟对象为几何中心的正六边形与目标子地图重合的情况下,源逻辑服务器向调度服务器发送的。
144.可选地,源逻辑服务器和调度服务器之间通过代理服务器转发切图请求。
145.步骤902:根据切图请求,确定虚拟对象从当前子地图移动到目标子地图。
146.目标子地图指虚拟对象进入的子地图。
147.步骤903:在至少两个逻辑服务器中不存在与目标子地图对应的逻辑服务器的情况下,确定目标子地图的资源加载量。
148.资源加载量指子地图上存在的虚拟对象数量。示例性的,目标子地图的资源加载
量表示目标子地图上存在100个虚拟对象。
149.步骤904:向至少两个逻辑服务器组播发送资源查询请求。
150.资源查询请求用于查询各个逻辑服务器的剩余资源加载量。每个逻辑服务器都有资源加载上限,资源加载总量指子地图的虚拟对象数量的上限,资源加载上限=剩余资源加载量+已用资源加载量。
151.步骤905:根据至少两个逻辑服务器返回的资源查询反馈,确定第一逻辑服务器。
152.可选地,资源查询反馈包括至少两个逻辑服务器的剩余资源加载量。
153.可选地,将至少两个逻辑服务器中剩余资源加载量最大的逻辑服务器确定为第一逻辑服务器。
154.可选地,将至少两个逻辑服务器中剩余资源加载量达到资源加载量阈值的逻辑服务器确定为第一逻辑服务器。
155.步骤906:向第一逻辑服务器发送第一地图创建通知。
156.第一地图创建通知用于通知第一逻辑服务器创建目标子地图。
157.可选地,第一逻辑服务器在接收到第一地图创建通知后,加载目标子地图的地图资源。示例性的,第一逻辑服务器从资源服务器上下载目标子地图的地图资源,资源服务器是用于存放各个子地图的地图资源的服务器。
158.步骤907:在接收到第一逻辑服务器发送的第一地图创建完成通知的情况下,将第一逻辑服务器确定为目标逻辑服务器。
159.第一地图创建完成通知是第一逻辑服务器在创建目标子地图后,向调度服务器发送的。
160.第一地图创建完成通知用于表示第一逻辑服务器完成目标子地图的创建。
161.步骤908:向源逻辑服务器发送对象资源转移通知。
162.对象资源转移通知用于通知源逻辑服务器向目标逻辑服务器复制虚拟对象的资源,以及销毁源逻辑服务器上虚拟对象的资源。
163.综上所述,在虚拟对象穿过子地图时,会将源逻辑服务器上虚拟对象的资源复制到目标逻辑服务器中,以及销毁源逻辑服务器上虚拟对象的资源。相较于相关技术,本技术中虚拟对象的资源的只存在于一个逻辑服务器上,减少了对游戏逻辑的影响,提升了开发效率,不需要频繁地在两个逻辑服务器之间同步资源,可以降低逻辑服务器的压力,减轻逻辑服务器的负担。
164.而且,可以创建新的子地图,在游戏中实现大面积地图,而且易于维护,可以满足策划对于无缝大世界的需求。
165.图10示出了本技术一个示例性实施例提供的虚拟对象在地图间转移的方法的流程示意图。该方法应用于调度服务器141中,调度服务器141和至少两个逻辑服务器142相连,该方法包括:
166.步骤1001:接收源逻辑服务器发送的切图请求。
167.源逻辑服务器指处理当前子地图的逻辑服务器,当前子地图是虚拟对象所在的子地图。
168.在本技术的一种实施方式中,切图请求是在以虚拟对象为中心的m宫格与目标子地图重合的情况下,源逻辑服务器向调度服务器发送的,m为正整数。
169.在本技术的一种实施方式中,切图请求是在以虚拟对象为几何中心的矩形与目标子地图重合的情况下,源逻辑服务器向调度服务器发送的。
170.在本技术的另一种实施方式中,切图请求是在以虚拟对象为圆心的圆与目标子地图重合的情况下,源逻辑服务器向调度服务器发送的。
171.在本技术的另一种实施方式中,切图请求是在以虚拟对象为几何中心的正六边形与目标子地图重合的情况下,源逻辑服务器向调度服务器发送的。
172.步骤1002:根据切图请求,确定虚拟对象从当前子地图移动到目标子地图。
173.目标子地图指虚拟对象即将进入的子地图。
174.步骤1003:在至少两个逻辑服务器中的目标逻辑服务器达到资源加载量上限的情况下,确定目标子地图的资源加载量。
175.资源加载量上限指子地图上至多存在的虚拟对象数量。示例性的,目标子地图的资源加载量上限表示目标子地图上至多存在120个虚拟对象。
176.步骤1004:向至少两个逻辑服务器组播发送资源查询请求。
177.资源查询请求用于查询各个逻辑服务器的剩余资源加载量。每个逻辑服务器都有资源加载上限,资源加载上限指子地图上至多存在的虚拟对象数量的上限,资源加载上限=剩余资源加载量+已用资源加载量。
178.步骤1005:根据至少两个逻辑服务器返回的资源查询反馈,确定第二逻辑服务器。
179.可选地,资源查询反馈包括至少两个逻辑服务器的剩余资源加载量。
180.可选地,将至少两个逻辑服务器中剩余资源加载量最大的逻辑服务器确定为第二逻辑服务器。
181.可选地,将至少两个逻辑服务器中剩余资源加载量达到资源加载量阈值的逻辑服务器确定为第二逻辑服务器。
182.步骤1006:向第二逻辑服务器发送第二地图创建通知。
183.第一地图创建通知用于通知第二逻辑服务器创建目标子地图。
184.步骤1007:在接收到第二逻辑服务器发送的第二地图创建完成通知的情况下,将第二逻辑服务器确定为目标逻辑服务器。
185.第二地图创建完成通知是第二逻辑服务器在创建目标子地图后,向调度服务器发送的。
186.第二地图创建完成通知用于表示第二逻辑服务器完成目标子地图的创建。
187.步骤1008:向源逻辑服务器发送对象资源转移通知。
188.对象资源转移通知用于通知源逻辑服务器向目标逻辑服务器复制虚拟对象的资源,以及销毁源逻辑服务器上虚拟对象的资源。
189.综上所述,在虚拟对象穿过子地图时,会将源逻辑服务器上虚拟对象的资源复制到目标逻辑服务器中,以及销毁源逻辑服务器上虚拟对象的资源。相较于相关技术,本技术中虚拟对象的资源的只存在于一个逻辑服务器上,减少了对游戏逻辑的影响,提升了开发效率,不需要频繁地在两个逻辑服务器之间同步资源,可以降低逻辑服务器的压力,减轻逻辑服务器的负担。
190.而且,可以在逻辑服务器的运算能力有限时创建新的子地图,降低逻辑服务器的负担。
191.图11示出了本技术一个示例性实施例提供的虚拟对象在地图间转移的方法的流程示意图。该方法应用于调度服务器141中,调度服务器141和至少两个逻辑服务器142相连,该方法包括:
192.步骤1101:源逻辑服务器向调度服务器发送切图请求。
193.源逻辑服务器指处理当前子地图的逻辑服务器,当前子地图是虚拟对象所在的子地图。
194.在本技术的另一种实施方式中,切图请求是在以虚拟对象为中心的m宫格与目标子地图重合的情况下,源逻辑服务器向调度服务器发送的,m为正整数。
195.在本技术的一种实施方式中,切图请求是在以虚拟对象为几何中心的矩形与目标子地图重合的情况下,源逻辑服务器向调度服务器发送的。
196.在本技术的另一种实施方式中,切图请求是在以虚拟对象为圆心的圆与目标子地图重合的情况下,源逻辑服务器向调度服务器发送的。
197.在本技术的另一种实施方式中,切图请求是在以虚拟对象为几何中心的正六边形与目标子地图重合的情况下,源逻辑服务器向调度服务器发送的。
198.步骤1102:调度服务器根据切图请求,从至少两个逻辑服务器中确定目标逻辑服务器。
199.可选地,调度服务器需要判断是否存在于目标子地图对应的逻辑服务器,调度服务器可以定时检查各个逻辑服务器的剩余资源加载量,也可以在接收到切图请求时检查各个逻辑服务器的剩余资源加载量,示例性的,调度服务器判断是否需要创建子地图的过程如下:
200.步骤121:确定各个逻辑服务器。
201.调度服务器确定与调度服务器相连的各个逻辑服务器。
202.步骤122:判断逻辑服务器是否负责子地图。
203.若逻辑服务器负责子地图,则执行步骤123;
204.若逻辑服务器不负责子地图,则返回步骤121。
205.步骤123:判断子地图内的虚拟对象是否达到虚拟对象上限。
206.若子地图内的虚拟对象达到虚拟对象上限,则执行步骤124;
207.若子地图内的虚拟对象未达到虚拟对象上限,则返回步骤121。
208.虚拟对象上限可由逻辑服务器的运算能力决定。
209.步骤124:确定需要创建子地图。
210.步骤1103:调度服务器向目标逻辑服务器发送地图创建通知。
211.地图创建通知用于通知目标逻辑服务器创建目标子地图。
212.步骤1104:目标逻辑服务器根据地图创建通知创建目标子地图。
213.可选地,目标逻辑服务器在接收到地图创建通知后,加载目标子地图的地图资源。示例性的,目标逻辑服务器从资源服务器上下载目标子地图的地图资源,资源服务器是用于存放各个子地图的地图资源的服务器。
214.步骤1105:目标逻辑服务器向调度服务器发送地图创建完成通知。
215.地图创建完成通知用于表示目标逻辑服务器已经完成创建目标子地图的过程。
216.步骤1106:调度服务器根据地图创建完成通知向源逻辑服务器发送对象资源转移
通知。
217.对象资源转移通知用于通知源逻辑服务器向目标逻辑服务器复制虚拟对象的资源,以及销毁源逻辑服务器上虚拟对象的资源。
218.步骤1107:源逻辑服务器根据对象资源转移通知向目标逻辑服务器复制虚拟对象的资源,以及销毁源逻辑服务器上虚拟对象的资源。
219.可选地,虚拟对象使用对象标识,该对象标识与虚拟对象是一一对应的。比如,虚拟对象1使用对象标识a,虚拟对象2使用对象标识b。此时,对象资源转移通知用于通知源逻辑服务器向目标逻辑服务器复制使用对象标识的虚拟对象的资源,以及销毁源逻辑服务器上的使用对象标识的虚拟对象的资源。
220.可选地,在客户端与逻辑服务器通信时,从源逻辑服务器和目标逻辑服务器之间获取的虚拟对象都携带有上述对象标识。此时,客户端会将从源逻辑服务器和目标逻辑服务器获取到的虚拟对象视为相同的虚拟对象,客户端上虚拟对象的形象不会被刷新,因此,用户不会观察到虚拟对象闪烁的情况。
221.综上所述,在虚拟对象穿过子地图时,会将源逻辑服务器上虚拟对象的资源复制到目标逻辑服务器中,以及销毁源逻辑服务器上虚拟对象的资源。相较于相关技术,本技术中虚拟对象的资源的只存在于一个逻辑服务器上,不需要频繁地在两个逻辑服务器之间同步资源,可以降低逻辑服务器的压力,减轻逻辑服务器的负担。
222.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
223.请参考图13,其示出了本技术一个实施例提供的虚拟对象在地图间转移的装置的框图。上述功能可以由硬件实现,也可以由硬件执行相应的软件实现。装置与调度服务器相连,所述装置用于管理当前子地图上的各个虚拟对象的资源,所述调度服务器和至少两个逻辑服务器相连,该装置1300包括:
224.第一发送模块1301,用于在所述虚拟对象从所述当前子地图进入目标子地图且以所述虚拟对象为中心的判定框与所述目标子地图重合的情况下,向所述源逻辑服务器发送切图请求,所述判定框在所述目标地图中的投影面积大于所述虚拟对象在所述目标地图中的投影面积;
225.第一确定模块1302,用于根据所述调度服务器返回的对象资源转移通知,确定目标逻辑服务器;
226.所述第一发送模块1301,还用于向所述目标逻辑服务器复制所述虚拟对象的资源,以及在完成复制后,销毁所述源逻辑服务器上所述虚拟对象的资源。
227.在本技术的一种可选设计中,所述第一确定模块1302,还用于设置以所述虚拟对象为中心的所述判定框;在所述虚拟对象从所述当前子地图向所述目标子地图移动且所述判定框与所述当前子地图和所述目标子地图均存在重合区域的情况下,确定所述虚拟对象从所述当前子地图进入所述目标子地图;在所述判定框与所述目标子地图完全重合的情况下,向所述源逻辑服务器发送所述切图请求。
228.在本技术的一种可选设计中,所述判定框是以所述虚拟对象为中心的m宫格,m为正整数;或,所述判定框是以所述虚拟对象为几何中心的矩形;或,所述判定框是以所述虚拟对象为圆心的圆;或,所述判定框是以所述虚拟对象为几何中心的正六边形。
229.在本技术的一种可选设计中,所述虚拟对象使用对象标识;
230.所述第一发送模块1301,还用于向所述目标逻辑服务器复制使用所述对象标识的所述虚拟对象的资源,以及在复制完成后,销毁所述源逻辑服务器上的使用所述对象标识的所述虚拟对象的资源。
231.在本技术的一种可选设计中,当前子地图包括至少两个地图分块,所述第一发送模块1301,还用于在所述当前子地图达到资源加载量上限的情况下,向所述调度服务器发送虚拟对象转移请求;根据所述调度服务器发送的虚拟对象转移通知,将所述至少两个地图分块中的第一地图分块上的各个虚拟对象的资源复制到资源接收逻辑服务器中,以及在复制完成后,销毁所述源逻辑服务器上所述第一地图分块的各个虚拟对象的资源。
232.在本技术的一种可选设计中,所述第一确定模块1302,还用于确定所述至少两个地图分块包括的虚拟对象数量;将包括虚拟对象数量最多的地图分块确定为所述第一地图分块;或,按照所述至少两个地图分块的编号顺序,从所述至少两个地图分块中确定所述第一地图分块;或,随机从所述至少两个地图分块中确定所述第一地图分块。
233.综上所述,本实施例在虚拟对象穿过子地图时,会将源逻辑服务器上虚拟对象的资源复制到目标逻辑服务器中,以及销毁源逻辑服务器上虚拟对象的资源。在虚拟对象在当前子地图和目标子地图之间来回移动的情况下,相较于相关技术,本技术中虚拟对象的资源的只存在于一个逻辑服务器上,减少了对游戏逻辑的影响,提升了开发效率,不需要频繁地在两个逻辑服务器之间同步资源,可以降低逻辑服务器的压力,减轻逻辑服务器的负担。
234.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
235.请参考图14,其示出了本技术一个实施例提供的虚拟对象在地图间转移的装置的框图。上述功能可以由硬件实现,也可以由硬件执行相应的软件实现。所述装置和至少两个逻辑服务器相连,所述至少两个逻辑服务器用于管理目标地图中不同子地图内与所述虚拟对象相关的资源,该装置1400包括:
236.第二确定模块1401,用于根据所述至少两个逻辑服务器中源逻辑服务器发送的切图请求,确定虚拟对象从当前子地图移动到目标子地图,所述当前子地图与所述源逻辑服务器相对应;
237.所述第二确定模块1401,还用于从所述至少两个逻辑服务器中确定与所述目标子地图对应的目标逻辑服务器;
238.第二发送模块1402,用于向所述源逻辑服务器发送对象资源转移通知,所述对象资源转移通知用于通知所述源逻辑服务器向所述目标逻辑服务器复制所述虚拟对象的资源,以及销毁所述源逻辑服务器上所述虚拟对象的资源。
239.在本技术的一种可选设计中,所述判定框是以所述虚拟对象为中心的m宫格,m为正整数;或,所述判定框是以所述虚拟对象为几何中心的矩形;或,所述判定框是以所述虚拟对象为圆心的圆;或,所述判定框是以所述虚拟对象为几何中心的正六边形。
240.在本技术的一种可选设计中,所述第二确定模块1401,还用于在所述至少两个逻辑服务器中不存在与所述目标子地图对应的逻辑服务器的情况下,从所述至少两个逻辑服务器中确定第一逻辑服务器。
241.所述第二发送模块1402,还用于向所述第一逻辑服务器发送第一地图创建通知,所述第一地图创建通知用于通知所述第一逻辑服务器创建所述目标子地图。
242.所述第二确定模块1401,还用于在接收到所述第一逻辑服务器发送的第一地图创建完成通知的情况下,将所述第一逻辑服务器确定为所述目标逻辑服务器。
243.在本技术的一种可选设计中,所述第二确定模块1401,还用于在所述至少两个逻辑服务器中不存在与所述目标子地图对应的逻辑服务器的情况下,确定所述目标子地图的资源加载量。
244.所述第二发送模块1402,还用于向所述至少两个逻辑服务器组播发送资源查询请求,所述资源查询请求用于查询各个逻辑服务器的剩余资源加载量。
245.所述第二确定模块1401,还用于根据所述至少两个逻辑服务器返回的资源查询反馈,确定所述第一逻辑服务器。
246.在本技术的一种可选设计中,所述第二确定模块1401,还用于在所述至少两个逻辑服务器中的所述目标逻辑服务器达到资源加载量上限的情况下,从所述至少两个逻辑服务器中确定第二逻辑服务器。
247.所述第二发送模块1402,还用于向所述第二逻辑服务器发送第二地图创建通知,所述第二地图创建通知用于通知所述第二逻辑服务器创建所述目标子地图。
248.所述第二确定模块1401,还用于在接收到所述第二逻辑服务器发送的第二地图创建完成通知的情况下,将所述第二逻辑服务器确定为所述目标逻辑服务器。
249.在本技术的一种可选设计中,所述第二确定模块1401,还用于在所述至少两个逻辑服务器中的所述目标逻辑服务器达到资源加载量上限的情况下,确定所述目标子地图的资源加载量。
250.所述第二发送模块1402,还用于向所述至少两个逻辑服务器组播发送资源查询请求,所述资源查询请求用于查询各个逻辑服务器的剩余资源加载量。
251.所述第二确定模块1401,还用于根据所述至少两个逻辑服务器返回的资源查询反馈,确定所述第二逻辑服务器。
252.在本技术的一种可选设计中,所述第二确定模块1401,还用于在所述至少两个逻辑服务器中存在与所述目标子地图对应的逻辑服务器的情况下,从所述至少两个逻辑服务器中确定与所述目标子地图对应的所述目标逻辑服务器。
253.在本技术的一种可选设计中,所述虚拟对象使用对象标识;
254.所述第二发送模块1402,还用于向所述源逻辑服务器发送所述对象资源转移通知,所述对象资源转移通知所述源逻辑服务器向所述目标逻辑服务器复制使用所述对象标识的所述虚拟对象的资源,以及销毁所述源逻辑服务器上的使用所述对象标识的所述虚拟对象的资源。
255.在本技术的一种可选设计中,所述装置还包括:划分模块1403;
256.所述划分模块1403,用于在所述当前子地图达到资源加载量上限的情况下,将所述当前子地图拆分为第一当前子地图和第二当前子地图。
257.所述第二确定模块1401,还用于从所述至少两个逻辑服务器中确定资源接收逻辑服务器。
258.所述第二发送模块1402,还用于在所述当前子地图达到资源加载量上限的情况
下,从所述至少两个逻辑服务器中确定资源接收逻辑服务器;向所述源逻辑服务器发送虚拟对象转移通知,所述虚拟对象转移通知用于通知所述源逻辑服务器将所述至少两个地图分块中第一地图分块内的各个虚拟对象的资源复制到所述资源接收逻辑服务器中,以及在复制完成后,销毁所述源逻辑服务器中所述第一地图分块内的各个虚拟对象的资源。
259.在本技术的一种可选设计中,所述划分模块1403,还用于将所述目标地图划分为k个子地图,所述k为大于1的正整数。
260.所述第二发送模块1402,还用于向n个逻辑服务器发送子地图加载请求,所述子地图加载请求用于通知所述n个逻辑服务器各自加载所述k个子地图的地图资源,所述n为大于1的正整数。
261.在本技术的一种可选设计中,所述划分模块1403,还用于将所述目标地图随机划分为所述k个子地图;或者,将所述目标地图均匀划分为所述k个子地图;或者,根据地图环境种类,将所述目标地图划分为所述k个子地图。
262.在本技术的一种可选设计中,所述装置还与代理服务器相连;
263.所述第二发送模块1402,还用于向所述代理服务器发送第一信息,所述代理服务器用于向所述至少两个逻辑服务器转发所述第一信息;或,接收所述代理服务器转发的第二信息,所述第二信息是所述代理服务器转发所述至少两个逻辑服务器提供的信息。
264.综上所述,本实施例在虚拟对象穿过子地图时,会将源逻辑服务器上虚拟对象的资源复制到目标逻辑服务器中,以及销毁源逻辑服务器上虚拟对象的资源。在虚拟对象在当前子地图和目标子地图之间来回移动的情况下,相较于相关技术,本技术中虚拟对象的资源的只存在于一个逻辑服务器上,减少了对游戏逻辑的影响,提升了开发效率,不需要频繁地在两个逻辑服务器之间同步资源,可以降低逻辑服务器的压力,减轻逻辑服务器的负担。
265.图15是根据一示例性实施例示出的一种计算机设备的结构示意图。所述计算机设备1500包括中央处理单元(central processing unit,cpu)1501、包括随机存取存储器(random access memory,ram)1502和只读存储器(read-only memory,rom)1503的系统存储器1504,以及连接系统存储器1504和中央处理单元1501的系统总线1505。所述计算机设备1500还包括帮助计算机设备内的各个器件之间传输信息的基本输入/输出系统(input/output,i/o系统)1506,和用于存储操作系统1513、应用程序1514和其他程序模块1515的大容量存储设备1507。
266.所述基本输入/输出系统1506包括有用于显示信息的显示器1508和用于用户输入信息的诸如鼠标、键盘之类的输入设备1509。其中所述显示器1508和输入设备1509都通过连接到系统总线1505的输入输出控制器1510连接到中央处理单元1501。所述基本输入/输出系统1506还可以包括输入输出控制器1510以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1510还提供输出到显示屏、打印机或其他类型的输出设备。
267.所述大容量存储设备1507通过连接到系统总线1505的大容量存储控制器(未示出)连接到中央处理单元1501。所述大容量存储设备1507及其相关联的计算机设备可读介质为计算机设备1500提供非易失性存储。也就是说,所述大容量存储设备1507可以包括诸如硬盘或者只读光盘(compact disc read-only memory,cd-rom)驱动器之类的计算机设
备可读介质(未示出)。
268.不失一般性,所述计算机设备可读介质可以包括计算机设备存储介质和通信介质。计算机设备存储介质包括以用于存储诸如计算机设备可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机设备存储介质包括ram、rom、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、带电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom),cd-rom、数字视频光盘(digital video disc,dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机设备存储介质不局限于上述几种。上述的系统存储器1504和大容量存储设备1507可以统称为存储器。
269.根据本公开的各种实施例,所述计算机设备1500还可以通过诸如因特网等网络连接到网络上的远程计算机设备运行。也即计算机设备1500可以通过连接在所述系统总线1505上的网络接口单元1512连接到网络1511,或者说,也可以使用网络接口单元1512来连接到其他类型的网络或远程计算机设备系统(未示出)。
270.所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器1501通过执行该一个或一个以上程序来实现上述虚拟对象在地图间转移的方法的全部或者部分步骤。
271.在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述各个方法实施例提供的虚拟对象在地图间转移的方法。
272.本技术还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方法实施例提供的虚拟对象在地图间转移的方法。
273.本技术还提供一种计算机程序产品或计算机程序,上述计算机程序产品或计算机程序包括计算机指令,上述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从上述计算机可读存储介质读取上述计算机指令,上述处理器执行上述计算机指令,使得上述计算机设备执行如上方面实施例提供的虚拟对象在地图间转移的方法。
274.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
275.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
276.以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种虚拟对象在地图间转移的方法,其特征在于,应用于源逻辑服务器中,所述源逻辑服务器与调度服务器相连,所述源逻辑服务器用于管理当前子地图上的各个虚拟对象的资源,所述调度服务器和至少两个逻辑服务器相连,所述方法包括:在所述虚拟对象从所述当前子地图进入目标子地图且以所述虚拟对象为中心的判定框与所述目标子地图重合的情况下,向所述源逻辑服务器发送切图请求,所述判定框在目标地图中的投影面积大于所述虚拟对象在所述目标地图中的投影面积;根据所述调度服务器返回的对象资源转移通知,确定目标逻辑服务器;向所述目标逻辑服务器复制所述虚拟对象的资源,以及在完成复制后,销毁所述源逻辑服务器上所述虚拟对象的资源。2.根据权利要求1所述的方法,其特征在于,所述在所述虚拟对象从所述当前子地图进入所述目标子地图且以所述虚拟对象为中心的判定框与所述目标子地图重合的情况下,向所述源逻辑服务器发送切图请求,包括:设置以所述虚拟对象为中心的所述判定框;在所述虚拟对象从所述当前子地图向所述目标子地图移动且所述判定框与所述当前子地图和所述目标子地图均存在重合区域的情况下,确定所述虚拟对象从所述当前子地图进入所述目标子地图;在所述判定框与所述目标子地图完全重合的情况下,向所述源逻辑服务器发送所述切图请求。3.根据权利要求2所述的方法,其特征在于,所述判定框是以所述虚拟对象为中心的m宫格,m为正整数;或,所述判定框是以所述虚拟对象为几何中心的矩形;或,所述判定框是以所述虚拟对象为圆心的圆;或,所述判定框是以所述虚拟对象为几何中心的正六边形。4.根据权利要求1至3任一项所述的方法,其特征在于,所述虚拟对象使用对象标识;所述向所述目标逻辑服务器复制所述虚拟对象的资源,以及销毁所述源逻辑服务器上所述虚拟对象的资源,包括:向所述目标逻辑服务器复制使用所述对象标识的所述虚拟对象的资源,以及在复制完成后,销毁所述源逻辑服务器上的使用所述对象标识的所述虚拟对象的资源。5.根据权利要求1至3任一项所述的方法,其特征在于,所述当前子地图包括至少两个地图分块;所述方法还包括:在所述当前子地图达到资源加载量上限的情况下,向所述调度服务器发送虚拟对象转移请求;根据所述调度服务器发送的虚拟对象转移通知,将所述至少两个地图分块中第一地图分块上的各个虚拟对象的资源复制到资源接收逻辑服务器中,以及在复制完成后,销毁所述源逻辑服务器上所述第一地图分块上的各个虚拟对象的资源。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:确定所述至少两个地图分块包括的虚拟对象数量;将包括虚拟对象数量最多的地图分块确定为所述第一地图分块;
或,按照所述至少两个地图分块的编号顺序,从所述至少两个地图分块中确定所述第一地图分块;或,随机从所述至少两个地图分块中确定所述第一地图分块。7.一种虚拟对象在地图间转移的方法,其特征在于,应用于调度服务器中,所述调度服务器和至少两个逻辑服务器相连,所述至少两个逻辑服务器用于管理子地图上的各个虚拟对象的资源,所述方法包括:接收所述至少两个逻辑服务器中源逻辑服务器发送的切图请求,所述切图请求是所述源逻辑服务器在所述虚拟对象从所述当前子地图进入目标子地图且以所述虚拟对象为中心的判定框与所述目标子地图重合的情况下向所述调度服务器发送的,所述当前子地图与所述源逻辑服务器相对应;从所述至少两个逻辑服务器中确定与所述目标子地图对应的目标逻辑服务器;向所述源逻辑服务器发送对象资源转移通知,所述对象资源转移通知用于通知所述源逻辑服务器向所述目标逻辑服务器复制所述虚拟对象的资源,以及在复制完成后,销毁所述源逻辑服务器上所述虚拟对象的资源。8.根据权利要求7所述的方法,其特征在于,所述判定框是以所述虚拟对象为中心的m宫格,m为正整数;或,所述判定框是以所述虚拟对象为几何中心的矩形;或,所述判定框是以所述虚拟对象为圆心的圆;或,所述判定框是以所述虚拟对象为几何中心的正六边形。9.根据权利要求7或8所述的方法,其特征在于,所述从所述至少两个逻辑服务器中确定与所述目标子地图对应的目标逻辑服务器,包括:在所述至少两个逻辑服务器中不存在与所述目标子地图对应的逻辑服务器的情况下,从所述至少两个逻辑服务器中确定第一逻辑服务器;向所述第一逻辑服务器发送第一地图创建通知,所述第一地图创建通知用于通知所述第一逻辑服务器创建所述目标子地图;在接收到所述第一逻辑服务器发送的第一地图创建完成通知的情况下,将所述第一逻辑服务器确定为所述目标逻辑服务器。10.根据权利要求9所述的方法,其特征在于,所述在所述至少两个逻辑服务器中不存在与所述目标子地图对应的逻辑服务器的情况下,从所述至少两个逻辑服务器中确定第一逻辑服务器,包括:在所述至少两个逻辑服务器中不存在与所述目标子地图对应的逻辑服务器的情况下,确定所述目标子地图的资源加载量;向所述至少两个逻辑服务器组播发送资源查询请求,所述资源查询请求用于查询各个逻辑服务器的剩余资源加载量;根据所述至少两个逻辑服务器返回的资源查询反馈,确定所述第一逻辑服务器。11.根据权利要求7或8所述的方法,其特征在于,所述从所述至少两个逻辑服务器中确定与所述目标子地图对应的目标逻辑服务器,包括:在所述至少两个逻辑服务器中的所述目标逻辑服务器达到资源加载量上限的情况下,从所述至少两个逻辑服务器中确定第二逻辑服务器;
向所述第二逻辑服务器发送第二地图创建通知,所述第二地图创建通知用于通知所述第二逻辑服务器创建所述目标子地图;在接收到所述第二逻辑服务器发送的第二地图创建完成通知的情况下,将所述第二逻辑服务器确定为所述目标逻辑服务器。12.根据权利要求11所述的方法,其特征在于,所述在所述至少两个逻辑服务器中的所述目标逻辑服务器达到资源加载量上限的情况下,从所述至少两个逻辑服务器中确定第二逻辑服务器,包括:在所述至少两个逻辑服务器中的所述目标逻辑服务器达到资源加载量上限的情况下,确定所述目标子地图的资源加载量;向所述至少两个逻辑服务器组播发送资源查询请求,所述资源查询请求用于查询各个逻辑服务器的剩余资源加载量;根据所述至少两个逻辑服务器返回的资源查询反馈,确定所述第二逻辑服务器。13.根据权利要求7或8所述的方法,其特征在于,所述从所述至少两个逻辑服务器中确定与所述目标子地图对应的目标逻辑服务器,包括:在所述至少两个逻辑服务器中存在与所述目标子地图对应的逻辑服务器的情况下,从所述至少两个逻辑服务器中确定与所述目标子地图对应的所述目标逻辑服务器。14.根据权利要求7或8所述的方法,其特征在于,所述虚拟对象使用对象标识;所述向所述源逻辑服务器发送对象资源转移通知,包括:向所述源逻辑服务器发送所述对象资源转移通知,所述对象资源转移通知用于通知所述源逻辑服务器向所述目标逻辑服务器复制使用所述对象标识的与所述虚拟对象的资源,以及销毁所述源逻辑服务器上的使用所述对象标识的所述虚拟对象的资源。15.根据权利要求7或8所述的方法,其特征在于,所述当前子地图包括至少两个地图分块;所述方法还包括:在所述当前子地图达到资源加载量上限的情况下,从所述至少两个逻辑服务器中确定资源接收逻辑服务器;向所述源逻辑服务器发送虚拟对象转移通知,所述虚拟对象转移通知用于通知所述源逻辑服务器将所述至少两个地图分块中第一地图分块内的各个虚拟对象的资源复制到所述资源接收逻辑服务器中,以及在复制完成后,销毁所述源逻辑服务器中所述第一地图分块内的各个虚拟对象的资源。16.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:将所述目标地图划分为k个子地图所述k为大于1的正整数;向n个逻辑服务器发送子地图加载请求,所述子地图加载请求用于通知所述n个逻辑服务器各自加载所述k个子地图的地图资源,所述n为大于1的正整数。17.根据权利要求16所述的方法,其特征在于,所述将所述目标地图划分为k个子地图,包括:将所述目标地图随机划分为所述k个子地图;或者,将所述目标地图均匀划分为所述k个子地图;或者,根据地图环境种类,将所述目标地图划分为所述k个子地图。
18.根据权利要求7或8所述的方法,其特征在于,所述调度服务器还与代理服务器相连;所述方法还包括:向所述代理服务器发送第一信息,所述代理服务器用于向所述至少两个逻辑服务器转发所述第一信息;或,接收所述代理服务器转发的第二信息,所述第二信息是所述代理服务器转发所述至少两个逻辑服务器提供的信息。19.一种虚拟对象在地图间转移的装置,其特征在于,所述装置与调度服务器相连,所述装置用于管理当前子地图上的各个虚拟对象的资源,所述调度服务器和至少两个逻辑服务器相连,所述装置包括:第一发送模块,用于在所述虚拟对象从所述当前子地图进入目标子地图且以所述虚拟对象为中心的判定框与所述目标子地图重合的情况下,向所述源逻辑服务器发送切图请求,所述判定框在所述目标地图中的投影面积大于所述虚拟对象在所述目标地图中的投影面积;第一确定模块,用于根据所述调度服务器返回的对象资源转移通知,确定目标逻辑服务器;所述第一发送模块,还用于向所述目标逻辑服务器复制所述虚拟对象的资源,以及在完成复制后,销毁所述源逻辑服务器上所述虚拟对象的资源。20.一种虚拟对象在地图间转移的装置,其特征在于,所述装置和至少两个逻辑服务器相连,所述至少两个逻辑服务器用于管理目标地图中不同子地图内与所述虚拟对象相关的资源,所述装置包括:第二确定模块,用于根据与所述至少两个逻辑服务器中源逻辑服务器发送的切图请求,确定虚拟对象从当前子地图移动到目标子地图,所述当前子地图与所述源逻辑服务器相对应;所述第二确定模块,还用于从所述至少两个逻辑服务器中确定与所述目标子地图对应的目标逻辑服务器;第二发送模块,用于向所述源逻辑服务器发送对象资源转移通知,所述对象资源转移通知用于通知所述源逻辑服务器向所述目标逻辑服务器复制所述虚拟对象的资源,以及销毁所述源逻辑服务器上所述虚拟对象的资源。21.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至6中任一项所述的虚拟对象在地图间转移的方法,或,实现如权利要求7至18中任一项所述的虚拟对象在地图间转移的方法。22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如权利要求1至6中任一项所述的虚拟对象在地图间转移的方法,或,实现如权利要求7至18中任一项所述的虚拟对象在地图间转移的方法。23.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现如权利要求1至6中任一项所述的虚拟对象在地图间转移的方法,
或,实现如权利要求7至18中任一项所述的虚拟对象在地图间转移的方法。
技术总结
本申请公开了一种虚拟对象在地图间转移的方法、装置、设备及介质,涉及在线游戏领域。该方法应用于源逻辑服务器中,该方法包括:在虚拟对象从当前子地图进入目标子地图且以虚拟对象为中心的判定框与目标子地图重合的情况下,向源逻辑服务器发送切图请求,判定框在目标地图中的投影面积大于虚拟对象在目标地图中的投影面积;根据调度服务器返回的对象资源转移通知,确定目标逻辑服务器;向目标逻辑服务器复制虚拟对象的资源,以及在完成复制后,销毁源逻辑服务器上虚拟对象的资源。本申请可以在降低方案复杂度的情况下实现无缝大地图。地图。地图。
技术研发人员:胡小强 仇斌 黄灏 王煊 冯楚桓
受保护的技术使用者:深圳市腾讯网络信息技术有限公司
技术研发日:2022.02.21
技术公布日:2023/8/31
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/