7.6. Reading and talking

| Chapter 7: Basic Actions |

| 7.6. Reading and talking

A few actions apply not to items alone, but also involve what might be called conversation. The first is the one used for looking things up in books (which is conversation of a kind, even if the author is not present): "consulting ... about ...". For example,

> In the Grove is a book of sybilline verses.

> After consulting the book about "grove", say "The Grove is a sacred yadda, yadda. There's a tree, that sort of thing. Wisdom."

> After consulting the book about "future events", say "It's a bit, what's the word? Delphic."

Note that what follows "about" here is a piece of text in double-quotes, and not the name of something. It can be almost any text at all, and in fact we shall later see (in the chapter on "Understanding") that we can match complicated patterns of words, too.

Similar actions are used for conversing with people:

> After asking the Sybil about "verses", say "She blushes."

> After telling the Sybil about "persians", say "She nods gravely."

> After answering the Sybil that "I am mad", say "She sighs."

These would be produced by commands like "ask sybil about verses", "tell sybil about persians" and "answer i am mad". Answering is very seldom used and can be forgotten about, but the distinction between asking and telling is often worth preserving, which is why there are two different actions for these. If you would prefer to make "tell sybil about X" do the same as "ask sybil about X", the following rule would serve:

> Instead of telling the Sybil about something, try asking the Sybil about it.

Games with a lot of conversation often involve great heaps of rules like the ones above, which can be repetitious to type out. We shall also later see (in the chapter on "Tables") that we can tabulate questions and answers in a much more concise way, if we prefer.

See Topic columns for table-based ways to store and retrieve conversation

91
| Example Sybil 1 Direct all ASK, TELL, and ANSWER commands to ASK, and accept multiple words for certain cases. |
RB

Sometimes we do not particularly want to deal with all the variations on asking, telling, or answering someone something, but want to direct everything to a single conversational command: "Consulting the Oracle" The Grove is a room. In the Grove is a woman called the Sybil. Instead of telling someone about something, try asking the noun about it. Instead of answering the noun that something, try asking the noun about it. Instead of asking the Sybil about "persians", say "She nods gravely." And similarly, a difference between GIVE and SHOW is sometimes overkill: Instead of showing something to someone, try giving the noun to the second noun. The player carries a coin. Instead of giving the coin to the Sybil: move the coin to the Sybil; say "She accepts with a smile." It is also often the case that we want to accept more than one form of a term. For instance Instead of asking the Sybil about "Darius/king", say "Her smile unnerves you." will match either "Darius" or "king". If necessary, we can go a step further and define our own token to match a variety of phrases, like this: Understand "Athenians/Spartans/Greeks" or "hoplite army/forces" as "[Greeks]". Instead of asking the Sybil about "[Greeks]", say "She looks encouraging." The token "[Greeks]" will match all of "Athenians", "Spartans", "Greeks", "hoplite army", or "hoplite forces". It will not match "hoplite" or "forces" alone; it is important to note that the / divides individual words which are understood equivalently, but does not define entire phrases as equivalent. More about how Inform understands specific phrases can be found in the chapter on Understanding. Test me with "test one / test two". Test one with "ask sybil about persians / tell sybil about persians / sybil, persians / ask sybil about darius / ask sybil about king". Test two with "ask sybil about greeks / ask sybil about athenians / ask sybil about hoplite army / ask sybil about hoplite forces / give the coin to the sybil".

92
| Example Lucy Redirecting a question about one topic to ask about another. |
RB

93
| Example Sybil 2 Making the character understand YES, SAY YES TO CHARACTER, TELL CHARACTER YES, ANSWER YES, and CHARACTER, YES. |
RB

94
| Example Costa Rican Ornithology A fully-implemented book, answering questions from a table of data, and responding to failed consultation with a custom message such as "You flip through the Guide to Central American Birds, but find no reference to penguins." |
RB

Previous | Contents | Next