Plughbar.

Some things creep up on you over a long period of time. I learned only a couple of days ago that on September 15th, unbeknownst to most of the world, Mike Roberts and his crew of gnomes plan to officially release TADS 3, the third major revision of an interactive fiction system that has been around since 1987.

This is a project that I have been following over the past few years, albeit from a great distance. The TADS project is amazing for its longevity: the thing simply will not die. Mike Roberts has not only continued to maintain the software after making it shareware in 1996, but in TADS 3 he has engineered a major overhaul of the language and the software.

My own interest in text adventures goes back quite a ways. My first purchase of a C++ compiler, when I was fourteen, was motivated by a text adventure project of mine called Wandering Woods. (I wish I had known about TADS then, but this was before the Internet as far as I was concerned, so the news had no way of reaching me.) I still have a text adventure project that currently exists only as handwritten notes on paper, that has been around for the last six years or so.

The appeal of text adventures is a phenomenon that has been extensively described elsewhere, so I won’t delve into it here; but the appeal remains, and could very well experience something of a revival in the not-too-distant future if IF systems can smooth out the two biggest remaining obstacles to text adventure development: Style and Packaging. Since TADS 3 is already very powerful under the hood, I think it is well-positioned to address these remaining issues1.

“You are carrying a large purple hyperlink.”

The text adventure authors of yore didn’t have to worry much about user interface elements; there was only text. Then in the mid-90’s came things like the HTML and multimedia extensions. Although the rest of the world has matured a little in its use of these things, HTML TADS never quite got past the “Geocities” stage of user interface design.

It unfortunately appears that on Friday’s release, TADS 3 will still be using essentially the same interface as the old HTML TADS, which, frankly, looks really bad. With its tacky tiled background, garish colors, uninspired fonts and stale toolbar, it strikes the user as more of a Windows 3.1 web browser than a vehicle for interactive literature. This produces a much worse effect, even on someone new to IF, then if they had simply re-created the fullscreen text-mode experience of the DOS days.

If the text adventure form of interactive fiction is even going to retain whatever appeal remains to its current, narrow audience, it needs at least to faithfully recreate the simplicity of the console days, without making the user tinker with options on the interpreter. But additionally, if text adventures are ever going to be really re-introduced to the mainstream, they need to look really good. Now that we have access to better typography and more elegant UI design elements on most platforms, why not take advantage of them?

It is possible to get TADS looking fairly decent, but it requires a fair amount of tinkering (see this screenshot showing both the customized and default settings side by side2).

It’s hard to explain it in words, so here’s a picture of what I mean by a step towards ideal interface simplicity. The toolbar is gone, the menu is hidden, and just like on the web, the hyperlink is the user interface. Theoretically we could get the menu back by moving the mouse up to the top of the window. The uninspired Times New Roman of HTML TADS is replaced by the new Cambria font from Microsoft. The transparency is just a cute idea borrowed from Console, a better Windows command prompt. (Here’s a screenshot of the DOS version of TADS running under Console.) Obviously this is just a starting mock-up and a lot of improvement could be made.

As you can see, I’m not one of these purists who say that TADS should never have gone the route of allowing pictures and sound effects via the HTML extensions. If tastefully done, such things can really extend interactive fiction’s “design vocabulary.” But TADS needs to get over its fascination with purple hyperlinks and tacky, tiled backgrounds. It’s not 1993 anymore. As long as that big ‘T’ in TADS stands for ‘text,’ we believe some attention can be given to improving the quality of that text.

Update: Shortly after this was published, I was notified that such a beast exists already in the form of Gargoyle (and its cousin Spatterlight for Mac OS) by a fellow named Tor. Gargoyle has already been updated with the latest T3 interpreter, and I have to say it looks mighty nice. It doesn’t (yet) support HTML extensions, which is just fine with me :) Tor’s programs are open source as well; perhaps it’s worth a look by Mike & co. at updating & integrating into standard TADS packaging?

Cross-platform Packaging

The TADS community had (yet another) undeserved stroke of fortune in 2002, when another selfless developer, Dan Shiovitz, joined the scene and released Jetty, a version of the TADS interpreter written from the ground up in Java.

We don’t know if anyone else realised this, but this made possible the use of an entirely new format for distributing your stories. Previously, when you released a TADS adventure, you either (a) distributed just the .gam file and told people to download the correct interpreter for their platform, or (b) created native executables for certain platforms. The second approach was more convenient for most users but would have been a pain to maintain for the author.

With the Java interpeter, you could create a single package (containing your .gam file, a simple html file and the Jetty java class) that could run on pretty much any platform with a browser, without making your users install a separate interpreter. Besides being easier for both the author to maintain and the reader to use, this actually looked better than the “standard” interpreters and gave the author a little more control of the presentation.

We contacted Dan while writing this article, and he said that he will not be updating Jetty to support TADS 3, since this would require a complete rewrite. This is understandable, but regrettably returns TADS to the same packaging tradeoffs that existed before 2002. It is our hope that this gap will be filled before too long, as arguably a good Java interpreter is more valuable for a text adventure system than a native one on either Mac or Windows.

Chapter Three

I am looking forward to rolling up my sleeves and digging into TADS 3’s impressive language features and writing some interactive fiction, although at the same time I don’t care to contemplate what the finished product would look like for the user at this point. Regarding UI improvements, the TADS site says:

“…Most of the advantages of TADS 3, though, aren’t things that the player will ever directly see. Instead, they’re things that make the author’s job easier, and things that give the author more flexibility and power in realizing her3 creative vision.”

It’s true that TADS’ revamped engine represents a huge improvement for authors, but it must also be recognized that players do not operate in the abstract realm of the author’s “creative vision”; they must view it through the lens of their computer screens. TADS’ lens is currently of the disposable-camera variety; with comparatively little effort it could be upgraded to a Carl Zeiss. Furthermore, the details of the presentation – the typography, visual design, and ease of use – are an important part of the author’s creative vision, and they should be given some level of control over these as much as over the actual gameplay.

Finally, for those of you who cared enough to read this far, I do not wish to complain; rather, to look forward to the possibilities of a powerful IF engine combined with elegance of design. I am really quite astounded by Mr Roberts’ persistent and selfless effort on this free project that cannot possibly bring him a drop of revenue, and deeply encouraged by the fact that he refuses to move on with his life, even while the rest of the world speculates mainly on whether it will be Spore or Duke Nukem Forever that hits the stores first. I hope Mike will forgive me for not getting in touch with him before this was published, but I did not feel there was time, and I did not want to introduce any unnecessary distractions so close to the release date. If, as is my hope, this article occasions any further dialogue on the topic with the developers, we will be certain to relate the results here.

—JD

1 My more informed readers are probably all too aware of Inform, the primary challenger to TADS, and its superiority on the design front. Inform’s IDE does in fact, look very good on both the Windows and Mac platforms, and is light years ahead in functionality; but the interpreters, which are what the users actually see, are supplied by third parties and are, while a mild improvement over the TADS interpreters on either platform, still merely average. Furthermore I strongly favor TADS’ structured programming language over the highly ambiguous “natural language” code of Inform, an idea which has historically not turned out well.

2 The tweaked settings are shown on the left, using Consolas, the new monospaced font from Microsoft.

3 I was not aware that all IF authors are females. A typo perhaps?