Chapter 7: Other Characters
§7.1. Getting Acquainted; §7.2. Liveliness; §7.3. Reactive Characters; §7.4. Barter and Exchange; §7.5. Combat and Death; §7.6. Getting Started with Conversation; §7.7. Saying Simple Things; §7.8. Saying Complicated Things; §7.9. The Flow of Conversation; §7.10. Character Emotion; §7.11. Character Knowledge and Reasoning; §7.12. Characters Following a Script; §7.13. Traveling Characters; §7.14. Obedient Characters; §7.15. Goal-Seeking Characters; §7.16. Social Groups
§7.1. Getting Acquainted
Talking about characters presents some special challenges. For one thing, some characters are referred to by a proper name, but others are not: so the game might want to talk about "Jack" but also about "the drunk pedestrian". In the absence of other information, Inform attempts to divine our intentions based on the words with which we defined a new character: but we can always override its guess with an explicit statement, such as
The Great Malefactor is proper-named.
Belfry demonstrates further how titles are set at the start of play.
The relation between the player and the other characters is not always static, however. Sometimes we want the player to learn a character's name part-way through play, and start referring to "the drunk pedestrian" as "Fernando". Similarly, the status of another character may change due to some twist of the plot. Gopher-wood shows how to change the name of a character mid-game, and Peers handles changing the character's rank.
Alternatively, of course, the player character may already know some of the other characters when the game begins, even if the player does not. In that case, we may want to add a tag-line or so of identification to a character's name when he first appears in the game. A Humble Wayside Flower shows one way of doing this.
Another occasional challenge is dealing with such commands as EXAMINE DR. THISBY. The problem here is that Inform by default will understand the full stop after "Dr" to be the end of one command and the beginning of another, and will try to interpret "Thisby" as a verb. If we do have a game populated by such formally-addressed characters, we may turn to Punctuation Removal, which provides a phrase to remove the full stops in standard titles before attempting to interpret the command.
Other characters have physical characteristics as well as names, of course, and Meet Market demonstrates one way of implementing people with notable features.
Finally, in some IF, the roles of characters may change from playing to playing. If we are writing a replayable murder mystery, we might want to select a new culprit each time the game starts; for this, see Clueless.
See The Human Body for more on body parts and physical description
See Memory and Knowledge for a way to refer to characters whom the player knows about but who aren't currently in the room
| ExampleBelfry You can see a bat, a bell, some woodworm, William Snelson, the sexton's wife, a bellringer and your local vicar here.
|
|
| ExampleClueless A murderer for the mystery is selected randomly at the beginning of the game.
|
|
| ExampleMeet Market A case in which relations give characters multiple values of the same kind.
|
|
|  ExampleGopher-wood Changing the name of a character in the middle of play, removing the article.
|
|
|  ExamplePeers The peers of the English realm come in six flavours - Baron, Viscount, Earl, Marquess, Duke and Prince - and must always be addressed properly. While a peerage is for life, it may at the royal pleasure be promoted.
|
|
First we define the relationships we choose to acknowledge:
"A Humble Wayside Flower"
Marriage relates one person to another (called the spouse). The verb to be married to means the marriage relation.
Fatherhood relates one person (called father) to various people. The verb to engender means the fatherhood relation.
For brevity, we will ignore the existence of mothers. It is a sad world.
Siblinghood relates a person (called A) to a person (called B) when a person who engenders A engenders B. The verb to be sibling to means the siblinghood relation.
Family relates a person (called A) to a person (called B) when A is married to B or A engenders B or B engenders A or A is sibling to B. The verb to be related to means the family relation.
A person can be known or unknown. After printing the name of an unknown person (called the alien):
if a known person (called the contact) is related to the alien:
say " ([relation between alien and contact] of [the contact])";
now the alien is known;
rule succeeds.
To say relation between (first party - a person) and (second party - a person):
if the first party is married to the second party:
if the first party is female, say "wife";
otherwise say "husband";
rule succeeds;
if the first party is sibling to the second party:
if the first party is female, say "sister";
otherwise say "brother";
rule succeeds;
if the first party engenders the second party:
say "father";
rule succeeds;
if the second party is the father of the first party:
if the first party is female, say "daughter";
otherwise say "son";
rule succeeds.
Pere Blanchard's Hut is a room. Percival Blakeney is a known man in the Hut. Marguerite is a woman in the Hut. Percival is married to Marguerite. Outside from the Hut is the Garden. Louise is a woman in the Garden. The Road to Paris is west of the Garden. Armand St Just is a man in the Road. Louise is married to Armand. Monsieur St Just is a man. He engenders Armand and Marguerite.
Test me with "out / west / east / west".
Monsieur St Just never appears on the scene in this piece, but if we did put him somewhere the player could find him, he, too, would be properly introduced.
|   ExampleA Humble Wayside Flower Relations track the relationships between one character and another. Whenever the player meets a relative of someone he already knows, he receives a brief introduction.
|
First we define the relationships we choose to acknowledge:
"A Humble Wayside Flower"
Marriage relates one person to another (called the spouse). The verb to be married to means the marriage relation.
Fatherhood relates one person (called father) to various people. The verb to engender means the fatherhood relation.
For brevity, we will ignore the existence of mothers. It is a sad world.
Siblinghood relates a person (called A) to a person (called B) when a person who engenders A engenders B. The verb to be sibling to means the siblinghood relation.
Family relates a person (called A) to a person (called B) when A is married to B or A engenders B or B engenders A or A is sibling to B. The verb to be related to means the family relation.
A person can be known or unknown. After printing the name of an unknown person (called the alien):
if a known person (called the contact) is related to the alien:
say " ([relation between alien and contact] of [the contact])";
now the alien is known;
rule succeeds.
To say relation between (first party - a person) and (second party - a person):
if the first party is married to the second party:
if the first party is female, say "wife";
otherwise say "husband";
rule succeeds;
if the first party is sibling to the second party:
if the first party is female, say "sister";
otherwise say "brother";
rule succeeds;
if the first party engenders the second party:
say "father";
rule succeeds;
if the second party is the father of the first party:
if the first party is female, say "daughter";
otherwise say "son";
rule succeeds.
Pere Blanchard's Hut is a room. Percival Blakeney is a known man in the Hut. Marguerite is a woman in the Hut. Percival is married to Marguerite. Outside from the Hut is the Garden. Louise is a woman in the Garden. The Road to Paris is west of the Garden. Armand St Just is a man in the Road. Louise is married to Armand. Monsieur St Just is a man. He engenders Armand and Marguerite.
Test me with "out / west / east / west".
Monsieur St Just never appears on the scene in this piece, but if we did put him somewhere the player could find him, he, too, would be properly introduced.
|