As I described yesterday, I had an idea for conveying Events inside ‘cartouches’, like so:
Now, in computational terms, this will not be difficult to do, because the clause enclosed inside the cartouche can be stored in the HistoryBook marked as a ‘NonEvent’ so that it is used only for reference. Then the actual Event simply contains the index number of the NonEvent in order to include it in calculations.
There is a potential problem here with nested calculations. If we needed to perform calculations with the individual contents of the cartouche, things might get rather messy, because we can seldom be certain as to what kind of verb is contained inside the cartouche. We could, at some point, develop algorithms that permit a detailed scan of the contents of the cartouche, allowing us to branch to the appropriate analysis routine, but that involves a degree of procedural indirection that is for the moment too advanced for Storytron technology.
For user input, we would have to provide a kind of flipbook of past Events, although I expect that with many situations there would be only one possible answer. In the above example, the clause that is ‘not known’ to Socrates is taken directly from the previous sentence and so, after selecting the ‘don’t know’ Verb, the player need not specify the clause.
In other cases, similar constraints would apply. The worst case, I believe, arises when the player wishes to accuse another of lying to him. In such a case, it would be a simple matter to filter all the Events in the HistoryBook in which the DirObject made a statement to the Subject. There would still be a multiplicity of these, so a means of displaying the group would be necessary. This is probably best done through some sort of ‘flip book’ display system. Sadly, this will require some special coding that I don’t think is within my capabilities.
I think this can work, so I intend to adjust my design concepts to incorporate it.