I'm a little bit stuck:
I implemented an AI with GOAP (Goal oriented Action Planning, http://alumni.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.pdf) for a simulation game. That works fine.
Now I want that the agents can cooperate (e.g. doing actions together). What is in this case the best AI-Design that the GoapActions keep loose couplet?
Should they plan together? (what is in this case the "worldstate"?)Or Should they share their plans? some kind of message-system?
Agent1: Worldstate Agent 1: isLonely= true
Goal Agent1: isLonely = false
Plan Agent1: AskAgent2ToTalk -> TalkToAgent2
Worldstate Agent 2: hasWood = false
Goal hasWood = true
Plan Agent2: GetAxe -> ChopWood -> BringWoodToSupply
How I get this constellation?
Agent1 Plan: TalkToAgent2
Agent2 Plan: TalkToAgent1 -> GetAxe -> ChopWood -> BringWoodToSupply
Or if they are talking and one of the agents is interrupted (e.g. by an attacking enemy) the other agent must know that his TalktoAgent2 Action has ended.