Writing Interactive Fiction

I’m working on a new text adventure game to enter in this year’s Spring Thing competition. The release of TADS 3.1 was one of my main motivating factors; it adds some very desirable features to the TADS authoring system.

I also lurk on the Inform 7 page of the forum. Once in a while I even skate over to the Inform 7 bug tracker, to see what new beasties have crawled out of the woodwork. Most of what I see there makes me very happy that I’ve chosen TADS.

For those who are new to this topic: Inform 7 is about 50 times more popular than TADS 3. There are several reasons for this, but leading the pack is the fact that I7’s programming syntax uses “natural language,” a subset of English — rather a small and stiffly phrased subset — that the compiler can understand.

Except, often the compiler doesn’t understand it. Inform 7 is a little like a burlap bag full of cats — it’s a seething mass of “edge cases,” places where a human’s natural way of phrasing something runs afoul of the compiler’s inflexible logic.

This stuff simply doesn’t happen in TADS 3. T3’s syntax is closely based on C++. It uses brackets, parentheses, and code blocks in a bog-standard way, so ambiguities don’t arise. To be sure, T3 is tricked out with a lot of templates and macros, which make the code easier to write while also making it look not at all like C++. But once you’ve learned how these work, writing your game is a straightforward process.

I7 has some swell features of its own. One of the best additions to TADS with the 3.1 release is, in fact, directly based on I7. Games written in I7 can be played in a web browser without downloading the game or an interpreter program, a capability toward which T3 is, as I write this, still creeping. There’s active development going on, though, so we shouldn’t have to wait too much longer.

No matter which authoring system you choose, what matters in the end is that you spend enough time learning and using it to become thoroughly familiar with its methods. Newcomers to interactive fiction authoring are attracted to I7 because it looks easy to use. I’m sure many of them give up before they ever finish writing a game. Writing a game is a complicated affair.

But 95% of it is easy, once you understand how you want to design your game. You create rooms, you create objects, you create new actions that the player can perform, you make sure the actions work in the way you want them to. This is just as easy in I7 as it is in T3.

It’s in the last 5%, where you’re trying to do complicated, tricky stuff, that the differences between the systems will leap up and smack you in the face. And by that time, you’ve already committed to an authoring system, so you muddle on through. It’s not that there’s no muddling on through in T3. It’s a different sort of muddling, that’s all.

Designing a good game is a whole other topic. Maybe more on that later.

This entry was posted in Interactive Fiction. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s