论文部分内容阅读
随着Android手机的普及,人们对Android手机游戏的需求量越来越大。由于玩家对手机游戏品质的要求越来越高,游戏画质的精美程度已经不再是判断一款游戏好坏的唯一标准,游戏中的人工智能成为了评价一款游戏好坏非常重要的指标。游戏中智能体的寻径问题是游戏人工智能领域一个非常重要的问题,运算需要花费大量的时间和手机内存资源,如果得不到合理的解决方案,会造成游戏运行的迟钝,影响游戏的流畅性和可玩性。因此,研究Android手机游戏中的智能体寻径问题很有必要。
本文在总结国内外游戏智能体寻径算法的基础上,分析了该领域存在的主要问题,针对因手机资源有限而导致寻径算法运算需要的时间过长与游戏的实时性要求较高这一矛盾,对Android手机游戏智能体寻径算法进行了重点研究。
首先,针对当前Android手机CPU频率较低、内存较小等手机资源不足而导致的算法运算时间过长的问题,在传统的A*算法和Dijkstra算法以及分层寻径思想的基础上提出了基于地图非均匀划分的智能体寻径优化算法。算法分为地图预处理和在线搜索两个阶段,在地图预处理阶段提出了游戏地图的非均匀划分算法,将游戏地图转化为由关键点组成的抽象地图;在线搜索阶段首先在抽象地图中寻径,然后再在每个子图中进行路径搜索,最后得到一条完整的路径。实验结果表明该算法不仅优于传统的A*算法和Dijkstra算法,还优于同样采用分层寻径思想的HPA* Enhancements算法和KM-A*算法。
其次,研究了基于Android平台的开源游戏引擎JPCT-AE。针对该游戏引擎在没有智能体寻径模块的情况下,每次进行游戏开发时都需要重新编写游戏智能体寻径算法这一缺陷,为该引擎添加了寻径模块,提高了开发效率。利用改进的JPCT-AE游戏引擎实现了一款智能体寻径的演示程序,通过采集程序动画效果的帧率,证明了寻径模块的添加在提高开发效率的同时不会影响程序的流畅性。
最后,通过本文提出的算法以及改进的JPCT-AE游戏引擎,实现了一款第一人称射击类游戏原型系统。