2012-04-19 134 views
3

如何在NAPOLEON:total war中实现游戏AI如海战艾。舰队作战策略游戏AI

我想完成一个小型的游戏,该船可以占领岛上生产更多的船只,我的舰队可以与其他战斗。你能给我一个例子,或者我应该学会完成它。谢谢

+1

请描述你拥有的scenerio。你的游戏是否是实时的?回合制?你的目标是什么?船舶在转弯/时间单位可以做什么动作?你期望有多少艘船? ...? – amit 2012-04-19 07:48:27

回答

5

您的问题类似于ants ai challange。 - 每个球员都有一个殖民地,并需要保护它,收集食品,并销毁该oponents殖民地[不完美匹配您的问题,但类似]

这一挑战的赢家his blog怎么写他做到了,所以你可能想从中学习。 This thread也讨论过它。

通常为游戏,一般的方法是使用min-max algorithm(递归检查博弈树,假设你和你的oponent会做最好的动作,并选择,保证你最好的结果之一)与alpha-beta prunning(这是一种优化,可以修剪游戏树并切断你将定义不使用的状态)。
由于分支因子可能太高 - 您可能需要使用一些启发式方法来评估哪些移动值得探索。

通常情况下,问题的时候应用这种方法是决定:

  1. 如何选择其举动实在值得研究?有很多可能的解决方案,其中之一就是贪婪 - 那些更有前途和更浅层次的解决方案可能会更有前途和更深层次。
  2. 找到一个很好的启发式函数来评估游戏的状态。
+0

谢谢你的回答〜但是船可以在任何方向接近目标,而蚂蚁不能〜我真的想知道如何找到下一个最好的举动和征服岛屿并与敌人作战的权衡〜你知道,蚂蚁ai挑战使用A *作为寻路算法,但是这艘船是完全不同的,我对此感到困惑〜 – matt 2012-04-19 08:24:41

+0

@matt:你仍然可以使用A *进行寻路,在这里你的图形是一个网格,每个人都可以左/右/上/下移动 - 除非路上有障碍物。在这里,从每个方向有更多的可能路径,但路径的长度预计将显着缩短。 – amit 2012-04-19 08:30:07

+0

呃〜也许你是对的,我想我应该想两次〜谢谢 – matt 2012-04-19 08:43:19