<<- Chapter 7   Table of Contents   Chapter 9 ->>

Chapter 8: The Growth of Hobbyist IF 


Firstly, I never intended to write Inform!  I had played a few Infocom games in the late 1980s (running under CP/M on a ghastly Amstrad), and admired them: I was curious about the run-time format and in early 1993 found some fragmentary documents on the Internet. I wrote to Mark Howell asking if there was a compiler, and he said "Many people have had many dreams". So I tried to fake a toy game file, to print "Hello World" and stop. Each time, nothing happened, and I thought, ah, I shouldn't have missed out the property default table, and coded a bit more. Eventually I found it had been working all along--but didn't show anything on screen until it had the first full page of text. I inserted 30 new lines, and suddenly my toy said "hEllO woRlD". (An hour later I understood alphabet shifting rather better!) My first real program factorized the numbers 2 to 100 into prime factors, for which I improvised an assembler: Mark's excellent disassembler helped me to perfect it. By then "zass", as it was called, was a horrid tangle of exceptions so I sat down with plenty of paper and worked out the underlying rules. I wrote these into a much simpler assembler, added "if" statements, code blocks, loops and an expression evaluator, and the result was Inform 1. 


--Graham Nelson (1996) 


            Not surprisingly, a whole host of 1980s computer hobbyists were inspired by Adventure, Zork, or the Scott Adams games to attempt to create their own works of IF in popular general-purpose programming languages of the time such as BASIC.  Equally unsurprisingly, the results were almost uniformly dire.  Developing a reasonable IF parser and world model is a hard problem even for the professional programmer, but one which must be tackled by even the most rank amateur before she can even begin to think about the text, objects, characters, and puzzles that will make up her game.  Most “written from scratch” amateur games are undermined by the weakness of their underlying infrastructure, as it were.  The logical solution to the problem, a customized programming language with an accompanying library encapsulating parsing and basic world modeling, was not a practical possibility on the primitive hardware of the time.  Thus would-be authors were left to struggle with BASIC and try to implement something that would be, if not of professional quality, “good enough.”  Something of a cottage industry of how-to magazine articles and books sprung up to aid them. 




Luckily, while creating an IF infrastructure is a hard problem, once that infrastructure is created it is eminently possible to apply it to many different individual games.  Virtually all of the major IF developers of the commercial era quickly realized and acted upon this, and it did not take much longer for others to try their hand at creating similar tools for the prospective amateur IF author. 


The Quill 


            The first usable hobbyist IF development system was a commercial product known as The Quill, developed by Welshman Graeme Yeandle and published by Gilsoft.  In 1982, Yeandle had begun to write an adventure game to cash in on what was then the hottest form of computer entertainment on the market.  He soon realized, as many had before him, that by taking the time to develop specialized IF tools he could make his first game much better, as well as open up the possibility for creating many more games after it fairly quickly.  From here, it was a short leap to come to the idea of setting himself up not as an author of IF himself but rather as a provider of said tools to the general public, thus allowing them to create their own works of IF.  Yaendle polished up his system and successfully pitched it to nearby publisher Gilsoft, who published The Quillin 1983 for what was then the most popular home computer in Britain, the Sinclair Spectrum.  Priced at just £14.95, it was an immediate success, and a version for the other popular British 8-bit of the era, the Commodore 64, soon followed. 




            Unlike the more powerful IF development systems of today, The Quill was not a true programming language.  It was rather a menu-driven program into which the user could enter the various components of her game – its vocabulary, locations, messages, objects, etc – and then link everything together by providing some simple logical rules.  When her adventure was complete, the user could export it from The Quill  as a stand-alone program runnable on any Spectrum or, if she had that version, Commodore.  Creating a simple text adventure using this system was surprisingly fast and easy.  The system was sharply limited in is capabilities even by the standards of its day, but many authors dived into The Quill headfirst and came up with ingenious ways to get around some of those limitations and do things its creator had likely never envisioned.  A surprisingly thoughtful article in a contemporaneous issue of Your Spectrum details some of the hoops designers had to jump through to create more sophisticated behaviors: 


But, despite my admiration for the system as it stands, it tends to encourage rather 'noddy' results - mainly because the Interpreter fails to allow actions that would surely have been quite easy to include. It would have been nice, for instance, to perform an action if A is true OR if B is true; move an object from one location to another; set a flag; print the value of a flag (for example, 'YOU HAVE ONLY x TURNS LEFT BEFORE THE EXPLOSION'); change the description of a room after an event; and be able to GET any object present, without further specification (this would allow me to construct a version using single key pushes only, for younger children who can read but not yet type - if Atic Atac can do it, so can The Quill). 

Although a number of these requirements cannot be met at all, some, like the OR, can quite easily be but with a clumsy and inscrutable result. Others, such as moving an object, or changing the description of a room, demand a degree of ingenuity; making an animal follow you seemed at first impossible until the mysteries were explained to me. (Hint: you have to make it both a message and an object.) Ingenuity is fun, but slow to create and sometimes tricky to debug.  

These features would allow more sophisticated worlds and more interesting relationships. As it stands, The Quill makes it easier to hide a torch in one arbitrary place and a battery in another than to create a world with a lunatic logic; easier just to make the player die and be forced to start again than to create bizarre but comprehensible events. Two Quill-written adventures came with the test package - Magic Castle and Diamond Trail - and both fell into that 'Snakes and Ladders' trap (Green). 


We are already seeing a demonstration of a modern IF development truism: a system that makes it easy to create simple games by pointing and click or selecting from menus rather than programming is actually more difficult to develop more unique and complex works in than one that does not so coddle its user.  Of course, The Quill cannot really be faulted too egregiously here.  It was after all the first real attempt at creating an IF development platform for the everyday user, and so had none of the modern community’s accepted wisdom to fall back upon.  And regardless of its creator’s desires, running a full-fledged high-level programming environment on a 48K Spectrum or 64K Commodore 64 just was not a practical possibility. 


            In spite of its limitations, a thriving community soon sprung up around The Quill.  Key here was the system’s generous licensing policy.  Authors were required to place somewhere in their creations a credit to the The Quill, but otherwise retained absolute rights to distribute or, if they chose, even sell their games as they pleased.  A surprising number did just that, and so-called Quilled adventures soon became a staple of the commercial IF scene in Europe.  These games were primitive in the extreme when set beside the works of more professional companies like Infocom, for some limitations of The Quill, most notably its simplistic two-word parser and its lack of support for independently acting characters besides the player, could not be overcome by any amount of authorial ingenuity.  Tim Gilberts, founder of Gilsoft, amusingly and unconvincingly attempted to spin this primitiveness into a feature: 


