一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

游戏对象寻路方法、装置及计算机可读存储介质与流程

2022-02-19 02:02:32 来源:中国专利 TAG:


1.本发明涉及游戏设备领域,尤其涉及一种游戏对象寻路方法、装置及计算机可读存储介质。


背景技术:

2.随着互联网技术的不断发展,游戏行业得到了不断发展,游戏玩家对于游戏内的游戏ai以及其他玩家在游戏中的表现尤为重视。以slg游戏为例,在策略布置过程及游戏过程中,玩家控制的游戏对象,及游戏本身具有的游戏对象(npc)在游戏过程中将持续移动。因此,在游戏中,对于游戏对象从一个地点寻路到另一个地点是一项常见的行为。
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.优选地,当不具有静态阻挡对象和未来动态阻挡对象时,地图服务器标记移动路径合法,并注册移动路径中经过的地图单元,以控制游戏对象经移动路径移动的步骤包括:
29.当不具有静态阻挡对象和未来动态阻挡对象时,地图服务器分割移动路径为至少两个路径单元,并标记以移动起点为起点端的路径单元合法,并注册合法的路径单元中的地图单元,以控制游戏对象经注册的地图单元移动;
30.游戏对象移动时,地图服务器顺序判断未标记路径单元中是否具有静态阻挡对象和未来动态阻挡对象;
31.当未标记路径单元不具有静态阻挡对象和未来动态阻挡对象时,地图服务器顺序标记路径单元合法,并注册合法的路径单元中的地图单元,以控制游戏对象经注册的地图单元移动;
32.当未标记路径单元具有静态阻挡对象和未来动态阻挡对象时,地图服务器向寻路服务器发送一重寻请求,寻路服务器根据重寻请求生成一更新路径,并发送更新路径至地图服务器,直至地图服务器判断更新路径不具有静态阻挡对象和未来动态阻挡对象。
33.优选地,当具有静态阻挡对象和未来动态阻挡对象时,地图服务器向寻路服务器发送一重寻请求,寻路服务器根据重寻请求生成一更新路径,并发送更新路径至地图服务器,直至地图服务器判断更新路径不具有静态阻挡对象和未来动态阻挡对象的步骤包括:
34.当具有静态阻挡对象和未来动态阻挡对象时,地图服务器注册以移动起点为起点端的移动路径的部分地图单元,并控制游戏对象经部分地图单元移动,同时,地图服务器向寻路服务器发送一以静态阻挡对象或未来动态阻挡对象为更新起点的重寻请求,寻路服务器根据重寻请求生成一更新路径,并发送更新路径至地图服务器,直至地图服务器判断更新路径不具有静态阻挡对象和未来动态阻挡对象。
35.优选地,地图单元呈正六边形;
36.当具有静态阻挡对象和未来动态阻挡对象时,地图服务器向寻路服务器发送一重寻请求,寻路服务器根据重寻请求生成一更新路径,并发送更新路径至地图服务器,直至地图服务器判断更新路径不具有静态阻挡对象和未来动态阻挡对象的步骤包括:
37.当具有静态阻挡对象和未来动态阻挡对象时,地图服务器读取未来动态阻挡对象进入地图单元的边条及进入方向;
38.地图服务器读取移动路径中进入地图单元的期望边条及期望进入方向,并与未来动态阻挡对象进入地图单元的边条及进入方向比较;
39.当期望边条与边条不同,且期望进入方向与进入方向相近时,地图服务器标记移动路径合法,并注册移动路径中经过的地图单元,以控制游戏对象经移动路径移动;
40.当期望边条与边条相同,或期望进入方向与进入方向相反时,地图服务器向寻路服务器发送一重寻请求,寻路服务器根据重寻请求生成一更新路径,并发送更新路径至地图服务器,直至地图服务器判断更新路径不具有静态阻挡对象和未来动态阻挡对象。
41.优选地,当期望边条与边条不同,且期望进入方向与进入方向相近时,地图服务器标记移动路径合法,并注册移动路径中经过的地图单元,以控制游戏对象经移动路径移动的步骤替换为:
42.当期望边条与边条不同,且期望进入方向与进入方向相近时,地图服务器将移动路径中经过的地图单元替换为与期望边条相邻的相邻边条,使得移动路径经过两相邻地图单元的连接边条;
43.地图服务器标记移动路径合法,并注册移动路径中经过的地图单元,以控制游戏对象经移动路径移动。
44.本发明还公开了一种装置,装置包括:
45.交互模块,交互模块显示游戏对象,并接受一移动请求,外发游戏对象的移动起点和移动终点;
46.地图服务器,自交互模块接收游戏对象的移动起点和移动终点,并将移动起点、移动终点、阻挡信息及已注册路径打包形成地图信息;
47.寻路服务器,自地图服务器接收地图信息,生成一移动路径,并返回至地图服务器;
48.地图服务器判断移动路径中是否具有静态阻挡对象和未来动态阻挡对象;
49.当不具有静态阻挡对象和未来动态阻挡对象时,地图服务器标记移动路径合法,并注册移动路径中经过的地图单元,以控制游戏对象经移动路径移动;
50.当具有静态阻挡对象和未来动态阻挡对象时,地图服务器向寻路服务器发送一重寻请求,寻路服务器根据重寻请求生成一更新路径,并发送更新路径至地图服务器,直至地图服务器判断更新路径不具有静态阻挡对象和未来动态阻挡对象。
51.一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上所述的游戏对象寻路方法的步骤。
52.采用了上述技术方案后,与现有技术相比,具有以下有益效果:
53.1.游戏应用程序内可实现比较复杂的移动和具有动态阻挡的寻路规则;
54.2.可避免客户端和服务器同时进行寻路操作时带来的各种表现问题,如资源浪费、重复寻路等;
55.3.设计有位置排他性的预测,各对象移动时以最优路线移动且无碰撞。
附图说明
56.图1为符合本发明一优选实施例中游戏对象寻路方法的流程示意图;
57.图2为符合本发明一优选实施例中装置的结构示意图。
具体实施方式
58.以下结合附图与具体实施例进一步阐述本发明的优点。
59.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
60.在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
61.应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
62.在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
63.在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
64.在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
65.参阅图1,为符合本发明一优选实施例中游戏对象寻路方法的流程示意图,在该实施例中,游戏对象寻路方法包括以下步骤:
66.s100:游戏对象接收一移动请求,并将自身的移动起点和移动终点发送至地图服务器
67.用户使用一如智能手机、平板电脑等设备进行游戏时,将激活一游戏应用程序,例如战棋类游戏、moba类游戏等根据用户在设备上的滑动,控制游戏内游戏对象的移动。具体地,用户使用手指、触控笔等方式或设备在设备的显示屏上,通过点击待移动游戏对象、拖动待移动游戏对象、或转动十字轮盘以控制游戏对象移动等方式,移动游戏对象。上述用户对设备的指令输入,设备视为移动请求,基于该针对游戏对象的移动请求,游戏对象的移动起点(目前处于的位置、开始移动时的位置等)和移动终点(移动后停止的位置、移动后中止的位置、目标位置等)将被游戏应用程序发送至地图服务器。
68.地图服务器为外设于设备,具体如设置在游戏应用程序开发商所开发游戏应用程序利用的服务器等,由于地图服务器与设备隔离,因此,对于游戏对象的寻路过程将完成在设备外部,不占用设备资源,防止设备因运算能力被大量占用后造成的发烫、运行卡顿等情况。
69.s200:地图服务器将接收的移动起点、移动终点、阻挡信息及已注册路径打包形成地图信息,并发送至寻路服务器
70.地图服务器接收到设备发来的移动起点和移动终点后,将上述两信息,以及本已记录在地图服务器内,该设备目前运行的游戏应用程内针对当前账户的当前地图状态内的阻挡信息(例如地图内有哪些位置具有静态阻挡,群山、河流、npc固定或稳定移动位置等),以及已注册路径(其余用户所控制的游戏对象正在移动的位置、即将移动的位置等)打包后,形成一地图信息,该地图信息由地图服务器形成后,将被发送至一与地图服务器连接(如通信连接、集成在服务器/服务器组内的一个或多个服务器/服务器模块)的寻路服务器。
71.s300:寻路服务器根据地图信息生成一移动路径,并发送移动路径至述地图服务器
72.寻路服务器收到地图信息后,将根据移动起点、移动终点,生成一移动路径。具体地,该移动路径生成时,将根据如路径最短、绕开已知的静态阻挡对象等生成逻辑生成。该移动路径将被寻路服务器返回至地图服务器。
73.可以理解的是,寻路服务器内可并不存储游戏应用程序内的地图信息,其内可仅具有对于地图信息的处理运算逻辑。例如,根据移动起点和移动终点的两点为基准,并计算两点间可移动的路径中,长度最短的路径为移动路径,即上文所述的路径最短,或是可绕开阻挡对象,并经过游戏应用程序所指定的期望路过的部分(如商店、本方基地等)。所计算的逻辑可由游戏应用程序的制作商自由划定,或根据用户的需求制定。
74.s400:地图服务器判断所述移动路径中是否具有静态阻挡对象和未来动态阻挡对象
75.地图服务器接收到移动路径后,该移动路径为基于已有确定信息下的移动路径,在生辰过程中,或移动过程中,可能出现地图中阻挡信息变化(新增的其他用户的游戏对象)的情况,则地图服务器在接收到移动路径后,将判断当前时刻下,即最新的地图信息中心,已生成的移动路径中是否仍具有静态阻挡对象(如其他用户控制游戏对象释放技能后,在地图上新生成的静态物体)和未来动态阻挡对象(如地图内新出现的移动游戏对象)。判断方式可以是,移动路径由多个地图单元组成,无论是静态阻挡对象还是动态阻挡对象,都将位于某一地图单元上,则移动路上的某一或某些地图单元具有静态阻挡对象或动态阻挡对象,或是其他移动游戏对象正注册或已注册的地图单元时,则视为“具有”,反之,则为“不具有”。
76.可以理解的是,该步骤s400的执行,并非限定于紧接在步骤s300后,例如,可在游戏对象移动过程中,才执行步骤s400,即地图服务器收到移动路径后,移动对象直接沿其移动,而在移动的过程中,于某点处,判断未移动的路径内是否具有静态阻挡对象和未来动态阻挡对象。
77.s500:当不具有静态阻挡对象和未来动态阻挡对象时,地图服务器标记移动路径合法,并注册移动路径中经过的地图单元,以控制游戏对象经移动路径移动
78.判断结果为“不具有”时,则寻路服务器所生成的移动路径为游戏对象可移动的路径,由此,地图服务器将对其标记为合法,并注册移动路径中的地图单元,注册后的地图单元在游戏对象开始移动或移动过程中,将不允许其他游戏对象进入,即注册制为移动路径提供了一种排他性的设置,防止游戏对象与其余游戏对象碰撞。移动路径注册后,游戏对象便可从移动起点为始,沿移动路径向移动终点移动,直至到达移动终点后,该移动结束,并释放所注册的地图单元,将这些地图单元恢复为非排他性的可复注册的状态。
79.s500’:当具有静态阻挡对象和未来动态阻挡对象时,地图服务器向寻路服务器发送一重寻请求,寻路服务器根据重寻请求生成一更新路径,并发送更新路径至地图服务器,直至地图服务器判断更新路径不具有静态阻挡对象和未来动态阻挡对象
80.当判断结果为“具有”时,即若游戏对象按照该移动路径移动时,移动过程中将触碰到阻挡,为提高用户体验,避免上述情况的发生,地图服务器将向寻路服务器发送一重寻请求,寻路服务器接收到重寻请求后,将生成一更新路径。可以理解的是,地图服务器在向寻路服务器发送重寻请求时,将把验证的移动路径中具有的静态阻挡对象和未来动态阻挡对象信息(具体如哪个或那些地图单元)一并发送至寻路服务器,以供寻路服务器在生成更新路径时,可绕开这些地图单元。
81.上述过程可反复执行,直至地图服务器判断寻路服务器生成的某次更新路径中不再具有静态阻挡对象和未来动态阻挡对象后,才控制游戏对象按照最终的更新路径移动。
82.通过上述配置,一方面可实时地计算游戏对象移动时的移动路径与地图节点解耦的关系,另一方面,通过未来移动的预测,可实现大数量游戏对象移动时的计算场景,将该部分运算占用转嫁至地图服务器和寻路服务器后,节省装置的资源与配置。
83.一优选实施例中,步骤s100包括:
84.s110:游戏对象接收一移动请求
85.用户在装置(即上文所述的设备)上的操作将被装置的电容屏识别,并与游戏应用程序内的游戏对象指向后,识别用户的操作为用户对游戏对象的期望移动方式,进而识别
为用户对游戏对象的移动请求。
86.s120:游戏对象将自身的移动起点、移动终点和移动路长阈值发送至移动代理节点
87.用户输入移动请求后,游戏对象当前的位置,或所处的地图单元为移动起点,用户所指向的方向、具体地图单元为装置,且装置根据游戏应用程序预设的移动路长阈值的具体数值(一次移动中,游戏对象可移动的最长路径)发送至一移动代理节点。该实施例中,移动代理节点为寻路服务器与地图服务器间的媒介,一方面用作数据缓存及转发,另一方面,为数据处理排序,防止寻路服务器接收过多处理请求而降低数据处理速度。
88.s130:移动代理节点发送移动起点、移动终点和移动路长阈值发送至地图服务器
89.移动代理节点收到地图信息后,转发至地图服务器。通过在移动代理节点处的缓冲,可对所有发送至地图服务器的地图信息有序地发送,避免出现地图服务器负载过高而处理放缓的情况。
90.继而,步骤s200包括:
91.s210:地图服务器将接收的移动起点、移动终点、阻挡信息及已注册地图单元、已注册地图单元的注册时间打包形成地图信息,并发送至寻路服务器
92.地图服务器收到上述地图信息后,将存储在自身的其他地图信息(例如游戏应用程序开发商在自身地图服务器内预存有的地图建模信息、其他玩家在地图上移动而产生的信息等)与移动起点、移动终点打包后,一并发送至寻路服务器。其中包括有已注册地图单元和已注册地图单元的注册时间,已注册地图单元表示用户在发起移动请求时,游戏对象所处地图(或有缝连接、无缝连接的区域)内哪些地图单元(如网格状地图中每个单元格,或是游戏对象的单位移动距离所在的位置)已被注册,注册后的地图单元即被所注册的游戏对象锁定,其他游戏对象无法进入,从而不会出现碰撞的情况。而考虑到游戏对象在移动时,处于动态的情况,一旦已注册的地图单元经过后,将不会再移动过来,因此,每一已注册地图单元的注册时间,即游戏单元进入该已注册地图单元的时间和离开该已注册地图单元的时间,也将被打包入,以在保证同一时刻下不会有多个游戏对象进入一个地图单元的情况下,让多个游戏对象可在同一时间在同一地图内移动,是的地图单元的利用率增加,空置率降低,一方面可加快游戏进程,提高用户体验,另一方面可丰富游戏玩法,增加游戏的实时性。
93.优选或可选实施例中,地图服务器判断移动路径中是否具有静态阻挡对象和未来动态阻挡对象的步骤s400包括:
94.s410:地图服务器读取移动路径的期望地图单元,并将期望地图单元与已注册地图单元比较
95.为判断移动路径中是否具有静态阻挡对象和未来动态阻挡对象,地图服务器将首先读取移动路径中的期望地图单元,该期望地图单元为此次待移动的游戏对象的预生成的移动路径中将涉及到的地图单元,例如,移动起点为点a,移动终点为点b,移动路径自点a出发至点b将经过点c、点d和点e,则点a、b、c、d、e为期望地图单元。
96.调用上述期望地图单元后,地图服务器将把期望地图单元与已注册地图单元进行比较,以确认期望地图单元是否可被注册,防止同一时间多个游戏对象进入同一地图单元。
97.s420:当期望地图单元中的至少一个与已注册地图单元的至少一个重合时,地图
服务器判断移动路径中具有静态阻挡对象和未来动态阻挡对象
98.当步骤s410中的比较结果为,期望地图单元中的至少一个与已注册地图单元的至少一个出现重合时,即该游戏对象的移动路径与其他已注册的移动路径相交,表示该重合的地图单元,游戏对象和其他未移动(或正在移动过程中的)游戏对象都将经过,则表示移动路径中具有未来动态阻挡对象。可以理解的是,若其他游戏对象恰在该重合的地图单元停止或中止时,则其他游戏对象为移动路径中的静态阻挡对象。
99.s420’:当期望地图单元中的所有与已注册地图单元的所有不重合时,地图服务器判断移动路径中不具有静态阻挡对象和未来动态阻挡对象
100.反之,若期望地图单元中的所有与已注册地图单元的所有不重合时,即该游戏对象的移动路径与其他已注册的移动路径不相交,游戏对象的移动路径不具有静态阻挡对象和未来动态阻挡对象,从而该移动路径可正常被游戏对象注册,游戏对象可正常沿该移动路径移动。
101.上述实施例中,已注册地图单元与期望地图单元比较时,所包括的信息具体有注册时间恒定的已注册静态地图单元及具有注册起始时刻和注册截止时刻的已注册动态地图单元,其中,注册时间恒定的已注册静态地图单元为,地图中由游戏应用程序开发商预先设置的静态物体,无论游戏时长为多少,这些静态物体始终位于同一地图单元内,则其注册时间恒定,在时间轴上,这些地图单元始终为注册状态。而已注册动态地图单元,考虑到游戏对象并未始终占用,因此,基于其动态的状态,每一游戏对象有进入已注册地图单元时的注册起始时刻和离开已注册地图单元时的注册截止时刻,都将被记录在已注册地图单元内。
102.可以理解的是,注册起始时刻和注册截止时刻之间的注册时段,可以是游戏对象不在已注册地图单元内暂停时的常规时段,例如以地图单元的宽度除以游戏对象的移动速度的时间为注册时段,或是游戏对象在已注册地图单元内停留的时段。
103.基于此,期望地图单元与已注册地图单元比较时,在出现移动路径相交时,将进一步比较期望地图单元的期望注册起始时刻和期望注册截止时刻之间的期望注册时段,与注册起始时刻和注册截止时刻间的已注册时段,当且仅当期望注册时段与已注册时段部分重合时(即在某一时刻时多个游戏对象会进入同一地图单元时),地图服务器才会判断移动路径中具有为力啊动态阻挡对象。不同地,当期望地图单元中的所有与已注册地图单元的所有不重合,或期望地图单元中的至少一个与已注册地图单元的至少一个重合,且期望地图单元的期望注册起始时刻和期望注册截止时刻间的期望注册时段与注册起始时刻和注册截止时刻间的已注册时段部分不重合时,表示虽然某一或某些地图单元会被多个游戏对象同时注册,但多个游戏对象进入该地图单元的时刻不重复,呈前后进出的状态,对于多个游戏对象而言,不会出现碰撞的情况,因此,地图服务器判断移动路径中不具有未来动态阻挡对象。
104.更进一步地,当不具有静态阻挡对象和未来动态阻挡对象时,地图服务器标记移动路径合法,并注册移动路径中经过的地图单元,以控制游戏对象经移动路径移动的步骤s500具体包括:
105.s510:当不具有静态阻挡对象和未来动态阻挡对象时,地图服务器分割移动路径为至少两个路径单元,并标记以移动起点为起点端的路径单元合法,并注册合法的路径单
元中的地图单元,以控制游戏对象经注册的地图单元移动
106.在判定移动路径中不具有静态阻挡对象和未来动态阻挡对象时,该实施例中,地图服务器将分割移动路径至至少两个路径单元,即并非一次性地完成游戏单元在移动路径上的移动,反之,分段式地将游戏单元在移动路径上的移动多次判定,以实时分析地图上的动态变化。更为具体地,确定分割后,将标记以移动起点为起点端的第一段路径单元合法,继而注册合法的路径单元中的地图单元,也就是说移动路径中,除该路径单元外的其余路径单元呈未注册的开放状态,其他游戏对象可进入。由此,游戏对象在注册的地图单元移动。
107.s520:游戏对象移动时,地图服务器顺序判断未标记路径单元中是否具有静态阻挡对象和未来动态阻挡对象
108.游戏对象移动时,由于路径单元的地图单元已被注册,游戏对象可自由移动,而与此同时,地图服务器顺序判断未标记的路径单元是否具有静态阻挡对象和未来动态阻挡对象,通俗点而言,游戏对象在前一段路径单元移动时,地图服务器判断后一端路径单元是否可注册供游戏对象移动,由此节省地图服务器的单词资源要求。
109.s530:当未标记路径单元不具有静态阻挡对象和未来动态阻挡对象时,地图服务器顺序标记路径单元合法,并注册合法的路径单元中的地图单元,以控制游戏对象经注册的地图单元移动
110.在后一段或后多段未标记路径单元不具有静态阻挡对象和未来动态阻挡对象时,地图服务器顺序标记路径单元合法,并注册合法的路径单元中的地图单元,以控制游戏对象经注册的地图单元移动,使得游戏对象可在接续的地图单元内顺次移动。
111.s540:当未标记路径单元具有静态阻挡对象和未来动态阻挡对象时,地图服务器向寻路服务器发送一重寻请求,寻路服务器根据重寻请求生成一更新路径,并发送更新路径至地图服务器,直至地图服务器判断更新路径不具有静态阻挡对象和未来动态阻挡对象
112.若由于地图内其余游戏对象的动态变化时,导致游戏对象在移动过程中,其他优先级更高的游戏对象需要优先进入某些地图单元时,则将出现未标记路径单元具有静态阻挡对象和未来动态阻挡对象,由此,地图服务器将向寻路服务器发送一重寻请求,也就是说,游戏对象在移动过程中,将重新确定后续的移动路径,即寻路服务器基于该重寻请求,以已注册的路径单元的终点为更新的移动起点,生成一与原移动路径不同的更新路径,更新路径将被发送至地图服务器内,由地图服务器再次判断更新路径内是否具有静态阻挡对象和未来动态阻挡对象。可以理解的是,此次或后续每次地图服务器判断时,均可采用整体判断法则或分段判断法则,整体判断法则即判断整个更新路径是否合法,分段判断法则即判断更新路径中的顺次每段或每多端是否合法,具体采用方式可根据用户的服务器计算能力和地图游戏对象的数量决定。上述判断,截止到更新路径不再具有静态阻挡对象和未来动态阻挡对象为止,即最为优选地,可在游戏对象每移动一路径单元后,都进行判断,直至不断更新出分段的合法路径。
113.一优选实施例中,当具有静态阻挡对象和未来动态阻挡对象时,地图服务器向寻路服务器发送一重寻请求,寻路服务器根据重寻请求生成一更新路径,并发送更新路径至地图服务器,直至地图服务器判断更新路径不具有静态阻挡对象和未来动态阻挡对象的步骤s600具体包括:
114.s610:当具有静态阻挡对象和未来动态阻挡对象时,不同于游戏对象需等待合法的移动路径出现的情形,即即便在已知移动路径上具有阻挡状态下,仍开始移动(则对于用户而言,操作的延迟性将大大降低),继而,地图服务器侧,其注册以移动起点为起点端的移动路径的部分地图单元,并控制游戏对象经部分地图单元移动,同时,地图服务器向寻路服务器发送一以静态阻挡对象或未来动态阻挡对象为更新起点的重寻请求,寻路服务器根据重寻请求生成一更新路径,并发送更新路径至地图服务器,直至地图服务器判断更新路径不具有静态阻挡对象和未来动态阻挡对象。也就是说,由于阻挡通常出现在移动路径的中部,则移动路径的前段对于游戏对象而言,可正常移动,因此,为加快处理速度,在游戏对象移动过程的同时,地图服务器向寻路服务器发送寻路请求,将多步骤并行操作,对于游戏应用程序的用户而言,其发出的移动请求将更快地被响应,提高用户的使用体验。
115.可以理解的是,若最初移动时,便遇到移动起点后的n个路径点无法注册时,将视为移动失败,重新进行寻路。以及,移动对象移动到某一目标点(非移动终点)时,若该目标点具有阻挡时,可配置为回退到上一目标点,重新寻路。
116.又一优选实施例中,每一地图单元配置为呈正六边形,则游戏对象可从该正六边形的任意一边进入,并从任意一边离开,可以理解的是,若所进入的边与离开的边并非对边,则游戏对象在该地图单元内便向用户提供转向的交互。进一步地,步骤s600具体包括:
117.s610’:当具有静态阻挡对象和未来动态阻挡对象时,地图服务器读取未来动态阻挡对象进入地图单元的边条及进入方向
118.地图服务器判断移动路径中具有静态阻挡对象和未来动态阻挡对象后,将读取未来动态阻挡对象具体阻挡的信息,例如进入地图单元的哪一边条和进入方向,即未来动态阻挡对象具体如何进入到地图单元。
119.s620’:地图服务器读取移动路径中进入地图单元的期望边条及期望进入方向,并与未来动态阻挡对象进入地图单元的边条及进入方向比较
120.同样地,对于移动路径中与未来动态阻挡对象可能出现碰撞的该地图单元,地图服务器将读取游戏对象进入同一地图对象的期望边条及期望进入方向。获取到期望边条及期望进入方向后,将于未来动态阻挡对象进入地图单元的比那条及进入方向比较。可以理解的是,在该实施例中,将允许同一时刻下多个游戏对象进入同一地图单元,只需满足这些游戏对象进入的边条或离开的边条不一致,即对于用户而言,游戏对象与其余游戏对象在该地图单元内异侧进入且异侧离开,在游戏对象的模型较小时,也不会出现明显的碰撞交互。因此,该实施例中所提供的是某些场景(多个近战类的游戏对象出现对抗、游戏对象需要接触)中,可较小碰撞或近似碰撞的应用,增加本发明实施例中在不同游戏应用程序的适用性。
121.s630’:当期望边条与边条不同,且期望进入方向与进入方向相近时,地图服务器标记移动路径合法,并注册移动路径中经过的地图单元,以控制游戏对象经移动路径移动
122.比较结果为期望边条与边条不同,且期望进入方向与进入方向相近时,则允许游戏对象与其余游戏对象在同一地图单元内共用移动,因此,地图服务器标记移动路径合法,并在该地图单元内注册,使得该地图单元同时多次/重复注册(该实施例中重复注册开放),最终控制游戏对象在移动路径内移动。
123.s640’:当期望边条与边条相同,或期望进入方向与进入方向相反时,地图服务器
向寻路服务器发送一重寻请求,寻路服务器根据重寻请求生成一更新路径,并发送更新路径至地图服务器,直至地图服务器判断更新路径不具有静态阻挡对象和未来动态阻挡对象
124.反之,期望边条与边条相同,或者期望进入方向与进入方向相反时,表示游戏对象与其余游戏对象在同一处进入或离开地图单元,则即便在地图单元允许重复注册的开放权限下,也将出现多个游戏对象完全碰撞的情况。因此,地图服务器将向寻路服务器发送重寻请求,寻路服务器根据重寻请求生成一更新路径,并发送更新路径至地图服务器,直至地图服务器判断更新路径不具有静态阻挡对象和未来动态阻挡对象。
125.更进一步地,步骤s630’可替换为:
126.s631”:当期望边条与边条不同,且期望进入方向与进入方向相近时,地图服务器将移动路径中经过的地图单元替换为与期望边条相邻的相邻边条,使得移动路径经过两相邻地图单元的连接边条
127.同样在期望边条与边条不同,且期望进入方向与进入方向相近时,将控制游戏对象和其余游戏对象中的之一完全从地图单元内移动,而另一则从相邻的地图单元的连接处移动。具体地,地图服务器将移动路径中经过的地图单元替换为与期望边条相邻的相邻边条,即移动路径不完全穿过某一地图单元,而是经过两相邻地图单元的连接边条。该配置,可进一步利用地图内的空间,对于游戏开发而言,可降低地图的开发难度、地图的大小,从而节省研发资源。
128.s632”:地图服务器标记移动路径合法,并注册移动路径中经过的地图单元,以控制游戏对象经移动路径移动
129.继而,地图服务器标记移动路径仍合法,并同样注册移动路径中经过的地图单元,但在移动到上述期望地图单元时,将不进期望地图单元,而控制移动对象穿过连接边条。较为优选地,游戏对象移动时,可能出现两相邻地图单元在同一时刻下已有两个游戏对象位于或经过这两个地图单元,而第三游戏对象可在两地图单元的连接边条移动,也就是说,同一时刻下,三个游戏对象在基本无碰撞的交互表示下,只占用两个地图单元而无碍移动,进一步降低地图的开发难度。
130.参阅图2,本发明公开了一种装置,如用于游戏对象寻路的终端、服务器组等,其包括:
131.交互模块,交互模块显示游戏对象,并接受一移动请求,外发游戏对象的移动起点和移动终点;
132.地图服务器,自交互模块接收游戏对象的移动起点和移动终点,并将移动起点、移动终点、阻挡信息及已注册路径打包形成地图信息;
133.寻路服务器,自地图服务器接收地图信息,生成一移动路径,并返回至地图服务器;
134.地图服务器判断移动路径中是否具有静态阻挡对象和未来动态阻挡对象;
135.当不具有静态阻挡对象和未来动态阻挡对象时,地图服务器标记移动路径合法,并注册移动路径中经过的地图单元,以控制游戏对象经移动路径移动;
136.当具有静态阻挡对象和未来动态阻挡对象时,地图服务器向寻路服务器发送一重寻请求,寻路服务器根据重寻请求生成一更新路径,并发送更新路径至地图服务器,直至地图服务器判断更新路径不具有静态阻挡对象和未来动态阻挡对象。
137.本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上文所述游戏对象寻路方法的步骤。
138.应当注意的是,本发明的实施例有较佳的实施性,且并非对本发明作任何形式的限制,任何熟悉该领域的技术人员可能利用上述揭示的技术内容变更或修饰为等同的有效实施例,但凡未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何修改或等同变化及修饰,均仍属于本发明技术方案的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献