Faces

Sometimes it’s difficult to find the time to write this diary. Either I don’t have anything of interest to say, in which case I don’t write anything, or I’m too busy working on something new and exciting, and I don’t have time to write anything. 

The latter case holds for the last few days. I decided to use my ancient face technology that I developed for Erasmatazz. I recently re-published one of the essays from that time. Of course, the old C++ code for the Macintosh operating system has to be completely re-written, so I set to work writing new Java code from scratch. In the last 3 days I’ve written about 500 lines of code getting the whole thing running. It just barely runs now; here’s a screenshot of its output:

Java Siboot Face

From here on in, it’s just a matter of adding embellishments; that task will occupy me for weeks. I won’t even attempt to list all the tasks required. But I’m off and running. It feels good to be writing code again; it’s so much easier than the problems I face designing Siboot. Just now I’m stumped by the problems of writing the algorithms to control lying. Lying is an extremely complicated task, and a great many factors must be aggregated into a single algorithm. 

The original code had a library of 117 emotional expressions and I went through a lot of programming contortions to import that data — which was stored in a straight byte-by-byte format — into something more usable. I actually got a lovely little conversion routine that wrote an XML file with all that data. I was greatly pleased with myself, until my code tried to use that data to draw a face; it produced gibberish. After much flailing around, I fell back on tried and true methods: I grabbed the face image on the web page I linked to above, then measured the coordinates of each and every hinge point on that face. Then I typed all those numbers into a new XML document. It took me all of two hours of dumb labor. I could have done it the smart way with some sort of program to decode it all, but that would have taken days.

Back to work. I have a great deal to do.