Tim is not particularly keen on highly complex interpreters in adventure anyway. "In some ways that kind of thing can actually limit communication. You'll often have to spend time working out the right phrase to use before a character will respond or you get the action you want. Even then you will find that some dwarf will only end up singing about gold or you just get another free lunch. The 'Inglish' used in games like The Hobbit can be quite quixotic and difficult to fathom. I really do prefer to play games with the usual verb/noun entry" (Price). 


In countries where Infocom games were available only as expensive imports, Quilled games did have one undeniable thing going for them: their price.  Most were sold by their creators for the equivalent of five US dollars or less, and at such prices the few hours of entertainment they provided were apparently acceptable.  Gilsoft eventually began gathering up what it judged to be the best Quilled games for release under the company’s own imprint as the Gold Collection, priced at £1.99 each. 


            The Quill, and Quilled adventures, never caught on to any appreciable degree in America.  For one thing, Quill’s first and most successful computing platform, the Sinclair Spectrum, was sold only briefly and unsuccessfully in the United States as the Timex Sinclair.  The Quill was marketed as Adventure Writer in the United States for the very successful Commodore 64, but never saw the wide distribution and heavy advertisement of its European sibling.  Most Quilled adventures, sold as they were by their amateur European developers to local distributors or through mail order only, never even made it to America.  


            Gilsoft and Yeandle worked to improve upon The Quill following its initial release.  An add-on called The Illustrator was released in 1984 that allowed the user to add full-color graphics to her game, and in 1986 a second-generation version of The Quill appeared called the Professional Adventure Writer, or PAW.  Although it remained a limited, menu-driven construction set rather than a true programming environment, PAW did remedy many of the shortcomings of its predecessor.  Most notably, a reasonably proficient full-sentence parser was now provided for (presumably over Gilberts’ heartfelt objections).  Games could now be much larger, and could include non-player characters.  In spite of these much-needed improvements, though, PAW never caught on with the public in the way that The Quill had, and never even saw release in America.  By 1986, simple text adventures of the sort it was designed to create were falling out of fashion, and new distribution deals were finally making the works of Infocom and other American professionals available to the European public for reasonable prices.  Thus The Quill, PAW, and the games created with them faded quietly into history. 




            Surprisingly, no equivalent to The Quill community existed at the time in America.  In spite of a few noble attempts such as Hayden Software’s Computer Novel Construction Kit, no product managed to combine The Quill’s reasonable price, large user-base, and (relatively speaking) power.  By choice or necessity, amateur IF designers in America largely “rolled their own” adventures from scratch during these years, aided if at all only by books and magazine articles on the subject.  As my reader can perhaps imagine, the average product of their labors made Quilled games seem positively sophisticated. 


            The first widely used IF development system in America would not emerge until 1987.  It would be called the Adventure Game Toolkit (AGT), and would itself evolve from an earlier, less successful system with the rather uninspiring title of Generic Adventure Game System (GAGS) in a way reminiscent of the development of the original Adventure.  AGT’s creator, David Malmberg, describes its genesis from Mark Welch’s GAGS: 


I saw an article about GAGS in a local weekly computer newspaper (Computer Currents), in which Mark offered to sell the Turbo Pascal source code to GAGS for $50. I sent him a check and also bought Turbo Pascal 2.0 (only available via mail order in those days) for $50. 

