This will allow skin toning and different base skin colors without resorting to palette manipulations.
Current image is 192h x 256v (50K pixels). I propose to increase this to 256h x 340v (87K pixels). This preserves the 3:4 aspect ratio and adds 74% more screen space. My assumption is that the player will still be using a 640h x 480v screen, in which case the face display along with the character's speech would appear on the left 30% of the screen, and the player's menu would take up the remaining 70% of the screen. The image could be increased all the way to, say, 320h x 440v (145K pixels), nearly doubling the area of the face, but this would mean that each face image would consume some 100K compressed; 32 characters would eat up 3.2 megs. This is acceptable, I suppose.
The current stock of face objects could be expanded. The current list is:
Eye (the outline of the white of the eye)
EyeUpperLine (fold in skin at top of eyelid)
EyeLowerLine (fold in skin at bottom of eyelid)
OrbLine (well below the eye)
Browline (the short lines above the nose interior to the eyebrows)
UpperJowl (jowl line extending from nose)
LowerJowl (jowl line around the corners of the mouth)
Eyebrow (the centerline of the eyebrows)
Upperlip (the centerline of the upper lip)
Lowerlip (the centerline of the lower lip)
Perhaps we could add some forehead lines, or a chin line. Any other ideas?
Add some more points to all the face objects to give them more detailed curvature.
A capability to augment the image with a hand on the face. Thus, we could have palm slapping forehead ("I coulda been a winner!"), finger pointing accusingly or threateningly, hand over eyes, fingers uplifted lightheartedly, and so on. However, this would require additional artwork, and unless we can come up with generic hands for each of the sexes, it would be prohibitively expensive.
I don't think that this is a good idea, but I list it to demonstrate that I've already thought of it.
These would require additional blank face artwork, which would consume too much download time. However, it might be possible to come up with some algorithmic approximations. For example, head tilt (leaning the head to one side or the other) is a simple matter of rotation; we need merely define the location of the axis of rotation. Slight yaw might also be handled with a linear approximation of the rotational matrix. The face would be divided into three zones: the mobile zone, and the zones above and below it. The mobile zone would be elevated perhaps 20 pixels and vertically foreshortened; the upper static zone would be foreshorted by 10 pixels, and the lower static zone would be lengthened by 10 pixels. It might work. A similar transformation could be applied for rotation about the axis of the neck. I am not optimistic about these possibilities.
Theoretically this kind of transform is workable for small angles whose sine is approximately equal to the angle. Perhaps I should look into it. We could ask the artist to provide some "lookaround" imagery at the edge of the mask, which would provide the basis for the rotation. Computationally, though, this would be horribly expensive.
The current list is as follows:
Moustache
Eyebrow Thickness (in pixels, above and below the centerline)
LipThickness (in pixels, above and below the centerline)
MouthWidth (a stretch factor that stretches the mouth horizontally)
CharacterSquint (the length of the squint lines)
Eyelash Length
Eye Separation
Face Length (distance from eye parts to mouth parts)
FeatureSwitch (a flag for each object, indicating its presence on that character)
LineWeight (an index showing the intensity of the skin color of the object)
I don't know what else to add to this.
It might be possible to add some textural detailing to some of the imagery, such as the pupil, the eyebrow, the lips, and the moustache.
Perhaps it would be possible to increase or diminish the strength of lines with the expression. That is, the artist could make lines heavier or lighter with the expression, so that they could disappear completely in some expressions or be drawn more heavily in others.
These would be lines that show some blending with the background, using some pixels of intermediate weight.
A blushy patch on the cheeks?