编程 AI 以跟随玩家并避开障碍物 XNA

Programming AI to follow player and avoid obstacles XNA

我需要制作一个吃豆人游戏,但我在编写让幽灵跟随吃豆人并避开障碍物的代码时遇到了问题。有人可以给我一些关于在 XNA 中执行此操作的最佳方法的提示吗?我听说过寻路,但我的游戏不使用图块!

谢谢!

我看到两个可能的选择。

自主角色的转向行为

This work by Craig Reynolds 将行为分解为一​​系列模块,这些模块可以单独使用或一起使用以形成复杂的行为。每个模块都基于 转向 概念,其中实体转向或远离目标

寻找并逃离

有助于向已知点移动

追避

Pursue 比先前的 seek 更先进,它考虑了目标的当前速度,因此它可以预测未来的位置

墙跟随

吃豆人的完美选择

...还有更多

限制

  • 不适合实体需要向上导航的 3D 环境,比如一组楼梯。
  • 无法解决复杂的问题,例如进入建筑物;导航走廊;找到出口(本质上是解迷宫)
  • 无法使用楼梯或电梯进入不同楼层

A* 寻路

虽然它可以解决 2D 和 3D 环境中的许多复杂问题,但比上面的寻路更复杂。

  • 可以在楼梯和电梯等障碍物的复杂 3D 环境中导航,以进入建筑物的不同楼层。

但是,对于简单的 2D 迷宫游戏(如吃豆人)来说,转向行为可以充分实现的情况下,A* 可能有点矫枉过正。

请参阅 Implementing the A* Pathfinding Algorithm in XNA 以了解 A* 在 XNA 中的实际实现。

  • 不需要瓷砖
  • 是否需要预先计算的不可见寻路网格