Teaching IF to new players

Okay, so I’m wondering how common this experience is: You just made a game and it’s so awesome. You just need someone to play it. Unfortunately, the only potential players available to you are your computer illiterate aunt, a little brother, plus his friends, and maybe a goldfish. You decide to press them into service, anyway, only to find that what you took for granted as common sense in IF is actually much less intuitive than you thought. Or maybe the experience only managed to make an imprint of your palm on your forehead that wouldn’t disappear for a week. Either way, I’m guessing we could all share something on this topic.

If you have any stories along those lines, this thread would be the place to share them. Maybe we can come up with some common lessons in teaching IF, a list of common assumptions on the side of both authors & players, or maybe just share a chuckle or two at the expense of either party.

I’ll go ahead and get the ball rolling…

It seems like every new player has the same first reaction to seeing a screen full o’ text with that little command prompt: they say, “What do I do now?” Even in the case where help is offered on the screen (like a message saying, “If you don’t know how to play, type HELP and press enter.”), the result is practically inevitable. You might as well sing along when you start up a game for a newbie. This might just be a result of having an author peering over their shoulder, though… I would assume new players on their own tend to experiment a little more, but I have no way to prove or disprove that.

Just the other day I had an interesting experience with a new player. “So, what do I do?” he asked, and I directed him to check out the help message that the game offered him. As it turns out, this particular IF had a verb list attached, complete with syntax, and the player figured out first how to move.

But then I think he probably retained only one or two verbs from the list he had seen. Maybe it was too much to take in. I say this because-- oh, boy-- he expected movement alone to solve everything. When moving around didn’t work, he kept walking back and forth between rooms and typing >LOOK over and over again. When I asked what he was doing and what his plan of action was, he said he was getting frustrated because the room descriptions weren’t changing! He expected time to pass and events to take place that would either solve things on their own or tell him how to do what he needed to do.

Just goes to show, new players and veterans probably make a lot of different assumptions about typing >LOOK. I’ve also had a hard time getting new players to examine things in room descriptions (have you ever heard, “I’ve looked at everything!” when the player has yet to examine a single object?)… but perhaps I’ll delve into that later, since I don’t want to hog the thread. Maybe you have a similar story to share?

What have you seen new players do? Have they tried anything weird or different from what you’d expect? Where do you see them having trouble?

A few things I’ve frequently noticed in new player transcripts:

– Lots of newbies get totally lost once the initial room description scrolls off the screen. They don’t know to type LOOK to get it back, and as soon as any objects they were trying to manipulate vanish, they’re left with a screen full of error messages and no clues about what to do next.

– As Duncan mentioned, examining is very unintuitive. I’ve very rarely seen anyone type this on their own without prodding (sometimes people try LOOK AT, but in my experience this is usually only if they have vague memories of playing IF in the past.) Newbies will have trouble with any game that requires examining items to gain details necessary to advance the plot.

– People who are not experienced adventure gamers will often move about at random without seeming to build up a coherent picture of the environment or exhausting all the available rooms. The fuzzy little animal in Blue Lacuna who sometimes appears scampering towards an unexplored room was a response to numerous elderly testers who were stuck for days because they simply never tried visiting certain rooms.

– Be sure to implement verbs commonly associated with various objects. I’ve lost track of the variants I’ve heard on this story: “Well, I tried to play interactive fiction once but I wasn’t very impressed. There were these stairs and they didn’t work. I tried CLIMB STAIRS and GO UP THE STAIRS and USE THE BLOODY STAIRS and it had no idea what I meant.” (The author probably meant for people to type UP. Authors have gotten a lot better at this, but it’s still a common blind spot for old hands.)

Awesome. And we thank you for that little fuzzy animal, else I never would have found Progue’s sleeping spot.

I’ve done better than most, I think, but I still know of people who got stuck and gave up on all my games, including the one you can play entirely by clicking hyperlinks.

Perhaps the most interesting is the game I released which includes a sequence where you’re descending on a parachute and can only wait several turns (which you can do by typing “wait” or by using any other valid command). Someone I knew who’d never played IF before managed to reach this point with the ABOUT text and in-game hints, but when the hints told her to “WAIT” she only thought to enter the command once. When nothing else seemed to happen, she had no idea what to do.

Another player playing Dead Like Ants had no trouble interacting with the game and making progress, but became frustrated when the game kept leading to the PC’s death. The fact the hints lead her directly to this in numerous ways only made her decide the game was extremely cruel and unfair. Realising the “trick” I was pulling did nothing to change this view.

One bug report I got for Walker & Silhouette was that the player had “run out” of keywords. Before I even saw the report, he retracted it - I’d placed the LOOK command as a hyperlink on a banner on the bottom of the window, for just this situation (and also mentioned it in this context in a couple of different places, mostly because Blue Lacuna did the same) - but he still thought that having to click it every so often was rather strange. I think he’s right, but I’m not sure what else you can do with a text-based game about interacting with an environment.

I tried beta testing with some new players:

