Dan*_*son 7 artificial-intelligence behavior-tree
我正在创建一个游戏,要求屏幕上的单位根据团队和每个团队的指定敌人进行战斗.玩家不控制任何坦克或团队.
问题在于单位之间的战斗(目前的坦克)对于玩家来说应该足够有趣,他们可以在不做任何事情的情况下观看并享受乐趣.
我现在让坦克完全随机移动并在射程内相互射击,但我正在寻找更聪明的东西.
我应该研究哪些类型的ai和ai算法?欢迎所有的想法,我只是想让每场战斗都变得有趣.
小智 9
对于战略和策略,你的AI可能需要做一些理性的决策,使它看起来更聪明.有很多方法可以解决这个问题,最简单的方法是为你的坦克写下几个条件动作规则并将它们作为有限状态机实现.FSM易于实现且易于调试,但是当您想要修改条件规则或添加/删除任何状态时,它会变得乏味.您还可以使用公用事业代理 - AI定期根据当前统计数据(弹药,健康,敌人计数和位置)对每个潜在目标(例如,参与,撤退,重新加载/加油,进行掩护,修复等)执行效用检查.然后选择最优选的目标.与FSM相比,这需要更多的时间来实现,但是当您需要添加或删除行为时,不需要更改决策流的方式更灵活.它使AI看起来遵循一般规则,但并不总是可预测的.实用程序代理也更难以调试和控制,因为当您的AI疯狂时,您没有任何严格的条件 - 操作规则来跟踪您对FSM的跟踪.另一种流行的方法是行为树.动作序列实现为树结构.它需要更多代码才能预先编写,但通常可以在控制和灵活性之间实现比FSM和实用程序代理更好的平衡.这些决策过程并不是相互排斥的 - 您可以使用任何顶级策略方法和低级策略的不同方法.
无论您选择何种决策制定流程,都需要输入一些信息才能输入您的AI.你可以使用影响力图帮助AI确定战场中哪些地方被认为是敌对的,哪里被认为是安全的.影响力图在团队之间共享,因此它也可以帮助团队战术.当AI与多个敌人交战时,选择正确的目标非常重要.如果你的AI选择了大多数人类玩家所不会的目标,玩家会感觉AI是"愚蠢的",即使有时所选择的目标实际上是最好的.您可以对敌方单位进行距离检查,并根据视线,当前武器射程,威胁等级等对目标进行过滤/优先排序.有些测试比其他测试更昂贵(视线检查通常是最严重的犯罪者之一)所以如果你在范围内有很多敌方单位,你想在最后一次运行那些较慢的测试.
对于坦克的运动,请研究转向行为.它涵盖了很多车辆运动行为,但追求和逃避是你最需要的.如果您的坦克需要在复杂的地形中导航,也请查看A*进行寻路.还有其他好的路径解决方案可以为您提供最短/最快的路径,但在游戏中,最短/最快的路径并不总是最佳路径.如果你的最短路径是开放但离敌人线太近,你想给你的坦克一些启发式路线以采取不同的路线.您可以使用A*轻松配置路径首选项.
需要注意的事项:有限状态机,基于效用的代理,行为树,转向行为,*搜索算法,导航航路点或导航网格,影响地图.
| 归档时间: |
|
| 查看次数: |
3014 次 |
| 最近记录: |