Como faço para gerenciar IA complexa? [fechadas]

11

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?

Tetrad
fonte
Eu também ouvi há várias maneiras de gerenciar máquinas de estado
jokoon
1
Esta é uma pergunta bastante vaga. Existem muitas técnicas para gerenciar a IA "complexa", mas a melhor para qualquer situação pode ser diferente de outra. Eu implementei uma IA bastante complexa usando nada além de listas de ações comportamentais, mas essa solução não funcionaria para um RTS; as técnicas que eu já vi usadas nos jogos RTS eram incrivelmente complexas, mas ainda assim elegantes, mas seriam inúteis em qualquer outro tipo de jogo. Se você tem algum tipo específico de jogo ou IA, pode obter respostas mais relevantes e perspicazes se indicar o que está acontecendo com antecedência.
23811 Sean Middleditch

Respostas:

3

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

Cubed2D
fonte
2

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.

tenpn
fonte
2

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.

Sean Middleditch
fonte