Resizing the Face

I have just tested a magnified face and I can see that this is not going to be easy. Many of the visual approximations of my earlier algorithms were adequate on a small face, but on a larger face their deficiencies glare at me. So, what am I to do?

 

Here is a list of possible sizes:

 

horz vert pixels notes

192 256 50K original size

240 320 77K

256 342 88K leaves 100 pixels underneath for character speech

300 400 120K 40 pixels wasted, no possible application other than border

330 440 145K absolute maximum size

 

I can rule out the first two options immediately. The third option is tempting because it can be made so clean. The character and his speech are on the left side of the screen, and the player's responses are on the right side of the screen. But it really isn't much of an increase: 33% linearly, 76% arealy. The fourth option yields a hefty increase in size, but seems wasteful of screen space; if I can't use the pixels underneath the image, what am I doing with them? And of course, the fifth option is the no-holds-barred, most challenging option.

 

One possibility here is to augment the fifth option with improved algorithms. Lord knows, the original design was intended for computers of four years ago, and by the time this is released next year we'll have even more powerful machines. If my face technology uses a bitmap three times larger, with three times the bitdepth, then we're talking nine times more processing (rough approximation). Surely the 100MHz Pentium of 1997 will be more than 10 times faster than the 33MHz 386 of 1991. So we have the processor cycles to handle it. The RAM costs of the face will also be acceptable: 145K is trivial, and even with seven steps of my transitional animation, we're still talking about only one megabyte; that seems attainable. (In truth, it will be less than half that because we only animate the interior.) As far as download times go, the compressed images will take about 100K, and we can offer a basic library of 32 characters for 3.2 megabytes and an extended library of further characters as well. Yes, this is practicable.

 

But now let's talk about programmer time. I have only two months of schedule time to tackle this; prudence dictates that I anticipate delays. If I commit to the largest size in the belief that I'll come up with improved algorithms that will make it look right, I'm asking for trouble. Still, there's no point in aiming low. I'll go after the big size, assume I can make it work, and fall back to a smaller size if I fail.