December 28th, 2015
I’d like to start off with a fable I’m sure you’ll all recognize.
Once upon a time, in a medieval sort of storybook kingdom or something, there lived a village of people and it all got burned down. When the smoke finally cleared, the survivors gathered around and said, “who has done this to our village?” One of the town elders said, “Right before the village burned down, I saw a cat knock over a pot of highly flammable oils!” at which point the town dragon said, “That was almost certainly the problem. I’m glad we got to the bottom of that!” He burped a fiery burp, and they considered the matter settled.
By now of course you recognize this story, the famous episode of “The Cat and the Dragon.” It’s a cautionary tale about the readiness of people to place blame on things which have little or nothing to do with their ultimate problems. The cat, in this case, may have had some small role in exacerbating the fire, but it was almost certainly the dragon who caused the village to burn. After all, that’s what dragons do.
I chose to open the post with this timeless yarn because it fits the topic perfectly once you realize it is a metaphor, a term literary scholars use to refer to an author’s substitution of something they’re trying to describe with either a cat or a dragon, or in this case both. This is not to be confused with the closely related term simile, which is when the author merely says something is like a dragon or a cat (but not both — that special case is called a gerund).
But enough with the advanced grammar lesson. Back to the interactive fiction situation.
SPOILER ALERT: Interactive fiction is the burned village.
In last week's post I talked about how interactive fiction had a little bit of magic in it, magic that we’ve never really managed to recapture. But that magic was largely illusory, and it remained that way until the genre faded into obscurity.
So the question naturally becomes, why? Did developers not know what the magic was? Did they not know what was necessary to fully realize it? Did they not have the technology to do so? What?
Well, thanks to 30 years of interceding history, we are at least in a position to make an educated guess by looking at what happened to the genre and its descendants.
First, the presentation of the genre transitioned from textual to graphical. This was typified by games like the Sierra line of graphical adventures, such as the famous King's Quest series. These were almost exactly the same as the original text adventures, in that you still typed text into a command line to do things, but they now had pictures of the world accompanying them and a character which you could move directionally.
Next, the interface of the genre transitioned from textual to graphical. This shift was exemplified by the LucasArts series of “point-and-click” adventure games, where the command line input of Sierra’s titles was replaced with a cursor-based interaction model.
Finally, the abstract world representation central to the genre was replaced by concrete, rule-based designs, and one might say that at this point there was nothing really remaining that one could call “interactive fiction”. The classic example of this sort of game would be Myst, and of course a more timely example comes out in just a few short weeks.
There is a ton of stuff I’m glossing over here, but for the sake of keeping this blog post at a reasonable length, that’s the high-level summary (for the low-level summary, check out Jimmy Maher’s amazing history of interactive fiction).
SPOILER ALERT: The parser is the cat.
If you listen to people talk about the problems with interactive fiction, one thing gets said over, and over, and over, and over: the parser was awful.
“The parser” — the part of the game code that tries to figure out what you wanted to do based on the words you typed in — has always had an awful reputation, and deservedly so. Natural language processing is a difficult thing to do correctly even with today’s extensive research and extraordinary levels of computing power, nevermind thirty years ago on computers with, you know, 64 kilobytes of memory. So even though the later interactive fiction titles (most notably those by Magnetic Scrolls) did a significantly better job understanding what you wanted to do when compared to earlier games like Colossal Cave Adventure, there were still tons of parsing problems. Humans are excellent with language comprehension and computers were (and still are) not.
For those who never played text adventures, a typical “parser problem” might be something as simple as the computer saying, “You are standing atop a tall rock spire, with exits to the east and north,” to which you respond, “look at rock spire,” and it says, “I do not know the word ‘spire’.”
I know it sounds stupid, but that’s literally the sort of thing that would happen. If the programmers didn’t actually code recognition for all the words they used in the prose, then merely using those words in a command would immediately cause a failure case. And things got worse from there. If the grammar you used was a pattern it didn’t know, it didn’t matter if it knew the words or not — typing, “I want to look at the rock spire” would completely confound the parser, even though it’s much more natural English than the kind of command it could actually handle, “examine spire”.
So this was awful, and I would never argue otherwise. But if you recall the brief history I gave in the previous section, hopefully you can see why blaming the parser for our failure to develop the magic in interactive fiction amounts to blaming the cat for burning the village: subsequent revisions to the genre removed the parser entirely, but the genre still became commercially unviable.
SPOILER ALERT: The simulation is the dragon.
In truth, though, I wouldn’t actually say that people complaining about the parser are wrong about the main problem. Rather I just think they are complaining about more than just the parser. Because even though “the parser” is a very specific thing that deals only with mapping natural language input to game world operations, the results that people see from their use of the parser are based on the entire round trip.
And that round trip is really where the problem is.
Interactive fiction — especially of the text adventure variety — effectively promised the player a complete world of possibilities limited only by their imagination. When the game said you were “standing on top of a giant rock spire”, you imagined a world with you standing on top of a giant rock spire, and everything that implies. You wanted to know about the rocks, and the moss, and the grasses, and could you take the grasses, might they be medicinal grasses, could you light them on fire, are there bugs in them, what kind of bugs, etc., etc., etc.
The game engaged the power of your imagination and took full advantage of it to create a rich game world, but in terms of the game simulation, almost none of the things you imagined actually existed. There wasn’t any grass on the rock spire because nobody had programmed that. There weren’t any bugs in the grass because nobody had programmed that either. In fact there may have been literally nothing at all beyond just an empty node in a graph with the text, “You are standing on top of a giant rock spire.”
And this created a deep, irreconcilable mismatch between the game you thought you were playing and the game you actually were playing, and you were repeatedly and unceremoniously reminded of that fact not by the parser, which certainly did fail often, but by the lack of simulation, which almost always failed to provide the interactivity your imagination expected from the text with which you were prompted.
This, I believe, is the fundamental reason why interactive fiction titles were so frustrating, and continued to be frustrating through numerous revamps. Changing from textual to graphical made it clearer what the scene was like in detail, sure, but it remained almost entirely unsimulated: most of the doors couldn’t be opened, most of the objects were just pixels that you couldn’t pick up or interact with, etc. And even those objects you could interact with still retained the problematic property that the only interactions that actually worked were the specific ones the designer wanted you to do to progress through the game.
Unfortunately, nobody ever solved — or even attempted to solve — this central problem. There are really only two types of modern descendants to interactive fiction: ones that have exactly the same limitations and problems (eg., any game from Telltale), and ones that have removed the core game mechanic of objects and world simulation and replaced them with something concrete and easier to directly perceive, like the “clickable state machines” of Myst or the “path tracing” of The Witness.
So where does that leave us?
If you’re sitting there thinking, “Game over, man, because, like, there’s no way we’re going to be able to simulate everything a human can imagine,” don’t despair. We may not need to solve such a hard problem to still solve the part that actually matters to the playing experience. And that part, as you may have guessed, will be the subject of next week’s post.
Until then, thanks for reading, and we’ll see you on the internets!
Don't want to miss a post?
Have our blog sent straight to your inbox: