Wrecked by Campbell Wild [Comp00]

IFDB page: Wrecked
Final placement: 39th place (of 53) in the 2000 Interactive Fiction Competition

There are several points in Wrecked where the game collars you to proclaim just how awesome its development system is. For example, you meet someone who (surprise surprise!) just happens to be coding an ADRIFT game on a nearby computer. Ask her about it, and she’ll say to you, “I’m making an ADRIFT adventure. I’ve tried using Inform, TADS and Hugo, but I’d say ADRIFT is by far the best.” In another location, you can gain some points with the command “write graffiti,” something I would never have thought to do without the handy walkthrough to prod me. The graffiti the game chooses to write? “ADRIFT rocks!”

Apparently, Wrecked suspects that its own merits are not enough to convince you of ADRIFT’s supremacy, but that if it just shouts slogans at you once in a while, that might do the trick. For me, the former was true, but the latter, predictably, was not. I’ve already catalogued the shortcomings of ADRIFT in my review of Marooned, so I don’t see the need to rehash them here — the bottom line is that ADRIFT isn’t a bad system overall, and has some nifty features to recommend it, but its parser (which is MORE IMPORTANT THAN NIFTY FEATURES) is substandard, its model world needs work, and it’s still lacking in key functions like UNDO and SCRIPT. A random NPC might think it beats Inform, TADS, and Hugo, but a quick conversation with this NPC demonstrates that her powers of discernment are, after all, rather limited. The game’s self-hyping moments are offputting, as it would have been if Graham Nelson had chosen to have “Inform RUELZ!” scribbled on the side of the house in Curses, or if the spaceship in Deep Space Drifter had been named the USS TADS Is Supreme.

On the other hand, Wrecked is definitely a better showcase for ADRIFT than is Marooned. Those extraneous newlines that I blamed on the ADRIFT system in my review of Marooned turned out to be that game’s doing — they’re nowhere to be found in Wrecked. Many more first-level nouns are implemented, making the auto-complete option work much better, though it still doesn’t work flawlessly. Also, there’s no starvation puzzle in Wrecked, which sets to rest my fears that such a puzzle is standard issue in every ADRIFT game.

However, just being a better game than Marooned doesn’t make Wrecked a great game in itself. One part of the reason why I didn’t care for Wrecked is that it just feels very dated to me. It’s an old-school adventure, something that might have fit comfortably into the mainstream circa 1983 or so. You know the kind: you find a bowling ball with a button on the side, and when you push the button, the ball opens up to reveal a sapphire bracelet, which you then give to the sailor on the dock, who will reward you with a chicken pot pie that you can feed to the vicious warthog, allowing you to sneak into his lair and retrieve the bag of marbles, etc. etc. Everything is pretty much thrown together without any rhyme or reason, loosely grouped together under a threadbare rubric of plot and setting. Like I said, old-school. Unfortunately for Wrecked, the old school of IF lost its accreditation some time ago. To my mind, senseless grouping of stuff without any indication of internal consistency is something IF has outgrown, like mazes and starvation puzzles. Seeing it in a year 2000 competition entry isn’t going to score a lot of points from me.

However, even if I were willing to set aside the deep flaws in both the parser and the design of the game, there would still be the matter of the bugs. Most severe among these is the game-killing bug I encountered about an hour and 45 minutes into the game: despite all conditions being correct, I was unable to complete a critical puzzle, even though I knew from a previous play session that it was possible to complete this puzzle. Because ADRIFT makes a habit of overwriting old save files with the current save unless you explicitly tell it to do otherwise (by selecting “save as” from the menu bar — typing “save” will overwrite without prompting), I would have had to start from scratch and wind my way once more through all the nonsensical contortions required by the game’s plot, and there was no guarantee that I wouldn’t encounter the same bug again.

That bug ended my dealings with Wrecked, but there were other errors along the way. The voice was in first person, but would occasionally slip into second person. Sometimes the game failed to recognize rather important objects. In one supremely frustrating section, the game adamantly refused to recognize the word “keyhole,” despite a promiently featured keyhole in the location; it responded to all commands along the lines of “put key in keyhole” with “I can’t put anything inside the small key.” In short, between the bugs, the parser, the hype, and the lack of any kind of logic, Wrecked wasn’t a lot of fun, and it’s not likely to win many converts to ADRIFT. No matter how many times it insists that ADRIFT rocks.

