Estoy un poco atascado:
Implementé una IA con GOAP (Planificación de acción orientada a objetivos, http://alumni.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.pdf ) para un juego de simulación. Eso funciona bien
Ahora quiero que los agentes puedan cooperar (por ejemplo, haciendo acciones juntos). ¿Cuál es en este caso el mejor diseño AI que las acciones GoapActions mantienen acoplado?
¿Deberían planear juntos? (¿Cuál es en este caso el "estado mundial"?) ¿O deberían compartir sus planes? algún tipo de sistema de mensajes?
Ejemplo
Agent1: Worldstate Agent 1: isLonely = true
Objetivo Agent1: isLonely = false
Plan Agent1: AskAgent2ToTalk -> TalkToAgent2
Agent2 Worldstate Agent 2: hasWood = false
Objetivo hasWood = true
Plan Agent2: GetAxe -> ChopWood -> BringWoodToSupply
¿Cómo consigo esta constelación?
Plan Agent1: TalkToAgent2
Plan Agent2: TalkToAgent1 -> GetAxe -> ChopWood -> BringWoodToSupply
O si están hablando y uno de los agentes es interrumpido (por ejemplo, por un enemigo atacante), el otro agente debe saber que su Acción TalktoAgent2 ha finalizado.