I received an email from Stede Troisi that raises an interesting point. He posted the same message on the forum, but no response has appeared as yet, and I think his point deserves some contemplation.
He asks, “Is interactive storytelling even storytelling?”
He spends several paragraphs wrestling with the issue, but seems to come to the conclusion that interactive storytelling is not the same as storytelling because a story is a fixed collection of data, while interactive storytelling is intrinsically a process. The result of a player’s interaction with the story world is not explicitly predictable by the author, so how can we call this creative person an “author”?
The simplest answer to this question is to ask if the designers of a smartphone have anticipated every conversation that will ever be carried out through their design. Of course not! The smartphone implements a process, the transmission of audio between two locations. That process encloses within its purview every conversation in the universe of possible conversations. Thus, by focusing on the process rather than the data, the designers are able to build something far grander and more useful.
The same principle applies to interactive storytelling. In the ideal case, the author would program the fundamental process of storytelling into the story world, and then let the players combine the author’s processes with the player’s own data (decisions) to produce a unique story.
But the fundamental processes of storytelling lie far beyond our intellectual reach. I cannot begin to articulate them. Sure, there are lots of books on the nature of narrative, the structure of a story, how to write fiction, and so forth. These solutions, however, are couched in terms that remain outside the ken of computing. Sure, it’s easy for a book to admonish the prospective author to “prefigure major events” — but how do you say that in C++? Even the basic terminology for narrative theory is way beyond what we can express in code.
Suppose that you want to build a code-level dictionary of English. You want a program that includes the definition of every one of, say, the 10,000 most frequently used words in the English language. Let’s put aside the complexities of grammar and syntax and consider only the semantics. How do you define a word?
Obviously, you define a word using other words. But there’s a circularity here: how do you define the other words? Consider Samuel Johnson’s definition of a network:
Any thing reticulated or decussated, at equal distances, with interstices between the intersections.
So where do you start with your dictionary? How do you define the first word in code?
The sad truth is that we are far, far from achieving genuine interactive storytelling. We cannot begin to conceive how we would express any of the basic principles of narrative in code.
Instead, we must set our sights lower, aiming for the crudest, simplest version of storytelling that still (barely) meets our standard for storytelling. What traits CAN we develop in code?
IMAO, (A is for ‘arrogant’) Storytron technology represents about the best that is conceivable just yet. Its reach exceeds its grasp, for it is too complicated to actually be built. It’s rather like an airplane with so many controls that no human pilot could possibly get it off the ground. Thus, the Storytron technology represents the best we can hope for, for now: verbs with repercussions that link to other verbs with repercussions in a directed graph. No overriding structure, no sense of plot or dramatic arc, no implemented version of “beginning, middle, and end”. Instead, a maze of behaviors that alter state variables; the story ends when the state variables reach some critical state.
There are a number of other strategies that MIGHT work, but the few attempts I have seen in that direction have all been failures. The most intriguing of these is the data-driven approach. Suppose we could somehow assemble an organized database of every story ever written, then mine that database to produce responses to player decisions? It sounds good, but the killer problem is the system for translating prose into some sort of universal language of narrative. That has been tried many times, with no luck so far.