I’ve had players try “GO TO KITCHEN” when in a house, without knowing whether or not a kitchen was there, just because they figured a house should have a kitchen. They’ve also tried the “LOOK FOR [person/object]” instead of looking at/under things.

Another player spent a lot of time with an NPC dog with fairly randomized behavior- petting it, calling it, yelling at it, hitting it, etc.

GO THROUGH DOOR was another common one, when there were no “doors” but directions.

I think back to how I learned to play Zork. I had an instruction book with common commands and sample transcripts, I had the hints for Zork I which were in-game as a HINT command, and I had someone else to play with- which helped out a lot.

I’ve seen an IF beginner’s card- that should be standard included in ALL if games. Also the in-game help/hints command is a good idea. Newer players get frustrated much more than veterans.

The >GO TO KITCHEN bit reminds me of when I had an old roommate try something I was working on… he’d be standing in the bedroom with the dresser and type >GO TO DRESSER. Or in the kitchen he would type >GO TO FRIDGE, even though those things were already in the room with him. Still, he assumed that he would have to approach them before he could interact with them, which makes sense, but it’s just not how IF worlds are generally structured. Everything’s just sort of “in the room with you.” Movement around a room is often assumed, but not always significant.

Still another roommate of mine tended to type improper commands. I tried to teach him, but he had another method: when his input failed, he would just try the same phrase again, but with more cuss words. >___ING GO TO THE ___ING KITCHEN ____ ____. He also tended to ragequit fairly quckly when he was chastised for his potty mouth.

