3D运动的有效AI

我正在XNA开发一款游戏,并且正在努力为敌人和友军飞船创造一个有效的AI,但是在保持游戏效果的同时又不会伤害到一方或另一方(故意地)。 我目前的设置如下:

  1. 舰根据接近程度瞄准敌人。
  2. 舰船改变方向并向目标移动,射程在范围内。 船向前发射单发中继器武器。
  3. 离敌人一定距离的时候,船不会改变方向。
  4. 如果您直接跟踪并在船上射击,则船舶不会企图逃避火灾。 (#3的后果)
  5. 所有的舰艇都有类似的火力。

我正在尝试改进这个系统,如果有必要,我愿意重写。 大多数船只最终彼此飞行,射击,但从来没有打。 我想到了几个想法来改进它:

  1. 一旦健康状况显着下降,船只将会远离射击船。
  2. 有些船是随机select配备鱼雷(也许加上船尾射击?)。
  3. 使舰艇更加警惕攻击巡洋舰(它们往往在攻击时很快死亡)。

有没有人有任何其他的建议,以改善船舶的AI? 有没有人有这样做的完全不同的系统?

基本的AI导向行为

  • 寻求 (转向目标,加速)
  • 逃离 (远离目标并加速)

更智能的转向行为:

  • 追求 (转向目标的目的地[位置+速度*安培])
  • 逃避 (远离目标的目标[位置+速度*安培])
  • 方法 (转向目标,但在一定距离内减速一次,并试图停留在该半径内)

甚至更智能的转向行为:

  • 逃避射弹 (既可以逃避现在的位置,也可以逃避目的地)

其他的行为

  • 在目标的目的地射击
  • 植绒
  • 后面的 path(设置一个特定的path跟随重复或乒乓效果)
  • 寻路 (find从一个地方到另一个地方的path; A *很有趣)
  • 编队
  • 漫步 (如果没有做任何事情,select一个目的地,去那里)
  • 空闲 (等待一个新的命令)

AI决策处理

  • 目标Aggro
  • 目标坦克
  • 目标玩家
  • 目标最弱
  • 如果身体不健康,逃跑或逃避

AI平衡

  • 间隔更新 (每秒,每秒2次,每次打勾等等做出新的决定)
  • 意识 (多重注意/认知半径,只对特定半径范围内的某些物体作出反应)