[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
A system for interactive storytelling
- To: idrama@flutterby.com
- Subject: A system for interactive storytelling
- From: "B. Waite" <b.waite@mac.com>
- Date: Mon, 6 Jun 2005 22:46:56 +0100
- Reply-to: idrama@flutterby.com
- Sender: owner-idrama@mail.flutterby.com
I'm very glad that this mailing list has picked up again. In
particular, I was very interested in Walt's post concerning "My Life
With Master", which might be relevant to the system that I've been
designing. I'd like to share my ideas and hopefully elicit some
comments, if that's okay.
This system makes the subtext of a story interactive, rather than the
plot. The stories themselves are intended to be linear; basically
immutable and without branches. The player only interacts with the
system by changing the attitudes and feelings of the characters in the
story.
An author begins by writing a linear story. A markup language is used
to delimit the story into lexias, and to denote which lexias represent
player interaction (1). The author then defines variables that
represent each character's mental state (2). Finally, the author adds
"decoration" entries to the markup that conditionally modify lexias
based on variable states, and also alter variables when encountered.
The example below shows the result of a basic lexia that is decorated
based on a speaker's mood attribute:
The basic lexia: "You're home late."
If Mood = 2: "My, you're home late! Why don't you sit down and I'll
heat up some leftovers."
If Mood = 1: "You're home late. I hope you don't mind that we ate
without you."
If Mood = 0: "Hmph, you're home late. You can fight the dog for
what's left of your dinner."
When the player reaches an interaction point, the system does not
automatically decorate the lexia. Instead, it gives the player a
chance to select a decoration manually (3).
The interactive response lexia: "I'll make a sandwich."
"Sorry about that, I was busy. Don't worry, I'll make a sandwich."
"I'll just make a sandwich."
"Sue me, I was busy. Nevermind, I'll make a sandwich."
When the player selects a decoration, the variable alterations attached
to it are applied. These changes affect the mental state of the other
characters, which in turn changes how their dialog is decorated.
A final component in this system is the Interrupt. When a variable
crosses an author defined threshold, the system can introduce a new
scene in response. This scene isn't a branch, but rather a brief
tangent that will eventually lead back to the main story. For example,
when a romance reaches a critical point, the author may choose to
introduce a scene where the characters declare their love for one
another.
I've enjoyed designing this system (which, as far as I'm concerned, is
the whole point), but at the end of the day, creating a tool isn't the
same as using it. This is where Walt's post on "My Life With Master"
fits in. MLWM uses a similar interrupt mechanism to introduce
dramatically appropriate scenes (4). It appears to work very well,
which gives me a lot of hope that my system may actually work in
practice.
I envision the system as a set of objects, or an API that would be
integrated into traditional games. I won't develop it personally, but
I may hire someone to code it...
...but only if I can prove that interesting stories can be written with
it (which is proving to be difficult, I'm afraid).
Anyway, I appreciate any comments or suggestions that you may have.
Cheers,
B.
Notes:
(1) A lexia is a snippet of text (a term borrowed from
http://ist-socrates.berkeley.edu/~arcadia/tesseract/lexicon.html).
(2) This may be a bit vague--sorry. The variables are used to store
values like any programing language. Typically, these variables will
represent the emotional state of a character.
(3) The decoration options presented to the player can be constrained
based on the current state of the variables. For instance, a player
may need to build a relationship via "flirty" decorations before any
"intimate" decorations will become available.
(4) In particular, I was impressed by how the character attributes did
not directly relate to the scene that was introduced (the self-loathing
variable caused "The Horror Revealed", not the character loathing
themself). I hadn't considered doing that before.