编程 AI 以跟随玩家并避开障碍物 XNA
Programming AI to follow player and avoid obstacles XNA
我需要制作一个吃豆人游戏,但我在编写让幽灵跟随吃豆人并避开障碍物的代码时遇到了问题。有人可以给我一些关于在 XNA 中执行此操作的最佳方法的提示吗?我听说过寻路,但我的游戏不使用图块!
谢谢!
我看到两个可能的选择。
自主角色的转向行为
This work by Craig Reynolds 将行为分解为一系列模块,这些模块可以单独使用或一起使用以形成复杂的行为。每个模块都基于 转向 概念,其中实体转向或远离目标
寻找并逃离
有助于向已知点移动
追避
Pursue 比先前的 seek 更先进,它考虑了目标的当前速度,因此它可以预测未来的位置
墙跟随
吃豆人的完美选择
...还有更多
- 不需要瓦片或任何预先计算的寻路网格
- Tell me more
- Steering theory
- OpenSteer c++ source code。 Google 对于 c# 端口。
限制
- 不适合实体需要向上导航的 3D 环境,比如一组楼梯。
- 无法解决复杂的问题,例如进入建筑物;导航走廊;找到出口(本质上是解迷宫)
- 无法使用楼梯或电梯进入不同楼层
A* 寻路
虽然它可以解决 2D 和 3D 环境中的许多复杂问题,但比上面的寻路更复杂。
- 可以在楼梯和电梯等障碍物的复杂 3D 环境中导航,以进入建筑物的不同楼层。
但是,对于简单的 2D 迷宫游戏(如吃豆人)来说,转向行为可以充分实现的情况下,A* 可能有点矫枉过正。
请参阅 Implementing the A* Pathfinding Algorithm in XNA 以了解 A* 在 XNA 中的实际实现。
- 不需要瓷砖
- 是否需要预先计算的不可见寻路网格
我需要制作一个吃豆人游戏,但我在编写让幽灵跟随吃豆人并避开障碍物的代码时遇到了问题。有人可以给我一些关于在 XNA 中执行此操作的最佳方法的提示吗?我听说过寻路,但我的游戏不使用图块!
谢谢!
我看到两个可能的选择。
自主角色的转向行为
This work by Craig Reynolds 将行为分解为一系列模块,这些模块可以单独使用或一起使用以形成复杂的行为。每个模块都基于 转向 概念,其中实体转向或远离目标
寻找并逃离
有助于向已知点移动
追避
Pursue 比先前的 seek 更先进,它考虑了目标的当前速度,因此它可以预测未来的位置
墙跟随
吃豆人的完美选择
...还有更多
- 不需要瓦片或任何预先计算的寻路网格
- Tell me more
- Steering theory
- OpenSteer c++ source code。 Google 对于 c# 端口。
限制
- 不适合实体需要向上导航的 3D 环境,比如一组楼梯。
- 无法解决复杂的问题,例如进入建筑物;导航走廊;找到出口(本质上是解迷宫)
- 无法使用楼梯或电梯进入不同楼层
A* 寻路
虽然它可以解决 2D 和 3D 环境中的许多复杂问题,但比上面的寻路更复杂。
- 可以在楼梯和电梯等障碍物的复杂 3D 环境中导航,以进入建筑物的不同楼层。
但是,对于简单的 2D 迷宫游戏(如吃豆人)来说,转向行为可以充分实现的情况下,A* 可能有点矫枉过正。
请参阅 Implementing the A* Pathfinding Algorithm in XNA 以了解 A* 在 XNA 中的实际实现。
- 不需要瓷砖
- 是否需要预先计算的不可见寻路网格