Emotional Reaction Rules

These rules are responsible for generating emotions that trigger action tendencies. Although you can have behaviour without using any emotional reactions and action tendencies, simple by providing enough goals, you should write them in order for the agents to be able to experience and express emotions about what is happening in the episodes. Furthermore, these emotions are responsible for dynamically changing the interpersonal relations between characters. If you don’t write these rules, John cannot realize that being pushed and mocked by Luke is extremely unpleasant, and thus will not lower his like relation over Luke. These emotions can be seen as a feed-back mechanism that allows the agent to realize the effect of a given event on its well being.

Now that the need for these emotional reaction rules is clear, to what extent should we define them? You don’t really have to define these rules for every possible event, but you’re advised to write them for the more important or relevant events. Bellow are some examples of Luke’s (the bully) emotional reactions. There are three important values you can define for an emotional reaction:

  • Desirability: indicates generally how good or bad is this event for the character. This variable is mandatory, you cannot specify an emotional reaction rule without desirability. Desirability is ranged between [-10,10]. -10 indicates a extremely undesirable event, 0 a neutral (nor good nor bad), 10 a extremely desirable event.
  • DesirabilityForOther: if the event targets an additional subject/object other than the agent that is perceiving and appraising the event, this variable specifies generally how good or bad is that event for the other character. The desirabilityForOther variable is not mandatory, thus you’re not obliged to specify it, but you should whenever an event references other characters. If you don’t, it’s not possible to generate FortuneOfOther Emotions (HappyFor, Pitty, Gloating, etc). This variable has the same range with the same meaning as desirability.
  • Praiseworthiness: is the action performed praiseworthy or blameworthy? -10 represents an extremely bad action from the observer’s point of view, while 10 represents an extremely good action. Notice, that this evaluation is subjective and should be according to the characters standards. For instance, the bully might consider pushing other people praiseworthy, while the victim considers it to blame. This variable is not mandatory.
  • Other: new variable introduced in FAtiMA. You should only use it if you want the desirabilityForOther to reference a character other than the target or the subject of the action. This happens only in very specific and rare situations.

You no longer need to specify the like variable in emotional reaction rules, as you would do in the previous versions of FearNot Agent architecture. This is because FAtiMA now handles the like relationship automatically. In addition to specifying the variables described above, it’s also necessary to specify the event that will trigger the emotional reaction, as seen on the examples described bellow (subset of Luke’s emotional reactions). You can specify the following fields on an event definition:

  • Subject: who performed the action
  • Action: what action was performed
  • Target: target of the action if any
  • Parameters: a list of comma separated parameters that specify additional information about the action.

None of the above parameters is mandatory. Although it does not make that much sense, its possible to define an emotional reaction that is triggered by any (and I really mean any) event/action by not specifying any of the above fields. If you want to not specify one of the event fields, you may either not mention it at all or use the special value “*” that represents any.

<EmotionalReaction desirability=”6″ desirabilityForOther=”-8″ praiseworthiness=”-5″>

<Event subject=”*” action=”cry”/>

</EmotionalReaction>

 

So, looking at the above example the rule is triggered when any one cries. In Luke’s perspective, he finds it desirable (likes to see others cry), thinks that crying is very undesirable for the one that is crying, and finds it quite blameworthy (what a cry baby he thinks…). The same rule could be rewritten (having the same meaning) as:

 

<EmotionalReaction desirability=”6″ desirabilityForOther=”-8″ praiseworthiness=”-5″>

<Event action=”cry”/>

</EmotionalReaction>

 

Although it’s good to define these very general emotional reactions (try to do it always as general as possible), this rule also applies if the subject of the action is Luke himself. Since in this situation it does not make sense for him to consider it desirable, we have to define another reaction rule for that situation:

 

<EmotionalReaction desirability=”-5″ praiseworthiness=”-2″>

<Event subject=”[SELF]” action=”cry”/>

</EmotionalReaction>

 

Now we specify that this reaction will be triggered only when Luke (the [SELF] character) cries, and he will consider the event undesirable and slightly blameworthy. The two last rules work well together, because if more than one emotional reaction is triggered by an event, the most specific one will be selected. And in this case, the second rule is more specific thus having priority over the generic cry rule.

 

<EmotionalReaction desirability=”0″ desirabilityForOther=”-6″ other=”[P2]“>

<Event action=”SpeechAct” target=”[SELF]” parameters=”sabotageinvitation,*”/>

</EmotionalReaction>

 

The final example shows a reaction rule that speficies the other variable. This event happens when Luke tries to sabotage John’s invitation to Ollie’s party. In order to achieve that, Luke speaks to Ollie trying to convince him not to invite John. Therefore, the speech act will contain additional parameters that state what is the topic of the speech act, in this case, they’re talking about John. The reaction rule is thus triggered when someone tries to sabotage an invitation I did to someone (this rule is taken from Ollie’s perspective). The “someone” is represented by the “*” character in the parameters and [P2] is corresponds to the second parameter of the action.