Trying to figure out how to make these different weird things a bit more normal for the interface.
First off, behavior parameters, the ones that aren’t hacked-on workarounds for a lack of inventory, are really “moods”. So the Behavior Parameter -> Mood in the interface. The trouble is that we still have the Placed Bomb behavior parameter to deal with, which is sort of the odd one out. So in the interface we probably need to put this down as “Performed Action”. Hunter is going to hate me, because this makes his life more complicated.
Behavior Parameters are used for triggers. As the “Mood” trigger, we will allow monitoring of internal state, such as Nervous, Scared, Alert. As the “Performed Action” trigger, we will allow monitoring of internal state such as “Placed Bomb”, “Defused Bomb”. Underneath, these will be the same trigger.
They are also used to observe other agents. In the See Agent trigger, they will be allowed to monitor the moods, such as Nervous, Scared, Alert.
I think this makes sense and is the best way to handle it. I’m sorry about the special-cased code.
update: Instead, I will split the behavior parameters out into Behavior Parameters and Performed Actions in the query file, since this is how they split with which are available to different triggers, and eliminates the need for special case code. In addition, to deal with the Agent Parameter weirdness, I’m going to change them from Authorized and Hostile Events to Successful Authorizations and Failed Authorizations. Still need a name for that one, but it just affects a single string in Hunter’s code.
Other updates: the place object behavior will need a note that placing a bomb makes the agent more Nervous and increments the Placed Bomb counter. The remove object behavior will need a note that placing a bomb makes the agent more Alert and increments the Defused Bomb counter.
Animation Changes: Each animation behavior now also emits an “action” comm percept. We could probably emit an action comm for checkauthorization and provide authorization instead of a text comm.
Ugly Hack: Agents now have knowledge of all other agent locations in percept manager– but only one behavior uses this, the AvoidHostileAgents behavior, since it needs to know where unfriendly agents are to get away. The need for this will be eliminated when we have a memory model