I was working in downtown San Francisco and riding BART two hours a day, so I had plenty of time to teach myself Turbo Pascal (which I didn't know—I was a COBAL and FORTRAN programmer in those days) and to teach myself how GAGS worked by studying Mark's GAGS code. 

After studying GAGS in detail, it became obvious that it was limited to very simple games with only a few verbs. I wanted to create Infocom-like games. GAGS in its current state would never make it. However, Mark had defined the essential data structures very well, e.g., ROOMs, NOUNs, and CREATUREs, but GAGS lacked flexibility in manipulating those objects. So I set about extending GAGS by adding what I called "meta-commands," which really increased the power and flexibility of GAGS. These meta-commands allowed for an almost unlimited number of nouns, verbs, and objects (and synonyms for any of them) and the ability to manipulate them. It came close to my goal of creating games that were truly Infocom-like (Granade). 


In the hands of a master, AGT may indeed have come close at times to the Infocom ideal, but it would never quite reach it.  There were simply too many frustrations and limitations inherent in the system.  Still, AGT was remarkable for its time.  Malmberg attempted to cater to both those looking for an easy-to-use IF construction set ala The Quill and to those willing to dive in and truly program.  For the former, he provided “Standard Level” AGT, a method of building a simple game entirely from menus; for the latter, he provided “Advanced Level” AGT, a true, full-featured programming language that was the first of its kind for hobbyist IF development.  Of course, virtually everyone serious about creating worthwhile games with AGT quickly grew frustrated with its restrictive “Standard Level” and learned to program.  The following is part of Al Golden’s AGT implementation of Roger Firth’s Cloak of Darkness, a demonstration game specifically created to illustrate how the same thing is accomplished in various IF languages: 


ROOM [Opera Foyer] 

Opera Foyer 

SOUTH   [Foyer Bar] 

WEST    [Cloakroom] 



ROOM_DESCR [Opera Foyer] 

You are standing in a spacious hall, splendidly decorated in red and gold, with glittering chandeliers overhead. The entrance from the street is to the north, and there are doorways south and west. 



ROOM [Cloakroom] 


EAST [Opera Foyer] 



ROOM_DESCR [Cloakroom] 

The walls of this small room were clearly once lined with hooks, though now only one remains. The exit is a door to the east. 



ROOM  [Foyer Bar] 

Foyer Bar 

NORTH [Opera Foyer] 

Light [dumb gizmo] 



ROOM_DESCR [Foyer Bar] 

The bar, much rougher than you'd have guessed after the opulence of the foyer to the north, is completely empty. There seems to be some sort of message scrawled in the sawdust on the floor. 



NOUN   [Velvet Cloak] 



There is a velvet cloak here. 

LOCATION [worn] 




NOUN_DESCR [Velvet Cloak] 

A handsome cloak, of velvet trimmed with satin, and slightly spattered with raindrops. Its blackness is so deep that it almost seems to suck light from the room. 



AGT offered an unprecedented level of power for its time, although in terms of modern IF its shortcomings are legion.  The system was designed to create treasure hunts like Adventure and Zork, and while more interesting types of gameplay could and often were implemented in it by the sufficiently ingenious, one often had the feeling one was fighting the system rather than working with it.  Unlike more modern development systems, much of AGT’s workings were closed to its programmer rather than left in open and modifiable libraries.  AGT developers developed countless ingenious ways of forcing the system to do what they wished, up to and including modifying the Turbo Pascal source code to and re-compiling the AGT compiler itself to change its behavior.  The AGT parser was reasonably good, although limited to about 500 words, and its geography was likewise limited to about 100 rooms. 


            Such modern-day quibbling is really a bit unfair, however.  For amateur developers of 1987, AGT, sold via mail order and word of mouth by Malmberg and his now largely silent partner Welch via the shareware model, was a dream come true, and a community quickly sprung up around the system just as conventionally marketed commercial IF was going into steep decline.  For these diehards, AGT would bring a steady supply of new adventures to play even as the commercial providers of IF expired one by one.  A number of reasonably priced online services, such as GEnie and CompuServe, were appearing at this time.  These, the predecessors to modern Internet communities, provided a global meeting space for the AGT community to congregate, communicate, and organize itself.  For his part, Malmberg worked assiduously to cultivate that community.  AGT’s documentation improved by leaps and bounds, and was soon made available as a professionally printed manual for an additional fee.  Malmberg also released the source code to several complete games implemented in AGT for learning purposes, including the old stand-by, Adventure.  He improved AGT steadily as well.  Although many of the fundamental design flaws in the system could never be fully remedied, new versions allowed more vocabulary and more objects and rooms, and the system was eventually ported from the IBM PC-compatibles on which it had been born to the Apple Macintosh, Commodore Amiga, and Atari ST.  The support Malmberg offered his users during these years remains something of a legend among those who were there.  He passed out his home phone number to all and sundry, and spent many an evening doing nothing but dealing with technical support issues.  One of Malmberg’s best ideas, and one that has resonance right into our modern era, was to institute an annual competition, open to anyone who wished to enter, for games written in AGT.  This contest would become an annual “festival” of sorts around which the AGT community could organize itself, as well as guaranteeing an annual bumper crop of interesting new games from contest hopefuls. 


            A very sizable number of games were written in AGT.  Very few of them are played or commented on today, which is a bit of a shame really.  This unique era between the glory days of Infocom and the beginning of our modern community passes hardly mentioned by most, yet in sheer numbers probably as many people were participating in that community as in our own.  Their correspondences have largely been lost now, having disappeared when the commercial online services that housed them shut down in the face of the Internet explosion of the mid-nineties.  Their games, however, have for the most part been preserved on the IF Archive.  Unlike modern IF games, which are virtually all completely free, many AGT authors chose to sell their work through the shareware model, distributing perhaps the first quarter of their games for free.  The idea was that the prospective purchaser would start playing and become hooked, then mail in her check to gain access to the rest of the game.  The AGT games of this era are, as my reader can probably imagine, something of a mixed bag, but plenty of satisfying adventures were created, and at least a couple that are more than worthy of discussion here. 


            Judith Pintar’s Cosmoserve: An Adventure for the BBS-Enslaved  is an affectionate tribute to online life during the era of the game’s creation.  The player is cast in the role of a somewhat faceless freelance programmer with the suitably asexual name of R.J. Wright.  In order to complete an important assignment, she must download a patch file from the online service of the game’s title, which is itself a play on the name of the then-popular service CompuServe.  Naturally, this simple task soon spirals completely out of control: 

Along the way you will encounter computer viruses, virtual reality games, lost passwords, online conferences, FBI raids, online stalkers, and Rick's Cafe Americain (Cree). 

Although it begins in RJ.’s living room and occasionally gives the player reason to return to its simulation of the “real world,” most of CosmoServe is played via a simulation of R.J.’s computer.  Upon firing up this (simulated) computer, the player is presented with a very cleverly done in-game MS-DOS prompt.  From here, she must navigate around the hard drive, running various programs, performing various tasks, and, of course, logging on to CosmoServe.  The heart of the game is here, in a marvelous re-creation and send-up of online culture circa 1991.  CosmoServe contains, like its real-world counterparts, discussion forums for every triviality; file repositories; technical support that is not terribly supportive; and the inevitable cyber-sex chat lines, all presented with enough verisimilitude to feel familiar to any who were there in reality, and with enough satirical edge to entertain.  Most of the fun of playing CosmoServe comes in exploring this environment and experimenting rather than actually trying to solve R.J.’s problem, for the game is very unforgiving, particularly in expecting its player to complete a series of complex tasks within very harsh time limits.  The serious player will likely have to restart many times to optimize her time, and, as Pintar candidly noted years after the game’s release, “the jokes get less funny the fifth time around” (Forman).  CosmoServe’s failure to free itself from these old-school text adventures annoyances is disappointing, but the game has nevertheless attained a resonance today that its creator perhaps never would have imagined for it.  The text-based online world that it chronicles was a fleeting one that would be swept away in a few years by the advent of cheap Internet access and the graphical web browser.  For anyone who was there, it offers a brace of “the way we were” moments that the player may herself have forgotten; and for anyone who was not, it provides a precious, educational window into another time.  CosmoServe was designed to be a text adventure, with few if any literary pretensions, but because it is so thoroughly of its time and place and so sharply observant of online culture even as it pokes fun at it, it has gained a literary value beyond most of its contemporaries.  It is also, not incidentally, something of a technical tour-de-force, bending AGT from its imagined purpose of creating Zorkian dungeon romps into a surprisingly accurate simulation of a typical MS-DOS computer circa 1991. 


            Pintar was also heavily involved with what has come to be regarded as the best AGT game ever written, Shades of Grey.  The game is one of the few from the AGT era to seek to be more than an entertaining text adventure.  Shades of Grey has at least two lessons to impart: one a specific lesson about the long, sad history of Haiti, and the other a more abstract lesson about the complexity of the real world and the danger in allowing oneself to believe too wholeheartedly in moral absolutism.  From the latter comes the game’s title, contrasting shades of grey to moral black and white.  


The game initially seems somewhat clichéd.  The player finds herself cast into a strange, deserted city with no memory of who she is or how she got there.  She soon meets up with a wizened old fortune teller, who uses her Tarot cards to cast the player into a series of vignettes that at first seem utterly unconnected.  The player has brief, poignant adventures as a young child, as a soldier, and as both Robin of Sherwood and his arch-enemy the Sheriff of Nottingham.  All can stand alone, but as the player completes these sequences she gradually assembles the pieces of a jigsaw that imparts the game’s overarching theme that evil is often in the eye of the beholder, and that we replace real-world complexity with rigid values of black and white at our peril.  The game climaxes in an historical vignette from 1957, in which the player is placed in the role of a CIA operative with the opportunity, but not the instructions, to assassinate François Duvalier just as he is beginning his long, brutal dictatorship of Haiti.  The moral quandary she is presented with is a thorny one, and could not perhaps be conveyed in such immediate terms in any other form of literature.  On the one hand, killing “Papa Doc” here could save hundreds of thousands of Haitians from decades of suffering; on the other, doing so would be a blow in the face of the rule of law by which civilized nations supposedly conduct their affairs, as well as, no matter what spin is placed upon the deed, cold-blooded murder.  In the end, the games does have an opinion of its own on the moral choice it presents, and coveys to the reader in its closing sequence whether she has made the “right” or “wrong” choice.  Some have criticized it for that, feeling it at least partially subverts the message implicit in its very title.  Nonetheless, this climactic scene is one of the most affecting to be found anywhere in IF, and in its sheer thematic ambitions the game pushes the limits in a way that had not been seen in IF since Trinity, a title to which Shades bears a striking similarity at times, both in its segmented, surrealistic approach and in its broodingly tragic, thoughtful tone. 


            Shades of Grey’s gestation was almost as unusual as its subject matter.  It was created by seven separate authors organized over the CompuServe online service by Judith Pintar.  Each wrote a part of the game, whereupon Pintar wove their contributions together into the finished whole.  This method of development should not have worked, but it did.  While each of the vignettes that make up the game has its own feel and writing style, this actually works for the game by giving each vignette its own distinct feel. 


            CosmoServe was the deserved winner of the 1991 AGT Contest, and Shades of Grey of the 1992 event.  While these games are standouts, they are by no means the only quality work to come from the AGT community.  Other worthwhile efforts include the Christmas game Sanity Clause by Mike McCauley, which sends its player around the world delivering presents on Christmas night, and indeed is a perfect game to play at that time of year; and Klaustrophobia by Carol Hovick, a Bureaucracy homage so large that it had to be split into three separate game files, to be played one after another, to get around AGT’s size restrictions.  As the 1990s wore on, though, the AGT community began to wind down.  The online services that had been the community’s home were fading away to be replaced by the World Wide Web, and a new IF community was springing up there which preferred to write with new languages that offered much more power and flexibility than AGT.  Also, David Malmberg found himself simply worn out by more than seven years of development, documentation, and technical support for a system that never earned him or his partner much more than the proverbial beer money.  In the end, Malmberg said, “I simply grew tired of it.  I wanted to do something else with my free time” (Granade).  The final AGT Contest was held in 1993, and in 1994 Malmberg officially bowed out of the IF business, releasing AGT along with all of its source code and documentation to all and sundry to do with as they chose.  The demise of the AGT community coincided almost perfectly with the rise of our modern community.   


Very little further development was done to the system itself after Malmberg ceased to provide support, but AGT is not entirely dead even today.  A trickle of new games continued to appear for a while, and an AGT game was entered into the modern IF community’s annual competition as recently as 2003.  The system has also remained quite popular with those in the adult interactive fiction community for the creation of interactive erotica.  


The historical legacy of AGT, meanwhile, has been carefully preserved by the modern IF community.  All AGT games that can be located have been placed on the IF Archive, official clearing-house of all things IF related.  A portable interpreter known as AGiliTy has also been developed that allows these old games to be played on a variety of modern computing platforms. 




The second most commonly used IF programming language today, the Text Adventure Development System (TADS) has a checkered history going back almost two decades.  One thing that has remained constant, however, is its faithful stewardship by its creator, Californian Michael J. Roberts. 


The first version of TADS was released in 1988, just one year after AGT, and like AGT was marketed as shareware.  A crippled demonstration version was distributed to computer bulletin boards and other online services of the day by Roberts and his business partner, Steve McAdam, in the hope of interesting potential developers enough to make them purchase the complete tool.  TADS had much to recommend it over AGT, beginning with its C-like syntax and Roberts’ decision to make TADS a full-featured object-oriented programming language that just happened to be especially suited for the creation of IF, rather than the more limited and specialized tool that was AGT.  Much of TAD’s inner workings were contained in its user-modifiable library files, rather than hard-coded into the language itself, and this made it possible to introduce all sorts of sophisticated custom behaviors elegantly and quickly.  The external library also made it possible for users to adapt TADS wholesale to the creation of works in languages other than English, and made it extremely easy for users to share bits of code with one another to work into their individual games.  TADS games compiled not into native machine code but into story files that were runnable on a sophisticated virtual machine similar to Infocom’s Z-Machine, thus making the games easily portable to many different computers.  Combine these features with a vastly more sophisticated parser and world model than that of AGT, and TADS becomes the first of the modern IF languages, and the first that the prospective author might realistically hope to use to create games of Infocom’s sophistication.  Part of Dan Shiovitz’s TADS implementation of Roger Firth’s Cloak of Darkness demonstration follows: 


cloakroom: room 

  sdesc = "Cloakroom" 

  ldesc = "The walls of this small room were clearly once lined with  

        hooks, though now only one remains. The exit is a door to the  


  east = startroom 



hook: fixeditem, surface, item 

  sdesc = "small brass hook" 

  ldesc = 


    "It's just a small brass hook, "; 

    if (cloak.isIn(self)) 

      "with a cloak hanging on it. "; 


      "screwed to the wall. "; 


  noun = 'hook' 'peg' 

  adjective = 'small' 'brass' 

  location = cloakroom 



bar: darkroom 

  lightsOn = 


    if (not cloak.isIn(self)) return true; 

    else                      return nil; 


  sdesc = "Foyer bar" 

  ldesc = "The bar, much rougher than you'd have guessed after the  

opulence of the foyer to the north, is completely empty. There seems to be some sort of message scrawled in the sawdust on the floor." 

  north = startroom 

  roomCheck(verb) = 


    if (not self.islit) 


      if (isclass(verb, travelVerb)) 


        if (verb <> nVerb) 


          "Blundering around in the dark isn't a good idea!"; 

          message.number += 2; 

          return nil; 



      else if (not isclass(verb, sysverb)) 


        "In the dark? You could easily disturb something!"; 

        message.number += 1; 

        return nil; 



    return true; 




               For all of its strengths, TADS did not immediately take the IF world by storm, rather languishing for years as a sort of also-ran to AGT.  Possible reasons for this are several.  While much more powerful than AGT, TADS was nowhere near as forgiving or accessible to those who were not already programmers, as a comparison of the AGT and TADS sample code I have provided will perhaps illustrate.  While AGT eased users in with its two-tiered approach, TADS did little to coddle its user.  The implicit message seemed to be that TADS was a serious tool, and would require a serious commitment to use well.  (The seemingly inevitable tradeoff we see illustrated here between power and ease of use is of course still with us in IF development today.)  Roberts’ marketing and distribution were perhaps not as good as Malmberg’s, and the slightly higher price he charged for his system probably also led some to turn to its competitor.  Finally, AGT had the huge advantage of simply having been first, and having had virtually all of the remaining text adventure diehards form their community around it for that reason.  It was very difficult for a newcomer like TADS to make inroads into such an established party. 


               Although TADS games were few and far between in these early years, Roberts continued to doggedly support and improve the system.  He officially released version 2 of TADS in late 1992.  Its improvements were many, but most notable was the removal of virtually all game size restrictions, another first in IF development.  The sufficiently ambitious author with sufficiently advanced hardware was now free to create games of many times the size of Infocom’s greatest epics. 


               TAD’s popularity began to increase dramatically at about this time, thanks largely to two authors, David Leary and David Baggett, and a series of shareware IF games they published under the company name of Adventions.  There is a truism among IF developers which states that what a new system really needs to succeed is a game created with it that is sufficiently advanced to excite the interest of the public.  During its early years, TADS notably lacked such a demonstration of its capabilities, but with the arrival of Adventions that situation was finally remedied.  Leary and Baggett devoted the bulk of their efforts to the creation of four fantasy romps in the Zork tradition: in chronological order, Unnkulian Underworld: The Unknown Unventure, Unnkulian Unventure II: The Secret of Acme, Unnkulia One-Half: The Salesman Triumphant, and Unnkulia Zero: The Search for Amanda.  Actually, saying that these games were “inspired” by Zork hardly begins to describe Advention’s debt to Infocom’s original games set in the Zork universe, particularly those of Steve Meretzky.  That is not to say that the Unnkulia games are without value, though.  They display an attention to fair design seldom seen since the demise of Infocom; they are competently written; and if they often feel like they are trying a bit too hard to be funny, Meretzky can sometimes be accused of the same thing.  Whether the IF public really needed four games set in this same milieu is a somewhat more debatable question, however.  Regardless, the games did wonders for TADS’ acceptance, as it was immediately obvious from spending a few minutes with them that they were markedly more polished works that even the best AGT creations of the time.  At almost five years old, TADS finally had its coming-out party.  As for Leary and Baggett, they proved themselves capable of creating some thematically interesting work on those too-few occasions when they stepped out of Unnkulia


               Leary’s Horror of Rylvania is a tale of Gothic horror of the vampire variety.  Its opening text describes its premise better than I could ever hope to, and also conveys some of the atmosphere to be found throughout the game: 


The hiking trip across Europe has been a wonderful experience for two recent college graduates like yourself and your friend Carolyn.  From the mansions of England to the beaches of Greece, you've walked in the footsteps of the Crusaders and seen sights that few Americans have ever seen. 


        Carolyn had wanted to skip the Central European nation of Rylvania.  "Why bother?"  she'd said.  "There's nothing but farmers there, and creepy old castles - nothing we haven't seen already.  The Rylvanians are still living in the last century." 


        That, you'd insisted, was exactly why Rylvania was a must-see.  The country was an intact piece of living history, a real treasure in this modern age. 


        If only you hadn't insisted!  As night fell, as you approached a small farming village in search of a quaint inn to spend the night, the howling began.  A scant hundred yards from the village, and it happened...the wolves appeared from the black forest around you and attacked.  Big, black wolves that leaped for Carolyn's throat before you could shout a warning, led by a great gray-black animal that easily stood four feet at the shoulder.  Carolyn fell to the rocky path, blood gushing from her neck as the wolves faded back into the trees, unwilling, for some unknown reason, to press their attack. 


        If she dies, it will be your fault.  You curse the darkening sky as you cradle Carolyn's head, knowing that you have little time to find help.  Perhaps in the village up the road to the north - 


The game’s big plot twist comes when the player is transformed into a vampire by the previously stricken Carolyn: 



        You walk out of town, heading out into the moors.  Your mind wanders to Carolyn, and the recent strange turn of events.  Where could she have gone?  Is she dead?  Can you still save her?  Where did Doctor Trolovitch go? 


        The moors are dark and cold.  A light rain is falling and the rumblings of far-distant thunder reach your ears.  A flash of lightning, and suddenly, she is there.  Carolyn - dressed in a white robe, standing before you on the fog-covered fen!  Stunned, you run toward her, calling her name.  She smiles, arms outstretched, reaching for you.  And then you are there, hugging her, crying - and noticing how cold she is, how pale - how very dead.  Her mouth opens in a jagged smile.  Cold, bone-white pointed teeth reach for your neck.  You cry out as her canines puncture your throat - and go limp as your lifeblood pumps into her mouth.  The world turns black - 


        You dream. 


        The dreams are endless and horrifying.  You are alive, then dead, then floating in a formless void, then somehow alive again - but not alive.  You have changed - you can tell.  You are no longer human.  You struggle out of blackness and find yourself enclosed in wood - 


Rylvania does not spare the player, here or anywhere else, in the way most of its predecessors likely would have, but gives to its story and atmosphere total fidelity.  Adam Thorton: 

Atmosphere?  Does anyone else remember how radical Rylvania was in that it stuck to its gothic-horror guns and did not yield to the then near-total temptation to throw cutesy and anachronistic stuff into the game? 

 For all its atmosphere and all the bravery of its approach, Rylvania does not succeed as totally as it might if it were, say, written today.  Leary ultimately fails to deliver a totally plot and character driven game, falling back frequently on traditional fiddly adventure game tropes.  Reviewer Valentine Kopteltsev describes his frustration as a modern player: 

Then, just as things really got rolling, I was resolutely grabbed by the collar, pulled back, and told, "Not so fast, my friend. From now on, you've got to do it the usual way - explore, pick up things, and enjoy yourself". This sudden change alone was baffling enough; to make things worse, it turned out that one had to be pretty careful, if not pedantic, in collecting items -- the game is split in two parts, with many rooms in the first part no longer accessible when you reach the second stage; however, puzzles at stage 2 often require objects from stage 1 to be solved, so that you're very likely to lock yourself out of victory, and find out something is wrong only several hundred turns later (sometimes without a hint what item is needed, exactly). Also, be prepared for a couple or more restarts; many decisions in the beginning phase of Rylvania depend on knowledge you only acquire later in the game. Combined with the fact that the game sometimes requires actions that seem completely inappropriate in the given situation, it makes a thorough strategic pre-planning practically inevitable.  

This degenerating into Adventure is all the more a pity as the puzzles don't seem to be the main focus of the game, and as the storytelling aspect of the game has got so much potential. I'm not saying that the puzzles are bad -- they are very solidly done for the most part, but they're... well, unexceptional. I like creative, challenging puzzles (though I'm not very good at solving them); here, however, I'd rather prefer puzzles that'd be easier, but would fit the plot better: as it is, the plot and the puzzles seem to literally fight against each other. 

           In Leary’s defense, it is important to recognize that Rylvania was conceived as essentially a commercial product, and that its author was thus laboring under the same constraints that limited Infocom’s and others literary aspirations.  Those who pay for a work of IF expect a certain amount of value for their money, meaning a certain number of hours of playtime.  If a designer gives total credence to the narrative at the expense of the crossword, his player is likely to complete his game quite quickly, assuming he is not in a position – as Leary and other private developers like him certainly were not – to create a work of absolutely vast scope.  Puzzles thus serve as speed-bumps of sorts in this situation, slowing the player down by occasionally stumping her.  I certainly do not imply that this is the only or even most common purpose of puzzles.  Certainly, a well-designed puzzle game is an art-form in its own right.  In the case of a work like Rylvania, though, which seems to so clearly to want to tell a story with rather than play a game with its reader, arbitrary puzzles just serve as pointless distractions from what the player would like to focus on.  One great blessing of the current IF scene with its almost universally free games is that, the value for money proposition no longer being a factor, authors, for the first time in the history of the genre, do not have to make such compromises but can instead insert exactly as many or as few puzzles as seem to suit their vision. 

               If Rylvania wavers somewhat at times from its course, it recovers admirably in time for its end-game.  The player has by this time put together an antidote to the vampirism of himself and Carolyn, but has only been able to manufacture enough for one person.  With the standard horror-movie mob of angry villagers at the gates of the castle he and Carolyn inhabit, he is faced with a stark choice: take the antidote himself and kill Carolyn, or give the antidote to Carolyn and sacrifice himself to the mob outside.  Rylvania does not explicitly judge the morality of the player’s final act in the way that Shades of Grey did, but a bit of reading between the lines of the game’s two possible ending messages does give a pretty clear picture of where its author’s sympathies lie.  There is in fact a subtle Christian theme woven into these final moments of the game, one which would become more prominent in Adventions’ swan song, The Legend Lives!  We will discuss Legend and its unusual (for IF) Christian subtext in a later chapter. 