But sometimes new players aren’t all frustration. Several times some new player I’ve dragged to my computer will start laughing and hooting and generally enjoying themselves… and then I realize they’re not actually making any progress. They’re just having fun with the default responses! (Though how I might get them back on track tends to be a whole 'nother beast.)

I’m relatively new to IF, so I don’t know if this has been done or not, but what about keeping the room description in a separate window, so that it’s always there? The commands and responses could scroll by, but you’ve always got a window where it shows you your current location. It’s kind of like the old graphical adventures with text input, but instead of always having a picture of the location, you always have the description.


The Scott Adams games did that (and they predated Zork I on the store shelves).

Perhaps the best way to teach a new person would be to download a game that’s new to both of you and play it for the first time together. That should get them used to the phrasing and such.

I realize that this answer is platform- and language-dependent, but perhaps every game engine should have a NEWBIE command. We provide lovely Zork-inspired commands such as VERBOSE and BRIEF for the old hands, but what about the newbies?

I think there ought to be a module or extension to handle that, really.

The NEWBIE module/interface could do many things:

  • In the first room, it can show a list of suggested commands like GO WEST and TAKE ENVELOPE. (A list of suggested newbie commands can be supplied by the author.)
  • It should recognize overly-verbose commands such as GO TO THE NORTH or PICK UP THE ENVELOPE or LOOK AT THE ROOM and suggest briefer alternatives.
  • It should contain a real-time clock; if there is no input for a significant time, it should ask if the player is new, and if he needs instructions.
  • It should intercept commands such as WHERE AM I?
  • While in newbie mode, the first few rooms can contain objects with “suggestion flags.” For instance, an examine-me flag will encourage a new player with a standard line like “(You might wish to try the command EXAMINE THE JAR OF PICKLES.)” while a take-me flag responds with “(You might wish to TAKE THE CLASSIFIED ADS. You may need them later.)” The author can choose which items are flagged for a newbie’s convenience, but the engine just picks a random suggestion-flagged thing in the room.
  • It could also have objects with “clue flags.” If you have spent more than 20 moves in the kitchen and you haven’t opened the refrigerator, it could prompt the player with “(You haven’t tried to OPEN THE REFRIGERATOR yet.)”
  • It could contain a text-formatting script so that interactive objects are bolded in the room description text.
  • It should recognize and acknowledge unnecessary commands such as GO OVER TO THE [fixed scenery object], or GO THROUGH DOOR, providing an appropriate response.
  • The first time you go more than 10 turns without typing LOOK, it can prompt you “(If you want to see where you are, type LOOK.)”
  • It could count the number of times you try to interact with unimportant scenery, and provide a default response. After the third time you try to do anything with the AQUARIUM, it can say, “The aquarium isn’t really important. The author put it here to make the room more interesting. Isn’t it nice?” or something. Actually making scenery objects for all of those items is the author’s problem. :slight_smile:

If making a module or extension is out of the question, then perhaps a focus on writing a few extremely newbie-friendly games could help a great deal. If you want to get somebody involved playing IF, you can start 'em off gently with a game designed to give the player as much help as possible, before getting them into the harder stuff. (I seem to remember an Infocom game … Seastalker? … that had a bunch of hints built-in.)

You can get most of these by merely downloading and including the following extensions:

Include Smarter Parser by Aaron Reed.
Include Tutorial Mode by Emily Short.
Include Keyword Interface by Aaron Reed.

This would get you all of the following:

The remaining are all good ideas, too.

And I should also mention the project Juhana and Drew are working on to do just this: inthecompanyofgrues.com/iftraine … ha_testing

For fun, here’s a transcript a non-IF-playing friend sent me of encountering release 1 of Sand-dancer (where I’d accidentally, but usefully for our purposes here, left out all of the newbie-friendly extensions I meant to include.) Warning: foul language.

As far as extensions that would have improved this experience: “Modified Exit” recognizes things like “Get out of truck,” “Smarter Parser” would have responded to several of the questions asked with helpful instructions, and stripped some of the words getting in the way (">then switch them off" would have become “switch them off”), and “Extended Grammar” would have gotten some of the verb synonyms like “inspect” and “escape.”

This isn’t the first time I’ve seen evidence to show that the “I only understood you as far as…” error message isn’t so easy to understand if you don’t already know what it means. Does anyone have a better wording for it, or another way of handling the error of the player that’s supplying too much information?

Maybe things like this are what prevent IF from gaining wider acceptance?

I know there are threads in this forum talking about this, but (and I’m speaking ignorantly here) maybe this should be the next major thrust of IF development, making IF accessible to non-IF players.

Although I’m sure most will react the same way my wife did the first time I asked her to play a game.

I think that’s exactly right. I know Aaron has done a lot of work on this already, with Smarter Parser and so forth, but I haven’t yet put it through the torture test, so I’m not sure what may remain to be done. (Nor would I be the right person to torture-test it…)

Ultimately, though, we can hope that an expanded Smarter Parser will be bundled with Inform by default. An extension is only useful if authors know that they should use it.


I find this part interesting:

I just can’t wrap my head around this. Why did they write “give me back my cigarettes”? Who is “me”? Did the player consider himself being a separate person in the game world, as someone other than the PC, even though the story is narrated in second person? Maybe the “Sure thing, man” response gave the impression that the PC took the cigarettes from the player?

Looks like it. The narration resembles dialogue, so it’s natural (I think) to assume it is a character speaking, not a disembodied narrator.

Another interesting little minefield which authors must circumvent.

It occurs to me that currently the parser tries very hard to pretend that it understands more of the player’s input than it actually does. It might be best to drop that pretense completely and just be brutally honest with the player, otherwise the newcomer has no way of knowing what input is expected. Something like this:

That’s just a quick draft but I do believe that if you make the parser’s logic transparent the player catches on much quicker. In Aaron’s example script you can see that the player tried to have a conversation with the parser and acted as if they were talking with a human (“sigh” or “TURN OFF THE HEADLIGHS!”) all the way to the end of the script. “I didn’t understand that sentence” or “I only understood you as far as…” contains zero information on how to actually modify the command to make the game understand it.

Just this past week, I had the experience of playing IF with my young cousin, who had only been introduced to IF by me the year before, and only for a brief time. I was reading the game out loud to him, and asking him what to do, so obviously that eliminated most of the problems he would have had with the parser, since I was interpreting his commands. However, I did notice that he repeatedly wanted to go towards something in the same room. That is, when I read a room description, including the list of the objects and NPCs in the room, his first reaction was often to tell me to go to the object or NPC that caught his attention the most, for instance, “GO TO GIRL” or “WALK TOWARD GIRL”. He also sometimes wanted me to do things that can’t really be expressed in typical IF commands very well, such as standing in a particular direction or getting in front of something/someone.

So, it seems one thing that newbies may not catch on to right away is the IF convention of spacial relationships within rooms. And it makes sense that wouldn’t assume that the PC’s movements within a room would be implied, when you’re supposed to be telling the PC what to do. Other than these difficulties, my seven-year-old cousin seemed to understand IF fairly well, though it’s hard to say, since he was only interacting with the parser through me.

Here’s an example of just the misunderstood commands from the first transcript and the first part of the new response, with some of the existing newbie-friendly extensions turned on:

Include Extended Grammar by Aaron Reed.
Include Smarter Parser by Aaron Reed.
Include Poor Man’s Mistype by Aaron Reed.
Include Modified Exit by Emily Short.
Include Small Kindnesses by Aaron Reed.

I’ve actually revised some of these heavily in the last few days: the new version should show up on the extensions page momentarily. Most notably, I’ve revised the output style for Smarter Parser to be more streamlined: when attempting to reparse a command it reprints the new version in caps in front of a new prompt.

The above response seems incongruous due to the way Modified Exits handles something-- I’ve made a suggestion to Emily that this ought to work a little differently if the exit in question is “outside.”

So out of the original 31 errors, we’ve turned 9 of them into correctly parsed commands, and given more helpful error messages for 6 more. This still leaves 16 inputs the same (or in one case slightly worse) than they were, but many of these are just a frustrated player messing around, which weren’t expected to have responses anyway.

(Note that this is a blatantly unfair and unscientific comparison, since this was one of the data sets I was using to improve the extensions. I’m hoping to do some tests with some other collected newbie-friendly input soon. But my general sense is that these extensions should recognize something like 15-30% more newbie input than the baseline parser.)