Basic IF Help

version 1 by Andrew Plotkin

  • Home page
  • Beginning



  • Documentation

    This extension defines a "help" verb, which offers a variety of help topics covering the common IF commands and conventions. Typing "help" by itself offers a list of topics; "help TOPIC" gives more detailed information.

    These topics are based directly on the Tutorial Voice feature in my game "The Dreamhold". However, this extension does not try to provide Dreamhold's interactive guidance. (That sort of handholding is too game-specific to be bundled into an extension; it has to be built directly into the game.)

    I have not attempted to update Dreamhold's (2004) help text, so it may be a little out of step with modern IF. (For a start, I consistently refer to "games" and "text adventures", rather than "stories" and "interactive fiction".) The one concession I've made is to acknowledge that modern games default to "verbose" mode.

    You may want to add synonyms for "help". I have not done this, to avoid colliding with verbs you might have defined already in your game. But you might add:

        Understand the commands "hint", "hints", "about", "info" as "help".

    Functionally, this extension creates a set of help-topic objects (which are always off-stage -- don't try to bring them into the game world). Each help-topic has a name (defined in the usual I7 way) and a description (ditto).

    To define a completely new topic, you could write (for example):

        Help-jumping is a help-topic.
        Understand "jump", "leap" as help-jumping.
        The description is "Jump! With great power."

    To customize any of the existing topics, you could write:

        When play begins:
            now the description of help-wait is "Waiting is boring. Don't do it."

    A few of the topics have some customization already in place. For example, the top-level "help" topic ends with the line:

        All of these topics are *general* information on playing IF. If you are stuck on a particular puzzle in STORY TITLE, you're on your own.

    (The story title is taken from the game itself.) You can change this line by setting a property of the bare-help object:

        When play begins:
            now the game-specific help of bare-help is "All of these topics are [italic type]general[roman type] information on playing IF. For hints, see my web site."

    Similarly, the "help score" topic ends with one of the lines:

        STORY TITLE has a "score" command.
        STORY TITLE does not have a "score" command.

    ...depending on whether you "use no scoring". You can customize this line by setting the game-specific help property of the help-score object.

    Finally, the "help about" topic contains the line:

        In some games, typing "about" will give you a short blurb about the game.

    If you write:

        When play begins:
            now help-about is game-available.

    ...this will change to:

        In some games (including this one!) typing "about" will give you a short blurb about the game.