Rating: 4.0

Marooned by Bruce Davis [Comp00]

IFDB page: Marooned
Final placement: 45th place (of 53) in the 2000 Interactive Fiction Competition

Marooned was the first ADRIFT game I’ve ever played. Anytime I review a game whose system is new to me, that review can’t help but be partly about the system as well as the game itself, since it’s often difficult to disentangle who is responsible for what in the overall playing experience. Unfortunately, what with all the growling on the newsgroups from ADRIFT advocates who feel their system isn’t getting a fair shake, it’s a little tough to advance an opinion on it — anything less than unadulterated praise runs the risk of getting me labeled a “snob” or an “elitist” or something. Nonetheless, I shall brave the waters, and try to discuss the entire experience of playing Marooned, starting with the things for which I suspect ADRIFT was responsible, then moving on to those things that I’m guessing were done by the game’s author. In the interest of diverting the WOAA (Wrath of ADRIFT Advocates), I’ll even begin with the things I liked about the interface.

The ADRIFT runtime has a clean environment with two windows: one for the command line and one for the game text. The overall presentation was attractive and aesthetic, though the text window used a few too many newlines for my taste. One particularly interesting feature is that clicking on any word in the text window will insert that word into the command line. I’m too much of a typist to be messing with the mouse in that fashion, but I can see where it could be a really cool feature, especially after one got used to it. (I was so unused to it at first, unaware of it in fact, that when I clicked back onto the interpreter window after doing something in another window, I accidentally clicked on a command word and couldn’t figure out why the game seemed to be executing commands without my typing them!) A similar convenience is the “auto-complete” option, which allows you to just type a couple of letters from any dictionary word and attempts to guess what you mean, Microsoft-style. This option was a little wonky at times — for example, you find a “dented gas can” at one point which the game will auto-complete if you start typing “gas”, but not if you start with “dented” or “can”. Still, quirkiness aside, this was a great time saver, because it also shows you right away which nouns in the descriptions haven’t been implemented.

Some other cool options are available from the menu bar, most notably an excellent automapper, which operates in a separate window but creates a lovely map of the game’s landscape. This is an innovation for which many people have been clamoring, and it was especially welcome in this game, where many of the locations have the exact same name. There’s also a “control panel” which can execute common commands for you, even a “goto” command which gives you a listbox of discovered locations and sends you there via the best path. Finally, I must mention that I appreciated the inclusion of “Verbose” as a menu option, something I can just leave turned on for all games rather than having to explicitly request it each time.

OK, so there are a substantial number of things I liked about the ADRIFT interface. Sadly, there are also a number of things I really hated. First and foremost is the problem of the parser. ADRIFT’s parser violates all three of the current tenets in Paul’s Parser Manifesto (which I made up in response to another nonstandard parser, the one in last year’s homebrew game Lunatix.) Those tenets are as follows:

  1. Parsers must not pretend to understand more than they do.
  2. Parsers must not give smarmy, unhelpful error messages.
  3. Parsers must not ask questions without being prepared to receive an answer.

Well, I’m not actually sure it breaks #3 — I got too angry to try it. The exchange went something like this (I’ve inserted prompts before my commands for clarity’s sake — ADRIFT doesn’t put command prompts in its text):

> look in it
(the first aid kit)
This is a standard issue first aid kit. The first aid kit is open.
Inside the first aid kit is a small bottle.

> x bottle
This is a small bottle for pills. The bottle is closed.

> open bottle
You open the small bottle.

> look in it
(the small bottle)
This is a small bottle for pills. The bottle is open.

> x bottle
This is a small bottle for pills. The bottle is open.

> look in bottle
This is a small bottle for pills. The bottle is open.

> empty bottle
I don't understand what you want me to do with the small bottle.

> get all from bottle
You are not holding a small bottle.

> get it
(the small bottle)
You are not holding a first aid kit.

> get kit
Take what?

> ^%$# you! [Expletive removed to protect the easily offended]
I really don't think there's any need for language like that!

Frustrating exchanges like this were not uncommon, but even more infuriating were ADRIFT’s violations of tenet #2. Probably the worst offender was this one:

>undo
I can't undo your blundering.

Let me tell you an easy way to get me angry fast: give me an insulting message in response to a reasonable command. This one broke all previous speed records. Finally, there were the violations of tenet #1, most obvious when you type “x [anything the parser doesn’t understand]” — instead of telling you it didn’t understand you, it just says “Nothing special.” I hope that Santa will still bring me presents this year despite the fact that I couldn’t resist typing “x adrift.”

All these parser problems more than blew away any pleasure I derived from ADRIFT’s other innovations, because the parser is more important than the nifty features. Let me say that one more time, and listen up, system authors: THE PARSER IS MORE IMPORTANT THAN THE NIFTY FEATURES. Further crippling the ADRIFT experience was the sublimely aggravating policy that there is no scripting option as such — only a menu command that will record a transcript of the game thus far, a command that is naturally unavailable after a game ends! Who uses scripting, you ask? I do — I use it to write reviews.

Because I didn’t find my way around this misfeature until I’d been playing Marooned for an hour or so, it’s difficult for me to assess my experience with much accuracy, except to say this: Marooned is not the game I’d use to champion ADRIFT. To the problems in ADRIFT’s parser, this game adds its own irritations. For one thing, there’s a starvation puzzle. Game designers, please quit it with the starvation puzzles. Like mazes, they were interesting long ago, but no longer. They’re not clever, they’re not challenging, and they’re not fun — they just suck. This one was especially offensive because none of the food you find actually staves off starvation, and a couple of perfectly legitimate food items aren’t edible, according to the game.

Compounding this problem is the fact that there are tons of red herrings in the game, which means that you waste your time trying to figure out how to use something that’s actually useless, and consequently you keep dying over, and over, and over again. Dull, dull, dull, and ultimately rage-inducing. The premise of the game was fine, but it’s hampered by severe design problems, as well as the more fundamental weaknesses of the ADRIFT interface. All in all, I’d rather play Guess the Verb again.

Rating: 3.6

Lunatix: The Insanity Circle by Mike Snyder [Comp99]

IFDB page: Lunatix – The Insanity Circle
Final placement: 12th place (of 37) in the 1999 Interactive Fiction Competition

Early on in Lunatix, I typed “X TUKE.” The game responded, “It looks just like you might have expected.” Of course, there’s no “tuke” in the game — I meant to type “tile” but my right hand had strayed a bit from its accustomed spot on the keyboard. I’m glad it happened, though, because the incident taught me something important about Lunatix: its parser pretends to understand more than it does. In my book, this is a big no-no. In fact, if I ever write a Parser Manifesto, my first principle will be, “Parsers must not pretend to understand more than they do.” Even a fairly innocuous violation of this rule, Inform’s famous “You can’t see any such thing,” has caused no end of debate on raif. When a game pretends to understand more than it does, you can never really be sure when you’re encountering a bug, because bugginess has been built directly into the interface.

What’s more, it’s a cop-out. Instead of doing the often tedious work of creating descriptions for the available objects, the game elides the absence of these descriptions by acting like it recognizes them when it doesn’t. As a player, I find this pallid deception infuriating. Unfortunately, Lunatix‘s parser does something even more infuriating, which has led to the formation of the second principle in my hypothetical Parser Manifesto: “Parsers must not give smarmy, unhelpful error messages.” My encounter with Lunatix was filled with exchanges like this (the words after the ellipses are my input):

...FILL WATER GUN
Your logic, although interesting, is flawed.
...TURN ON FAUCET
That's a pretty crazy idea, but it didn't work.

These kinds of responses make me want to scream obscenities at the game, and sometimes I did, along with feeble protests like “No it isn’t! Wanting to fill a water gun with water is not flawed logic! Turning on a faucet isn’t a crazy idea!” Then I remembered that talking to yourself is a sign of impending mental collapse, so I stopped. But my blood pressure stayed high.

The problem with this kind of message is that the game is willfully occluding its own shortcomings at the player’s expense. Error messages that insult the player, when in fact it is the parser that has failed, piss me off. I’d so much rather see the game say “I don’t know that verb” or “You can’t fill that” — that way I know exactly what hasn’t been implemented, and that knowledge will be useful to me throughout the game. Instead, Lunatix sneers at me and acts like its flaws are my fault.

Which brings me to the third principle of my Parser Manifesto: “Parsers must not ask questions without being prepared to receive an answer.” I had lots of exchanges with the game that went like this:

...POUR CPU
What are you trying to pour out?
...CUP
In a perfect world, that might have worked.
...POUR CUP
You empty the cup's contents onto the floor.

OK, so I made a typo in my first command, and the game asked me a disambiguating question. Fair enough. But wait! Further evidence reveals that the question only appeared to be for disambiguation. Actually, the parser wasn’t asking me a question at all, but giving me a message along the lines of “I only understood you as far as wanting to pour.” By phrasing that message as a question, Lunatix tricks me into thinking it is following the standard set by every other major parser: ask the player a question and process the answer. Instead, it’s only prepared to follow through with the first half of that standard, and gives me a snippy error message in the bargain. Grrr.

These kinds of problems have been more or less eliminated in the default library parsers used by most major IF tools, but Lunatix doesn’t use one of those parsers. Instead, it is a “homebrewed” creation written in (from what I can glean from the readme) QBasic, and presenting a radically different interface than most IF games do. The game splits the screen into four windows: the top half of the screen is split vertically between a square graphics window (displaying a picture of the current room) and a square text window, which always displays the textual description of the current room. Taking up most of the bottom half of the screen is a rectangular text window, which displays the game’s responses to the player’s input. Below that, a frame around a one line text field, is a window for the player’s input. It’s a bit reminiscent of the Legend interface, except instead of a compass rose and clickable command menus, there’s just a room description next to the graphic.

The graphics themselves are grainy and pixellated (or at least, they were on the two monitors I used to play the game), but still manage to be appropriately atmospheric at times, and even rather attractive once in a while. More importantly, they add significant content to the game — there are some objects that would be difficult to envision when described in text, but the presence of the graphic clarifies the setting a great deal. The window with the textual room description was nice, too, as it allowed systematic examination of the first-level nouns without having to periodically “LOOK” to remember what those nouns are. Of course, the game doesn’t actually implement most of these nouns, but that’s not the window’s fault.

The only difficulty I had with this window is that it didn’t always automatically update when something drastic had changed about the room, unless I explicitly typed “L” again. Thus, after solving a puzzle I might see a picture of a normal hallway, while the description alongside it raved about the giant squid blocking my path. In addition, lots of keen features were implemented in the interface, like command recall with the up-arrow, splash screens at the beginning and end of the game, a weirdly pulsating cursor, and nifty sound effects. So I can say with certainty that Lunatix is the most technically competent homebrewed game in the competition, perhaps even the most technically competent homebrewed game in the history of the competition. Unfortunately, all the snazzy windowing and gee-whiz effects in the world don’t really make up for its substandard parser.

The other part of the game’s core, its story, is OK. It’s one of those IF scenarios whose premise rationalizes why it is full of patently ridiculous things. In this case, you’re the unscrupulous director of an insane asylum and you’ve been given a drug which replicates insanity. This is a cozy explanation for why nothing you see really makes any sense, and seems to be just a setup for lots of different code and one-use-object puzzles. These puzzles are mostly OK, too. They’re more or less logical (within the confines of the completely nonsensical story) and, with one or two exceptions, pitched at the right level of difficulty. There is one real howler towards the end which makes almost no sense but will be deeply appreciated by fans of The Penguin on the old Adam West Batman show.

So in other words, the story and puzzles aren’t great, but they aren’t terrible either. Unfortunately, the combination of fair-to-middling plot with really-irritating parser makes the game less fun to play than it should be. See, (he said, mounting his soapbox) an IF game is a fusion of parser and story. The beauty of the modern IF languages is that they have freed designers from most of the hassle of worrying about the parser, allowing them to focus the bulk of their creative energy on the story. When a game eschews these time-tested solutions, it doesn’t just double its work, but increases it exponentially. Lunatix, strong as it is, isn’t quite up to the task.

Rating: 7.1