Skip to main content

Interactive Fiction - Finding the Mouse

For as long as I’ve been using computers I’ve known of text adventures. Using your imagination and the words on the screen, you construct a world in your mind and then interact with it through the computer by typing in commands. The goal is usually to solve different puzzles in order to come to some sort of winning scenario.


Nowadays text adventures have given way to interactive fiction, or IF. Much like text adventures, there is often a goal to reach. However, some can be entirely freeform and offer the reader a variety of scenery and possibilities to explore. They still stick to text as their means of communication and rely on the reader to imagine the scenery. There’s still usually some sort of puzzle to solve, and this can provide a lot of fun for some.


The interactive fiction community is still going strong. There are plenty of archives out there for the curious reader to explore; the most prominent being the IF Archive. There’s a newsgroup at rec.arts.int-fiction (Google Groups link) that’s still quite active. New tools for building IF works have been developed recently that can interpret a designer’s plan in descriptions close to natural language.


I’ve experimented with writing these sorts of adventures for a long time. Early on in my programming experiences I tried to write one in BASIC. The limitations of the platform I was using slowed me down, and my relative green-ness and lack of community to rely on caused me to give it up.


A few years ago I heard about a 1-2K text adventure challenge. The idea was to write a text adventure and its interpreter in 1-2K of executable code and data. I never got around to submitting my entry, as I still had some issues in compressing the text into a small enough space to allow for some code to actually run the adventure. Recently I decided to resurrect that little adventure and develop it with Inform 7.


It took a bit of work to get the adventure to work just right using the features available in Inform. It’s certainly no longer anywhere near as small 2K, given the rich set of commands that Inform gives each and every IF work it produces. These commands allow for more leeway for the player to express their actions.


If you’d like to play my adventure, you can find a Java applet to play it here. If you have a z-code interpreter already, you can download the adventure itself. The basic premise is to find your computer’s mouse so that you can surf the web. The optimal solution can be done with six turns, so the adventure shouldn’t take you too long once you figure out what to do.


I’m going to be updating it from time to time to polish it up, so if you tried it and it was a bit rough, maybe give it another chance later on. The web page makes the story’s modification date available, so you can see when I last updated it.


The news group community has been really great in helping me out with it, and I’d like to thank them here for their support. Guys, thank you so much!


The world of interactive fiction has grown since the days of the earliest text adventures. A certain maturity has given newer titles more depth and flavour, and new possibilities with recent development tools have given writers more time to spend on the story, rather than on the mechanics of dealing with the interpreter. It’s an interesting field, and well worth looking into for anyone who enjoys reading.

Comments

Popular posts from this blog

What Kind of Games?

I started programming when I was young, with the hopes of writing video games. I think a lot of kids start that way. When you like something, or someone, you try to emulate what you’re seeing. But how has that early dream turned out? They tell writers to write what they know. It’s good advice. How can you write about life in the Serengeti without have someone to give you a first hand account or having been there yourself? You can always use your imagination, and that’s all you can really do when writing fantasy or science fiction. It works for writing video games. How can you expect to write a genre you don’t immerse yourself in? These days I spend most of my gaming time playing casual games. I’m busy doing other things, and don’t want to spend long stretches just sitting at the console or computer. Recently I read an article about the kind of video games the most people tend to flock to. Typically they’re games that are relatively simple and involve sorting things in some way. It

Am I Jonesing for the Internet?

I’m feeling a little agitated and jittery today. My internet access is down due to some nasty snow and wind. Are the two related? They might be. I know I’m certainly missing my twitter friends and feeling less in touch with the world. How long is this weather going to hold? I can’t look that up. Sure, I could pull out a radio and listen in, if I had one. I might somewhere, but I’m at the mercy of the broadcaster to decide when to report the weather and how much of it to report. Some argue that internet access should be a basic human right. Does this point of view hold water? I suppose it could be argued that since the internet allows us to draw together into a larger community that it is an essential part of improving the human condition. Its use in political organizing and to connect dissidents in repressive regimes can certainly help make the case for it as a basic human right. Is the jitteriness really from not having the internet? My doctor did just increase my dose of modafi

Piet - an esoteric programming language

There’s a certain group of programmers out there that like to come up with programming languages just for the fun of it. Some of them have profanity as their names , and some are based on internet memes . Whatever the case may be, some individual out there enjoyed thinking up the language, and many of these languages are actually useable. One esoteric language that stands out, for me, at least, is Piet , created by David Morgan-Mar. Based on the idea of making programs that look like abstract art, Piet allows the programmer to express their software in the form of coloured blocks. Numbers are represented by blocks of pixels containing a pixel count equal to the number itself. Operations are performed by changes in hue or darkness. As an example, here is a Piet program I wrote to output the string “Hello World”. This image is in fact the entirety of the program, and can be run in any of the Piet interpreters out there. Other examples of Hello World programs are available on David’s si