| 11.3. Helping and Hinting |
IF is difficult to play: often harder than the writer ever suspects. Players are held up by what is "obvious", and they stumble into unforeseen combinations, or spend inordinate amounts of time working on the "wrong" problems. Too much of this and they give up, or post questions on online forums. Against this, many IF authors like to include in-game hints.
There are many approaches, which differ on two main issues.
First: do we spontaneously offer help to the player? The difficulty here is detecting the player's need: Y ask Y? tries to spot aimlessness, while Solitude has a novice mode where it is reasonable to assume that help is almost always needed. On the other hand, suppose we require that the initiative come from the player. Will a novice know to type HELP? Responding to questions starting with WHO, WHAT, etc. shows how to redirect any attempt to ask a direct question into a HELP request. At the other end of the scale, wearily experienced players may type HELP all the time, out of habit, cheating themselves of the fun of frustration: if so, Real Adventurers Need No Help provides the nicotine patch against this addiction.
Second: how do we decide what help is needed? Normally the player only types HELP, which is unspecific. The simplest approach offers a menu, diagnosing the player's problem by obliging him to make choices: see Food Network Interactive. Listing all the possible problems in the game may give away too much, though, since players may not have reached the puzzles in question yet; so some authors prefer to create menus that adapt to the current state of the game (commonly called "adaptive hints"). None of the examples demonstrate this variation because it can be a bit long-winded to set up, but several adaptive hint extensions are available for Inform.
Failing this, we can also try to parse commands like HELP ABOUT MICRODOT, as in Ish. Trieste takes a similar tack, except that instead of offering hints about puzzles, it offers help on game features (such as how to save), and lists all the available topics if the player types simply HELP.
Finally, and perhaps most stylishly, we can try to deduce what the player is stuck on from his immediate circumstances and from what is not yet solved: this needs a powerful adaptive hints system like the one in The Unexamined Life.
See Getting Started with Conversation for a way to redirect a player using the wrong conversation commands
See Footnotes for another medium by which hints could perhaps be transmitted
| Example Y ask Y? Noticing when the player seems to be at a loss, and recommending the use of hints. | |
|  Example Solitude Novice mode that prefaces every prompt with a list of possible commands the player could try, and highlights every important word used, to alert players to interactive items in the scenery. | |
| Example Query Catching all questions that begin with WHO, WHAT, WHERE, and similar question words, and responding with the instruction to use commands, instead. | |
First, we create a single "[query]" token so that we can capture all instances of such sentences in a single line:
"Query"
Blank Room is a room.
Understand "who" or "what" or "when" or "where" or "why" or "how" or "who's" or "what's" or "when's" or "where's" or "why's" or "how's" as "[query]".
Understand "[query] [text]" as a mistake ("[story title] understands commands, such as '[command prompt]examine [a random thing that can be seen by the player]', but not questions. For more instructions, type HELP.").
Test me with "who am I? / who are you? / where is this place?".
Now the game will respond to all questions novice players might type with this reminder to look for help information.
|
| Example Ish. A (very) simple HELP command, using tokens to accept and interpret the player's text whatever it might be. | |
|  Example Trieste Table amendment to adjust HELP commands provided for the player. | |