Brass Lantern
the adventure game web site


Choosing a Text Adventure Language

by Stephen Granade

Evaluating the Languages

Before you make your final decision about which language to use, there are several things you need to do. The most important is to play other people's games written in the different languages. How do they look? Do you like the feel of them? Chances are, your game will have a similar feel to others written in the same language.

Take a look at some sample code. Once you start writing a game you're going to be looking at a lot of code, so you'd better like its looks. Roger Firth has created a web site where the same game is implemented in all of the languages I list above, so that you can compare the looks of their source code.

Finally, once you've narrowed the field to one or two choices, try writing a very short sample game in each language you're considering. This is the final test: does the language let you turn your dreams into an actual game, and do so relatively easily? One word of warning: when you're done and you've picked a language, throw your sample game away. It's meant as a learning exercise, and shouldn't be loosed upon an unsuspecting populace.

My Suggestions

Choose one of the "big three" languages: TADS, Hugo, or Inform. I know that each of them has what appears to be a daunting learning curve, especially if you've never programmed before, but the rewards are well worth your trouble. And it is really no harder to create simple rooms and objects in these three languages than it is in ALAN, SUDS, or ADRIFT. Plenty of people who had never programmed before and who were more interested in writing than in learning how to program were able to learn these languages; you can, too. Programming is a matter of learning how to translate your thoughts into a form computers can understand, and no language can ever completely disguise that fact.

In return you'll be able to code up nearly any scenario you can imagine. The first specialized IF language I used was AGT. It was easy to learn, but limiting, and I quickly ran into things I wanted to do which were prohibitively difficult to create in AGT. When I switched to TADS, I was delighted to find how much more easily I could solve these problems.

You'll also be working with a popular, well-established language which offers a lot of sample code and games for you to look at. In addition, each of these languages has a good library for creating common objects like surfaces and containers.

No matter which language you choose, start reading the Usenet newsgroup -- but be sure to read its FAQ first. Raif, as it's often called, is where many of the people interested in text adventures discuss the art of designing games and the craft of programming them. The raif readers are among the most helpful I've ever dealt with.

If you choose a language other than SUDS or ADRIFT, then you're going to have to edit text files, so get a good programmer's editor. For goodness' sake, don't use a word processor like Word to write your game. That's akin to driving a nail in a board by running over it with a tank: you'll get the job done, but the results won't be pretty. If you're using Windows, I suggest the Programmer's File Editor. If you're on a Mac, take a look at BBEdit or Alpha.

Of the big three languages, my language of choice is TADS. I find it to be powerful, with a clear syntax. If you're using Windows, its Workbench environment with integrated compiler and debugger can't be beat. And it readily supports graphics and fancy text effects.

Finally, if writing a text adventure is something you might be interested in, then do it. Don't let the bother of choosing a language keep you from it.

1 | 2

About Us | Contact Us | Technical Info | History
Copyright © 1997-2010, Stephen Granade.