Now that I have established the core verbs, I can discuss the structure of compound sentences – that is, sentences containing multiple clauses. I had assumed that these sentences would require recursive structures, but I have figured out a simpler solution. Each sentence comes equipped with 16 WordSockets; no plausible sentence, even with multiple clauses, would comprise that many words. So all I have to do is equip the outer clause with a WordSocket for a verb, and when that verb is entered, plug in the WordSockets required by that verb. This requires run-time plasticity in the sentence structure, but that modification would have been necessary with a recursive structure. This approach reduces the complexity somewhat.
Here’s a simple example:
“Merida declares to Socrates that Wile E. Coyote trusts him very little.”
This sentence would be constructed as follows: the verb ‘declare’ has just four WordSockets: Subject, Verb, DirObject, and 4Verb. When the player enters the verb ‘declare’, the DirObject is immediately filled in and a ‘which verb?’ icon appears in the space immediately below the verb ‘declare’. and a menu pops up showing all reasonable verbs to fill that WordSocket. The player chooses the desired verb and the other WordSockets are looked up from the chosen verb’s data structure, and inserted into the sentence a-building.
How would the NPC plan the use of such a verb? I think that decision would arise from Role circumstances. For example, if Socrates had just offered a deal involving a promise not to betray Merida, the Role-script could provide the option to make this declaration to demonstrate that Merida doesn’t trust Socrates.
Let’s consider a more complex example:
“Socrates offers a deal to Merida: he promises not to betray her if she tells him how many power auras Wile E. Coyote has.”
This is the most complicated sentence I can imagine just now, and it uses only 12 WordSockets, so I think that the plastic approach should work just fine. This does raise all sorts of problems with the algorithm for placing words on the screen. There’s also a problem that didn’t arise with original Siboot: how does Socrates know what to ask of Merida? What if she doesn’t know the answer? Should Socrates engage in a fishing expedition? Or should he simply know in advance (as in original Siboot) what she knows? I never liked that. Or should he ask her to betray Wile E. Coyote? That gives her the option of telling him any of the three auras that she knows about – but what if she tells him something he already knows?