Chapter 11: Out Of World Actions and Effects
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


111
* Example  Y ask Y?
Noticing when the player seems to be at a loss, and recommending the use of hints.

WI
392
** 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.

WI
317
* Example  Query
Catching all questions that begin with WHO, WHAT, WHERE, and similar question words, and responding with the instruction to use commands, instead.

WI
52
*** Example  Real Adventurers Need No Help
Allowing the player to turn off all access to hints for the duration of a game, in order to avoid the temptation to rely on them overmuch.

WI
273
* Example  Food Network Interactive
Using a menu system from an extension, but adding our own material to it for this game.

WI
285
* Example  Ish.
A (very) simple HELP command, using tokens to accept and interpret the player's text whatever it might be.

WI
274
** Example  Trieste
Table amendment to adjust HELP commands provided for the player.

WI

Suppose we are using an extension in which another author has defined some help topics for the player, and we want to amend them for our game.

We'll start with the portion of the text that we have inherited from the extension:

"Trieste"

Section 1 - Procedure

A help-topic is a kind of value. Some help-topics are defined by the Table of Standard Instructions.

Table of Standard Instructions
help-topic   reply   
verbs   "This game recognizes 150 common verbs for forms of military attack. These include..."   
saving   "To save the game, type SAVE. You will be prompted to supply a file-name for your saved game. If you'd like to return to play at that point again later, RESTORE the saved game."   

Understand "help [help-topic]" as asking for help about. Asking for help about is an action out of world, applying to one help-topic.
Understand "help" or "help [text]" as a mistake ("Help is available on the following topics: [help-topics list]").

To say help-topics list:
    repeat through the Table of Standard Instructions:
        say "[line break] [help-topic entry]";

Carry out asking for help about:
    repeat through the Table of Standard Instructions:
        if the help-topic understood is the help-topic entry:
            say "[reply entry][paragraph break]";
            break.

Section 2 - Scenario

Now, let's imagine our game is a special one in which only a very limited supply of moves are allowed. In that case, we'll want to replace the information on verbs:

Table of Standard Instructions (amended)
help-topic   reply   
verbs   "The only verbs this game recognizes are HOLD, MOVE, CONVOY, SUPPORT MOVE, and SUPPORT HOLD. No others are necessary."   

Board Room is a room. Mark is a man in the Board Room. "Russia (played by Mark) is also hovering over the board."

Guest Bathroom is south of Board Room. Lena and Rob are in the Guest Bathroom. Lena is a woman. Rob is a man.

Rule for writing a paragraph about Lena when Lena is in the Guest Bathroom and Rob is in the Guest Bathroom:
    say "[Lena] (Italy) and [Rob] (Great Britain) are having a hushed conversation while leaning against your good towels. They stop and stare at you when you come in."

Test me with "help / help verbs / help saving".

230
*** Example  The Unexamined Life
An adaptive hint system that tracks what the player needs to have seen or to possess in order to solve a given puzzle, and doles out suggestions accordingly. Handles changes in the game state with remarkable flexibility, and allows the player to decide how explicit a nudge he wants at any given moment.

WI


PreviousContentsNext