December 11th

Screw this noise about reading data from an outside file! I’m wasting far too much time trying to achieve an absurd goal. I discovered that a typical Google News page comprises 2.3 MB of data. My current LMD page, with all the JavaScript and all the data, consumes a mere 516 KB of data. Sure, that will grow as I add more encounters, but it will never get much bigger than a few MB of data. Besides, if people want to experience my grand and glorious design, they’ll just have to wait for another second or two while it downloads to their browser. 

Harrumph!

So now the task is to figure out the feedback statements. I imagine this to be a list of sentences that can be inserted into the InitialText of an Encounter. The marker for the insertion point will be an asterisk. Thus, the data will consist of nothing more than a list of strings. Here’s the sample I presented earlier:

{Character} slaps you on the shoulder warmly as he takes his leave.
As he turns to leave, {Character} scowls at the ground.
You notice that {Character} is clenching his fists as he talks to you.
There’s something wrong with {Character}’s smile—it doesn’t seem quite natural.

But there’s one other factor that must be included in the data: the emotional significance of the sentence. 

First question: do I differentiate pBad_Good from pFaithless_Honest and pTimid_Dominant? I suppose that I’ll have to do this; it might be a bit difficult, but it’s necessary. Can I meet the requirements? There are eight characters; each character will need to have his position stated at least four times during the course of the story. That’s 96 statements. However, there will be overlap, because each statement must be based on the magnitude of the pValue, and ofttimes pValues will cluster close to zero. Therefore, I’ll need a LOT of statements in the neighborhood of zero. I think I’ll need about 200 such statements. That’s a tall order.

So for each statement, I require three attributes: the text, the pValue being presented, and the magnitude ascribable to the statement. The JSON will look something like this:

{
  "akind": "Bad_Good”,
  “magnitude": “0.5”,
  “text": “{Character} slaps you on the shoulder warmly as he takes his leave.”
}
{
  "akind": "Bad_Good”,
  “magnitude": “-0.2”,
  “text": “There’s something wrong with {Character}’s smile—it doesn’t seem quite natural.”
}

The good news is that I won’t need to do much editing on this material. This is all quite straightforward, so I can simply type it into the JavaScript with my text editor. 

Let’s give it a try!

Later
I have already encountered a snag: these statements must fit all situations, but there are contexts that require consideration. For example, many of the encounters take place inside Camelot, where I can bring in other people. They can be indoors or out-of-doors. They can take place while on campaign or somewhere distant from Camelot. I cannot prepare generic statements that can fit into any and all situations.

Wait a minute! What if I use the face technology? That’s what it’s for, after all! This changes everything. I have some hard thinking to do.