如何使复杂的AI易于管理?[关闭]


11

过去,我使用有限状态机(FSM)和分层FSM等简单系统来控制AI行为。这种模式很快就会崩溃,也不会导致任何复杂的系统崩溃。

我听说过行为树。它们似乎是下一个显而易见的步骤,但是我还没有看到可行的实现或尚未尝试过。

还有哪些其他模式可以使复杂的AI行为易于管理?


我还听说有几种管理状态机的方法
jokoon 2011年

1
这是一个非常模糊的问题。有许多用于管理“复杂” AI的技术,但在任何给定情况下最好的技术可能与另一种情况不同。我已经实现了相当复杂的AI,仅使用行为动作列表,但是该解决方案不适用于RTS。我在RTS游戏中看到的技术非常复杂,但仍然很优雅,但是在任何其他类型的游戏中它们几乎毫无价值。如果您有某种特定类型的游戏或AI,那么如果您先说明了这些内容,则可能会得到更相关,更深入的答案。
肖恩·米德迪奇

Answers:


3

行为树是管理AI的绝佳方法,而Ai Game开发人员是了解它们的最佳场所!在诸如Codeplex之类的地方,甚至还有AIGD自己的Sandbox引擎实现(公认的相当复杂,可能很难遵循),都有大量的示例实现。

去年在AI竞赛游戏中,有关规划者的兴奋很多,但今年很多已经消失了。最好的提示似乎仅仅是从简单开始。在大多数情况下,让您达到80%的工作的全部20%似乎完全成立


2

我认为重要的一个观点是,将代理为什么要完成某事与它如何执行分开。 面向目标的行动计划者可以很好地做到这一点,但还有其他解决方案。您可以从一组目标和一系列操作中进行选择,从而为构建代理提供了极大的灵活性。

行为树旨在涵盖整个解决方案-决策和行动-因此很难维护。


2

无论如何,您应该熟悉的一种技术是动作列表方法。在最简单的级别上,它只是动作对象的列表,每个动作对象都有其update()方法,称为每帧。您可以对此进行快速扩展,以允许阻止操作,多个操作通道,子组等。使用高级FSM可以构建的几乎所有内容都可以通过操作以更模块化,灵活和可调试的方式实现。使用行为动作列出。

除了管理角色可以做的所有动画,路径查找和其他杂项“东西”的有用技术外,通过创建行为动作来实现基于优先级的决策系统也很简单。

有关如何使用它们的一些注意事项,请参见以下幻灯片:http : //sonargame.com/2011/11/01/new-game-slides/

可以肯定的是,《 AI编程智慧》系列中也有关于它的文章。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.