Repetition of Text in Interactive Fiction<br>
by Jason Dyer
<P>
The next day... Poot approached Cat. "hello," Cat said to Poot. "hello," Poot 
said to Cat. "hi," Cat said to Poot. "howdy," Poot said to Cat. "hello," Cat 
said to Poot. "hi," Poot said to Cat. "hi," Cat said to Poot. "hey there," 
Poot said to Cat. "hi there," Cat said to Poot. "howdy," Poot said to Cat. 
"hi," Cat said to Poot. "hello," Poot said to Cat.<br>
    - Laura Mixon, "Shattertown Sky"
<P>
    Repetition of text is a problem unique to interactive fiction.  In a 
conventional novel, the author chooses the flow of text, but in interactive 
fiction the same text is often seen many times due to a save/restore cycle, 
dialogue reptition, default parsing, repeated viewings of room descriptions, 
or simulationist generation of text.  Here I briefly cover all five, but 
first a common solution must be addressed:
<P>
The addition of aleatory elements<p>
    
    Wheeeeeeeeee!!!!!<br>
    Are you enjoying yourself?<br>
    Very good. Now you can go to the second grade.<br>
    Do you expect me to applaud?<br>
        - Marc Blank and David Lebling, "Zork I" (1980)
<P>
    "Aleatory text" simply means setting some random factor so that a piece 
of text may be printed differently at different times. The quotes above 
demonstrate one of the first uses of this: are all responses to the verb 
JUMP.  It shows up more commonly in parts of works that are considered 
frivolous rather than vital: the JUMP example above, or the seven responses 
to XYZZY in Jacob Weinstein's "Toonesia" (1995).
    "Aleatory structure" refers to adding randomness to other aspects of the 
game: for example, the appearance of the dwarf in Crowther and Woods's 
"Adventure" (1977), the thief in "Zork I", or the spinning room in "Zork II" 
(leaving it led to a random direction until the spinning effect was shut 
down).  Since a different situation is presented, quite naturally the text 
has changed, but also the actions necessary to deal with the work itself.
<P>
The Save/Restore Cycle
<P>
A CHANGE IN THE WEATHER is a cruel game, by the Zarfian Interactive Fiction 
Rating System. Any choice you make may be a wrong choice, and you may not 
discover it was wrong until later; and not choosing is always a choice. 
Timing may be critical. Save often and keep your old saved games.<br>
        - Andrew Plotkin, ABOUT text from "A Change in the Weather" (1995)
<P>
    Timing-critical games such as mysteries and the work quoted above give 
the reader the same text many times not through the regular story flow, but 
in continuous saving and restoring.  When a section has been run through many 
times the actual text becomes mentally omitted and the story becomes reduced 
to structure: how do I get past this obstacle, or exactly what time do I hide 
to see this suspect?
<p>
    This is a case where adding aleatory text can do more harm than good.  
When a player has entered "structural playing mode" a change of text with 
identical actions would be disconcerning - did I do something different this 
time? - when there was no real change at all.
<p>
    Aleatory structure here is a much more ambiguous matter, dependent on the 
situation.  If a save/restore cycle is forced because, say, one is having 
difficulty fighting the thief in "Zork I" and needs to try a couple times, 
but meets the thief in different locations, the underlying logic behind the 
player's actions still remains.  However, something that represents a 
fundamental change in timing - say, moving an important object such that the 
player has five turns to complete a puzzle rather than the six on last play - 
would be unfair.
<P>
Dialogue Repetition
<P>
    >ask bill about thom<br>
Bill says, "I, uh, I'm really not sure how much longer I can take his 
attitude. He's been really, ah, annoying lately."
<P>
    >ask bill about thom<br>
    Bill says, "I don't, um, really know anything else about it."
<P>
    >ask bill about thom<br>
    Bill says, "I don't, um, really know anything else about it."<br>
        - Stephen Granade, "Undertow" (1995)
<P>
    One of the classic worries of authors of interactive fiction is the 
