Inform 7 Home Page / Documentation
§12.3. Giving instructions to other people
So far, all actions have been carried out by the player: which is fine for exploring the passive world of an empty warehouse, but less good for a drama in which other characters have to be contended with. In fact, an action can be carried out by anybody - by any instance of the "person" kind, that is, which includes all the men, women and animals in the story, and not only the player.
In interactive fiction, players conventionally ask other characters to do something with commands like so:
> will, go west
Clearly "will, go west" should not produce the same action as "go west", because a different person will be trying it: this person is called the "actor", and while the actor is ordinarily the player, here it is the character called Will. Inform distinguishes these two actions like so:
going west
asking Will to try going west
As a result, we can write rules like so:
Instead of asking Will to try going west, say "Will scratches his head, baffled by this talk of westward. Is not the ocean without bound?"
To write rules like this, we sometimes want to generalise about who is supposed to do the deed. To do this we can refer to "person asked", just as the "noun" stands for whatever noun was typed:
Instead of asking somebody to try taking something, say "I don't think we ought to tempt [the person asked] into theft, surely?"
So if the player types "Algy, take sandwich", the "person asked" would be Algy; the "noun" would be the sandwich; and there would be no "second noun".
|
ExampleVirtue
Defining certain kinds of behavior as inappropriate, so that other characters will refuse indignantly to do any such thing.
|
|
"Virtue"
The Cloister is a room. Lady Teresa is a woman in the Cloister. Mother Margaret is a woman in the Cloister.
Attacking someone is misbehavior. Kissing someone is misbehavior.
Instead of asking someone to try misbehavior: say "[The person asked] stiffens, offended by your suggestion."
Test me with "kiss margaret / margaret, kiss me".
To begin with, we create an action for going to a named place. All that this action will do is to change that person's hoped-for destination: the actual moving around comes later.
"Latris Theon"
A person has a room called destination.
Understand "go to [any room]" as going vaguely.
Going vaguely is an action applying to one visible thing.
Carry out someone going vaguely:
now the destination of the person asked is the noun.
Report someone going vaguely:
say "[The person asked] looks amused, but accepts the commission to go to [the noun]."
It stands to reason the player plays Zeus or at the very least Apollo, but let's not let this go to the player's head. Note that the following rule applies to the player, but not to anyone else, so HERMES, GO TO ATHENS will work but GO TO ATHENS will not.
Carry out going vaguely:
say "You're too thoroughly lost."
And finally we recreate Greece and one of its heroes.
Corinth is a room. Athens is east of Corinth. Epidaurus is southeast of Corinth and east of Mycenae. Mycenae is south of Corinth. Olympia is west of Mycenae. Argos is south of Mycenae. Thebes is northwest of Athens. Pylos is south of Olympia. Sparta is east of Pylos and south of Argos. Delphi is northwest of Thebes.
Hermes is a man in Corinth. The destination of Hermes is Corinth. [So he is initially happy where he is.] Persuasion rule for asking Hermes to try going vaguely: persuasion succeeds. [But he is open to suggestions.]
Every turn when the destination of Hermes is not the location of Hermes:
let the right direction be the best route from the location of Hermes to the destination of Hermes;
try Hermes going the right direction.
Test me with "hermes, go to athens / e".
It simplifies matters that our map of Greece makes it possible to reach any location from any other location, by some sequence of movements: if there were an isolated location -- say, Crete -- with no map connection to the mainland, then we would have to worry about the "right direction" not being a direction at all. The following version of Hermes' trekking rule is protected against the possibility:
Every turn when the destination of Hermes is not the location of Hermes:
let the right direction be the best route from the location of Hermes to the destination of Hermes;
if the right direction is a direction, try Hermes going the right direction.