Is Language-Based Interactive Storytelling Possible?

May 31st, 2021

After nearly 30 years of working on interactive storytelling without success, I’ve been considering many fundamental issues, one of which is whether it is even possible to build storyworlds using linguistic structures.

Deikto
My own solution to the basic problem is Deikto, a technology of which I am very proud. Here is the best overall description of the Deikto system

The Deikto system can handle almost any kind of sentence, because the basic structure of the sentence is defined by the verb. It also nicely solves the problem with many computer language systems in that the user need not guess what words the language can handle — that’s built right into the system. Its associated scripting system, Sappho, is another pat-myself-on-the-back technology. There was only one weakness in this technological system: although it worked beautifully, the interactive storytelling system it was embedded in didn’t work. 

Is it conceiveable that an interactive storytelling system using Deikto could work? Did I hit the nail on the head with Deikto and my thumb with the storytelling engine? My inclination, obviously, is to conclude that, if ***I*** couldn’t come up with a working system, then it must be impossible.

A fundamental weakness of the Deikto system is its cognitive chunkiness. We expect stories to bristle with nuance. Much of the appeal of stories lies in the delicate observations of human existence threading through the action. Hamlet comments that "Thus conscience doth make cowards of us all” while contemplating death. Merlin says, “For it is the doom of men that they forget.” A storyworld based on Deikto would lack such elegant phrases; the action would be presented in its simplest, most basic form:

Joe greets Mary very sincerely.
Mary greets Joe neutrally.
Joe tells Mary that John dislikes Mary.
Mary tells Joe that she dislikes John a little.
Joe offers a deal to Mary: he will give her a bicycle if she will tell him how much Sarah likes Joe.

Or let’s translate Hamlet’s soliloquy into Deikto:

To be or not to be, that is the question.
Hamlet asks Hamlet is Hamlet alive good.

Whether 'tis nobler in the mind to suffer
The slings and arrows of outrageous fortune,
Or to take arms against a sea of troubles
And by opposing end them.
Hamlet asks Hamlet is Hamlet fight world good.

To die—to sleep,
No more; and by a sleep to say we end
The heart-ache and the thousand natural shocks
That flesh is heir to

Hamlet asks Hamlet is not alive good

Doesn’t quite work, does it? Therein lies the killer problem, I suspect. Just now, I see no solution. If that be so, then I think it fair to say that the toy language approach cannot work.

What about a better implementation than Deikto?
But what if somebody could come up with a better implementation of a toy language than Deikto? I had a version of Deikto that used text instead of icons, and it even sported a system for extending the linguistic expressiveness of the sentences. In practice, that system proved to be far too difficult to actually use, so I dumped it.

Michael Mateas and Andrew Stern built a language system that could interpret almost any linguistic expression — but it was a one-way system. It could interpret snazzy language, but it could output only canned expressions. I do not believe that we’ll be able to build an adequate system for outputting a toy language in the foreseeable future. 

Conclusion
I am sorry to conclude that I spent 30 years barking up the wrong tree. Oops.