Doing away with SAVE and RESTORE


Tue, 9 May 1995 13:42:19 GMT

Hi all,

Personally, I don't like to use the SAVE and RESTORE commands that are
standard in IF. The biggest problem, I find, is that one SAVEs a
_snapshot_ of the game. Upon RESTORE, there is no way of knowing the
history of this particular snapshot. When the plot is nonlinear, I
often have a number of saved games in which I have done different
things in different orders. And when I try again three weeks later, I
have no idea which saved game to use.

Of course, the problem could be my way of playing/reading IF, or in my
way of naming saved games. [BTW, how do _you_ deal with saved games?]
But apart from that, isn't it possible to do without SAVE and RESTORE?

For the sake of argument, let's take the view that an IF story is a
tree of (short) text fragments, where the branches represent player
commands. To 'read' such a story, first read the root node, then
select a subtree corresponding to some command (e.g. 'GO WEST'), and
'read' the subtree (which is a story). Reading ends when we arrive at
a leaf, i.e. a node that has no subtrees. (Note: This tree doesn't
have to exist explicitly, of course. It is more likely that it is
computed as the reader advances.)

Reading of an IF story is often done using a computer program, an IF
reader. All IF readers I know of (including the TADS and Infocom
interpreters) store the history of a 'reading session' in essentially
the same way. They keep a sequence of all stories that have been
seen, from the initial story to the current story (or maybe the last N
stories seen). When one performs a SAVE, all that is saved is this
sequence. The UNDO command (when provided) removes the last story
from the sequence, returning us to the previous story.

To explore a number of different stories using current IF readers, it
is necessary to make judicious use of the SAVE/RESTORE and UNDO
commands. To 'replay' a story, or parts of it, requires the juggling
of saved games and/or tediously re-doing things you did before. Thus,
I claim, replayability is seriously hampered by current IF readers.

But there's an alternative: Use an IF reader that keeps the _entire_
tree of stories seen. With such a reader, you could easily switch
between alternate continuations and try out different strategies.
When the user stops reading, the tree of all stories seen is
saved, and this is restored when the user starts reading again.

To make a long story short: We have good nonlinear IF, now we need
good nonlinear IF readers to be able to explore the 'story space'.

Any comments?

A Dieu,

<><
Marnix

-- 
Marnix Klooster
klooster@dutiba.twi.tudelft.nl