'Árvores de comportamento' são um A. EU. técnica usada para controlar o comportamento dos NPCs.
Eles se tornaram populares após o uso, para os NPCs em Halo.
Eles são um tipo especial de gráfico chamado de "árvore" (como o nome sugere). Sua estrutura começa com uma única
raiz e se estende a partir disso, adicionando ramificações, nós e finalmente nós finais.
Existem 3 tipos de nós.
Composto, Decorador e Folha. Um nó composto é aquele que pode ter "1 ou mais nós filhos". Um nó do
Decorator pode ter "apenas 1 filho". Um nó Folha é um "nó no final de um ramo"
e corresponde a uma ação real em um jogo. Um grupo de nós folha no final de uma ramificação pode representar uma
sequência de ações ou um conjunto de ações para seleção. O modo como eles operam depende do tipo
de nó composto, dos quais existem 2 tipos: Sequências e Seletores. Quando processado, um nó Sequência garantirá que
"cada filho seja visitado em ordem". Um nó selecionado indica, no entanto, que "apenas 1 de seus filhos
precisa ser visitado" e esse filho pode ser escolhido aleatoriamente.
Vamos dar uma olhada em um exemplo. Imagine que você (ou seu NPC) está com fome.
Você tem uma decisão a tomar sobre o que comer.
Isso pode ser mostrado usando um nó Seletor no qual você pode selecionar apenas 1 dos filhos.
Você não precisa de todos eles.
Então é quando um Seletor entra em ação, quando apenas 1 nó de folha precisa ser executado para executar
o comportamento de 'comer'.
No entanto, se as ações de seus NPCs estiverem em um nível inferior a esse, como no The Sims, você poderá
associar a ingestão de cada item a um processo bem definido.
Nesse caso, você precisaria de um nó Sequence.
Para simplificar, digamos que essa sequência inclua: Reúna ingredientes; Fazer pizza; Cozinhe pizza e Coma
pizza.
Observe que cada nó da folha corresponde a uma ação real.
É importante que os nós da folha possam ser executados com lógica ou animação, porque estas
são as coisas reais que você verá o NPC fazendo na tela.
Eles também são independentes.
Isso significa que eles podem ser executados e, em seguida, a sequência abandonada. Os nós também podem representar decisões que quando,
em uma sequência, podem fazer com que uma sequência continue ou falhe.
Nesse caso, a Árvore de Comportamento será executada completamente somente se 'Estou com fome? 'e'
Eu tenho comida? 'está satisfeito, quando a decisão de' comer hambúrguer 'ou' comer pizza 'será satisfeita.
As árvores de comportamento podem ser tão simples ou complexas quanto você precisar, incluindo ações em todos os níveis,
unidas por diferentes nós compostos.
Então, como tudo isso funciona em código?
Bem, cada nó folha deve ter um método correspondente que possa ser executado.
A própria árvore de comportamento é um tipo de linguagem de script acima da sua base de código.
Você deve escrever vários módulos independentes em um arquivo C # que pode ser chamado quando
um nó folha está sendo executado.
O próprio método terá que relatar se falhou ou teve êxito.
Isso fornece ao nó folha um estado de falha ou sucesso, que é relatado de volta à execução da Árvore
de comportamento.
No caso de uma sequência, isso é essencial, como se uma folha falhar, a sequência inteira falhar. No restante de nossa investigação sobre as Árvores de
comportamento, você deve seguir mais
exemplos, pois isso começará a fazer mais sentido à medida que você as usar.
Para isso, usaremos o plug-in 'Panda BT' disponível gratuitamente, que permite o script de Árvores de Comportamento em
arquivos de texto simples.