Google Blogoscoped

Wednesday, March 9, 2005

CYOAs as Early Hypertext

The Choose-Your-Own-Adventure* books I read – played, rather – in the 80s were a form of hypertext. They were mostly written by Ian Livingstone and Steve Jackson, and they were mostly in a fantasy setting.

*I'm referring to CYOA as a genre, not a specific series by that name.

While there was a defined start, you couldn't just continue reading by skimming through the pages from 1 to 300. The book was filled with independent, connected stations, in no special order. At the end of each station, you would have to choose where to go to continue, like this:

You are passing by a beggar squirming
in the dimly lit dirt strait. What do you do?

- You give him a gold coin.
   -> Continue at 329.
- You ignore him and mind your own business.
   -> Continue at 102.
- You ask him for directions.
  -> Continue at 40.

Following one of those station, naturally, would lead to more choices to more stations. Until the end, when you would either die or kill the dark sorcerer to free the princess.

There was also a back-button, but that was cheating: once you would hit a dead end (like, you fell into a trap and died), you could try remember where you came from and go back to that station. I played by a semi-strict rule in that I allowed myself to go back a single time through-out the adventure. But if I remember correctly I had rules whereby I could "win" a second or even third back-button – like, the station leading me into sudden was plain unfair, or I "misread" something. In any case, my friend had even more lax rules.

Sometimes, you also had to randomize a bit. That was implemented by asking you to throw a dice, or if you didn't have a dice, you could flip through the pages quickly and halt at one random page... for every page had a dice symbol at the bottom. This way, you could get to any number from 1-6, but usually this didn't work nearly as well as throwing a real dice.

These books also asked you to store information, a sort of 80s browser cookies, to continue on the analogy. For example you could lose your health, win some strength points by winning a battle, or luck points by buying a magic ring. (Some items would be bad for you and strain your health, but you were not allowed to put them away – possibly, the explanation was your game character didn't realize they were doing bad things to him.) To write down the information you'd use a simple pen, and write on some of the first blank pages provided to you at the beginning of the book. Again, it would have been very easy to cheat on broad scale here, except you'd ruin the fun for yourself.

My favorite of these games books, and I read many of them, must have been City of Thieves. The fun here was that you could freely move around on a (restricted) map of a medieval town. You could also draw a map which would match the directions being given through this "offline hypertext".

Much later – I started programming to better recreate these books with my own plot – and after many failed attempts, I created the Quest Markup Language, QML. It too does have cookies, and hypertext, of course. While it most naturally works as HTML (I wrote interpreters in VBS, PHP, and Python), it can be printed too. It's an adventure game language, but can be used to create multiple-choice tutorials or similar. (Its language does not "know" anything of mystical dragons and such, and works to describe anything you have in mind.)

So, in a strange way, these books prepared me for hypertext in a world which had none, at least not in any practical way for a kid (kids typically don't get into Vannevar Bush or Ted Nelson). By the way, I think Escher's or Dali's images were an early form of programming tutorials – in retrospect I think they introduced to me the concept of the strange binary brothers IF and ELSE, which, while sitting next to each other in perfect harmony, are actually representing two completely opposing states – but that's another post.


Blog  |  Forum     more >> Archive | Feed | Google's blogs | About


This site unofficially covers Google™ and more with some rights reserved. Join our forum!