游戏寻路方法、装置、电子设备及机器可读存储介质与流程
未命名
07-20
阅读:116
评论:0
1.本发明涉及计算机领域,尤其是涉及一种游戏寻路方法、装置、电子设备及机器可读存储介质。
背景技术:
2.在现有的二维(2d)游戏中,地图数据通常只有一个地图层,虽然在画面上可以有建筑、高矮等立体的表现,但地图逻辑上虚拟对象仍然是在同一地图层上移动。相关的游戏寻路方法也是用于单个地图层的寻路。
3.当游戏的地图数据包括至少两层地图层时,现有的游戏寻路方法无法满足在该地图数据上的寻路。
技术实现要素:
4.有鉴于此,本发明提供一种游戏寻路方法、装置、电子设备及机器可读存储介质,能够有效实现在包括有至少两层地图层的地图数据上的寻路。
5.第一方面,本发明实施例提供一种游戏寻路方法,其包括:获取地图数据,所述地图数据包括上下层叠的至少两层地图层,每个所述地图层包括虚拟对象可移动到达的可走区,互相连接的两层所述地图层之间具有连接区,互相连接的两层所述地图层的可走区都包括所述连接区;响应于接收的寻路指令,获取寻路的起始点和目标点;判断所述起始点所在地图层与所述目标点所在地图层是否为同一所述地图层,获得判断结果;基于所述判断结果为否,获取位于所述起始点所在地图层与所述目标点所在地图层之间的所述连接区的过渡点;根据预设寻路算法获取所述起始点至所述过渡点的第一路径,获取所述过渡点至所述目标点的第二路径;以及通过所述第一路径和所述第二路径拼接得到所述起始点至所述目标点的寻路路径。
6.根据本发明第一方面的前述实施方式,所述获取地图数据的步骤,包括:针对每互相连接的两层所述地图层,获取两层所述地图层之间的全部所述连接区;在至少一个所述连接区中确定多个链接点;基于两层所述地图层之间的全部所述连接区的全部所述链接点,得到互相连接的两层所述地图层之间的链接点集。
7.根据本发明第一方面的前述任一实施方式,所述获取位于所述起始点所在地图层与所述目标点所在地图层之间的所述连接区的过渡点的步骤,包括:基于所述起始点和所述目标点,获取所述起始点所在地图层与所述目标点所在地图层之间的所述链接点集;从所述链接点集中确定一个所述链接点作为所述过渡点。
8.根据本发明第一方面的前述任一实施方式,所述从所述链接点集中确定一个所述链接点为所述过渡点的步骤,包括:通过随机函数在所述链接点集中随机确定一个所述链接点作为所述过渡点。
9.根据本发明第一方面的前述任一实施方式,所述从所述链接点集中确定一个所述链接点为所述过渡点的步骤,包括:针对所述链接点集中的每个所述链接点,根据预设寻路
算法获取所述起始点至所述链接点的第一参考路径以及所述链接点至所述目标点的第二参考路径;将每个所述链接点对应的所述第一参考路径和所述第二参考路径拼接得到每个所述链接点对应的寻路参考路径;将路径最短的所述寻路参考路径对应的所述链接点确定为所述过渡点。
10.根据本发明第一方面的前述任一实施方式,所述判断所述起始点所在地图层与所述目标点所在地图层是否为同一所述地图层,获得判断结果的步骤,包括:基于所述起始点和所述目标点获取所述起始点所在地图层和所述目标点所在地图层;判断所述起始点所在地图层的特征值与所述目标点所在地图层的特征值是否相同,得到判断结果。
11.根据本发明第一方面的前述任一实施方式,所述起始点、所述目标点的基础数据包括自身所在的地图层数据。
12.根据本发明第一方面的前述任一实施方式,所述至少两层地图层包括第一地图层和第二地图层,所述第二地图层层叠于所述第一地图层之上,所述基于所述起始点和所述目标点获取所述起始点所在地图层和所述目标点所在地图层的步骤,包括:获取指定点的坐标信息,所述指定点为所述起始点或所述目标点;根据所述指定点的坐标信息,判断指定点是否在所述第二地图层的可走区内;若所述指定点在所述第二地图层的可走区内,确定所述指定点的所在地图层为所述第二地图层;若所述指定点在所述第二地图层的可走区外,确定所述指定点的所在地图层为所述第一地图层。
13.根据本发明第一方面的前述任一实施方式,不同层的所述地图层之间具有预设交叠区,所述判断所述起始点所在地图层与所述目标点所在地图层是否为同一所述地图层,获得判断结果的步骤,包括:获取所述起始点和所述目标点的坐标信息;若基于所述起始点和所述目标点的坐标信息确定所述起始点和所述目标点位于同一所述预设交叠区,则确定所述起始点所在地图层与所述目标点所在地图层为同一所述地图层。
14.根据本发明第一方面的前述任一实施方式,所述根据预设寻路算法获取所述起始点至所述过渡点的第一路径,获取所述过渡点至所述目标点的第二路径的步骤,包括:获取用于在单个所述地图层中寻路的预设寻路算法;根据所述预设寻路算法,在所述起始点所在地图层获取所述起始点至所述过渡点的第一路径;根据所述预设寻路算法,在所述过渡点所在地图层获取所述过渡点至所述目标点的第二路径。
15.根据本发明第一方面的前述任一实施方式,所述游戏寻路方法还包括:基于所述判断结果为是,根据预设寻路算法获取所述起始点至所述目标点的寻路路径,其中,所述预设寻路算法用于在单个所述地图层中寻路。
16.第二方面,本发明实施例提供一种游戏寻路装置,其包括:地图获取模块,用于获取地图数据,所述地图数据包括上下层叠的至少两层地图层,每个所述地图层包括虚拟对象可移动到达的可走区,互相连接的两层所述地图层之间具有连接区,互相连接的两层所述地图层的可走区都包括所述连接区;寻路指令接收模块,用于响应于接收的寻路指令,获取寻路的起始点和目标点;地图层判断模块,用于判断所述起始点所在地图层与所述目标点所在地图层是否为同一所述地图层,获得判断结果;过渡点获取模块,用于基于所述判断结果为否,获取位于所述起始点所在地图层与所述目标点所在地图层之间的所述连接区的过渡点;路径获取模块,用于根据预设寻路算法获取所述起始点至所述过渡点的第一路径,获取所述过渡点至所述目标点的第二路径;以及路径拼接模块,用于通过所述第一路径和
所述第二路径拼接得到所述起始点至所述目标点的寻路路径。
17.第三方面,本发明实施例提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现根据本发明第一方面的前述任一实施方式的游戏寻路方法。
18.第四方面,本发明实施例提供一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现根据本发明第一方面的前述任一实施方式的游戏寻路方法。
19.根据本发明实施例的游戏寻路方法、装置、电子设备及机器可读存储介质,地图数据包括上下层叠的至少两层地图层,互相连接的两层地图层之间具有连接区。接收的寻路指令后,判断起始点所在地图层与目标点所在地图层是否为同一地图层,如果判断结果为否,即起始点与目标点在地图数据上不同层,获取位于起始点所在地图层与目标点所在地图层之间的连接区的过渡点。在获过渡点后,根据预设寻路算法获取起始点至过渡点的第一路径,获取过渡点至目标点的第二路径,然后通过第一路径和第二路径拼接得到起始点至目标点的寻路路径。因此,在地图数据包括上下层叠的至少两层地图层时,上述游戏寻路方式可以满足起始点与目标点在地图数据上不同层时的寻路需求,有效实现在包括有至少两层地图层的地图数据上的寻路,从而丰富游戏体验。
20.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
21.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
22.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1为本发明一种实施例提供的游戏寻路方法的流程图;
24.图2为本发明一种实施例提供的游戏寻路方法中获取地图数据的流程图;
25.图3为本发明一种实施例提供的游戏寻路方法中地图数据的界面示意图;
26.图4为本发明一种实施例提供的游戏寻路方法中第一地图层的界面示意图;
27.图5为本发明一种实施例提供的游戏寻路方法中第二地图层的界面示意图;
28.图6为本发明一种实施例提供的游戏寻路方法中确定链接点后的地图数据的界面示意图;
29.图7为本发明一种实施例提供的游戏寻路方法中具有预设交叠区的地图数据的界面示意图;
30.图8为本发明一种实施例提供的游戏寻路装置的结构框图;
31.图9为本发明一种实施例提供的电子设备的结构框图。
具体实施方式
32.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
33.在现有的二维(2d)游戏中,地图数据通常只有一个地图层,虽然在画面上可以有建筑、高矮等立体的表现,但地图逻辑上虚拟对象仍然是在同一地图层上移动。相关的游戏寻路方法也是用于单个地图层的寻路。
34.有些2d游戏为了体现较为立体的表现,会通过阴影、遮挡、透明度等纯美术上的表现来处理,或者,有部分游戏是通过不同的地图场景来切换不同的地图层,如在上层是进入一个地图场景,在下层则进入另一个地图场景。这些处理方式对于有些游戏的玩法是难以满足的,比如场景中需要整体显示不同的地图层,需要上层地图层、下层地图层分别可走。
35.当游戏的地图数据包括至少两层地图层时,现有的游戏寻路方法无法满足在该地图数据上的寻路。
36.基于此,本发明实施例提供的一种游戏寻路方法、装置、电子设备及机器可读存储介质,适用于2d游戏,并能够有效实现在包括有至少两层地图层的地图数据上的寻路。
37.在本发明其中一种实施例中的游戏寻路方法,可以运行于本地终端设备(触控或非触控的客户端设备)或者是服务器。游戏寻路方法运行于服务器时,该方法则可以基于云交互系统来实现与执行,其中,云交互系统包括服务器和客户端设备。
38.在一些可选的实施方式中,云交互系统下可以运行各种云应用,例如:云游戏。以云游戏为例,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,游戏寻路方法的储存与运行是在云游戏服务器上完成的,客户端设备的作用用于数据的接收、发送以及游戏画面的呈现,举例而言,客户端设备可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑等;但是进行信息处理的为云端的云游戏服务器。在进行游戏时,玩家操作客户端设备向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回客户端设备,最后,通过客户端设备进行解码并输出游戏画面。
39.在一些可选的实施方式中,以游戏为例,本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
40.在一种可能的实施方式中,本发明实施例提供了一种游戏寻路方法,通过终端设备提供一图形用户界面,其中,终端设备可以是前述提到的本地终端设备,也可以是前述提到的云交互系统中的客户端设备。通过该终端设备提供一图形用户界面,该图形用户界面上可以根据启动的应用程序的类型,显示界面内容,例如,游戏场景画面、通信交互窗口、游
戏地图数据等等。
41.为便于对本实施例进行理解,首先对本发明实施例所公开的一种游戏寻路方法进行详细介绍,图1为本发明一种实施例提供的游戏寻路方法的流程图。在本实施例中,游戏寻路方法包括步骤s110至步骤s160。
42.在步骤s110中,获取地图数据,地图数据包括上下层叠的至少两层地图层,每个地图层包括虚拟对象可移动到达的可走区,互相连接的两层地图层之间具有连接区,互相连接的两层地图层的可走区都包括连接区。
43.图2为本发明一种实施例提供的游戏寻路方法中获取地图数据的流程图,在一些实施例中,获取地图数据的步骤s110包括步骤s111至步骤s113。
44.在步骤s111中,针对每互相连接的两层地图层,获取两层地图层之间的全部连接区。
45.图3为本发明一种实施例提供的游戏寻路方法中地图数据的界面示意图。本实施例中,至少两层地图层包括第一地图层ml1和第二地图层ml2,第一地图层ml1和第二地图层ml2互相连接。图4为本发明一种实施例提供的游戏寻路方法中第一地图层ml1的界面示意图,图5为本发明一种实施例提供的游戏寻路方法中第二地图层ml2的界面示意图。如图3至图5,互相连接的第一地图层ml1和第二地图层ml2的可走区都包括连接区ca。
46.本实施例中,地图数据包括两层地图层为例进行说明,在其它一些实施例中,地图数据也可以包括三层、四层等其它层数的地图层。
47.在步骤s112中,在至少一个连接区ca中确定多个链接点cp。本实施例中,各个连接区ca都中确定有多个链接点cp。
48.图6为本发明一种实施例提供的游戏寻路方法中确定链接点cp后的地图数据的界面示意图。
49.在步骤s113中,基于两层地图层之间的全部连接区ca的全部链接点cp,得到互相连接的两层地图层之间的链接点集。
50.如图1,在步骤s120中,响应于接收的寻路指令,获取寻路的起始点和目标点。
51.在步骤s130中,判断起始点所在地图层与目标点所在地图层是否为同一地图层,获得判断结果。
52.在一些实施例中,判断起始点所在地图层与目标点所在地图层是否为同一地图层,获得判断结果的步骤s130包括:基于起始点和目标点获取起始点所在地图层和目标点所在地图层;判断起始点所在地图层的特征值与目标点所在地图层的特征值是否相同,得到判断结果。
53.在一些可选的实施方式中,起始点、目标点的基础数据包括自身所在的地图层数据。此时,由于起始点、目标点的基础数据包括自身所在的地图层数据,因而可以直接获得起始点所在地图层和目标点所在地图层。根据上述实施方式,例如可以用于以下寻路需求:从起始点位于上述第一地图层ml1寻路到目标点位于上述第二地图层ml2。
54.在一些可选的实施方式中,至少两层地图层包括第一地图层ml1和第二地图层ml2,第二地图层ml2层叠于第一地图层ml1之上,此时,上述基于起始点和目标点获取起始点所在地图层和目标点所在地图层的步骤,可以包括:获取指定点的坐标信息,指定点为起始点或目标点;根据指定点的坐标信息,判断指定点是否在第二地图层ml2的可走区内;若
指定点在第二地图层ml2的可走区内,确定指定点的所在地图层为第二地图层ml2;若指定点在第二地图层ml2的可走区外,确定指定点的所在地图层为第一地图层ml1。根据上述实施方式,例如可以用于以下寻路需求:玩家通过点击游戏地图以确定虚拟角色的目标点,来给虚拟角色寻路。
55.在一些可选的实施方式中,不同层的地图层之间具有预设交叠区。图7为本发明一种实施例提供的游戏寻路方法中具有预设交叠区的地图数据的界面示意图。在本实施例中,至少两层地图层包括第一地图层ml1和第二地图层ml2,第二地图层ml2层叠于第一地图层ml1之上,第一地图层ml1和第二地图层ml2之间具有预设交叠区oa,第一地图层ml1和第二地图层ml2互相连接。此时判断起始点所在地图层与目标点所在地图层是否为同一地图层,获得判断结果的步骤,可以包括:获取起始点和目标点的坐标信息;若基于起始点和目标点的坐标信息确定起始点和目标点位于同一预设交叠区oa,则确定起始点所在地图层与目标点所在地图层为同一地图层。
56.在上述实施例中,针对预设交叠区oa,可以进行辅助处理,例如针对预设交叠区oa,标识第一地图层ml1的被遮挡判定。当虚拟对象移动至第一地图层ml1的且位于预设交叠区oa时,设置虚拟对象的透明度为预设透明度,例如设置虚拟对象的透明度为30%;当虚拟对象移动至第二地图层ml2的且位于预设交叠区oa时,设置虚拟对象为不透明。
57.如图1,在前述步骤s130中,判断起始点所在地图层与目标点所在地图层是否为同一地图层,获得判断结果。之后,在步骤s140中,基于判断结果为否,获取位于起始点所在地图层与目标点所在地图层之间的连接区ca的过渡点。
58.在一些实施例中,能够得到互相连接的两层地图层之间的链接点集。步骤s140中,获取位于起始点所在地图层与目标点所在地图层之间的连接区ca的过渡点可以包括:基于起始点和目标点,获取起始点所在地图层与目标点所在地图层之间的链接点集;从链接点集中确定一个链接点cp作为过渡点。
59.可选地,从链接点集中确定一个链接点cp为过渡点的步骤,包括:通过随机函数在链接点集中随机确定一个链接点cp作为过渡点。
60.可选地,也可以采用贪心策略选取路径最短的链接点cp作为过渡点,即,从链接点集中确定一个链接点cp为过渡点的步骤,包括:针对链接点集中的每个链接点cp,根据预设寻路算法获取起始点至链接点cp的第一参考路径以及链接点cp至目标点的第二参考路径;将每个链接点cp对应的第一参考路径和第二参考路径拼接得到每个链接点cp对应的寻路参考路径;将路径最短的寻路参考路径对应的链接点cp确定为过渡点。
61.在其它一些实施例中,从链接点集中确定一个链接点cp为过渡点的方式不限于上述示例,还可以是其它方式。
62.在步骤s150中,根据预设寻路算法获取起始点至过渡点的第一路径,获取过渡点至目标点的第二路径。
63.在一些实施例中,根据预设寻路算法获取起始点至过渡点的第一路径,获取过渡点至目标点的第二路径的步骤s150包括:获取用于在单个地图层中寻路的预设寻路算法;根据预设寻路算法,在起始点所在地图层获取起始点至过渡点的第一路径;根据预设寻路算法,在过渡点所在地图层获取过渡点至目标点的第二路径。
64.上述本文中的预设寻路算法,可以是任意用于在单个地图层中寻路的寻路算法,
例如,预设寻路算法为a*算法或b*算法。
65.在步骤s160中,通过第一路径和第二路径拼接得到起始点至目标点的寻路路径。至此,在起始点所在地图层与目标点所在地图层不为同一地图层的情况下,获得了起始点至目标点的寻路路径。
66.如图1,在一些实施例中,游戏寻路方法还包括步骤s170,在步骤s170中,基于判断结果为是,根据预设寻路算法获取起始点至目标点的寻路路径,其中,预设寻路算法用于在单个地图层中寻路。
67.根据本发明实施例的游戏寻路方法,地图数据包括上下层叠的至少两层地图层,互相连接的两层地图层之间具有连接区ca。接收的寻路指令后,判断起始点所在地图层与目标点所在地图层是否为同一地图层,如果判断结果为否,即起始点与目标点在地图数据上不同层,获取位于起始点所在地图层与目标点所在地图层之间的连接区ca的过渡点。在获过渡点后,根据预设寻路算法获取起始点至过渡点的第一路径,获取过渡点至目标点的第二路径,然后通过第一路径和第二路径拼接得到起始点至目标点的寻路路径。因此,在地图数据包括上下层叠的至少两层地图层时,上述游戏寻路方式可以满足起始点与目标点在地图数据上不同层时的寻路需求,有效实现在包括有至少两层地图层的地图数据上的寻路,从而丰富游戏体验。
68.本发明实施例的游戏寻路方法,能够非常方便地集成到已有游戏中,在对原有游戏系统功能进行改动时,所需作出的改动范围也较少。对已有游戏进行改动时,能够沿用原有的地图数据格式,额外加入的辅助数据也只需另外独立处理,在制作流程中也无需大的改动,提高更新游戏系统的效率。
69.本发明实施例还提供一种游戏寻路装置。图8为本发明一种实施例提供的游戏寻路装置的结构框图。游戏寻路装置包括地图获取模块110、寻路指令接收模块120、地图层判断模块130、过渡点获取模块140、路径获取模块150以及路径拼接模块160。
70.地图获取模块110用于获取地图数据,地图数据包括上下层叠的至少两层地图层,每个地图层包括虚拟对象可移动到达的可走区,互相连接的两层地图层之间具有连接区,互相连接的两层地图层的可走区都包括连接区。
71.寻路指令接收模块120用于响应于接收的寻路指令,获取寻路的起始点和目标点。地图层判断模块130用于判断起始点所在地图层与目标点所在地图层是否为同一地图层,获得判断结果。过渡点获取模块140用于基于判断结果为否,获取位于起始点所在地图层与目标点所在地图层之间的连接区的过渡点。路径获取模块150用于根据预设寻路算法获取起始点至过渡点的第一路径,获取过渡点至目标点的第二路径。路径拼接模块160用于通过第一路径和第二路径拼接得到起始点至目标点的寻路路径。
72.根据本发明实施例的游戏寻路装置,地图获取模块110获取的地图数据包括上下层叠的至少两层地图层,互相连接的两层地图层之间具有连接区。寻路指令接收模块120接收的寻路指令后,地图层判断模块130判断起始点所在地图层与目标点所在地图层是否为同一地图层,如果判断结果为否,即起始点与目标点在地图数据上不同层,过渡点获取模块140获取位于起始点所在地图层与目标点所在地图层之间的连接区的过渡点。在获过渡点后,路径获取模块150根据预设寻路算法获取起始点至过渡点的第一路径,获取过渡点至目标点的第二路径,然后,路径拼接模块160将第一路径和第二路径拼接得到起始点至目标点
的寻路路径。因此,在地图数据包括上下层叠的至少两层地图层时,上述游戏寻路装置可以满足起始点与目标点在地图数据上不同层时的寻路需求,有效实现在包括有至少两层地图层的地图数据上的寻路,从而丰富游戏体验。
73.在一些实施例中,地图获取模块110包括连接区获取单元、链接点确定单元、链接点集获取单元。连接区获取单元用于针对每互相连接的两层地图层,获取两层地图层之间的全部连接区。链接点确定单元用于在至少一个连接区中确定多个链接点。链接点集获取单元用于基于两层地图层之间的全部连接区的全部链接点,得到互相连接的两层地图层之间的链接点集。
74.在一些实施例中,过渡点获取模块140被配置为:基于起始点和目标点,获取起始点所在地图层与目标点所在地图层之间的链接点集;从链接点集中确定一个链接点作为过渡点。
75.可选地,过渡点获取模块140被配置为:通过随机函数在链接点集中随机确定一个链接点作为过渡点。
76.可选地,过渡点获取模块140被配置为:针对链接点集中的每个链接点,根据预设寻路算法获取起始点至链接点的第一参考路径以及链接点至目标点的第二参考路径;将每个链接点对应的第一参考路径和第二参考路径拼接得到每个链接点对应的寻路参考路径;将路径最短的寻路参考路径对应的链接点确定为过渡点。
77.在一些实施例中,地图层判断模块130被配置为:基于起始点和目标点获取起始点所在地图层和目标点所在地图层;判断起始点所在地图层的特征值与目标点所在地图层的特征值是否相同,得到判断结果。
78.可选地,起始点、目标点的基础数据包括自身所在的地图层数据。此时,地图层判断模块130用于直接通过起始点所在地图层和目标点所在地图层获取判断结果。
79.可选地,至少两层地图层包括第一地图层和第二地图层,第二地图层层叠于第一地图层之上,此时,地图层判断模块130被配置为:获取指定点的坐标信息,指定点为起始点或目标点;根据指定点的坐标信息,判断指定点是否在第二地图层的可走区内;若指定点在第二地图层的可走区内,确定指定点的所在地图层为第二地图层;若指定点在第二地图层的可走区外,确定指定点的所在地图层为第一地图层。
80.可选地,不同层的地图层之间具有预设交叠区,此时,地图层判断模块130被配置为:获取起始点和目标点的坐标信息;若基于起始点和目标点的坐标信息确定起始点和目标点位于同一预设交叠区,则确定起始点所在地图层与目标点所在地图层为同一地图层。
81.在一些实施例中,路径获取模块150被配置为:获取用于在单个地图层中寻路的预设寻路算法;根据预设寻路算法,在起始点所在地图层获取起始点至过渡点的第一路径;根据预设寻路算法,在过渡点所在地图层获取过渡点至目标点的第二路径。
82.在一些实施例中,游戏寻路装置还包括同层寻路模块170,在地图层判断模块130获得判断结果为是时,同层寻路模块170用于基于判断结果为是,根据预设寻路算法获取起始点至目标点的寻路路径,其中,预设寻路算法用于在单个地图层中寻路。
83.本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述游戏寻路方法。该电子设备可以是服务器,也可以是终端设备。
84.图9为本发明一种实施例提供的电子设备的结构框图,该电子设备包括处理器901和存储器902,该存储器902存储有能够被处理器901执行的机器可执行指令,该处理器901执行机器可执行指令以实现上述游戏寻路方法。
85.游戏寻路方法包括:获取地图数据,地图数据包括上下层叠的至少两层地图层,每个地图层包括虚拟对象可移动到达的可走区,互相连接的两层地图层之间具有连接区,互相连接的两层地图层的可走区都包括连接区;响应于接收的寻路指令,获取寻路的起始点和目标点;判断起始点所在地图层与目标点所在地图层是否为同一地图层,获得判断结果;基于判断结果为否,获取位于起始点所在地图层与目标点所在地图层之间的连接区的过渡点;根据预设寻路算法获取起始点至过渡点的第一路径,获取过渡点至目标点的第二路径;以及通过第一路径和第二路径拼接得到起始点至目标点的寻路路径。
86.进一步地,电子设备还可以包括通信接口903和总线904,处理器901、通信接口903和存储器902通过总线904连接。
87.其中,存储器902可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口903(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线904可以是isa总线、pci总线或eisa总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,总线在本技术附图中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
88.处理器901可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器901中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器901可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器902,处理器901读取存储器902中的信息,结合其硬件完成前述实施例的方法的步骤。
89.在一些实施例中,获取地图数据的步骤,包括:针对每互相连接的两层地图层,获取两层地图层之间的全部连接区;在至少一个连接区中确定多个链接点;基于两层地图层之间的全部连接区的全部链接点,得到互相连接的两层地图层之间的链接点集。
90.在一些实施例中,获取位于起始点所在地图层与目标点所在地图层之间的连接区的过渡点的步骤,包括:基于起始点和目标点,获取起始点所在地图层与目标点所在地图层之间的链接点集;从链接点集中确定一个链接点作为过渡点。
91.可选地,从链接点集中确定一个链接点为过渡点的步骤,包括:通过随机函数在链接点集中随机确定一个链接点作为过渡点。
92.可选地,从链接点集中确定一个链接点为过渡点的步骤,包括:针对链接点集中的每个链接点,根据预设寻路算法获取起始点至链接点的第一参考路径以及链接点至目标点的第二参考路径;将每个链接点对应的第一参考路径和第二参考路径拼接得到每个链接点对应的寻路参考路径;将路径最短的寻路参考路径对应的链接点确定为过渡点。
93.在一些实施例中,判断起始点所在地图层与目标点所在地图层是否为同一地图层,获得判断结果的步骤,包括:基于起始点和目标点获取起始点所在地图层和目标点所在地图层;判断起始点所在地图层的特征值与目标点所在地图层的特征值是否相同,得到判断结果。
94.在一些可选的实施例中,起始点、目标点的基础数据包括自身所在的地图层数据。
95.在一些可选的实施例中,至少两层地图层包括第一地图层和第二地图层,第二地图层层叠于第一地图层之上,基于起始点和目标点获取起始点所在地图层和目标点所在地图层的步骤,包括:获取指定点的坐标信息,指定点为起始点或目标点;根据指定点的坐标信息,判断指定点是否在第二地图层的可走区内;若指定点在第二地图层的可走区内,确定指定点的所在地图层为第二地图层;若指定点在第二地图层的可走区外,确定指定点的所在地图层为第一地图层。
96.在一些可选的实施例中,不同层的地图层之间具有预设交叠区,判断起始点所在地图层与目标点所在地图层是否为同一地图层,获得判断结果的步骤,包括:获取起始点和目标点的坐标信息;若基于起始点和目标点的坐标信息确定起始点和目标点位于同一预设交叠区,则确定起始点所在地图层与目标点所在地图层为同一地图层。
97.在一些实施例中,根据预设寻路算法获取起始点至过渡点的第一路径,获取过渡点至目标点的第二路径的步骤,包括:获取用于在单个地图层中寻路的预设寻路算法;根据预设寻路算法,在起始点所在地图层获取起始点至过渡点的第一路径;根据预设寻路算法,在过渡点所在地图层获取过渡点至目标点的第二路径。
98.在一些实施例中,游戏寻路方法还包括:基于判断结果为是,根据预设寻路算法获取起始点至目标点的寻路路径,其中,预设寻路算法用于在单个地图层中寻路。
99.根据本发明实施例的电子设备,包括处理器901和存储器902,在该处理器901执行机器可执行指令以实现上述游戏寻路方法时,获取地图数据,该地图数据包括上下层叠的至少两层地图层,互相连接的两层地图层之间具有连接区。接收的寻路指令后,判断起始点所在地图层与目标点所在地图层是否为同一地图层,如果判断结果为否,即起始点与目标点在地图数据上不同层,获取位于起始点所在地图层与目标点所在地图层之间的连接区的过渡点。在获过渡点后,根据预设寻路算法获取起始点至过渡点的第一路径,获取过渡点至目标点的第二路径,然后通过第一路径和第二路径拼接得到起始点至目标点的寻路路径。本发明实施例的电子设备,在地图数据包括上下层叠的至少两层地图层时,上述游戏寻路方式可以满足起始点与目标点在地图数据上不同层时的寻路需求,有效实现在包括有至少两层地图层的地图数据上的寻路,从而丰富游戏体验。
100.本实施例还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述游戏寻路方法。
101.游戏寻路方法包括:获取地图数据,地图数据包括上下层叠的至少两层地图层,每
个地图层包括虚拟对象可移动到达的可走区,互相连接的两层地图层之间具有连接区,互相连接的两层地图层的可走区都包括连接区;响应于接收的寻路指令,获取寻路的起始点和目标点;判断起始点所在地图层与目标点所在地图层是否为同一地图层,获得判断结果;基于判断结果为否,获取位于起始点所在地图层与目标点所在地图层之间的连接区的过渡点;根据预设寻路算法获取起始点至过渡点的第一路径,获取过渡点至目标点的第二路径;以及通过第一路径和第二路径拼接得到起始点至目标点的寻路路径。
102.在一些实施例中,获取地图数据的步骤,包括:针对每互相连接的两层地图层,获取两层地图层之间的全部连接区;在至少一个连接区中确定多个链接点;基于两层地图层之间的全部连接区的全部链接点,得到互相连接的两层地图层之间的链接点集。
103.在一些实施例中,获取位于起始点所在地图层与目标点所在地图层之间的连接区的过渡点的步骤,包括:基于起始点和目标点,获取起始点所在地图层与目标点所在地图层之间的链接点集;从链接点集中确定一个链接点作为过渡点。
104.可选地,从链接点集中确定一个链接点为过渡点的步骤,包括:通过随机函数在链接点集中随机确定一个链接点作为过渡点。
105.可选地,从链接点集中确定一个链接点为过渡点的步骤,包括:针对链接点集中的每个链接点,根据预设寻路算法获取起始点至链接点的第一参考路径以及链接点至目标点的第二参考路径;将每个链接点对应的第一参考路径和第二参考路径拼接得到每个链接点对应的寻路参考路径;将路径最短的寻路参考路径对应的链接点确定为过渡点。
106.在一些实施例中,判断起始点所在地图层与目标点所在地图层是否为同一地图层,获得判断结果的步骤,包括:基于起始点和目标点获取起始点所在地图层和目标点所在地图层;判断起始点所在地图层的特征值与目标点所在地图层的特征值是否相同,得到判断结果。
107.在一些可选的实施例中,起始点、目标点的基础数据包括自身所在的地图层数据。
108.在一些可选的实施例中,至少两层地图层包括第一地图层和第二地图层,第二地图层层叠于第一地图层之上,基于起始点和目标点获取起始点所在地图层和目标点所在地图层的步骤,包括:获取指定点的坐标信息,指定点为起始点或目标点;根据指定点的坐标信息,判断指定点是否在第二地图层的可走区内;若指定点在第二地图层的可走区内,确定指定点的所在地图层为第二地图层;若指定点在第二地图层的可走区外,确定指定点的所在地图层为第一地图层。
109.在一些可选的实施例中,不同层的地图层之间具有预设交叠区,判断起始点所在地图层与目标点所在地图层是否为同一地图层,获得判断结果的步骤,包括:获取起始点和目标点的坐标信息;若基于起始点和目标点的坐标信息确定起始点和目标点位于同一预设交叠区,则确定起始点所在地图层与目标点所在地图层为同一地图层。
110.在一些实施例中,根据预设寻路算法获取起始点至过渡点的第一路径,获取过渡点至目标点的第二路径的步骤,包括:获取用于在单个地图层中寻路的预设寻路算法;根据预设寻路算法,在起始点所在地图层获取起始点至过渡点的第一路径;根据预设寻路算法,在过渡点所在地图层获取过渡点至目标点的第二路径。
111.在一些实施例中,游戏寻路方法还包括:基于判断结果为是,根据预设寻路算法获取起始点至目标点的寻路路径,其中,预设寻路算法用于在单个地图层中寻路。
112.根据本发明实施例的机器可读存储介质,存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,促使处理器实现上述游戏寻路方法。具体地,获取地图数据,该地图数据包括上下层叠的至少两层地图层,互相连接的两层地图层之间具有连接区。接收的寻路指令后,判断起始点所在地图层与目标点所在地图层是否为同一地图层,如果判断结果为否,即起始点与目标点在地图数据上不同层,获取位于起始点所在地图层与目标点所在地图层之间的连接区的过渡点。在获过渡点后,根据预设寻路算法获取起始点至过渡点的第一路径,获取过渡点至目标点的第二路径,然后通过第一路径和第二路径拼接得到起始点至目标点的寻路路径。在地图数据包括上下层叠的至少两层地图层时,上述游戏寻路方式可以满足起始点与目标点在地图数据上不同层时的寻路需求,有效实现在包括有至少两层地图层的地图数据上的寻路,从而丰富游戏体验。
113.本发明实施例所提供的游戏寻路方法、装置、电子设备及机器可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
114.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
115.另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
116.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
117.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
118.最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种游戏寻路方法,其特征在于,包括:获取地图数据,所述地图数据包括上下层叠的至少两层地图层,每个所述地图层包括虚拟对象可移动到达的可走区,互相连接的两层所述地图层之间具有连接区,互相连接的两层所述地图层的可走区都包括所述连接区;响应于接收的寻路指令,获取寻路的起始点和目标点;判断所述起始点所在地图层与所述目标点所在地图层是否为同一所述地图层,获得判断结果;基于所述判断结果为否,获取位于所述起始点所在地图层与所述目标点所在地图层之间的所述连接区的过渡点;根据预设寻路算法获取所述起始点至所述过渡点的第一路径,获取所述过渡点至所述目标点的第二路径;以及通过所述第一路径和所述第二路径拼接得到所述起始点至所述目标点的寻路路径。2.根据权利要求1所述的游戏寻路方法,其特征在于,所述获取地图数据的步骤,包括:针对每互相连接的两层所述地图层,获取两层所述地图层之间的全部所述连接区;在至少一个所述连接区中确定多个链接点;基于两层所述地图层之间的全部所述连接区的全部所述链接点,得到互相连接的两层所述地图层之间的链接点集。3.根据权利要求2所述的游戏寻路方法,其特征在于,所述获取位于所述起始点所在地图层与所述目标点所在地图层之间的所述连接区的过渡点的步骤,包括:基于所述起始点和所述目标点,获取所述起始点所在地图层与所述目标点所在地图层之间的所述链接点集;从所述链接点集中确定一个所述链接点作为所述过渡点。4.根据权利要求3所述的游戏寻路方法,其特征在于,所述从所述链接点集中确定一个所述链接点为所述过渡点的步骤,包括:通过随机函数在所述链接点集中随机确定一个所述链接点作为所述过渡点。5.根据权利要求3所述的游戏寻路方法,其特征在于,所述从所述链接点集中确定一个所述链接点为所述过渡点的步骤,包括:针对所述链接点集中的每个所述链接点,根据预设寻路算法获取所述起始点至所述链接点的第一参考路径以及所述链接点至所述目标点的第二参考路径;将每个所述链接点对应的所述第一参考路径和所述第二参考路径拼接得到每个所述链接点对应的寻路参考路径;将路径最短的所述寻路参考路径对应的所述链接点确定为所述过渡点。6.根据权利要求1所述的游戏寻路方法,其特征在于,所述判断所述起始点所在地图层与所述目标点所在地图层是否为同一所述地图层,获得判断结果的步骤,包括:基于所述起始点和所述目标点获取所述起始点所在地图层和所述目标点所在地图层;判断所述起始点所在地图层的特征值与所述目标点所在地图层的特征值是否相同,得到判断结果。7.根据权利要求6所述的游戏寻路方法,其特征在于,所述起始点、所述目标点的基础数据包括自身所在的地图层数据。
8.根据权利要求6所述的游戏寻路方法,其特征在于,所述至少两层地图层包括第一地图层和第二地图层,所述第二地图层层叠于所述第一地图层之上,所述基于所述起始点和所述目标点获取所述起始点所在地图层和所述目标点所在地图层的步骤,包括:获取指定点的坐标信息,所述指定点为所述起始点或所述目标点;根据所述指定点的坐标信息,判断指定点是否在所述第二地图层的可走区内;若所述指定点在所述第二地图层的可走区内,确定所述指定点的所在地图层为所述第二地图层;若所述指定点在所述第二地图层的可走区外,确定所述指定点的所在地图层为所述第一地图层。9.根据权利要求1所述的游戏寻路方法,其特征在于,不同层的所述地图层之间具有预设交叠区,所述判断所述起始点所在地图层与所述目标点所在地图层是否为同一所述地图层,获得判断结果的步骤,包括:获取所述起始点和所述目标点的坐标信息;若基于所述起始点和所述目标点的坐标信息确定所述起始点和所述目标点位于同一所述预设交叠区,则确定所述起始点所在地图层与所述目标点所在地图层为同一所述地图层。10.根据权利要求6所述的游戏寻路方法,其特征在于,所述根据预设寻路算法获取所述起始点至所述过渡点的第一路径,获取所述过渡点至所述目标点的第二路径的步骤,包括:获取用于在单个所述地图层中寻路的预设寻路算法;根据所述预设寻路算法,在所述起始点所在地图层获取所述起始点至所述过渡点的第一路径;根据所述预设寻路算法,在所述过渡点所在地图层获取所述过渡点至所述目标点的第二路径。11.根据权利要求1所述的游戏寻路方法,其特征在于,所述游戏寻路方法还包括:基于所述判断结果为是,根据预设寻路算法获取所述起始点至所述目标点的寻路路径,其中,所述预设寻路算法用于在单个所述地图层中寻路。12.一种游戏寻路装置,其特征在于,包括:地图获取模块,用于获取地图数据,所述地图数据包括上下层叠的至少两层地图层,每个所述地图层包括虚拟对象可移动到达的可走区,互相连接的两层所述地图层之间具有连接区,互相连接的两层所述地图层的可走区都包括所述连接区;寻路指令接收模块,用于响应于接收的寻路指令,获取寻路的起始点和目标点;地图层判断模块,用于判断所述起始点所在地图层与所述目标点所在地图层是否为同一所述地图层,获得判断结果;过渡点获取模块,用于基于所述判断结果为否,获取位于所述起始点所在地图层与所述目标点所在地图层之间的所述连接区的过渡点;路径获取模块,用于根据预设寻路算法获取所述起始点至所述过渡点的第一路径,获取所述过渡点至所述目标点的第二路径;以及路径拼接模块,用于通过所述第一路径和所述第二路径拼接得到所述起始点至所述目
标点的寻路路径。13.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-11任一项所述的游戏寻路方法。14.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1-11任一项所述的游戏寻路方法。
技术总结
本发明提供了一种游戏寻路方法、装置、电子设备及机器可读存储介质。游戏寻路方法包括:获取地图数据,地图数据包括上下层叠的至少两层地图层,互相连接的两层地图层之间具有连接区;响应于接收的寻路指令,获取寻路的起始点和目标点;判断起始点所在地图层与目标点所在地图层是否为同一地图层,获得判断结果;基于判断结果为否,获取位于起始点所在地图层与目标点所在地图层之间的连接区的过渡点;根据预设寻路算法获取起始点至过渡点的第一路径,获取过渡点至目标点的第二路径;以及通过第一路径和第二路径拼接得到起始点至目标点的寻路路径。本发明实施例的游戏寻路方法能够有效实现在包括有至少两层地图层的地图数据上的寻路。上的寻路。上的寻路。
技术研发人员:刘白桦 周少怀
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:2023.03.09
技术公布日:2023/7/18
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
