No passado, usei sistemas simples como FSMs (máquinas de estados finitos) e FSMs hierárquicos para controlar o comportamento da IA. Esse padrão se desfaz muito rapidamente ou em qualquer sistema complexo.
Eu ouvi sobre árvores de comportamento . Eles parecem ser o próximo passo óbvio, mas ainda não vi uma implementação em funcionamento ou realmente tentei.
Que outros padrões podem tornar comportamentos complexos de IA gerenciáveis?
architecture
ai
behavior
Tetrad
fonte
fonte
Respostas:
As árvores de comportamento são uma ótima maneira de gerenciar a IA, e o Ai Game dev é o melhor lugar para aprender sobre elas! Existem toneladas de exemplos de implementações por aí em lugares como o Codeplex, ou mesmo a implementação dos mecanismos Sandbox da AIGD (que é bastante complexa e difícil de seguir).
No ano passado, no confronto com a IA do jogo, havia muita empolgação com os planejadores , mas este ano muita coisa havia desaparecido. A melhor dica parecia ser apenas para começar simples. A totalidade de 20% do trabalho para obter 80% de tudo parece ser verdade na maioria dos casos
fonte
Alguém que eu acho importante é separar por que um agente quer realizar algo de como ele faz. Os planejadores de ação orientados a objetivos fazem isso bem, mas também existem outras soluções. Isso oferece uma grande flexibilidade para a construção de agentes, pois você pode escolher entre um conjunto de metas e um conjunto de ações.
As árvores de comportamento são projetadas para incluir toda a solução - tanto a tomada de decisões quanto as ações - e, portanto, podem ser difíceis de manter.
fonte
Em qualquer caso, uma técnica com a qual você deve estar familiarizado é a abordagem da lista de ações. No nível mais simples, é apenas uma lista de objetos de ação, que cada objeto de ação tem seu método update () chamado cada quadro. No entanto, você pode expandir rapidamente isso para permitir ações de bloqueio, várias faixas de ações, grupos filhos etc. Tudo o que você pode criar com um FSM de alto nível pode ser implementado de uma maneira mais modular, flexível e depurável com uma ação lista usando ações de comportamento.
Além de ser uma técnica útil para gerenciar toda a animação, localização de caminhos e outras "coisas" diversas que seus personagens podem fazer, torna-se trivial implementar um sistema de tomada de decisões com base em prioridades, criando ações de comportamento.
Algumas notas sobre como usá-los podem ser encontradas neste slide deck: http://sonargame.com/2011/11/01/new-game-slides/
Certamente, também há artigos sobre isso na série AI Programming Wisdom.
fonte