I’ve come up with an idea that might provide a breakthrough. I started off deciding that it would be useful to define verbs by example sentences. By labeling each word in the sentence with a numeral, I can specify the WordSocket assignments. Here’s one for the verb ‘greet’:
Here’s a more complicated example:
Here’s an example of inversion in use:
In this example, the verb for ‘trust’ is encased in black, which indicates inversion.
Many verbs will have slightly different uses; here’s one, slightly squished to fit into the width of this page:
When the speech bubble contains an exclamation mark, it means ‘request’, which takes an action as its object. The verb ‘ask’, denoted by a question mark in the speech bubble, is a request for information, not action.
I should add here that there are three determinants used with the ask verb, shown as follows:
The first determinant refers to auras, so the verb means ‘ask about aura count’. The second determinant refers to feelings, so the verb means ‘ask about feelings’. The last determinant refers to the past, so it means ‘ask about an event’. Now, this last verb gave me some trouble. One could ask about a specific event or a class of events. Here’s what asking about a specific event might look like:
But a person might also want to ask a more general question, such as ‘who betrayed me’:
The upper version of the question requires only a simple yes-or-no answer, but this version requires the insertion of a name in the answer. These are two different verbs.
But there’s another problem: the temporal range of the question. Is Floki asking if anybody has ever betrayed him, or if anybody has betrayed him recently? If he asks the general question, and he has been betrayed twice, how does he learn about the second betrayal? I could attach a temporal quantifier to both the question and the answer, but would that be burdensome?
I’ll leave these questions unanswered for the moment, because I want to get to the breakthrough. While considering all this, I came up with this sentence:
The idea here is to enclose the sentence for the Event inside a RoundRect. Just as a hieroglyphic cartouche encloses a name, this cartouche encloses an Event. It would not be that difficult for the user, because the inverse parser could present only sentences that answer the question.
But what if this is not a response to a question? Can Actors introduce new topics out of the blue? I think not; it would simply be too clumsy for the user to scan through the HistoryBook. Instead, sentences like this are always answers to questions.
Which in turn raises the question of why such a special construction is necessary. If Merida asks Evil Queen a question, Evil Queen doesn’t need to import the entire Event; the blank WordSockets can be filled in.
This implies that questions must be specific to the clause structures they imply. I think that a question about an event should assume a simple three-word secondary clause: subject, verb, dirObject. This permits somebody to ask if anybody betrayed anybody or anybody attacked anybody. It would not permit more complex clauses, such as whether somebody promised something to somebody else.
Thinking big
Here’s where this idea gets really exciting: what if I used the cartouche idea as a way to create entire secondary clauses? The player (or algorithm) says “create a cartouche” and then proceeds to populate it with a clause. That cartouche is stored as an Event but is attached to the actual Event to which it is subsidiary.
I suspect that I should leave this for another game.