|
The Kindness of Strangers Monday, Nov. 13, 2006: For weeks now, testers have been banging on my new interactive fiction story, "Last Resort." They've found dozens and dozens of bugs, most of which are both fairly minor and easily fixed. I've been hoping to have the story ready for release by Dec. 1. But this weekend we found that we had wandered into swampy, alligator-infested terrain. There was a bug, and I didn't see how it could possibly be the result of anything I had done in my code. The details of the malfunction I'm grappling with would interest no one other than another IF programmer. Within a couple of days I figured out what was going on, and it was indeed strictly my fault. But the situation, in addition to being intensely frustrating and rather worrisome, pointed up a significant limitation or weakness of interactive fiction in particular, and of our entire electronic culture in general. Computer programming is tricky stuff. (This is not news.) If you're interesting in trying your hand at writing interactive fiction (more familiarly known as text adventure games), you'll find that several bright and intrepid people have created specialized IF development systems that ease some of the pain. A lot of the heavy lifting has been done for you. You still need to read the manual, and you still need to learn to think like a programmer, but you don't need to start from scratch, as you would if you tried to write IF in a general-purpose programming language such as C++ or Java. It's safe to say that using Inform, TADS, or Hugo, even a person with no programming experience whatever can put together a simple game -- that is, a piece of software that will actually run -- in a single evening. That's the good news. The bad news is that these specialized development systems put an extra layer of non-trivial software "stuff" between you and the computer. If your vision of an IF story is relatively straightforward and requires only off-the-shelf software "parts," that extra layer may be fairly transparent for you. You may be able to write something that you like, and that works more or less as expected. But I'm one of those people who comes up with off-the-wall ideas and then wants to implement them in such a way that the story reads smoothly. I can't always rely on the components provided by the system developer -- not in their native state. From time to time, I have to roll up my sleeves, pop open the hood, and start getting grease under my fingernails. So when a really evil malfunction rears its head, I can never be sure whether it's due to my being an all-thumbs software mechanic, or whether the system I'm using has run off the highway and into a ditch for reasons that have nothing to do with me. And that's the problem. In order to be able to present my creative vision to the world -- or, let's be real, to the extremely tiny corner of the world that gives a hoot about interactive fiction -- I have to rely on the goodwill and energy of people I have never met. If the problem does turn out to lie in a weakness of the development system, I won't be able to find it. If the people who maintain the system don't have time to help me troubleshoot it, my months of creative work may never see the light of day. And now for the really bad news: Any artist who uses digital media is in exactly the same boat. In the 19th Century, Charles Dickens wrote novels with no tools other than a pen and ink and his own creative imagination. While he was working on a story, a thief could steal it or a fire destroy it, because there was no easy way to copy the manuscript. But once it was typeset and printed, the paper copies were immune to most forms of cosmic mischief, simply because there were a lot of them and they were widely dispersed. Plus, anyone who could read English could enjoy the story: No additional components were required. Almost two hundred years later, if you should happen to stumble upon an original first edition of a Dickens novel, you could sit down and read it. Certain archaic turns of phrase might puzzle you, but you wouldn't need to load a 200-year-old operating system into your text reader device in order to meet Martin Chuzzlewit or David Copperfield. My new story, in contrast, will be readable only for so long as someone else maintains the interpreter software required to run it on whatever computer operating systems are being used in the future. Maybe it will be readable for five years, maybe for twenty-five. It's extremely unlikely that it will be readable 200 years down the road. (In case you're wondering, "Why not print out a copy?", perhaps I should explain that interactive fiction is essentially nonlinear. Each person who reads the story will take a different path through it. Very few readers will encounter all of the optional paragraphs. Yes, I could print it out, but reading the printout would have very little in common with the activity of experiencing the story in its native medium, which is the computer screen.) So at both the front end (the activity of creation) and the back end (the experience of the work by an audience), I'm dependent on third parties. This is humbling, but it's also scary. Before starting "Last Resort," I did some research and chose a software system that I thought was stable and well-supported. It's both. But "stable and well-supported" are not at all the same thing as "completely reliable." Nothing is completely reliable anymore. It never was, but without noticing it we seem to have crossed some sort of watershed. We're in new and unfamiliar terrain. The going is (mostly) easy, because we're headed downhill, but there are slippery spots, and my guess is, we'll wind up not on a broad sandy beach by the open ocean but in a rank and dismal bog. |
Except where noted, all contents of MusicWords.net are (c) 2006 Jim Aikin.
All rights reserved, including reprint and electronic distribution rights.