CN103893969A - 一种游戏中寻路的方法和设备 - Google Patents
一种游戏中寻路的方法和设备 Download PDFInfo
- Publication number
- CN103893969A CN103893969A CN201410151561.1A CN201410151561A CN103893969A CN 103893969 A CN103893969 A CN 103893969A CN 201410151561 A CN201410151561 A CN 201410151561A CN 103893969 A CN103893969 A CN 103893969A
- Authority
- CN
- China
- Prior art keywords
- pathfinding
- path
- game
- point
- jump
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明的实施方式提供了一种游戏中寻路的方法。该方法包括:获取待寻路的起点和终点信息;依据预先建立的寻路联通图确定所述起点和终点之间的最短路径;判断所述最短路径中属于同一个游戏场景的任意两个跳转点之间的子路径是否需要优化,如果是,则对需要进行优化的两个跳转点之间的子路径进行优化,并将优化子路径之后的最短路径确定为寻路路径;如果否,则直接将所述最短路径确定为寻路路径。通过本发明的实施方式,可以显著地提升游戏中最短路径的寻路效率,为用户带来了更好的游戏体验。此外,本发明的实施方式提供了一种游戏中寻路的设备。
Description
技术领域
本发明的实施方式涉及信息技术领域,更具体地,本发明的实施方式涉及一种游戏中寻路的方法和设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在例如C/S(客户端/服务器)架构的网络游戏中,游戏场景指的是关于网络游戏的地形信息等,例如,地面、森林等。场景组件,则指的是网络游戏中必需出现在游戏场景上的怪物、NPC(Non Playable Character,非玩家角色/即是游戏设计者创建的游戏角色)、机关和可击碎组件等。玩家在玩游戏的过程中,可以使用场景组件或者与场景组件进行交互等。场景资源指的是在客户端表现游戏世界(即游戏场景和场景组件)需要的美术资源,如游戏场景、怪物的模型和贴图等。
发明内容
现有技术中,用户在使用网络游戏娱乐的过程中,用户扮演的玩家可能需要经常性的跳转,例如,需要在不同的游戏场景中寻找目标对象(例如怪物)等,所以玩家就需要从当前所在地(任一个游戏场景中的任一点)移动到目标对象所在地(任一个游戏场景中的任一点),而当前所在地和目标对象所在地通常不在同一个游戏场景中,这就需要在这两点间进行寻路。进而,在寻路过程中,如何才能从玩家当前所在地的起点寻路到目标对象所在地的终点,以便玩家快速地通过最优路径到达终点,从而能够占用较少的资源也能实现寻路,成为本领域技术人员亟待解决的技术问题。
为此,非常需要一种应用于网络游戏的寻路的方法和设备,以实现对于网络游戏中玩家从起点到终点的自动寻路,使得玩家能够通过寻路得到的最优路径快速到达终点,并且因为最优路径相对较短,所以在实现时也能使运行中的网络游戏相对占用较少的系统资源和内存,从而不仅提高寻路效率和降低系统消耗,还能提高用户的游戏体验。
在本上下文中,本发明的实施方式期望提供一种游戏中寻路的方法及一种游戏中寻路的设备。
在本发明实施方式的第一方面中,提供了一种游戏中寻路的方法,包括:获取待寻路的起点和终点信息;依据预先建立的寻路联通图确定所述起点和终点之间的最短路径;判断所述最短路径中属于同一个游戏场景的任意两个跳转点之间的子路径是否需要优化,如果是,则对需要进行优化的两个跳转点之间的子路径进行优化,并将优化子路径之后的最短路径确定为寻路路径;如果否,则直接将所述最短路径确定为寻路路径。
在本发明实施方式的第二方面中,提供了一种游戏中寻路的设备,包括:获取模块,配置用于获取待寻路的起点和终点信息;确定模块,配置用于依据预先建立的寻路联通图确定所述起点和终点之间的最短路径;判断模块,配置用于判断所述最短路径中属于同一个游戏场景的任意两个跳转点之间的子路径是否需要优化;优化模块,配置用于所述判断模块的结果为是的情况下,对需要进行优化的两个跳转点之间的子路径进行优化;第一确定模块,配置用于将优化子路径之后的最短路径确定为寻路路径;第二确定模块,配置用于所述判断模块的结果为否的情况下,直接将所述最短路径确定为寻路路径。
根据本发明实施方式的游戏中寻路的方法和设备,首先可以用迪杰斯特拉算法求出待寻路的起点和终点之间的最短路径的最优寻路跳转路径;进一步的,属于同一个游戏场景中的最短路径的子路径在不能直线到达的时候,还可以采用A*算法进行优化来求出子路径经过的最短的场景格子坐标;再进一步的,优化之后的子路径还可以采用佛洛依德算法进行平滑处理,从而能够确定出起点到终点之间的最优的寻路路径,提升游戏中的寻路效率,从而也提升用户的游戏体验。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了本发明实施方式的应用场景的框架图;
图2示意性地示出了根据本发明实施方式的一个方法流程图;
图3示意性地示出了根据本发明实施方式的一个设备框架图;
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种游戏中寻路的方法和设备。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,在现有技术中,由于例如2D游戏场景中的玩家需要经常性的跳转,所以需要经常从当前所在地(任一个游戏场景中的任一点)移动到目标对象所在地(任一个游戏场景中的任一点),而当前所在地和目标对象所在地通常不在同一个游戏场景中,这需要在这两点间进行寻路。因此,在寻路过程中,如果能够方便地确定从玩家的当前所在地到目标位置的最短路径,那玩家就可以快速地通过最短路径到达终点,从而能够占用较少的系统资源实现寻路,这样也能提升用户玩游戏的体验。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1,图1是本发明的实施方式的一个示例性应用场景的框架示意图。其中,用户可以通过客户端102进行游戏,在玩游戏的过程中,客户端102与服务器101进行交互,传递相关信息。本领域技术人员可以理解,图1所示的框架示意图仅是本发明的实施方式可以在其中得以实现的一个示例。本发明实施方式的适用范围不受到该框架任何方面的限制。在图1所示的示例性应用场景中,由用户向客户端102发起寻路请求,该寻路请求中包括待寻路的起点和终点信息,客户端102响应于用户触发的寻路请求,可以实施本发明的游戏中寻路。
示例性方法
下面结合图1的应用场景,参考图2来描述根据本发明示例性实施方式的用于游戏中寻路的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
在本发明的实施方式中,由于游戏世界由很多个游戏场景组成,因此,为了区分各个游戏场景中的跳转点,可以对游戏场景以及其中的跳转点分别进行逻辑编号区分,其中,跳转点指的是游戏场景中的传送点及NPC跳转点。例如,游戏场景A的第5个跳转点,或者,游戏场景B中的第2个跳转点,以此来标识各个游戏场景中的跳转点。其中,联通路径可以具有方向性,例如,从游戏场景A的第5个跳转点到游戏场景B中的第2个跳转点是一条联通路径,而游戏场景B中的第2个跳转点到游戏场景A的第5个跳转点则是另一条联通路径。
基于各个游戏场景的各个跳转点的编号区分,在进行具体的优化之前,可以先建立寻路联通图,具体过程如下:
步骤A1:获取当前网络游戏中各个游戏场景中的所有跳转点及其跳转信息。
如果需要在任一个游戏场景中的起点到任一个游戏场景中的终点进行寻路,需要预先知道各个游戏场景中所有跳转点的跳转信息,即两两跳转点之间是否可以直接连通。针对当前2D网络游戏,在建立寻路联通图的时候,首先获取到已经进行逻辑编号的各个游戏场景中的所有跳转点,以及各个跳转点之间的跳转信息。
步骤A2:将任意两个可直接连通的跳转点记录为一条联通路径。
需要说明的是,在阻挡信息分布复杂的游戏场景中,例如某个游戏场景中有一条河流或者弯曲的条形状山丘等,从而把该游戏场景分成两块或者多块,则河流和山丘两边区域是不可以直接连通的,必须绕过河流或者山丘才能到达目的地。因此,为了更真实的获取到最终的寻路路径,需要对该游戏场景做特殊区域划分的操作,以标明河流和山丘这两个区域中的跳转点是不可以直接连通的。这样在建立寻路联通图时,就可以利用特殊区域判断出是否需要在两个跳转点之间添加一条联通路径。进一步的,后期动态添加起点和终点到寻路联通图的时候,也可以利用是否有特殊区域指示从而确定是否需要在起点和终点间添加联通路径。
在本步骤中,可以利用预先标注出的特殊区域的信息,来获取任意两个可直接连通的跳转点,再将任意两个可直接连通的跳转点记录为一条联通路径。在具体实现时,可以采用人工手动配置的方式,针对任一个跳转点,待其与剩余跳转点的所有联通路径都记录完毕后,再依次分别记录其他跳转点的联通路径。
步骤A3:根据所述联通路径,建立所述寻路联通图。
待所有跳转点的联通路径记录之后,已经记录的联通路径就组成了当前网络游戏中可以用于寻路的寻路联通图。
这些寻路联通图可以是在用户下载客户端到其本地的电脑之前,由游戏的开发者已经确定好。当然,也可以是在用户玩游戏的过程中,由游戏客户端实时地确定这些寻路联通图。
那么,本发明的实施方式的具体实现流程可以参考图2所示,可以包括:
步骤201:获取待寻路的起点和终点信息。
首先,获取待寻路的起点和终点信息。在用户玩游戏的过程中,如果需要从当前所在地(即起点)跳转到目标所在地(即终点),可以由玩家主动向客户端触发寻路请求,该寻路请求中包括待寻路的起点和终点信息,客户端可以从寻路请求中获取到起点和终点。可以理解的是,由于游戏世界包括很多游戏场景,因此,起点和终点可以在同一个游戏场景中,也可以不在同一个游戏场景中。
步骤202:依据预先建立的寻路联通图确定所述起点和终点之间的最短路径。
因为寻路联通图中记录的联通路径表示了各个跳转点之间是否可以到达的信息,所以依据寻路联通图中的联通路径,可以确定待寻路的起点和终点之间都有哪些联通路径构成,即最短路径的信息包括了确定的各个跳转点及这些跳转点之间的跳转信息。在2D网络游戏中,2D游戏场景通常是格子类型场景,这里的格子指的是游戏场景中N个像素长度所形成的正方形区域,在该游戏场景中将这种格子作为游戏场景中的坐标点。其中,N的值可以根据实际需求设置,例如10个,或者20个等。在实际应用中,因为起点和终点与本发明实施方式中的跳转点可能不完全一致,那么可以选取玩家所在的游戏场景中的当前坐标点作为起点,而寻路的目标对象所在的游戏场景中的坐标点则作为终点,并把起点和终点分别作为跳转点动态添加到寻路联通图中。
其中,在依据寻路联通图确定起点和终点之间的最短路径时,具体可以采用迪杰斯特拉算法从所述寻路联通图中确定从所述起点到终点的最短路径的最优寻路跳转路径。
对于迪杰斯特拉算法来讲,假设给定有向网络D=(V,A,W),其中,D即寻路联通图中的各个跳转点组成的有向网络;V即各个跳转点;A表示两两跳转点之间的任意弧aij的集合,aij∈A;W是各个弧的权重的集合,则有权w(aij)=wij,那么,针对待寻路的起点vs和终点vt,设P是D中从vs到vt的一条可行的路径,并定义路径P的权(例如长度)是P中所有弧的权之和,记为w(P)。那么采用迪杰斯特拉算法在所有从vs到vt的路径中,求一条路径P0,使公式成立,则得到的P0即为从起点vs到终点vt的最短路径。可以理解的是,如果P0是D中从vs到vj的最短路径,vi是P0中的一个点,那么,从vs沿P0到vi的路也是从vs到vi的最短路径,即最短路径的子路径也是最短路径。可以理解的是,从起点vs到终点vt的最短路径的信息都是P0经过的跳转点以及各个跳转点之间的跳转信息。
步骤203:判断所述最短路径中属于同一个游戏场景的任意两个跳转点之间的子路径是否需要优化,如果是,则进入步骤204,如果否,则进入步骤206。
在采用迪杰斯特拉算法得到最短路径的最优寻路跳转路径之后,针对同一个游戏场景中任意两个跳转点之间的子路径可以判断其是否有进行优化的必要。具体可以判断该子路径经过的坐标点是否指示有阻挡信息。在游戏世界中,两个跳转点之间是否可以直线到达,这两个跳转点之间的坐标点会有相应的记录,坐标点并未指示这两个跳转点之间有阻挡信息,则说明这两个跳转点之间可以直线到达,则此时不需要对该子路径进行优化,反之,则需要对该子路径进行优化。
步骤204:对需要进行优化的两个跳转点之间的子路径进行优化。
如果属于同一个游戏场景中的任意两个跳转点之间的子路径上存在阻挡信息,则可以采用例如A*算法对需要进行优化的两个跳转点之间的子路径进行优化,即从该两个跳转点之间的路径所经过的所有坐标点中计算出一条最短且可通行的坐标点组成的路径。
在实施A*算法时,可以先建立两个列表,一个是open列表,用来记录下所有被考虑来寻找两个坐标点之间的最短路径的坐标点,该open列表作为一个将“和值F”从小到大进行排列的有序表进行维护。另一个是close列表,用来记录已搜索遍历过暂时不会考虑的坐标点。从起点A开始,取得当前坐标点Ai,把所有与Ai相邻(八方向)的可通行的下一坐标点Ai+1添加到open列表中。其中,每个坐标点Ai都具有一个“G+H”的和值“F”。G是从起点A到每一坐标点Ai的移动量。例如,从当前坐标点Ai到下一坐标点Ai+1的移动量为1,该G值会随着离起点A越来越远而增大。而H是从坐标点Ai到终点B的移动量估算值,在游戏场景中移动量估算值可以采取不同的方案策略确定,在本发明的实施例中,移动估算量采取最简单的方案,即坐标点Ai到终点B的直线距离。
前述G值是从起点A到达当前坐标点Ai的移动量,在本发明的实施例中,采取8方向遍历搜索,每个格子的上、下、左和右方向的移动距离分别为1,左上、右上、右下和左下方向的移动距离分别为2的开方,每移动一个格子加上对应方向的移动距离。因此,每个坐标点对应的G值就表示从起点A到当前坐标点所形成路径的总移动量,而H值是从当前坐标点到目标点B的移动量估算值(即直线距离)。那么,A*算法的实现过程如下:
步骤B1:把起点添加到open列表中。
步骤B2:获取open列表中的第一个坐标点作为当前坐标点。
步骤B3:针对当前坐标点触发以下流程:把当前坐标点放入close表,针对当前坐标点相邻的每一个坐标点(以下简称为“相邻点”)进行判断,如果相邻点不可达(即从当前坐标点到相邻点的路径上有阻挡)或者已经在close列表中,则对该相邻点忽略;如果相邻点可达且不在open列表中,则将该相邻点添加进open列表中,并把当前坐标点作为该相邻点的父节点,以及记录该相邻点的F、G和H值;如果相邻点可达且已经在open列表中,则比较该相邻点当前的G值与其在open表中记录的G值的大小,如果该相邻点当前的G值更小,就把该相邻点的父节点更新为当前坐标点,并同步更新该相邻点的G和F值及其在open列表中的排序。
步骤B4:判断是否满足终止条件,所述终止条件为:找到终点(表示已经搜索获得最优路径),或者没有找到终点但是open列表为空(表示最优路径不存在)。
在找到终点的情况下,则从终点开始沿着每个坐标点的父节点逆向遍历直到回到起点,这条路径就是最终的搜索路径。
可以理解的是,在采用A*算法得到同一个游戏场景中的起始点到目标点的场景格子坐标点之后,可以采用费罗伊德算法对优化后的子路径进行平滑处理。例如,获取寻路路径上同X或Y轴方向上的至少两个经过A*算法得到的坐标点,因为这些坐标点在同一个方向上,所以这些坐标点可以合并为距离终点最近的一个合并坐标点,同样,寻路路径上弯曲路径所包含的3个以上的坐标点中,存在一段弯曲路径的两端点之间直线可达则合并该弯曲路径为两个端点坐标,再将参与合并的寻路路径上的中间坐标点删除,保留最终的合并坐标点。通过费罗伊德算法进行平滑处理之后,同一个游戏场景中最短路径经过的坐标点更少,寻路路径也会更为平滑。
接着返回图2,进入步骤205:将优化子路径之后的最短路径确定为寻路路径。
最终将同一个游戏场景中的子路径进行优化之后的最短路径,确定为起点到终点的寻路路径,调用玩家通过该最短路径跑路到达终点即可。
步骤206:直接将所述最短路径确定为寻路路径。
如果在步骤202得到的最短路径的子路径不需要进行优化,直接将步骤202得到的最短路径确定为寻路路径即可。
采用本发明的实施方式,首先可以用迪杰斯特拉算法求出待寻路的起点和终点之间的最短路径的最优寻路跳转路径,进一步的,在同一个游戏场景中的最短路径的子路径在不能直线到达的时候,还可以采用A*算法进行优化来求出子路径经过的最短的坐标点,再进一步的,优化之后的子路径还可以采用佛洛依德算法进行平滑处理,从而能够确定出起点到终点之间的最优的寻路路径,提升游戏中的寻路效率,从而也提升用户的游戏体验。
示例性设备
在介绍了本发明示例性实施方式的方法之后,接下来,参考图3对本发明示例性实施方式的、用于游戏中寻路的设备进行描述。
如图3所示,该游戏中寻路的设备可以包括:
第一获取模块301,可以配置用于获取待寻路的起点和终点信息。
第一确定模块302,可以配置用于依据预先建立的寻路联通图确定所述起点和终点之间的最短路径。
其中,所述第一确定模块302具体可以配置用于:采用迪杰斯特拉算法从所述寻路联通图中确定从所述起点到终点的最短路径的最优寻路跳转路径。
判断模块303,可以配置用于判断所述最短路径中属于同一个游戏场景的任意两个跳转点之间的子路径是否需要优化。
其中,所述判断模块303具体可以配置用于:判断同一个游戏场景中任意两个跳转点之间的直线路径上的坐标点是否指示有阻挡信息。
优化模块304,可以配置用于所述判断模块的结果为是的情况下,对需要进行优化的两个跳转点之间的子路径进行优化。
其中,所述优化模块304具体可以配置用于:采用A*算法对需要进行优化的两个跳转点之间的子路径进行优化。
第二确定模块305,可以配置用于将优化子路径之后的最短路径确定为寻路路径。
第三确定模块306,可以配置用于所述判断模块的结果为否的情况下,直接将所述最短路径确定为寻路路径。
其中,游戏中寻路的设备还可以包括:寻路联通图建立装置,该装置可以包括:第二获取模块,配置用于获取当前网络游戏中各个游戏场景中的所有跳转点及其跳转信息;记录模块,配置用于将任意两个可连通的跳转点记录为一条联通路径;以及,建立模块,配置用于根据所述联通路径,建立所述寻路联通图。
其中,游戏中寻路的设备还可以包括:平滑处理模块,可以配置用于采用费罗伊德算法对优化后的子路径进行平滑处理,相应的,所述第二确定模块305,具体可以配置用于:将进行子路径平滑处理后的最短路径确定为寻路路径。
根据本发明的实施方式,第一确定模块302可以用迪杰斯特拉算法求出待寻路的起点和终点之间的最短路径的最优寻路跳转路径,进一步的,在同一个游戏场景中的最短路径的子路径在不能直线到达的时候,还可以由优化模块304采用A*算法进行优化来求出子路径经过的最短的场景格子坐标,再进一步的,优化之后的子路径还可以由平滑处理模块采用佛洛依德算法进行平滑处理,从而能够确定出起点到终点之间的最优的寻路路径,提升游戏中的寻路效率,从而也提升用户的游戏体验。
应当注意,尽管在上文详细描述中提及了游戏中寻路的设备的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (12)
1.一种游戏中寻路的方法,包括:
获取待寻路的起点和终点信息;
依据预先建立的寻路联通图确定所述起点和终点之间的最短路径;
判断所述最短路径中属于同一个游戏场景的任意两个跳转点之间的子路径是否需要优化,如果是,则对需要进行优化的两个跳转点之间的子路径进行优化,并将优化子路径之后的最短路径确定为寻路路径;
如果否,则直接将所述最短路径确定为寻路路径。
2.根据权利要求1所述的方法,其中,所述依据预先建立的寻路联通图确定所述起点和终点之间的最短路径,包括:
采用迪杰斯特拉算法从所述寻路联通图中确定从所述起点到终点的最短路径的最优寻路跳转路径。
3.根据权利要求1所述的方法,其中,所述寻路联通图通过以下方式预先建立:
获取当前网络游戏中各个游戏场景中的所有跳转点及其跳转信息;
将任意两个可直接连通的跳转点记录为一条联通路径;
以及根据所述联通路径,建立所述寻路联通图。
4.根据权利要求1所述的方法,其中,所述判断同一个游戏场景中的任意两个跳转点之间是否需要路径优化,包括:
判断同一个游戏场景中任意两个跳转点之间的直线路径上的坐标点是否指示有阻挡信息。
5.根据权利要求1所述的方法,其中,所述对需要进行优化的两个跳转点之间的子路径进行优化,包括:
采用A*算法对需要进行优化的两个跳转点之间的子路径进行优化。
6.根据权利要求1所述的方法,在所述对需要进行优化的两个跳转点之间的子路径进行优化之后,还包括:采用费罗伊德算法对优化后的子路径进行平滑处理;
相应的,所述将优化子路径之后的最短路径确定为寻路路径,包括:将进行子路径平滑处理后的最短路径确定为寻路路径。
7.一种游戏中寻路的设备,包括:
第一获取模块,配置用于获取待寻路的起点和终点信息;
第一确定模块,配置用于依据预先建立的寻路联通图确定所述起点和终点之间的最短路径;
判断模块,配置用于判断所述最短路径中属于同一个游戏场景的任意两个跳转点之间的子路径是否需要优化;
优化模块,配置用于所述判断模块的结果为是的情况下,对需要进行优化的两个跳转点之间的子路径进行优化;
第二确定模块,配置用于将优化子路径之后的最短路径确定为寻路路径;
第三确定模块,配置用于所述判断模块的结果为否的情况下,直接将所述最短路径确定为寻路路径。
8.根据权利要求7所述的设备,其中,所述第一确定模块具体配置用于:采用迪杰斯特拉算法从所述寻路联通图中确定从所述起点到终点的最短路径的最优寻路跳转路径。
9.根据权利要求7所述的设备,其中,还包括:寻路联通图建立装置,包括:
第二获取模块,配置用于获取当前网络游戏中各个游戏场景中的所有跳转点及其跳转信息;
记录模块,配置用于将任意两个可直接连通的跳转点记录为一条联通路径;以及
建立模块,配置用于根据所述联通路径,建立所述寻路联通图。
10.根据权利要求7所述的设备,其中,所述判断模块具体配置用于:判断同一个游戏场景中任意两个跳转点之间的直线路径上的坐标点是否指示有阻挡信息。
11.根据权利要求7所述的设备,其中,所述优化模块具体配置用于:采用A*算法对需要进行优化的两个跳转点之间的子路径进行优化。
12.根据权利要求7所述的设备,还包括:
平滑处理模块,配置用于采用费罗伊德算法对优化后的子路径进行平滑处理;
相应的,所述第二确定模块,具体配置用于:将进行子路径平滑处理后的最短路径确定为寻路路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410151561.1A CN103893969B (zh) | 2014-04-15 | 一种游戏中寻路的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410151561.1A CN103893969B (zh) | 2014-04-15 | 一种游戏中寻路的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103893969A true CN103893969A (zh) | 2014-07-02 |
CN103893969B CN103893969B (zh) | 2016-11-30 |
Family
ID=
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104606886A (zh) * | 2014-12-25 | 2015-05-13 | 珠海金山网络游戏科技有限公司 | 一种分布式无碰撞移动规划的方法 |
CN104645616A (zh) * | 2015-03-16 | 2015-05-27 | 成都优聚软件有限责任公司 | 一种塔防游戏中游戏对象的移动路径设置方法和系统 |
CN104751001A (zh) * | 2015-04-13 | 2015-07-01 | 四川天上友嘉网络科技有限公司 | 游戏中的最短路径搜索方法 |
CN104759097A (zh) * | 2015-04-13 | 2015-07-08 | 四川天上友嘉网络科技有限公司 | 游戏中的自动寻路方法 |
CN104784932A (zh) * | 2015-04-13 | 2015-07-22 | 四川天上友嘉网络科技有限公司 | 游戏角色的寻路方法 |
CN104784934A (zh) * | 2015-04-13 | 2015-07-22 | 四川天上友嘉网络科技有限公司 | 游戏角色移动方法 |
CN104784933A (zh) * | 2015-04-13 | 2015-07-22 | 四川天上友嘉网络科技有限公司 | 游戏角色的最短路径确定方法 |
CN105056528A (zh) * | 2015-07-23 | 2015-11-18 | 珠海金山网络游戏科技有限公司 | 一种虚拟角色的移动方法及装置 |
CN106582023A (zh) * | 2016-12-01 | 2017-04-26 | 北京像素软件科技股份有限公司 | 一种游戏寻路方法和装置 |
CN106730841A (zh) * | 2017-01-17 | 2017-05-31 | 网易(杭州)网络有限公司 | 一种寻路方法和装置 |
CN106790224A (zh) * | 2017-01-13 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 一种控制模拟对象寻路的方法及服务器 |
CN107185242A (zh) * | 2017-04-27 | 2017-09-22 | 腾讯科技(深圳)有限公司 | 多单位寻路方法及装置 |
CN107357563A (zh) * | 2017-05-25 | 2017-11-17 | 腾讯科技(深圳)有限公司 | 对象移动方法和装置以及存储介质、电子装置 |
CN107744663A (zh) * | 2017-10-19 | 2018-03-02 | 广州爱九游信息技术有限公司 | 人工智能ai单位的寻路方法及装置 |
CN107754312A (zh) * | 2017-10-25 | 2018-03-06 | 网易(杭州)网络有限公司 | 连通性检测方法和系统、存储介质、终端 |
CN108211360A (zh) * | 2016-12-14 | 2018-06-29 | 盛趣信息技术(上海)有限公司 | 多人在线网络游戏的跨地图寻路方法 |
CN108268971A (zh) * | 2017-12-06 | 2018-07-10 | 腾讯科技(深圳)有限公司 | 路径的搜索方法、装置、处理器和电子装置 |
WO2018130135A1 (zh) * | 2017-01-13 | 2018-07-19 | 腾讯科技(深圳)有限公司 | 一种控制模拟对象寻路的方法、装置及服务器 |
CN108815850A (zh) * | 2018-06-15 | 2018-11-16 | 腾讯科技(深圳)有限公司 | 一种控制模拟对象寻路的方法及客户端 |
CN108896052A (zh) * | 2018-09-20 | 2018-11-27 | 鲁东大学 | 一种基于动态复杂环境下的移动机器人平滑路径规划方法 |
CN109011575A (zh) * | 2018-07-04 | 2018-12-18 | 苏州玩友时代科技股份有限公司 | 一种自动寻路方法、装置和设备 |
CN109260709A (zh) * | 2018-09-11 | 2019-01-25 | 深圳市创梦天地科技有限公司 | 一种动态路线的生成方法及装置 |
CN109621420A (zh) * | 2018-12-26 | 2019-04-16 | 网易(杭州)网络有限公司 | 游戏中的寻路方法、装置、介质及电子设备 |
CN110059146A (zh) * | 2019-04-16 | 2019-07-26 | 珠海金山网络游戏科技有限公司 | 一种数据采集方法、服务器、计算设备及存储介质 |
CN110134478A (zh) * | 2019-04-28 | 2019-08-16 | 深圳市思为软件技术有限公司 | 全景场景的场景转换方法、装置及终端设备 |
CN110141863A (zh) * | 2019-04-24 | 2019-08-20 | 深圳市腾讯网域计算机网络有限公司 | 应用场景获取方法、装置、电子设备及介质 |
CN110309236A (zh) * | 2018-02-28 | 2019-10-08 | 深圳市萌蛋互动网络有限公司 | 地图中寻路的方法、装置、计算机设备和存储介质 |
CN111202985A (zh) * | 2020-01-16 | 2020-05-29 | 网易(杭州)网络有限公司 | 2d游戏中的路径规划方法、系统及电子设备 |
CN111773717A (zh) * | 2020-06-30 | 2020-10-16 | 完美世界(北京)软件科技发展有限公司 | 对象控制方法和装置、存储介质和电子装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020175918A1 (en) * | 2001-04-17 | 2002-11-28 | Barber John S. | Method and system for implementing a path network in a computer graphics scene |
CN1938562A (zh) * | 2004-03-31 | 2007-03-28 | 英国电讯有限公司 | 寻路系统 |
CN1996320A (zh) * | 2006-01-04 | 2007-07-11 | 腾讯科技(深圳)有限公司 | 一种最优路径的寻径方法 |
CN101419722A (zh) * | 2008-05-23 | 2009-04-29 | 浙江大学 | 基于自顶向下的多层次虚拟环境建模方法 |
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020175918A1 (en) * | 2001-04-17 | 2002-11-28 | Barber John S. | Method and system for implementing a path network in a computer graphics scene |
CN1938562A (zh) * | 2004-03-31 | 2007-03-28 | 英国电讯有限公司 | 寻路系统 |
CN1996320A (zh) * | 2006-01-04 | 2007-07-11 | 腾讯科技(深圳)有限公司 | 一种最优路径的寻径方法 |
CN101419722A (zh) * | 2008-05-23 | 2009-04-29 | 浙江大学 | 基于自顶向下的多层次虚拟环境建模方法 |
Non-Patent Citations (2)
Title |
---|
余翀等: "基于栅格地图的分层式机器人路径规划算法", 《中国科学院大学学报》 * |
徐翔等: "一种改进的群体智能寻路算法", 《计算机应用与软件》 * |
Cited By (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104606886B (zh) * | 2014-12-25 | 2017-10-17 | 珠海金山网络游戏科技有限公司 | 一种分布式无碰撞移动规划的方法 |
CN104606886A (zh) * | 2014-12-25 | 2015-05-13 | 珠海金山网络游戏科技有限公司 | 一种分布式无碰撞移动规划的方法 |
CN104645616A (zh) * | 2015-03-16 | 2015-05-27 | 成都优聚软件有限责任公司 | 一种塔防游戏中游戏对象的移动路径设置方法和系统 |
CN104784933A (zh) * | 2015-04-13 | 2015-07-22 | 四川天上友嘉网络科技有限公司 | 游戏角色的最短路径确定方法 |
CN104784932A (zh) * | 2015-04-13 | 2015-07-22 | 四川天上友嘉网络科技有限公司 | 游戏角色的寻路方法 |
CN104784934A (zh) * | 2015-04-13 | 2015-07-22 | 四川天上友嘉网络科技有限公司 | 游戏角色移动方法 |
CN104759097A (zh) * | 2015-04-13 | 2015-07-08 | 四川天上友嘉网络科技有限公司 | 游戏中的自动寻路方法 |
CN104751001A (zh) * | 2015-04-13 | 2015-07-01 | 四川天上友嘉网络科技有限公司 | 游戏中的最短路径搜索方法 |
CN105056528A (zh) * | 2015-07-23 | 2015-11-18 | 珠海金山网络游戏科技有限公司 | 一种虚拟角色的移动方法及装置 |
CN105056528B (zh) * | 2015-07-23 | 2019-04-26 | 珠海金山网络游戏科技有限公司 | 一种虚拟角色的移动方法及装置 |
CN106582023A (zh) * | 2016-12-01 | 2017-04-26 | 北京像素软件科技股份有限公司 | 一种游戏寻路方法和装置 |
CN106582023B (zh) * | 2016-12-01 | 2020-06-02 | 北京像素软件科技股份有限公司 | 一种游戏寻路方法和装置 |
CN108211360A (zh) * | 2016-12-14 | 2018-06-29 | 盛趣信息技术(上海)有限公司 | 多人在线网络游戏的跨地图寻路方法 |
CN108211360B (zh) * | 2016-12-14 | 2021-08-10 | 盛趣信息技术(上海)有限公司 | 多人在线网络游戏的跨地图寻路方法 |
CN106790224B (zh) * | 2017-01-13 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 一种控制模拟对象寻路的方法及服务器 |
CN106790224A (zh) * | 2017-01-13 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 一种控制模拟对象寻路的方法及服务器 |
TWI664836B (zh) * | 2017-01-13 | 2019-07-01 | 大陸商騰訊科技(深圳)有限公司 | 控制模擬對象尋路的方法、裝置及伺服器 |
WO2018130135A1 (zh) * | 2017-01-13 | 2018-07-19 | 腾讯科技(深圳)有限公司 | 一种控制模拟对象寻路的方法、装置及服务器 |
CN106730841A (zh) * | 2017-01-17 | 2017-05-31 | 网易(杭州)网络有限公司 | 一种寻路方法和装置 |
CN107185242B (zh) * | 2017-04-27 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 多单位寻路方法及装置 |
CN107185242A (zh) * | 2017-04-27 | 2017-09-22 | 腾讯科技(深圳)有限公司 | 多单位寻路方法及装置 |
CN107357563A (zh) * | 2017-05-25 | 2017-11-17 | 腾讯科技(深圳)有限公司 | 对象移动方法和装置以及存储介质、电子装置 |
CN107744663B (zh) * | 2017-10-19 | 2020-10-13 | 阿里巴巴(中国)有限公司 | 人工智能ai单位的寻路方法及装置 |
CN107744663A (zh) * | 2017-10-19 | 2018-03-02 | 广州爱九游信息技术有限公司 | 人工智能ai单位的寻路方法及装置 |
CN107754312B (zh) * | 2017-10-25 | 2020-09-11 | 网易(杭州)网络有限公司 | 连通性检测方法和装置、存储介质、终端 |
CN107754312A (zh) * | 2017-10-25 | 2018-03-06 | 网易(杭州)网络有限公司 | 连通性检测方法和系统、存储介质、终端 |
CN108268971B (zh) * | 2017-12-06 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 路径的搜索方法、装置、处理器和电子装置 |
CN108268971A (zh) * | 2017-12-06 | 2018-07-10 | 腾讯科技(深圳)有限公司 | 路径的搜索方法、装置、处理器和电子装置 |
CN110309236B (zh) * | 2018-02-28 | 2021-12-17 | 深圳市萌蛋互动网络有限公司 | 地图中寻路的方法、装置、计算机设备和存储介质 |
CN110309236A (zh) * | 2018-02-28 | 2019-10-08 | 深圳市萌蛋互动网络有限公司 | 地图中寻路的方法、装置、计算机设备和存储介质 |
CN108815850A (zh) * | 2018-06-15 | 2018-11-16 | 腾讯科技(深圳)有限公司 | 一种控制模拟对象寻路的方法及客户端 |
CN109011575A (zh) * | 2018-07-04 | 2018-12-18 | 苏州玩友时代科技股份有限公司 | 一种自动寻路方法、装置和设备 |
CN109260709B (zh) * | 2018-09-11 | 2022-02-22 | 深圳市创梦天地科技有限公司 | 一种动态路线的生成方法及装置 |
CN109260709A (zh) * | 2018-09-11 | 2019-01-25 | 深圳市创梦天地科技有限公司 | 一种动态路线的生成方法及装置 |
CN108896052A (zh) * | 2018-09-20 | 2018-11-27 | 鲁东大学 | 一种基于动态复杂环境下的移动机器人平滑路径规划方法 |
CN109621420A (zh) * | 2018-12-26 | 2019-04-16 | 网易(杭州)网络有限公司 | 游戏中的寻路方法、装置、介质及电子设备 |
CN110059146A (zh) * | 2019-04-16 | 2019-07-26 | 珠海金山网络游戏科技有限公司 | 一种数据采集方法、服务器、计算设备及存储介质 |
CN110059146B (zh) * | 2019-04-16 | 2021-04-02 | 珠海金山网络游戏科技有限公司 | 一种数据采集方法、服务器、计算设备及存储介质 |
CN110141863A (zh) * | 2019-04-24 | 2019-08-20 | 深圳市腾讯网域计算机网络有限公司 | 应用场景获取方法、装置、电子设备及介质 |
CN110134478A (zh) * | 2019-04-28 | 2019-08-16 | 深圳市思为软件技术有限公司 | 全景场景的场景转换方法、装置及终端设备 |
CN111202985A (zh) * | 2020-01-16 | 2020-05-29 | 网易(杭州)网络有限公司 | 2d游戏中的路径规划方法、系统及电子设备 |
CN111202985B (zh) * | 2020-01-16 | 2023-04-07 | 网易(杭州)网络有限公司 | 2d游戏中的路径规划方法、系统及电子设备 |
CN111773717A (zh) * | 2020-06-30 | 2020-10-16 | 完美世界(北京)软件科技发展有限公司 | 对象控制方法和装置、存储介质和电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110772791B (zh) | 三维游戏场景的路线生成方法、装置和存储介质 | |
CN104156459B (zh) | 一种基于相同开销网格的高效寻路的方法及系统 | |
JP5767760B2 (ja) | 動的障害物のないネットワークゲームシステム及びその処理方法 | |
CN108463273A (zh) | 基于游戏者的移动历史来进行非游戏者角色的路径寻找的游戏系统等 | |
CN104548598B (zh) | 一种虚拟现实场景中寻路的方法 | |
TWI664836B (zh) | 控制模擬對象尋路的方法、裝置及伺服器 | |
CN106075906B (zh) | 一种模拟对象的寻路方法、场景的搭建方法和对应的装置 | |
CN111714892B (zh) | 游戏寻路方法及装置、存储介质、计算机设备 | |
CN106790224B (zh) | 一种控制模拟对象寻路的方法及服务器 | |
CN108268971B (zh) | 路径的搜索方法、装置、处理器和电子装置 | |
CN107357563B (zh) | 对象移动方法和装置以及存储介质、电子装置 | |
US20200070053A1 (en) | Route navigation system within a game application environment | |
CN111202985A (zh) | 2d游戏中的路径规划方法、系统及电子设备 | |
Dahlskog et al. | Patterns, dungeons and generators | |
CN106060052A (zh) | 移动终端网络游戏的三维导航方法 | |
CN105848743A (zh) | 信息处理装置、信息处理系统、程序、记录介质 | |
CN105407992A (zh) | 图像处理程序、服务器装置、图像处理系统及图像处理方法 | |
CN113559517B (zh) | 非玩家虚拟角色的控制方法和装置、存储介质及电子设备 | |
CN105424045A (zh) | 一种室内跨层寻路的路网构建和寻路方法 | |
CN105187469A (zh) | 一种处理用户请求的方法、移动终端及服务器 | |
Bujari et al. | Optimal configuration of active and backup servers for augmented reality cooperative games | |
CN111773717A (zh) | 对象控制方法和装置、存储介质和电子装置 | |
CN113730915B (zh) | 目标路径的确定方法、装置和存储介质及电子设备 | |
CN103893969A (zh) | 一种游戏中寻路的方法和设备 | |
CN103893969B (zh) | 一种游戏中寻路的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |