掌桥专利:专业的专利平台
掌桥专利
首页

游戏中的寻路方法、装置、存储介质及计算机设备

文献发布时间:2023-06-19 11:14:36


游戏中的寻路方法、装置、存储介质及计算机设备

技术领域

本申请涉及游戏技术领域,具体涉及一种游戏中的寻路方法、装置、存储介质及计算机设备。

背景技术

在策略类游戏中,大地图是整个游戏的核心,玩家代表各自的派系或国家通过攻打地块征服领土来达成游戏成就。

目前,策略类游戏中大地图寻路只考虑了地图中地块的连通关系,且所有玩家公用一份寻路地图,没有区分,而这份寻路地图在大地图生成时就已经确定,后面寻路时不会变化。

因此,现有的大地图寻路方案虽然简单易实现,但存在无法支持不同玩家有不同寻路条件的问题,游戏表现的多样性和真实性有待提高。

发明内容

本申请的目的在于提供一种游戏中的寻路方法、装置、存储介质及计算机设备,以在游戏中实现不同玩家具有不同的寻路条件,进而提高游戏表现的多样性和真实性实现。

本申请实施例提供了一种游戏中的寻路方法,包括:

确定待移动的虚拟对象的起点地块和终点地块;

确定游戏地图中虚拟对象对应的敌对方地块,游戏地图中包括相连接的多个地块;

根据敌对方地块、起点地块和终点地块,确定虚拟对象在游戏中的移动路径。

本申请实施例还提供了一种游戏中的寻路装置,包括:

第一确定模块,用于确定待移动的虚拟对象的起点地块和终点地块;

第二确定模块,用于确定游戏地图中虚拟对象对应的敌对方地块,游戏地图中包括相连接的多个地块;

第三确定模块,用于根据敌对方地块、起点地块和终点地块,确定虚拟对象在游戏中的移动路径。

其中,第二确定模块具体包括:

第一确定单元,用于确定游戏中虚拟对象所属的派系;

第二确定单元,用于确定游戏中与虚拟对象所属的派系相敌对的敌对派系;

第三确定单元,用于确定游戏地图中敌对派系拥有的敌对方地块。

其中,第三确定模块具体包括:

第四确定单元,用于将多个地块中除敌对方地块之外的地块作为可通行地块;

第五确定单元,用于确定每一可通行地块的联通信息,联通信息包括相邻可通行地块;

第六确定单元,用于根据联通信息、起点地块和终点地块,确定虚拟对象在游戏中的移动路径。

其中,第六确定单元具体用于:

将起点地块作为当前寻路地块,并将当前寻路地块的相邻可通行地块作为下一寻路地块,得到至少一个下一寻路地块;

判断至少一个下一寻路地块中是否包含终点地块;

若是,则将当前寻路路径作为虚拟对象在游戏中的移动路径;

若否,则将当前寻路地块标记为已遍历地块,并利用至少一个下一寻路地块更新当前寻路地块,之后将当前寻路地块的相邻可通行地块中除已遍历地块之外的可通行地块更新为下一寻路地块,并返回执行判断至少一个下一寻路地块中是否包含终点地块的步骤。

其中,联通信息还包括每一相邻可通行地块的通行信息,通行信息包括过路费和/或通过距离,游戏中的寻路装置还包括:

第四确定模块,用于当移动路径的数量为多条时,根据通行信息确定每条移动路径对应的累积过路费和/或累积通过距离;

第五确定模块,用于确定多条移动路径中累积过路费和/或累积通过距离最小的目标移动路径。

其中,第三确定模块具体用于:

将起点地块作为当前寻路地块;

确定游戏地图中与当前寻路地块相邻的、且非敌对方地块的至少一个下一寻路地块;

判断至少一个下一寻路地块中是否包含终点地块;

若是,则将当前寻路路径作为虚拟对象在游戏中的移动路径;

若否,则将当前寻路地块标记为已遍历地块,并利用至少一个下一寻路地块更新当前寻路地块,之后将游戏地图中与当前寻路地块相邻的、且非敌对方地块和已遍历地块的地块更新为下一寻路地块,并返回执行判断至少一个下一寻路地块中是否包含终点地块的步骤。

其中,第一确定模块具体包括:

接收单元,用于接收寻路指令,寻路指令携带待移动的虚拟对象的起点位置和终点位置;

第七确定单元,用于将游戏地图中起点位置所在的地块作为起点地块,并将游戏地图中终点位置所在的地块作为终点地块。

本申请实施例还提供了一种计算机可读存储介质,存储介质中存储有多条指令,指令适于由处理器加载以执行上述任一项游戏中的寻路方法。

本申请实施例还提供了一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一项游戏中的寻路方法中的步骤。

本申请提供的游戏中的寻路方法、装置、存储介质及计算机设备,通过确定待移动的虚拟对象的起点地块和终点地块,并确定游戏地图中虚拟对象对应的敌对方地块,游戏地图中包括相连接的多个地块,然后根据敌对方地块、起点地块和终点地块,确定虚拟对象在游戏中的移动路径,从而,使得游戏中具有不同外交关系的玩家能够对应有不同的敌对方地块,进而能够在游戏中实现不同玩家具有不同的寻路条件,提高了游戏表现的多样性和真实性。

附图说明

下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。

图1是本申请实施例提供的游戏中的寻路系统的场景示意图;

图2是本申请实施例提供的游戏中的寻路方法的流程示意图;

图3是本申请实施例提供的游戏地图的结构示意图;

图4是本申请实施例提供的游戏中的寻路方法的另一流程示意图;

图5是本申请实施例提供的游戏中的寻路装置的结构示意图;

图6是本申请实施例提供的计算机设备的结构示意图。

具体实施方式

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

本申请实施例提供一种游戏中的寻路方法、装置、存储介质及计算机设备。

请参阅图1,图1为本申请实施例提供的游戏中的寻路系统的场景示意图,该游戏中的寻路系统可以包括本申请实施例提供的任一种游戏中的寻路装置,该游戏中的寻路装置具体可以集成在终端或服务器等计算机设备中,其中终端可以为智能手机、平板电脑、智能蓝牙设备、笔记本电脑、或者个人电脑(Personal Computer,PC)等设备,服务器可以是单台服务器,也可以是由多个服务器组成的服务器集群。

以计算机设备为终端为例,该终端可以确定待移动的虚拟对象的起点地块和终点地块;确定游戏地图中虚拟对象对应的敌对方地块,游戏地图中包括相连接的多个地块;根据敌对方地块、起点地块和终点地块,确定虚拟对象在游戏中的移动路径。

其中,上述终端中可以运行有预设游戏的客户端,且该预设游戏可以为策略游戏(比如,以三国历史或春秋战国历史为背景的策略游戏等)。在终端中通过登录预设游戏的客户端进入游戏后,用户可以通过控制游戏界面中的虚拟对象进行游戏。在策略游戏中,上述虚拟对象可以代表各自的派系或国家通过攻占地块占据领土来达成游戏成就。上述起点地块可以为游戏中上述虚拟对象当前所在的地块或土地。上述终点地块可以为游戏中用户为上述虚拟对象选定的移动目的地或将要去攻占的地块。上述敌对方地块可以为游戏中与上述虚拟对象所在的派系或国家正在发生战争的派系或国家所占据的领土。

譬如,如图1所示,在策略游戏(比如,战锤游戏)的游戏界面10中,当用户为虚拟对象11(比如,光头)选择了需要攻打的地块12时,上述终端可以将游戏地图中该虚拟对象11当前所在的地块13作为起点地块,并将上述需要攻打的地块12作为终点地块,然后将与该虚拟对象11所在的派系(比如,摩斯氏族派系)之间发生矛盾或战争的派系(比如,丛林精魂派系)所占据的地块作为敌对方地块,并根据该敌对方地块、起点地块和终点地块,确定上述虚拟对象11在游戏中的移动路径,该移动路径不经过上述敌对方地块,接着上述终端可以在游戏界面10中控制虚拟对象11沿上述移动路径移动至终点地块12,以在用户的后续游戏操作中对该终点地块12进行攻占。

如图2所示,图2是本申请实施例提供的游戏中的寻路方法的流程示意图,该游戏中的寻路方法具体流程可以如下:

S101.确定待移动的虚拟对象的起点地块和终点地块。

在本实施例中,上述游戏中的寻路方法可以但不限于应用于不同的策略游戏应用中,例如,应用于战锤游戏、三国游戏或战国游戏中。在策略游戏中,上述虚拟对象可以代表各自的派系或国家通过攻占地块占据领土来达成游戏成就。上述虚拟对象可以为由终端用户控制的游戏角色对象,以在游戏场景中进行各种游戏活动或任务。并且,多个终端用户所控制的虚拟对象可以属于不同的派系或国家,各个派系或国家在游戏中拥有各自的领土。另外,不同派系或国家之间可以组成阵营以共同面对强敌,也可以发生矛盾、冲突或战争。

具体地,上述起点地块可以为游戏中上述虚拟对象当前所在的地块,上述终点地块可以为游戏中终端用户为上述虚拟对象选定的移动目的地或将要去攻占的地块。并且,在一个具体实施例中,上述S101可以具体包括:

S1011.接收寻路指令,寻路指令携带待移动的虚拟对象的起点位置和终点位置。

S1012.将游戏地图中起点位置所在的地块作为起点地块,并将游戏地图中终点位置所在的地块作为终点地块。

具体地,当终端用户通过触屏或点击等方式在游戏界面中为其所控制的虚拟对象选择了移动的目的地时,该终端会生成寻路指令,以使游戏中的寻路装置获取该寻路指令并根据该寻路指令确定上述起点地块和终点地块,进而实现该寻路装置的自动寻路功能。

其中,上述游戏地图可以预先存储于相应的游戏场景中,且游戏中的不同游戏场景可以具有各自的游戏地图。具体地,如图3所示,上述游戏地图中可以包括多个相邻的地块1/2/3/4/5/6/7,上述寻路装置可以将游戏场景中待移动的虚拟对象的起点位置所在的地块(比如,地块3)作为起点地块,并将游戏场景中待移动的虚拟对象的终点位置所在的地块(比如,地块5)作为终点地块,其中,上述起点位置可以为上述待移动的虚拟对象在游戏场景中当前所处的地理位置,上述终点位置可以为上述待移动的虚拟对象在游戏场景中的移动目的地。在一些具体实施例中,上述待移动的虚拟对象在游戏场景中进行移动的目的可以为行军或攻打,相应的终点位置可以该待移动的虚拟对象在游戏场景中行军的目的地或攻打的目的地。

S102.确定游戏地图中虚拟对象对应的敌对方地块,游戏地图中包括相连接的多个地块。

在本实施例中,上述起点地块和终点地块可以均不是敌对方地块,也可以均是敌对方地块,还可以其中一个是敌对方地块,另一个不是敌对方地块。例如,若是以攻打敌方为目的的寻路,则对应终点地块为敌对方地块,而若是以攻打敌方后离开所进行的寻路,则对应起点地块为敌对方地块。具体地,上述游戏中可以存在多个派系或国家,且每个派系或国家可以具有各自的领土和外交关系。其中,不同派系或国家之间的外交关系有好有坏,上述敌对方地块可以为游戏中与虚拟对象所属的派系或国家之间为敌对方关系的派系或国家所拥有的领土,并且,当两个派系或国家之间发生了战争、冲突或矛盾时,可以认为这两个派系或国家之间的外交关系为敌对方关系,也即,这两个派系或国家互为敌方。

在一个具体实施例中,如图4所示,上述S102可以具体包括:

S1021.确定游戏中虚拟对象所属的派系。

具体地,上述寻路装置可以从本地或游戏服务器端获取该虚拟对象的属性信息,以得到该虚拟对象所属的派系。

S1022.确定游戏中与虚拟对象所属的派系相敌对的敌对派系。

具体地,当两个派系之间的外交关系为敌对方关系,比如,这两个派系之间发生了战争时,可以认为这两个派系之间相敌对。

S1023.确定游戏地图中敌对派系拥有的敌对方地块。

例如,如图3所示,上述游戏中可以存在三个派系A/B/C,其中,派系A在游戏地图中占据的地块可以包括地块1、地块2和地块3,派系B在游戏地图中占据的地块可以包括地块4、地块5和地块6,派系C在游戏地图中占据的地块可以包括地块7,且派系A和派系B之间的外交关系可以为友邦关系(也即,非敌对方关系),派系A和派系C之间的外交关系可以为敌对方关系。若上述待移动的虚拟对象所属的派系为派系A,则上述派系C即为对应的敌对派系,该敌对派系所拥有的地块7即为相应的敌对方地块,也即,来自派系A的虚拟对象在游戏场景中移动时,不能穿过上述地块7。

在本实施例中,由于游戏中不同的虚拟对象可以属于不同的派系或国家,也即,游戏中的虚拟对象可以对应有不同的敌对方地块,使得不同的虚拟对象在游戏场景中移动时能够具有各自的寻路条件,有利于提高游戏真实感。

可以理解的是,上述游戏中派系之间的外交关系可以是实时变化的,比如,在某一时间段内,上述派系A和派系B可以结盟组成同一阵营,对应二者之间的外交关系为友邦关系,而在另一时间段内,上述派系A和派系B之间的联盟可以发生破裂,且派系A可以向派系B发起攻击,对应二者之间的外交关系会由友邦关系变为敌对方关系。

具体地,上述游戏地图可以是固定不变的,也可以在游戏过程中被增加一些新的地块或被减少一些已有的地块。在一些实施例中,还可以出现该游戏地图中现有的两个或更多个地块之间发生融合或合并,得到一个新的地块,也可以出现该游戏地图中现有的一个地块发生裂变,得到多个新的地块。因此,上述游戏地图可以理解为实时的、当前最新的游戏地图。

在一些替代实施例中,上述虚拟对象在游戏中还可以不属于任一派系或国家,甚至还可以在上述游戏地图中拥有自己的领土,并且,在这种情况下,上述敌对方地块可以为游戏中与该虚拟对象相敌对的其他虚拟对象、派系或国家所拥有的领土。

S103.根据敌对方地块、起点地块和终点地块,确定虚拟对象在游戏中的移动路径。

在本实施例中,上述移动路径经过起点地块和终点地块,但不经过上述敌对方地块。具体地,如图4所示,上述S103可以具体包括:

S1031.将多个地块中除敌对方地块之外的地块作为可通行地块。

例如,如图3所示,当上述待移动的虚拟对象对应的敌对方地块为地块2和地块7时,上述游戏地图中的其他地块1/3/4/5/6可以均为可通行地块。

S1032.确定每一可通行地块的联通信息,联通信息包括相邻可通行地块。

具体地,上述游戏地图中各个地块(包括上述可通行地块和上述敌对方地块)的联通信息可以以字典:key-value形式预先存储在游戏场景的地图文件中,以图3所示例的游戏地图为例,用于描述该游戏地图中各个地块的联通信息的字典可以如下:

link_block={

1:[2,3,4],

2:[1,3],

3:[1,2,4,7],

4:[1,3,5,7],

5:[4,6,7],

6:[5,7],

7:[3,4,5,6],

}

其中,key为地块编号,value为与该地块相邻的地块列表。比如,地块编号为1的地块1,其对应的相邻地块列表为[2,3,4],也即,说明上述游戏地图中与地块1相邻的地块有地块2、地块3和地块4。

并且,具体实施时,上述寻路装置可以从本地或服务器端获取上述用于描述游戏地图中各个地块的联通信息的原始字典,并从该原始字典中删除敌对方地块,以得到对应的寻路关系字典,该寻路关系字典用于描述游戏地图中各个可通行地块的联通信息。接上一例子,若敌对方地块为地块2和地块7,则删除敌对方地块后得到的寻路关系字典可以如下:

link_block={

1:[3,4],

3:[1,4],

4:[1,3,5],

5:[4,6],

6:[5],

}

其中,在该寻路关系字典中,key为可通行地块编号,value为与该可通行地块相邻的可通行地块列表。比如,可通行地块编号为1的可通行地块1,其对应的相邻可通行地块列表为[3,4],也即,说明上述游戏地图中与可通行地块1相邻的可通行地块有可通行地块3和可通行地块4。

S1033.根据联通信息、起点地块和终点地块,确定虚拟对象在游戏中的移动路径。

在本实施例中,上述寻路装置可以通过遍历上述寻路关系字典中所有的key值和value值来确定上述虚拟对象在游戏中的移动路径。具体地,上述S1033可以具体包括:

S1-1.将起点地块作为当前寻路地块,并将当前寻路地块的相邻可通行地块作为下一寻路地块,得到至少一个下一寻路地块。

以图3所示例的游戏地图为例,上述起点地块可以为地块3,对应的下一寻路地块可以包括地块1和地块4。

S1-2.判断至少一个下一寻路地块中是否包含终点地块,若是,则执行S1-3,若否,则执行S1-4。

S1-3.将当前寻路路径作为虚拟对象在游戏中的移动路径。

具体地,当判断得到上述至少一个下一寻路地块中包含终点地块时,则表明寻路成功,上述寻路装置可以将当前寻路路径作为上述虚拟对象在游戏中的移动路径。其中,上述当前寻路路径为依次穿过已遍历的且相连的地块的路径,并且,该当前寻路路径的一端位于起始地块中,另一端位于终点地块中。接上一例子,若上述终点地块可以为地块1,则显然上述下一寻路地块1/4中包含该终点地块,因此可以将当前寻路路径,也即,地块3→地块1,作为上述虚拟对象在游戏中的移动路径。

S1-4.将当前寻路地块标记为已遍历地块,并利用至少一个下一寻路地块更新当前寻路地块,之后将当前寻路地块的相邻可通行地块中除已遍历地块之外的可通行地块更新为下一寻路地块,并返回执行上述S1-2。

具体地,当判断得到上述至少一个下一寻路地块中不包含终点地块时,上述寻路装置可以将当前寻路地块标记为已遍历地块,并对于上述至少一个下一寻路地块中的每一个下一寻路地块,可以将其更新为当前寻路地块,将其对应的相邻可通行地块中除已遍历地块之外的可通行地块更新为下一寻路地块,并返回执行上述S1-2,以递归遍历上述游戏地图中的可通行地块直至找到终点地块或递归遍历完该游戏地图中的所有可通行地块后结束。

具体举例,以图3所示例的游戏地图为例,上述起点地块可以为地块3,上述终点地块可以为地块5,上述敌对方地块可以为地块2和地块7,对应的寻路过程可以描述为:以起点地块3为当前寻路地块,并将当前寻路地块3的相邻可通行地块1/4作为下一寻路地块,得到两个下一寻路地块1/4;由于这两个下一寻路地块1/4中不包含终点地块5,故接着可以将当前寻路地块3标记为已遍历地块,并将这两个下一寻路地块1/4中的下一寻路地块1更新为当前寻路地块,之后可以将该当前寻路地块1的相邻可通行地块3/4中除已遍历地块3之外的可通行地块4更新为下一寻路地块,得到一个下一寻路地块4;由于这一个下一寻路地块4不是终点地块5,故接着可以将当前寻路地块1标记为已遍历地块,并将这一个下一寻路地块4更新为当前寻路地块,之后可以将该当前寻路地块4的相邻可通行地块1/3/5中除已遍历地块1/3之外的可通行地块5更新为下一寻路地块,得到一个下一寻路地块5;由于这一个下一寻路地块5是终点地块5,故可以将当前寻路路径,也即,地块3→地块1→地块4→地块5,作为上述虚拟对象在游戏中的移动路径。

可以理解的是,在一个实施例中,在上述寻路过程中,可以设置里仅需寻找到一条移动路径即可结束寻路操作,之后上述寻路装置可以在游戏界面中控制上述虚拟对象沿该唯一的移动路径移动至终点地块。在另一些实施例中,在上述寻路过程中,还可以设置需要寻找到所有可行的移动路径才可结束寻路操作。

并且,为了寻找到所有可行的移动路径,可以遍历上述起点地块的所有相邻可通行地块,接上一例子,在得到移动路径:地块3→地块1→地块4→地块5之后,上述寻路装置可以将上述两个下一寻路地块1/4中的另一个下一寻路地块4更新为当前寻路地块,之后可以将该当前寻路地块4的相邻可通行地块1/3/5中除已遍历地块3之外的可通行地块5更新为下一寻路地块,得到一个下一寻路地块5;由于这一个下一寻路地块5是终点地块5,故可以将当前寻路路径,也即,地块3→地块4→地块5,作为上述虚拟对象在游戏中的移动路径。如此,在递归遍历完上述起点地块3的所有相邻可通行地块1/4之后,可以得到上述虚拟对象在游戏中从起点地块3移动至终点地块5的所有移动路径,地块3→地块1→地块4→地块5、以及地块3→地块4→地块5。

在一些实施例中,当上述移动路径的数量为多条时,上述寻路装置可以从这多条移动路径中优选长度最短的移动路径作为上述虚拟对象进行移动时的最终移动路径,以减少后续移动操作的体力消耗。在另一些实施例中,当游戏中的虚拟对象经过某一可通行地块时,可能会被要求交纳一定数额的过路费,否则,将会不被允许通过该可通行地块,因此,为了节省费用,上述寻路装置还可以从上述多条移动路径中优选累计过路费最少的移动路径作为上述虚拟对象进行移动时的最终移动路径。

具体实施时,上述联通信息除了包括每一可通行地块的相邻可通行地块信息之外,还可以包括每一相邻可通行地块的通行信息,该通行信息可以包括过路费和/或通过距离,相应地,在上述S103之后,上述游戏中的寻路方法还可以包括:

S104.当移动路径的数量为多条时,根据通行信息确定每条移动路径对应的累积过路费和/或累积通过距离。

具体地,当上述通行信息包括过路费和通过距离时,上述用于描述游戏地图中各个可通行地块的联通信息的寻路关系字典可以如下:

link_block={

1:[3(5,100),4(3,60)],

3:[1(4,100),4(4,60)],

4:[1(3,60),3(4,60),5(0,30)],

5:[4(0,30),6(0,20)],

6:[5(1,20)],

}

其中,在该寻路关系字典中,key为可通行地块编号,value包括与该可通行地块相邻的可通行地块列表、以及经过该可通行地块列表中各个可通行地块的过路费和通过距离。比如,可通行地块编号为1的可通行地块1,其对应的相邻可通行地块列表为[3,4],也即,说明上述游戏地图中与可通行地块1相邻的可通行地块有可通行地块3和可通行地块4,其中,经过该可通行地块3的过路费和通过距离分别为5和100,经过该可通行地块4的过路费和通过距离分别为3和60。

以地块3→地块1→地块4→地块5、以及地块3→地块4→地块5这两条移动路径为例,地块3→地块1→地块4→地块5对应的累积过路费和累积通过距离分别为7和190,地块3→地块4→地块5对应的累积过路费和累积通过距离分别为3和90。

S105.确定上述多条移动路径中累积过路费和/或累积通过距离最小的目标移动路径。

接上一例子,可以确定累积过路费和累积通过距离最小的移动路径,也即,地块3→地块4→地块5,作为目标移动路径。

并且,在上述S105之后,上述寻路装置可以在游戏界面中控制上述虚拟对象沿上述目标移动路径移动至终点地块。

在一个替代实施例中,上述S1031~S1033可以被替代为以下步骤:

S1034.将起点地块作为当前寻路地块。

S1035.确定游戏地图中与当前寻路地块相邻的、且非敌对方地块的至少一个下一寻路地块。

具体地,上述寻路装置可以通过查询上述用于描述游戏地图中各个地块的联通信息的原始字典,来得到上述游戏地图中与当前寻路地块相邻的至少一个地块,然后从与当前寻路地块相邻的至少一个地块中确定非敌对方地块的至少一个下一寻路地块。其中,原始字典的具体实施方式可以参见上述S1032的具体阐述内容,故此处不再赘述。

以图3所示例的游戏地图为例,上述起点地块可以为地块3,通过查询上述原始字典可知,与该地块3相邻的地块有地块1、地块2、地块4和地块7,其中,地块2和地块7为非敌对方地块,则可以确定地块1和地块4为下一寻路地块。

S1036.判断至少一个下一寻路地块中是否包含所述终点地块,若是,则执行S1037,若否,则执行S1038。

S1037.将当前寻路路径作为虚拟对象在游戏中的移动路径。

其中,上述S1037的具体实施方式可以参见上述S1-3的具体实施方法,故此处不再赘述。

S1038.将当前寻路地块标记为已遍历地块,并利用至少一个下一寻路地块更新当前寻路地块,之后将游戏地图中与当前寻路地块相邻的、且非敌对方地块和已遍历地块的地块更新为下一寻路地块,并返回执行上述S1036。

具体地,当判断得到上述至少一个下一寻路地块中不包含终点地块时,上述寻路装置可以将当前寻路地块标记为已遍历地块,并对于上述至少一个下一寻路地块中的每一个下一寻路地块,可以将其更新为当前寻路地块,将游戏地图中与其相邻的、且非敌对方地块和已遍历地块的地块更新为下一寻路地块,并返回执行上述S1036,以递归遍历上述游戏地图中的地块直至找到终点地块或递归遍历完该游戏地图中的所有地块后结束。

具体举例,以图3所示例的游戏地图为例,上述起点地块可以为地块3,上述终点地块可以为地块5,上述敌对方地块可以为地块2和地块7,对应的寻路过程可以描述为:以起点地块3为当前寻路地块,并将游戏地图中与当前寻路地块3相邻的、且非敌对方地块的地块1/4作为下一寻路地块,得到两个下一寻路地块1/4;由于这两个下一寻路地块1/4中不包含终点地块5,故接着可以将当前寻路地块3标记为已遍历地块,并将这两个下一寻路地块1/4中的下一寻路地块1更新为当前寻路地块,之后可以将游戏地图中与该当前寻路地块1相邻的、且非敌对方地块和已遍历地块的地块4更新为下一寻路地块,得到一个下一寻路地块4;由于这一个下一寻路地块4不是终点地块5,故接着可以将当前寻路地块1标记为已遍历地块,并将上述下一寻路地块4更新为当前寻路地块,之后可以将游戏地图中与该当前寻路地块4相邻的、且非敌对方地块的地块5更新为下一寻路地块,得到一个下一寻路地块5;由于这一个下一寻路地块5是终点地块5,故可以将当前寻路路径,也即,地块3→地块1→地块4→地块5,作为上述虚拟对象在游戏中的移动路径。

