过去,我使用有限状态机(FSM)和分层FSM等简单系统来控制AI行为。这种模式很快就会崩溃,也不会导致任何复杂的系统崩溃。
我听说过行为树。它们似乎是下一个显而易见的步骤,但是我还没有看到可行的实现或尚未尝试过。
还有哪些其他模式可以使复杂的AI行为易于管理?
过去,我使用有限状态机(FSM)和分层FSM等简单系统来控制AI行为。这种模式很快就会崩溃,也不会导致任何复杂的系统崩溃。
我听说过行为树。它们似乎是下一个显而易见的步骤,但是我还没有看到可行的实现或尚未尝试过。
还有哪些其他模式可以使复杂的AI行为易于管理?
Answers:
我认为重要的一个观点是,将代理为什么要完成某事与它如何执行分开。 面向目标的行动计划者可以很好地做到这一点,但还有其他解决方案。您可以从一组目标和一系列操作中进行选择,从而为构建代理提供了极大的灵活性。
行为树旨在涵盖整个解决方案-决策和行动-因此很难维护。
无论如何,您应该熟悉的一种技术是动作列表方法。在最简单的级别上,它只是动作对象的列表,每个动作对象都有其update()方法,称为每帧。您可以对此进行快速扩展,以允许阻止操作,多个操作通道,子组等。使用高级FSM可以构建的几乎所有内容都可以通过操作以更模块化,灵活和可调试的方式实现。使用行为动作列出。
除了管理角色可以做的所有动画,路径查找和其他杂项“东西”的有用技术外,通过创建行为动作来实现基于优先级的决策系统也很简单。
有关如何使用它们的一些注意事项,请参见以下幻灯片:http : //sonargame.com/2011/11/01/new-game-slides/
可以肯定的是,《 AI编程智慧》系列中也有关于它的文章。