Badly Informed

Rather to my surprise, I was awarded a bit of non-trivial prize money for placing well in this year’s IF Comp. This is the Interactive Fiction Competition; it’s for text-based games of one sort and another. There were a hundred entries, 20 more than last year or the year before, quite possibly because people are stuck at home and have time on their hands. My game (“Captivity”) placed 16th. So I’m thinking, gee, maybe I’ll write another game and enter it next year.

This mad impulse immediately led me down the garden path. My preferred development system for text games is TADS 3, and it’s way not the popular choice. Maybe I should consider switching to Inform 7 for next year. Or even, perish the thought, to Twine. Well, no, maybe not Twine. I strongly prefer the type of interaction that a parser game allows the player.

Some years ago I wrote a whole game (“A Flustered Duck”) in Inform 7. I also wrote a full-length book on how to write games in Inform 7. I’m not completely clueless, but my I7 is très rusty. Time to open up the program and re-learn the basics.

Silly rabbit.

There are several reasons why I prefer TADS 3 (T3) to Inform 7 (I7). Rather than go through the whole laundry list, let’s just say T3 is a computer programming language for adults. I7 is indeed a programming language, but it tries hard to be friendly to novices. As a result, it sometimes falls flat on its face. And when it does, good luck figuring out what’s going on, or how to fix it.

Here’s my actual code. This is for a tiny test environment. Nothing much is going on, and I certainly haven’t attempted to do anything fancy. This is not an excerpt; it’s the entire game.

The Lab is a room. “Bubbling retorts, that sort of thing. You could go north to the Porch.”

The player carries a board. The description of the board is “A sturdy two-by-twelve. Three nails have been hammered into it.” Understand “plank” as the board.

A nail is a kind of thing. Three nails are parts of the board. The description of a nail is “You’ve seen nails before.”

The player carries an envelope. The description of the envelope is “An envelope with three colorful postage stamps from Belize.”

A postage stamp is a kind of thing. The description of a postage stamp is usually “Very colorful.”

Three postage stamps are parts of the envelope.

A hamster is in the Lab. The hamster is an animal. The description of the hamster is “Small and cute.” Understand “critter” and “rodent” as the hamster.

That’s a complete, working game, though not an interesting one. Computer-savvy readers may be interested to note that I7 is the only programming language that routinely allows spaces as part of its language.

Here’s what happens when I run the game:

Bubbling retorts, that sort of thing. You could go north to the Porch.

You can see a hamster here.

drop nails
What do you want to drop those things in?

take nails
He seems to belong to the hamster.

drop stamps
What do you want to drop those things in?

take stamps
He seems to belong to the hamster.

Now, it’s true that the player (me, in this case) is not actually holding the nails or the stamps. In both cases, they’re parts of larger objects. So the command “drop nails” ought to result in some error message or other, perhaps “You’re not holding those.” The result of “take nails” and “take stamps” is, however, utterly bizarre. Neither the nails nor the stamps has anything to do with that poor innocent hamster!

I’m pretty sure somebody on the Interactive Fiction Forum will be able to suggest a way to fix this problem. My point is, however, that the problem should not have arisen in the first place.

Inform 7 has not been updated for five years. Five years! It’s freeware, and a jolly complex piece of freeware; but it’s not open-source. The developer, Graham Nelson, has mumbled from time to time about open-sourcing it, but he hasn’t done so. There is an active community of I7 users, many of whom have better computer programming chops than I do. But when a popular program malfunctions at such a basic level, and when the developer has quite evidently abandoned it, what is the industrious author to think?

This entry was posted in games, Interactive Fiction, writing and tagged , , . Bookmark the permalink.

Leave a Reply

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

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

Facebook photo

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

Connecting to %s