Curses and Inform

               As some were designing systems for the creation of new IF, others were working to preserve the Infocom classics by reverse engineering the Z-Machine.  Various efforts in this direction were made on various computers beginning not long after the release of Zork itself, but the first really serious, concentrated project was begun in 1986 by a loosely organized group of hackers who called themselves the InfoTaskForce.  Together this group was able to produce within six months or so a Z-Code interpreter for the version 3 games that made up the bulk of Infocom’s catalog.  Their interpreter was written in C, which made it very easy to port to many computers.  The InfoTaskForce continued to sporadically improve their interpreter into the early 1990s, by which time support had been added for all versions of the Z-Machine, with the exception of the graphical version 6, in a single interpreter.  The group faded from the scene around 1994, but left behind enough code and technical specifications to allow others to continue their tradition.  Today, a wide variety of interpreters exist for a huge range of computers and computing devices, many even supporting the elusive version 6 standard. 

               The InfoTaskForce saw itself as preserving Infocom’s legacy by keeping its games easily accessible to the public, but it never occurred to the group to consider the possibility of making new games to run on Infocom’s old virtual machine.  That would be left a junior Oxford mathematician named Graham Nelson, who began tinkering with the InfoTaskForce’s work about 1992.  At this time, it was widely known that Infocom had written its games in an in-house, specialized language called ZIL, but absolutely nothing was known about the look or structure of that language.  Nelson therefore started from scratch in designing what would become Inform, basing its syntax and capabilities partly on the unique architecture of the Z-Machine itself and partly on what seemed to him to be the most logical way to put together a language for IF.  Many would date the beginning of the modern IF community to May 9, 1993, when Nelson posted to the Usenet group rec.games.int-fiction an announcement of both Inform and the first game written with it, Curses: 

