Choose Your Own Adventure

6-minute read


“Abandon every hope all ye who enter here!” — Zork

I love programming. I have been doing it ever since I was a little boy. My first sizeable programming project was a full-fledged text adventure game written in BASIC for the Commodore VIC-20. I don’t remember the story nor the characters but one thing I recall vividly though is the title screen: “Circle of Light”, completely constructed using PETSCII characters. The title probably existed before I came up with the narrative itself. I still do that sometimes.

My love for text adventures must have been sparked when I began reading the Choose Your Own Adventure books I borrowed from the library. I devoured them.

Big set of Choose Your Own Adventure books

Choose Your Own Adventure (CYOA) was is a series of game books where each story is told from a second-person perspective. The reader assumes the role of the protagonist and makes choices that determine the actions of the main character and the plot’s outcome. As the story evolves you are frequently confronted with choices where you — the reader — must decide what to do. This decision usually consists of two possible actions, for instance: you either ‘throw a rock to confuse a band of sleeping orcs’ and turn to page 64 or you decide to ‘try and creep past them’ by turning to page 69. If you find yourself slaughtered nobody holds you from turning back to choose the alternative path but that — of course — would be cheating.

See? You can imagine rebuilding a CYOA story on a home computer to be an enjoyable crash project for a kid: prepare a few text strings, throw in a set of IF-THEN-ELSE statements, probably mix it with lots of GOTOs, and — most important — enjoy fairly quick results. I am pretty sure a bunch of young people began programming their automated version of CYOA stories back then.

My ‘Circle of Light’ game most probably started out as a Choose Your Own Adventure story also and changes are the adventure was born on graph paper before it even came near a computer. The structured maps I drew for the CYOA stories mirrored flow diagrams. The game outgrew the typical CYOA story and evolved to be a little fancier than that. It featured a few rooms that you could roam and I remember it having objects and riddles to play with. It thus, however small, resembled a text adventure. I vaguely recollect I had to vigorously cut down the story’s text to keep the program inside 3½ KB of available BASIC memory. I would love to catch a glimpse of the game’s source code albeit I am sure it was lost early along the way.

Text adventures in general happen to make great programming endeavours: it will almost certainly make you go over arrays of objects, custom data structures enacting rooms, saving state, and the parsing of sentences entered by the user.

Text adventures

The CYOA books were just one thing. One of the first games I ever played — besides Pong — was a text adventure. My parents did not give me an allowance, I earned pocket money myself doing chores instead. For instance, my neighbour had a company that sold industrial kitchen appliances and I used to wash his car every single weekend. One day he mentioned he had introduced an expensive CP/M computer at the office provided with a customer relations software package but the machine practically stood there unused for too long: it was missing customer data to operate on! It so happened I spent the Summer holiday staring at an amber-coloured monochrome screen entering names and addresses. It was the most extraordinary Summer job I ever had as a kid! Although using just a few fingers, that’s where I learned typing really fast and I did not mind working long days at all. When I got enough work done for a day I ran an intriguing program called ‘ADVENT.COM’. It was a copy of the original Colossal Cave Adventure — or so I learned much later — written by Will Crowther. It was like reading a thrilling book that had my imagination run wild. At the end of the day, the office workers went home, lights went dim, and I kept playing in a world that quickly became real, much like you forget about time when a good book sucks you in. I never finished that adventure — I managed to get rid of the stacks of customer cards first — but I truly loved the experience of exploring the adventure’s unknown territory.

Detail view of handdrawn text adventure map ©1984 Scott Andrew

Since that first encounter with text adventures, I have played many of them — especially during my youth. Game companies like Infocom, Level 9 Computing, and Magnetic Scrolls fed my growing hunger for interactive fiction. Despite the fact that text adventures, in a way, got replaced by graphical point-and-click adventures by such companies as Sierra On-line and Lucasfilm Games — before they, in turn, got replaced by Doom and Myst, I always kept a soft spot for that involved way of storytelling.

That’s how I developed a fondness for the genre. Weird thing is, notwithstanding my interest for the phenomenon, after ‘Circle of Light’ I never wrote a text adventure again. How come?

In hindsight text adventures have always been part of my life; even when I was not playing them. I have read every book I could find on interactive fiction. And when I stroll through my old source code I see a lot of routines that hint toward my love for narrative fiction: ELIZA clones, text parsers, cute little compilers, maze and riddle generators, map viewers, automated bots for BBSes and IRC. All these diversional snippets have ‘text adventure’ written all over it.

Now I understand

As I mentioned earlier this year I have shifted the focus of my professional career back to the creation of software for I found I really enjoy doing just that. I also came to understand that writing is an important part of my life. To me, it seems kind of strange that I never made the equation of combining them before. More precise, it is the understanding that a lot of my predilections and methods originate from the things I experienced as a teenager. It really made me who I am today.

Dismiss the false notion that text adventures are dead. They’re not.

Adventures — especially text adventures — are supposed to be dead and buried but when I look around today I see a lot of adventuring going on: people actively write and play text adventures and they talk about it too — a lot. Of course the Infocom days are over — there is no serious money to be made. However, that should not refrain anyone from writing them. I think any text adventure is worth writing if it is eventually exposed to the public. After all a text adventure is a supercharged story, much like a book that wants to be read.

The equation is obvious. Given my love for writing both software and stories, it seems only natural to start off and — after thirty years — create my next text adventure. Better even, I am determined to finish it. Also, it hands me an interesting subject to explore and write about for the near future. Rest assured, I understand; it’s just a hobby but I believe it is an important one.