一种分布式无碰撞移动规划的方法

文档序号:8285639阅读:456来源:国知局
一种分布式无碰撞移动规划的方法
【技术领域】
[0001]本发明涉及游戏应用,特别是一种分布式无碰撞移动规划的方法。
【背景技术】
[0002]移动作为游戏中的最频繁的动作之一,自然是游戏中最核心的体验。在游戏中,每个需要规划其移动路径的场景对象被视为一个移动代理,其中,移动规划主要是规划移动代理的移动方向和移动速度,通过定期规划,改变移动代理的移动方向和速度,即可模拟出每个移动代理对环境障碍的智能反应。其中,游戏中环境障碍分为两种,一种是地形变化带来的静态障碍,在整个游戏过程中长期保持不变;另一种是场景对象占有的空间带来的障碍,场景对象一般是移动的,因此,这类障碍也通常被称为动态障碍。
[0003]一般的网络游戏只考虑地形的高度变化等静态障碍,并使用爬坡能力(爬坡能力,是指角色不能违反常识,从一个很低的位置直接爬上临近的很高的位置;有些情况下,角色从一个很高的位置直接坠落到临近的一个很低的位置,也不被设计所允许;这两种情况都被认为是移动中碰到了障碍,即这样的移动尝试是无效的。)来抽象和描述地形障碍,对于动态障碍则一般不予考虑,其结果是场景对象之间位置互相穿插的现象严重,违背玩家在现实世界中建立起来的直观感受。移动规划中考虑动态障碍虽然会带来更真实的用户体验,但是所需的计算量较大。
[0004]移动规划中考虑动态障碍,最直观的做法是所有计算由一个节点控制(通常是服务端),在节点中输入所有移动代理的当前位置信息、预期移动目标点、预期速度、当前移动速度以及当前移动方向进行规划,规划一次,则确定所有移动代理新的移动速度和移动方向。定期进行规划,每个移动代理使用新的移动速度和移动方向更新其位置,以避免与障碍的碰撞,且位置逐渐趋近移动目标位置。但由于规划需要定期执行,频率很高,集中进行计算运算量过大,严重影响运算效率,且成本耗费较高。

【发明内容】