Your family have owned the house for generations, not that they ever amounted to anything.  Well, now it's yours, but you haven't any great ambitions; all you want is to get away from the holiday packing, which is driving you mad, and hunt around in the ramshackle old attic of Meldrew House for that student map of Paris you know you left up there somewhere. 


You certainly have no idea why Aunt Jemima's keen interest in horticulture, your grandfather's early photography, how robot mice work, what Arthurian legends have to do with the motorway at the bottom of the garden, Tarot cards, the politics of George III, holiday snaps and Greek myths are all about to become suddenly important to you... could you possibly be suffering from a Curse? 


Curses is a new version-3 format story file which can be played, hopefully, on any Infocom interpreter capable of running general version 3 games.  (Most games were version 3: but be warned that some interpreters are hacked only to work with one specific game.)  The InfoTaskForce interpreter will run it, and since that's been ported to most machines now this means it should be easy to get going. 


Curses is a fully worked-out and tested game which pushes the format to its limits; it is about 115K long, larger than average, and has a comprehensive parser (capable of working out implicit commands, and of asking clarifying questions) with a vocabulary of about 700 words. 


The story file contains full instructions and needs no other accompanying material.  It is public domain, though I retain the copyright. 


Curses was written under an Infocom-format compiler called Inform, details of which are given in a similar announcement on rec.arts.int-fiction.  It may be found in the if-archive at ftp.gmd.de:  if-archive/infocom/compilers/inform contains all the Inform files, including a copy of Curses  See the Index file there.  There is also a copy in if-archive/games/infocom.  Remember that it must be FTP'd in binary, not ASCII, mode.  There are interpreters for Infocom-format adventures in if-archive/infocom/interpreters.  

               As Nelson has always freely acknowledged, he was influenced by IF languages that had come before, particularly TADS, although the look and feel of Inform would end up quite different from that language.  From TADS Nelson took the idea of making his language as open and customizable as possible by putting as much functionality as he could into user-modifiable libraries.  Nelson in fact did TADS one better here by writing the nuts and bolts of Inform’s parsing algorithms themselves in the Inform language, thus making it easy to modify or improve the parser as the needs of individual games dictate.  It is also possible to drop down to the “bare metal” of Z-Machine assembly language at any point in an Inform program, allowing experts to introduce all sorts of unusual effects and custom behaviors.  

               Inform’s biggest objective drawback compared to TADS was bound up with the limitations of the Z-Machine architecture itself.  Early versions of the language could be compiled only into version 3 story files, and were therefore limited to 128K in size.  Inform’s compression techniques were very good – much better than those of Infocom’s in-house tools, in fact – and allowed a surprising amount of game to be implemented in that small space, but the limitation was very real.  Newer versions of Inform would quickly appear that compiled to version 5, thus allowing 256K of story, and within a couple of years the community would define  and retro-fit into its interpreters two new standard Z-Machine versions for very large games: the seldom used version 7 (384K maximum) and the much more common version 8 (512K maximum).  While some have tested the limits of even version 8, doing so takes a truly epic work. 

               Inform has been criticized for its syntax, which is somewhat eccentric and can seem a bit fiddly to the new user.  Those who are experienced in C or C-like languages are often a bit put off by Inform’s determination to blaze its own syntactical trail, especially compared to TADS’ more traditional structure.  Still, the language becomes quite readable once one has spent sufficient familiarizing oneself with it.  An excerpt from the Inform version of Cloak of Darkness follows: 

Object  foyer "Foyer of the Opera House" 

  with  description 

           "You are standing in a spacious hall, splendidly decorated  

             in red and gold, with glittering chandeliers overhead.  

             The entrance from the street is to the north, and there  

             are doorways south and west.", 

        s_to  bar, 

        w_to  cloakroom, 


           "You've only just arrived, and besides, the weather outside 

            seems to be getting worse.", 

  has   light; 


Object  cloakroom "Cloakroom" 

  with  description 

           "The walls of this small room were clearly once lined with  

            hooks, though now only one remains. The exit is a door to  

            the east.", 

        e_to  foyer, 

  has   light; 


Object  hook "small brass hook" cloakroom 

  with  name 'small' 'brass' 'hook' 'peg', 

        description [; 

            print "It's just a small brass hook, "; 

            if (self == parent(cloak)) "with a cloak hanging on it."; 

            "screwed to the wall."; 


  has   scenery supporter; 


Object  bar "Foyer bar" 

  with  description 

           "The bar, much rougher than you'd have guessed after the 

            Opulence of the foyer to the north, is completely empty.  

            There seems to be some sort of message scrawled in the  

            sawdust on the floor.", 

        n_to  foyer, 

        before [; 


                if (self hasnt light && noun ~= n_obj) { 

                    message.number = message.number + 2; 

                    "Blundering around in the dark isn't a good idea!"; 



                if (self hasnt light) { 

                    message.number = message.number + 1; 

                    "In the dark? You could easily disturb something!"; 



  has   ~light; 


               Curses and Inform caused a veritable sensation among the group of Infocom nostalgics, AGT refugees, and curious hackers that had recently begun to congregate on two Usenet newsgroups: rec.arts.int-fiction (focusing on technical issues and the authoring of IF), and rec.games.int-fiction (focusing on the playing, reviewing, and swapping of hints on the games themselves).  The reasons for their fascination are not hard to discover.  Curses is a sprawling, complicated epic that is as good, in both its technical and its literary qualities, as the best of Infocom, yet that manifests a style all its own through its quiet, good-natured humor; its distinctly English sensibility; and its unabashed intellectualism.  Curses carries a distinct Infocom influence, yet in this commentator’s opinion there is just as much of Topologika to be found in its depths.  And there was something else: not only was Curses a fantastically involving adventure game, and Inform a very interesting tool even in this first version, but both were absolutely free at a time when the only things close to them in quality – the Adventions games and TADS – were available only for a fee. 


               Curses is unabashedly a text adventure, as opposed to interactive literature.  It comes down squarely on the crossword side of the equation, being filled with knotty puzzles.  Careful mapping, note-taking, and planning are required to succeed, as is considerable learning by death.  Most of its puzzles are tough but fair, but some cross that line in ways that Nelson himself would repudiate a few years later in his classic essay “The Craft of Adventure.”  Curses was a traditionalist work even at the time of its release, and is definitely not what most literary critics are looking for in IF today, but that does nothing to diminish its artistry in its chosen form.  Reviewer Nick Patavalis returned to Curses in 2000, and offered this perspective: 

Curses is a classic, and it must be treated as such. Nelson has studied the great Interactive Fiction tradition from as far back as Advent and collected the elements that define the medium. He then blended and used them in a skillful way to create a masterpiece. Curses is not experimental. Curses is conclusional. It does not try to explore the vague borders of the medium; it stays well behind the trenches, ploughs the rich soil and collects the harvest that feeds the experimentalists' armies. Experimentation without games like Curses is sterile. If works like Shrapnel and So Far expand Interactive Fiction (and they do), then games like Curses prove it. 

In the best tradition of Adventure and the original mainframe Zork, Nelson continued to improve both Curses and the language it was written in following their release.   Curses was not pronounced completely finished until 1995, by which time it had grown to more than twice size of the game that Nelson announced in 1993.  Nelson learned a lesson from his predecessors in choosing to keep the source of Curses to himself and thus remaining the game’s sole father.   Most modern IF authors have followed his lead in this.  Inform’s source, on the other hand, was made available, and its evolution was even more spectacular: by 1995, it was already in its fifth major revision.  Several significant Inform games had by then already arrived from authors other than Nelson, including Brendon Wyber’s horror classic Theatre and Gareth Rees’ compelling collegiate mystery Christminster.  Another half-dozen games would appear that fall with the First Annual IF Competition, a pivotal community event to be discussed in more detail in the next chapter. 


               Inform by 1995 had already surpassed TADS to become the most popular IF development language.  This was not due to any great technical edge it held over its counterpart, for both languages are similar enough in their capabilities that choosing between them is more down to personal preference than any objective arbiters of quality.  Inform had the great advantage, however, of being free at a time when TADS still cost $40.00 to register.  This would soon change.  In 1996, Mike Roberts followed a trend that had been building in the community since the release of Inform and Curses, officially making TADS free for the taking.  The damage, if one chooses to think of it in those terms, had, however, been done.  TADS never caught up with Inform’s popularity, although it remains today widely used and well-entrenched in its position as the number two language – in popularity, not quality – for serious IF development.  In addition to Inform’s gaining an early edge due to its being free, the fact that its games ran on Infocom’s venerable Z-Machine was likely enough to cause many to choose it, both then and now.  Nostalgia is, after all, a powerful force. 


               Thanks to Roberts, Nelson, and countless others, all of the building blocks of a new IF community were in place by 1995.  In that year, the Internet exploded in popularity among the general public, bringing to the party thousands of newcomers and giving this nascent community the critical mass it would need to sustain itself and grow.  Freed of commercial considerations and expectations of what the genre is “supposed” to be, it would soon take IF in surprising new experimental and literary directions, all while also creating plenty of old-school text adventures just for the fun of it.  We will look at a decade’s evolution of this uniquely intelligent and vibrant community in the next chapter. 

Works for Further Investigation 




Christminster.  1995.  Gareth Rees. 



CosmoServe: An Adventure for the BBS-Enslaved.  1991, 1997.  Judith Pintar. 



Curses.  1993, 1995.  Graham Nelson. 



The Horror of Rylvania.  1994.  David Leary; Adventions. 



Klaustrophobia.  1993.  Carol Hovick. 



Sanity Clause.  1992.  Mike McCauley. 



Shades of Grey.  1992, 1997.  Judith Pintar and six others. 



Theatre.  1994.  Brendon Wyber. 



Unnkulia Zero: The Search for Amanda.  1993.  David Leary; Adventions. 



Unnkulia One-Half: The Salesman Triumphant.  1993.  David Leary; Adventions. 



Unnkulian Underworld: The Unknown Unventure.  1992.  David Leary; Adventions. 



Unkullian Unventure 2: The Secret of Acme.  1992.  David Baggett; Adventions. 



Other Works: 


Cree, Graeme.  CosmoServe review.  SPAG #5, April 1995. 



Firth, Roger.  “Cloak of Darkness.” 



Forman, C.E.  “A Conversation with CosmoServe’s Judith Pintar.”  XYZZY News #11. 



Forman, C.E.  Shades of Grey review.  SPAG #8, February 1996. 



Frey, Franco.  “The Illustrator.”  Crash, March 1985. 



Granade, Stephen.  “David Malmberg Interview.”  The Brass Lantern. 



Green, Thomas.  “Thrills from The Quill.”  Your Spectrum, July 1984. 



Guy, Neil K.  “A Brief History of Amateur IF.” 



Kopteltsev, Valentine.  The Horror of Rylvania review.  SPAG #30, September 2002. 



Mullin, Eileen.  “Interview: Graham Nelson.”  XYZZY News #1. 



Nelson, Graham.  “Announcement: Curses Announcing Curses, A New Infocom-Format Game.”  Post to Usenet group rec.games.int-fiction, May 9, 1993. 


Nelson, Graham.  “The Craft of Adventure (2nd ed.).” 



Nelson, Graham.  The Inform Designer’s Manual.  4th ed.  The Interactive Fiction Libray: St. Charles, Illinois.  2001.  

Available online at http://ifarchive.flavorplex.com/if-archive/infocom/compilers/inform6/manuals/designers_manual_4.pdf


Patavalis, Nick.  Review of CursesSPAG #22, September 2000. 



Price, Richard.  “Fantastic Landscapes.”  Sinclair User, April 1985. 



Thornton, Adam.  Once and Future review.  SPAG #16, November 1998. 



Yeandle, Graeme.  “History of The Quill and PAW.” 



<<- Chapter 7   Table of Contents   Chapter 9 ->>