并且,为了寻找到所有可行的移动路径,可以遍历上述起点地块的所有相邻地块,接上一例子,在得到移动路径:地块3→地块1→地块4→地块5之后,上述寻路装置可以将上述两个下一寻路地块1/4中的另一个下一寻路地块4更新为当前寻路地块,之后可以将游戏地图中与该当前寻路地块4相邻的、且非敌对方地块和已遍历地块的地块5更新为下一寻路地块,得到一个下一寻路地块5;由于这一个下一寻路地块5是终点地块5,故可以将当前寻路路径,也即,地块3→地块4→地块5,作为上述虚拟对象在游戏中的移动路径。如此,在递归遍历完上述起点地块3的所有相邻地块1/2/4/7之后,可以得到上述虚拟对象在游戏中从起点地块3移动至终点地块5的所有移动路径,地块3→地块1→地块4→地块5、以及地块3→地块4→地块5。

由上可知,本实施例提供的游戏中的寻路方法,通过确定待移动的虚拟对象的起点地块和终点地块,并确定游戏地图中虚拟对象对应的敌对方地块,游戏地图中包括相连接的多个地块,然后根据敌对方地块、起点地块和终点地块,确定虚拟对象在游戏中的移动路径,从而,使得游戏中具有不同外交关系的玩家能够对应有不同的敌对方地块,进而能够在游戏中实现不同玩家具有不同的寻路条件,提高了游戏表现的多样性和真实性。

在上述实施例所述方法的基础上,本实施例将从游戏中的寻路装置的角度进一步进行描述,请参阅图5,图5具体描述了本申请实施例提供的游戏中的寻路装置,其可以包括:第一确定模块301、第二确定模块302和第三确定模块303,其中:

(1)第一确定模块301

第一确定模块301,用于确定待移动的虚拟对象的起点地块和终点地块。

其中,上述第一确定模块301可以具体包括:

接收单元,用于接收寻路指令,寻路指令携带待移动的虚拟对象的起点位置和终点位置;

第七确定单元,用于将游戏地图中起点位置所在的地块作为起点地块,并将游戏地图中终点位置所在的地块作为终点地块。

(2)第二确定模块302

第二确定模块302,用于确定游戏地图中虚拟对象对应的敌对方地块,游戏地图中包括相连接的多个地块。

其中,上述第二确定模块302可以具体包括:

第一确定单元,用于确定游戏中虚拟对象所属的派系;

第二确定单元,用于确定游戏中与虚拟对象所属的派系相敌对的敌对派系;

第三确定单元,用于确定游戏地图中敌对派系拥有的敌对方地块。

(3)第三确定模块303

第三确定模块303,用于根据敌对方地块、起点地块和终点地块,确定虚拟对象在游戏中的移动路径。

其中,第三确定模块303可以具体包括:

第四确定单元,用于将多个地块中除敌对方地块之外的地块作为可通行地块;

第五确定单元,用于确定每一可通行地块的联通信息,联通信息包括相邻可通行地块;

第六确定单元,用于根据联通信息、起点地块和终点地块,确定虚拟对象在游戏中的移动路径。

具体地,上述第六确定单元可以具体用于:

将起点地块作为当前寻路地块,并将当前寻路地块的相邻可通行地块作为下一寻路地块,得到至少一个下一寻路地块;

判断至少一个下一寻路地块中是否包含终点地块;

若是,则将当前寻路路径作为虚拟对象在游戏中的移动路径;

若否,则将当前寻路地块标记为已遍历地块,并利用至少一个下一寻路地块更新当前寻路地块,之后将当前寻路地块的相邻可通行地块中除已遍历地块之外的可通行地块更新为下一寻路地块,并返回执行判断至少一个下一寻路地块中是否包含终点地块的步骤。

在一个具体实施例中,上述联通信息除了包括相邻可通行地块之外,还可以包括每一相邻可通行地块的通行信息,且该通行信息可以包括过路费和/或通过距离,上述游戏中的寻路装置还可以包括:

(4)第四确定模块

第四确定模块,用于当移动路径的数量为多条时,根据通行信息确定每条移动路径对应的累积过路费和/或累积通过距离;

(5)第五确定模块