[0005]为解决上述问题,本发明的目的在于提供一种分布式无碰撞移动规划的方法,结合静态障碍和动态障碍,提升用户体验。
[0006]本发明解决其问题所采用的技术方案是:
一种分布式无碰撞移动规划的方法,包括在对每个移动代理进行移动规划时,由该移动代理对应的节点对该移动代理进行移动规划,具体包括:
节点根据预期移动目的地、预期移动速度和静态障碍计算该移动代理的预期移动方向,其中,预期移动目的地从用户的输入获取,预期移动速度为该移动代理的基本属性,静态障碍为游戏当中的地形属性;
根据该移动代理的预期移动方向在该预期移动方向的规定范围内查找移动障碍,此处所述移动障碍包括静态的地形障碍和因其他移动代理的存在而给当前移动代理造成的动态障碍; 根据移动代理的预期移动方向和速度,在查找到的移动障碍的约束下计算移动代理新的移动方向和速度;
将计算的该移动代理新的移动方向和速度同步发送至其他移动代理对应的节点,其他移动代理对应的节点在收到该移动代理新的移动方向和速度后,对该节点下相应的移动代理进行新的移动规划,并更新该节点下相应移动代理的位置。
[0007]优选的,所述每个节点下对应的移动代理均存储有与该移动代理相关联的其他移动代理的移动障碍信息,所述移动障碍信息包括其他移动代理的移动方向和速度,所述将计算的该移动代理新的移动方向和速度同步发送至其他移动代理对应的节点,其他移动代理对应的节点在收到该移动代理新的移动方向和速度后,其他移动代理对应的节点更新该节点下相应移动代理的移动障碍信息,同时根据更新后的移动障碍信息对该节点下相应的移动代理进行新的移动规划,并更新该节点下相应移动代理的位置。
[0008]优选的,所述节点为参与整个游戏交互的系统结构中的每一个节点,包括CS结构中的服务端与客户端,或者P2P结构中的每一个Peer。
[0009]优选的,所述每个移动代理以栅格结构存储其当前位置,所述根据该移动代理的预期移动方向在该预期移动方向的规定范围内查找移动障碍时,通过快速检测该预期移动方向上的其他移动代理的当前位置是否在该移动方向上的规定范围确定其他移动代理是否为移动障碍。
[0010]优选的,所述地形的区域以多边形进行勾勒,根据该移动代理的预期移动方向在该预期移动方向的规定范围内查找移动障碍时,该移动代理所在多边形地形区域外的边界则为地形障碍。
[0011]优选的,所述将计算的该移动代理新的移动方向和速度同步发送至其他移动代理对应的节点的同时,将该移动代理的状态信息同步发送至其他移动代理对应的节点,所述状态信息至少包括该移动代理的位置信息。
[0012]优选的,所述根据移动代理的预期移动方向和速度,在查找到的移动障碍的约束下计算移动代理新的移动方向和速度时,根据地形属性对该移动代理的移动速度自适应的进行调整。
[0013]优选的,所述根据移动代理的预期移动方向和速度,在查找到的移动障碍的约束下计算移动代理新的移动方向和速度时,根据该移动代理所对应的节点的计算能力和该移动代理所要求计算的新的移动方向和速度的精确程度,动态调整该移动代理所对应节点的计算频率和移动障碍的查找范围。
[0014]本发明的有益效果是:
本发明采用一种分布式无碰撞移动规划的方法,通过每个节点对相应移动代理进行规划,将计算任务分布在不同的节点,提升计算的效率;对移动代理进行规划时,既考虑到静态障碍也考虑到动态障碍,提高了玩家的游戏体验;对移动代理进行规划的过程中,可以动态的调整计算的频率和移动障碍的查找范围,平衡分配资源。
【附图说明】
[0015]下面结合附图和实例对本发明作进一步说明。
[0016]图1是本发明所述方法的流程示意图。
【具体实施方式】
[0017]参照图1所示,本发明的一种分布式无碰撞移动规划的方法,包括在对每个移动代理进行移动规划时,由该移动代理对应的节点对该移动代理进行移动规划,具体包括:
节点根据预期移动目的地、预期移动速度和静态障碍计算该移动代理的预期移动方向,其中,预期移动目的地从用户的输入获取,预期移动速度为该移动代理的基本属性,静态障碍为游戏当中的地形属性;
根据该移动代理的预期移动方向在该预期移动方向的规定范围内查找移动障碍,此处所述移动障碍包括静态的地形障碍和因其他移动代理的存在而给当前移动代理造成的动态障碍;
根据移动代理的预期移动方向和速度,在查找到的移动障碍的约束下计算移动代理新的移动方向和速度;
将计算的该移动代理新的移动方向和速度同步发送至其他移动代理对应的节点,其他移动代理对应的节点在收到该移动代理新的移动方向和速度后,对该节点下相应的移动代理进行新的移动规划,并更新该节点下相应移动代理的位置。
[0018]所述每个节点下对应的移动代理均存储有与该移动代理相关联的其他移动代理的移动障碍信息,所述移动障碍信息包括其他移动代理的移动方向和速度,所述将计算的该移动代理新的移动方向和速度同步发送至其他移动代理对应的节点,其他移动代理对应的节点在收到该移动代理新的移动方向和速度后,其他移动代理对应的节点更新该节点下相应移动代理的移动障碍信息,同时根据更新后的移动障碍信息对该节点下相应的移动代理进行新的移动规划,并更新该节点下相应移动代理的位置。
[0019]本发明以上方法在根据该移动代理的预期移动方向在该预期移动方向的规定范围内查找移动障碍时,既考虑静态障碍,也考虑动态障碍,且采用分布式的计算模式,充分挖掘游戏网络中每个节点的计算能力,使每个节点只消耗了很少的计算量,即可为玩家带来了更加真实的移动体验。
[0020]以上方法采用采用分布式规划移动方向和移动速度的策略,场景中每个移动代理的移动方向和移动速度都需要规划,但是区别于一次集中规划确定所有移动代理的规划结果,分布式规划每次规划一个或少数几个移动代理的移动,通过将每个移动代理的移动规划调度到不同的节点,将服务端承担的计算压力分摊下来,从而提升计算效率。
[0021]由于是分布式规划,每个节点可以自行规定其所对应的移动代理,使每个移动代理根据对应所获取的障碍信息,独立做出相应的移动决策,相当于利用众多节点的计算能力,将服务端的计算能力解放出来,使本发明具有更广泛的适用性,既适用于CS结构,也适用于P2P结构,正因如此,本发明所述节点包括参与整个游戏交互的系统结构中的每一个节点,包括CS结构中的服务端与客户端,或者P2P结构中的每一
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1