I don’t know why it didn’t occur to me earlier that I should use face displays to communicate feedback to the player. I suspect that it was because I was thinking of LMD as a pure-text application. But it’s now obvious to me that I absolutely MUST use the face display technology for feedback to the player. This will, however, require some major changes to the JavaScript. The biggest problem is that the main text MUST be in a scrollable text window. Here’s a quick screen layout:
(The face of Lancelot is what I call a “base face”—the bare face onto which the Face Editor paints the expressive features.)
There are a great many tasks to be done in order to implement this. In no particular order, they are:
Modifying the Face Editor to handle the new faces
I am fortunate in that I have a bunch of face images from the 1991 attempt at Le Morte D’Arthur. Aaron Urbina drew them for me, and although they’re 28 years old (I think that each one was limited to 16 colors), they’re still adequate to the task:
I can get better ones later if need be. But I’ll have to make serious modifications to the Face Editor if I’m going to use these faces. That will take at least a week’s work. When I’m done, I won’t import the face drawing algorithms into the JavaScript code; instead, I’ll simply generate all the expressions I want and store them as data. This will require several hundred such images to be stored, but each one will take less than 100K, so it’s no big deal.
Modifying the HTML for the face image
I know it can be done, but I’m uncertain as to how to write the JavaScript to write the HTML that will display the face next to the text. There are some additional complexities. I’d like to be able to include another image with each encounter, one somehow illustrating the subject of the encounter. For example, I’d like to illustrate the encounter about refugees fleeing to Armorica with this image:
It’s simple, but it clearly shows what was happening. In another encounter, Tristram shows Arthur an ancient falcata, which I’d like to show:
I’ll just have to learn more fine points about HTML in order to write the code to make all this happen. “Harrumph!” says the old fogey.
What expressions to show?
A third task is to decide what expressions to illustrate. I shall have three pValues, so I’ll need, say, ten values for each of the pValues. Thus, I’ll need 30 expressions per character, for 240 faces in toto. I can do that. But should I mix pValues in a single face, or show just one expression? Mixing them together would require thousands of faces, and would be difficult for the player to interpret. Another possibility would be to alternate between the three expressions. If I do that, I’d like to do something a little nicer than an abrupt jump from one to the next. I’d prefer a morph-shift, which my face display algorithms can do, but that would require me to write up those algorithms in JavaScript. That’s a problem to mull over.
Much to consider.