I got some code up and running and the first experiment’s results are disconcerting. I prepared three basic expressions — happy, sad, and angry — and then combined them arithmetically to produce three combined expressions. Here are the results:
As you can see, the combined expressions look like crap. Apparently facial expressions don’t add arithmetically. Nevertheless, I believe that there’s something here worth exploring, so I’m not giving up on it yet. No matter what, I need a means to communicate the interlocutor’s mood to the player. The facial expression is the way to do it. I’ve got to get something working.
What if, instead of combining all three expressions into a single expression, I animated a cycling through all three expressions? The animation process is easy: it’s just an arithmetic transition from one set of value to the next set. That way each mood could be expressed separately, which wouldn’t require so much expressive resolution. I don’t think that the current system has enough resolution to adequately represent fine shades of expression.
Of course, I could look into a higher-resolution system, but that would require even more effort than the current system.
Odd observation: this system is actually simpler than what I built for the Erasmatron 20 years ago.