Estou um pouco preso:
Eu implementei uma IA com GOAP (Planejamento de Ação Orientado a Objetivos, http://alumni.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.pdf ) para um jogo de simulação. Isso funciona bem.
Agora eu quero que os agentes possam cooperar (por exemplo, fazendo ações juntos). Qual é, neste caso, o melhor design de IA que as GoapActions mantêm dístico solto?
Eles devem planejar juntos? (o que é, neste caso, o "estado mundial"?) Ou devem compartilhar seus planos? algum tipo de sistema de mensagens?
Exemplo
Agent1: Worldstate Agent 1: isLonely = true
Objetivo Agent1: isLonely = false
Planejar Agent1: AskAgent2ToTalk -> TalkToAgent2
Agent2 Worldstate Agent 2: hasWood = false
Objetivo hasWood = true
Planejar Agent2: GetAxe -> ChopWood -> BringWoodToSupply
Como obtenho essa constelação?
Plano Agent1: TalkToAgent2
Plano Agent2: TalkToAgent1 -> GetAxe -> ChopWood -> BringWoodToSupply
Ou, se estiverem conversando e um dos agentes for interrompido (por exemplo, por um inimigo atacante), o outro agente deve saber que a ação do TalktoAgent2 terminou.