I’m feeling pretty stupid just now — I had oral surgery yesterday and the anaesthesia takes days to wear off. That plus the painkillers makes Chris a stupid boy. Nevertheless, I did manage to squeeze out a useful thought. The whole point and purpose of facial displays is to give the player some inkling of what is going on in the conversation. But I’ve been an idiot: I’ve thought of face displays in terms of showing an expression appropriate to the most recent action taken by the interlocutor. Instead, I need to show the interlocutor’s feelings for the player at that moment — both the pValues and the mood values.
This means that we will need base faces for each end of each of the three basic emotions (love, trust, dominance). This means six different base emotions:
In operation we specify the net values of each of the three emotions. For example, we might specify love of 0.5, trust of 0.1, and submissiveness of 0.6. This would correspond to a facial expression showing affection plus respect.
These are not the same as the basic emotions specified by Scott McCloud and presented in yesterday’s essay (anger, fear, disgust, joy, sadness, and surprise). However, Scott’s six emotions are all reactions to events. For Siboot, I need reactions to people. So I think that I can dismiss those six. However, love/hate does correspond well with joy/sadness, and anger/fear correlate somewhat with dominance/submissiveness.
I worry about trust/suspicion, though. Those don’t show up well on the face.
Another concern lies with the simple algorithm of averaging expressions together. Will the averaging process yeild convincing results? How do I know that (0.5 love + 0.1 trust + 0.6 submissiveness) will yield a believable expression? Will it look stupid?
I suspect that I’ll have to actually experiment with this before commiting to the idea.