第五确定模块,用于确定多条移动路径中累积过路费和/或累积通过距离最小的目标移动路径。

在一个替代实施例中,上述第三确定模块303还可以具体用于:

将起点地块作为当前寻路地块;

确定游戏地图中与当前寻路地块相邻的、且非敌对方地块的至少一个下一寻路地块;

判断至少一个下一寻路地块中是否包含终点地块;

若是,则将当前寻路路径作为虚拟对象在游戏中的移动路径;

若否,则将当前寻路地块标记为已遍历地块,并利用至少一个下一寻路地块更新当前寻路地块,之后将游戏地图中与当前寻路地块相邻的、且非敌对方地块和已遍历地块的地块更新为下一寻路地块,并返回执行判断至少一个下一寻路地块中是否包含终点地块的步骤。

具体实施时,以上各个单元和模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元和模块的具体实施可参见前面的方法实施例,在此不再赘述。

由上可知,本实施例提供的游戏中的寻路装置,包括第一确定模块,用于确定待移动的虚拟对象的起点地块和终点地块;第二确定模块,用于确定游戏地图中虚拟对象对应的敌对方地块,游戏地图中包括相连接的多个地块;第三确定模块,用于根据敌对方地块、起点地块和终点地块,确定虚拟对象在游戏中的移动路径,从而,使得游戏中具有不同外交关系的玩家能够对应有不同的敌对方地块,进而能够在游戏中实现不同玩家具有不同的寻路条件,提高了游戏表现的多样性和真实性。

相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端或服务器,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机、个人数字助理(Personal Digital Assistant,PDA)等终端设备。如图6所示,图6为本申请实施例提供的计算机设备的结构示意图。该计算机设备400包括有一个或者一个以上处理核心的处理器401、有一个或一个以上计算机可读存储介质的存储器402及存储在存储器402上并可在处理器上运行的计算机程序。其中,处理器401与存储器402电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

处理器401是计算机设备400的控制中心,利用各种接口和线路连接整个计算机设备400的各个部分,通过运行或加载存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备400的各种功能和处理数据,从而对计算机设备400进行整体监控。

在本申请实施例中,计算机设备400中的处理器401会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能:

确定待移动的虚拟对象的起点地块和终点地块;

确定游戏地图中虚拟对象对应的敌对方地块,游戏地图中包括相连接的多个地块;

根据敌对方地块、起点地块和终点地块,确定虚拟对象在游戏中的移动路径。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

可选的,如图6所示,计算机设备400还包括:触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407。其中,处理器401分别与触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407电性连接。本领域技术人员可以理解,图6中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

触控显示屏403可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏403可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器401,并能接收处理器401发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器401以确定触摸事件的类型,随后处理器401根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏403而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏403也可以作为输入单元406的一部分实现输入功能。

在本申请实施例中,通过处理器401执行游戏应用程序在触控显示屏403上生成虚拟三维场景的画面,该画面中包括图形用户界面(UI界面),该图形用户界面中包括第二空间方位指示器,该第二空间方位指示器上显示了目标对象所对应的空间方位标识,该空间方位标识用于标示目标对象所在的方位。

该触控显示屏403可以用于呈现虚拟三维场景的画面,以及图形用户界面并接收用户作用于图形用户界面产生的操作指令。

射频电路404可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。

音频电路405可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路405可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路405接收后转换为音频数据,再将音频数据输出处理器401处理后,经射频电路404以发送给比如另一计算机设备,或者将音频数据输出至存储器402以便进一步处理。音频电路405还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。

输入单元406可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

电源407用于给计算机设备400的各个部件供电。可选的,电源407可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源407还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管图6中未示出,计算机设备400还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

由上可知,本实施例提供的计算机设备可以在游戏中实现不同玩家具有不同的寻路条件,进而提高游戏表现的多样性和真实性实现。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种游戏中的寻路方法中的步骤。例如,该计算机程序可以执行如下步骤:

确定待移动的虚拟对象的起点地块和终点地块;

确定游戏地图中虚拟对象对应的敌对方地块,游戏地图中包括相连接的多个地块;

根据敌对方地块、起点地块和终点地块,确定虚拟对象在游戏中的移动路径。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种游戏中的寻路方法中的步骤,因此,可以实现本申请实施例所提供的任一种游戏中的寻路方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本申请实施例所提供的一种游戏中的寻路方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 游戏中的寻路方法及装置、计算机存储介质、电子设备
  • 游戏中的自动寻路方法、装置、设备及存储介质
技术分类

06120112849523