exposure of their NPCs as automons rather than mimetic beings by simply 
repeating the same question over and over.  The above quote demonstrates one 
of the solutions, adding a flag to account for a repeated question and giving 
a different response.  But a repetition of the repetition still gives an 
automated feel - most appropriately the person being questioned would start 
getting annoyed and stop responding, or slap the PC, or wonder out loud if 
the PC has been having too much caffeine.
<p>
    Adam Cadre's "Varicella" (1999) sometimes has a different approach when 
the flag is set: replying "You sense little profit in repeating that 
question." But it also has natural responses like:
<P>
"What can you tell me about the circumstances of your husband's demise?" you
ask.
<P>
"No, no, I don't want to think about it anymore, please," the Queen says.
<P>
or attempts to rephrase the question:
<P>
    "Is there anything else you care to say about the King?" you ask.
<P>
    How deep a concern should this be in reality? Most players realize the 
writer has limits and will only commit such actions intentionally when bored 
or stuck with the regular storyline.  Integrating important information into 
further responses would come across as clever to the reader who notices, but 
also suffer the same problem as puzzles which require examining an object 
multiple times - the medium is expected to respond with an identical answer 
so the player doesn't know it is accounted for.
<p>
    Also, restricting the question to one display can cause problems in a 
long work if the player is not taking notes.  They may remember their NPC 
companion had some vital bit of knowledge but become frustrated when they 
can't bring it up again because of a "little profit" or "I don't know 
anything more" response.  In this case a "decay" flag might solve both 
problems - that is, you can't ask the same question many times in a short 
period, but if you ask again later the player gets the information (and 
possibly berated by adding a "you forgot already?" comment).
<p>
    Aleatory additions to dialogue can end up causing more repetition rather 
than less.  Consider the books in Nate Cull's Nevermore (not characters, but 
they demonstrate the same problem).  When a book is read a random segement is 
given, and to get all the parts of information repeated readings are 
required.  But due to the nature of random numbers (in the roll of a die a 
`1' may not come up in thirty tries by sheer luck) far more readings than 
necessary are needed just to get all the information, which must then be 
recompiled together.  So in the end the same text will be in practice seen 
many times through the attempt to add variety.  In the same way multiple 
responses to an NPC query (especially if important information is conveyed) 
will force the player to type ASK CHARACTER ABOUT THING far more times than 
necessary.
<P>
Default message parsing
<P>
    Violence isn't the answer to this one.<br>
    - Graham Nelson, Response to ATTACK in the Inform parser library
<P>
    It is literally impossible for a writer to anticipate every reponse a 
player might put in, so at some the player will invariably receive many 
default messages in the course of a story, many of them the same.  This is 
clearly not a problem with messages that are clearly non-diagetic like 
"That's not a verb I recognize."  Problems surface when the messages become 
far less neutral, like the (in)famous Inform example quoted above.  What if 
the player isn't solving a puzzle? What if the player is solving a puzzle and 
a violent approach would be a perfectly logical solution but the author never 
anticipated it?
<p>
    The most easily apparent workaround would be to make every parser message 
neutral, such as "That's impossible."  However, a great deal of the character 
of a work can be defined by the default messages, such as the Zork series 
response when eating a rock: "I don't think that the rock would agree with 
you."  
<p>
    The problems surface when the messages are situational, that is, the 
message works well in some situations but not in others.  (And unfortunately 
defined by both the player mindset and the actions in game, so customization 
can't simply this that into account.  For example, a player may try hitting a 
door because they are frustrated in general, or they may try hitting the door 
to genuinely try to solve a puzzle.)  So, customizations should take into 
account the overall tone of the work - or the section of the work currently 
being read - but not attempt to guess the player's motivations.
<p>
    Aleatory additions to default messages are for the most part acceptable 
since if the player attempts to see them all it is out of a sense of play 
rather than importance to the story.  The only danger here is if neutral 
messages are mixed with flippant messages.  Players who see a "you can't do 
that" message in attempting BURN on one obejct and a long joke about 
flammability attempting the same on another may assume the long joke 
indicated they were on the right track and act accordingly.
<P>
Room descriptions
<P>
    A winding passage disappears to the south.<br>
    A gently sloping trail winds south.<br>
    A doorway to the south winds into a chamber.<br>
    - Spectral Associates, "Madness and the Minotaur" (1981)
<P>
    The lines just given are all responses to successive LOOK commands in the 
same room.  That is, the writers almost completely randomized the display of 
exits in room descriptions.  The result is a confusing, surreal mess where 
the player ends up ignoring the exit descriptions entirely and losing a sense 
of environment.
<p>
    Most authors are not nearly as worried about repetition of room 
description text.  Pieces may change depending on the change of environment, 
but an element of a room will not be described in three different ways.  This 
is partly due to the use of the BRIEF command which allows the player annoyed 
by such things to revert to room titles after seeing a full room description, 
and partly due to the same structural reduction that happens in a 
SAVE/RESTORE cycle - the player will only re-read text when necessary as a 
reminder.
<p>
    Repetition becomes a problem in the same manner as parser messages: when 
given inappropriate to a situation.  Graham Nelson quotes Johnathan Mestel's 
"Xenophobia" (1989):
<P>
On the wall by the bed is a slightly curved, full-length mirror. You reflect 
upon this for a while.
<P>
and mentions the text works on repeated viewings, while "Astonished to see a 
mirror, you leap back" would not. (Nelson 396)  Both are cases of describing 
action in the description: reacting for the player, rather than letting the 
player react.  The revised version is obviously incorrect, since one would 
not be surprised the fifth time, but why is the first correct? Nelson writes 
that the subtle humor works here, but to this author's taste even a good joke 
repeated five times works too much - best would be the technique of using an 
extended description for the first (and possibly second) viewing and then cut 
back to a simpler form.<br>
    An example of this technique is used in room descriptions which gives 
background detail, as in Emily Short's "Savoir-Faire" (2002):
<P>
    The top of a broad curving stair: east is the long salon that goes the 
length of
    the house, downstairs are the foyer and the grand receiving rooms. (You 
and
    Marie used to sit up here when the Count had guests, watching them arrive
    downstairs in their magnificent clothing, until you got old enough to be
    introduced yourselves.)
<P>
Quite clearly the parenthetical statement need not be repeated, so in later 
iterations of the same text it becomes merely:
<P>
    The top of a broad curving stair: east is the long salon that goes the 
length of
    the house, downstairs are the foyer and the grand receiving rooms.
<P>
The danger in cutting text from description is that important clues that were 
missed the first time through may be removed. Consider this from Stephen 
Granade's "Losing Your Grip" (1998):
<P>
The building looms to the west, shadowing the path which leads north and 
south.
    Something on the building catches your eye.
<P>
The last line (which mentions something vital to the main story) is removed 
on successive visits to the room so if the player missed it the first time 
they would have a difficult time making progress.  While background material 
and jokes can be forgotten it should always be possible for the player to see 
important objects.
<P>
Simulationist text
<P>
The new element, called a "bitsy," promises to revolutionize the software 
industry by making it possible to put vast amounts of information onto floppy 
disks.  In the present case, Cognetics has put 3,545 intersections, 94 subway 
stations, and 200 landmarks onto two disks.
<P>
    - Mock-up newspaper inside box cover for Thomas Disch's "Amnesia" (1986)
<P>
    Simulationist repitition often occurs in works where the author wants to 
simulate a realistic number of locations without writing the text for each.  
As the blurb above demonstrates, "Amnesia" attempts to simulate the entire 
city of Manhattan.  As one might expect there isn't a great deal of variety 
from intersection to intersection.  
<p>
    This is handled - at the uninteresting intersections, at least - by 
dispensing with a room description altogether.  All that changes is the 
intersection name on the status line.  This doesn't dispense with repetition 
entirely, considering for example the 94 subway stations.  Also, absence of 
text is a repetition of sorts, with the city's lack of description making 
every location feel the same.  These consdierations can be boiled down to an 
interface problem; if the city was presented as an above view grid, like in 
some computer RPGs, the empty intersections would become connective tissue 
between important locations rather than empty waste.