[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: interactive story issues



This a response to Andrew's earlier post (not his most recent one). I'm sorry 
it was so delayed. I didn't mean to ignore Andrew's ideas and questions. I 
wrote lengthy comments last week which were lost when my screen froze, then 
other distractions arose. Here's a second try.

Andrew wrote:

>If you're interested, another way to frame the discussion is to propose a
>concrete example of an interactive story to build, so we can start from a
>common place.  We could talk about issues of conflict, goals, metaphor, etc.
>within the context of this concrete idea.  For example, just to pick
>something, let's say we wanted to make an interactive story set at a beach
>town in summer, and you play a character who is a single young person
>vacationing there.  (I'm thinking of the setting of Eric Rohmer's A Summer
>Tale.)  There could be a whole cast of computer-controlled characters whom
>you could meet, form relationships with, allowing for a multitude of
>different stories.

Well, this should be worth a try. I think, though, that we might run into the 
same problem in another form. Since everyone has their own definitions and 
ideas, then as soon as you start making decisions for a specific work, will 
people lose interest because they would have decided differently?

>Based on this example, in terms of design (without worrying about those
>annoying implementation details :-), we could start with the question:
> What kinds of stories would we theoretically want to happen?  Do we want 
this
>to be very open ended, where the conflict arises out of my actions -- I could
>become friends with one person, have a romantic relationship with another,
>causing feelings of jealousy or anger in another, etc?
>Or do we want there to already be some sort of conflict from the start,
>a goal you are given -- for example, there is a popular person who everyone
>(including yourself) "wants" to go out with, and you are supposed to compete
>everyone else for them?  Or turn the tables, perhaps the situation is that
>everyone wants to go out with *you*, and your conflict is somehow managing
>all these peoples affections, without turning the situation into a big
>fight?

>Other questions could be, do we want the story to be dramatic, where there
>is an inciting incident, crisis, climax, with a final ending?  Or do we
>want it to be more meandering, episodic, never-ending?  Should this be
>replayable?

This seems like a lot of decisions. But they aren't completely free 
decisions, and they're not independent of each other. Some styles are easier 
to implement than others, and some combinations of elements are not 
compatible. Therefore, in practice, decisions on some elements tend to also 
decide others. For example, I can be fairly certain that if you choose to 
have a dramatic inciting incident and a crisis-driven conflict, then unless 
you invent something extremely clever you will also end up with a limited 
number of pre-planned endings.

I'm referring again to the idea of current "standard models" for interactive 
storytelling. These are islands of feasibility where the parts fit together 
and function reasonably well using current techniques. Even if your intention 
is to break free of those models, it's important to understand them first. 
The standard models warn you of what aspects of your project are likely to 
require innovative work. If you want to create an interactive story with a 
crisis, goal-oriented story line, and dramatic pre-planned endings, no 
problem. There are lots of games built on this model, using linked plot 
milestone events gated by world state. If you want to create an interactive 
story with open ended events driven by character interactions with a 
meandering never-ending plot, you can do it. You can do it with a 
character-behavior simulation like the Oz/Zoesis software or Erasmatron. 
(It's much harder than a pre-planned story, but at least the principles are 
clear.) If you want open ended character interactions with only emergent 
conflict _and_ a big dramatic ending, you're going to have to innovate more. 
That combination isn't in the standard models. That doesn't mean you cannot 
or should not do it, but it's going to be far more challenging. It's 
something that hasn't been done well yet by anyone. Trying to do it could 
lead to a breakthrough, or it could wreck your project, your career, and your 
company.

Some object to following or even discussing standard models because it could 
stifle innovation. Especially "revolutionary" innovation that might find a 
way to break all the rules at once. I believe the opposite is true. The 
standard models are attractors. They don't come about solely because 
designers deliberately imitate each other. Projects tend to drift into those 
configurations unless deliberately aimed away from them. You have to be aware 
of them to escape them.

>Is the interaction continuous, or am I given only occasional decisions to
>make?  In either case, what is the range of expression I am given?  Can I
>say or do anything I want within a given language or set of
>gestures/actions, or am I given only a few predetermined menu choices at
>any one point?  Or is this story purely action-based, with no dialog?  (ie,
>I interact by picking fights or following people with flowers in my hand
>and trying to kiss them?)

I've discussed this question on other lists, but perhaps not this one. My 
preference is for action-based interfaces, as long as there's a graphical 
virtual world for the actions to take place in (or primarily verb menu based, 
if there is not). This doesn't preclude all dialog. Even if there's no 
mechanism for the player to control the character's speech, the character can 
speak autonomously, reacting to the events and situations that arise through 
the action-based player control. I think of this as analogous to the dialog 
cards in silent film, which usually fill in the details of the spoken words 
just after the action has taken place. But it's not an established technique. 
I'd like to see more work done with autonomous speech by a character whose 
actions are user controlled. Could be fairly good payoff for relatively 
straightforward development work, a rarity in this field.

Of course, other interfaces for dialog have their uses too. Sentence menus, 
template sentences with menus (e.g. for filling in nouns), iconic languages, 
and text parsers all have their own followings and their own deep 
inadequacies. I'd use sentence menus for tightly constrained interactions 
with utilitarian characters, like speaking to a shopkeeper in a fantasy role 
playing game. I'd choose template sentences in situations like a murder 
mystery where the player-character must often ask many similar questions or 
make many similar statements that tend to fall into patterns: "Did you see 
<characterName> in <settingLocation> on <significantPastEventTIme>?" I'd 
probably only use an iconic language in a scenario where language is an overt 
plot issue, such as contact with aliens or a lost civilization. And given a 
choice, I'd only use text parsers for dialog purposes when the character is a 
robot, a parrot, a psychologist, or some other talking creature not expected 
to be capable of real conversation.

For dialog in the Summer Tale scenario, if the plot is open-ended I'd choose 
template sentences with pull-down menus to fill in the key nouns. This gives 
you more mechanisms for open-ended social interaction than an action-based or 
verb-menu interface with autonomous character speech, and more choices than 
regular sentence menus, while facilitating automation of the other 
characters' responses and avoiding the incessant "I don't understand you" 
responses you get with text parsers. "Do you want to come with me to 
<settingLocation>?" "I think <character name>'s <phsyical feature> is/are 
really hot." But if the plot were more "dramatic" and event sequence driven 
I'd use autonomous speech. "Hey, you, stop flirting with my boyfriend." "Oh 
look, Tiffany's been eaten by a shark! Like, how gross is that!"

>There seems to be so many ways to go about it, even within one specific
>story context.  Depending on which kind of story you choose, you may want to
>implement these characters as strongly autonomous, independent goal-directed
>agents, versus more centrally controlled by a single story-manager (an issue
>we're dealing with on our Facade project)...

The crux of the issue isn't central versus local control. In the end, either 
way, there's some set of mechanisms, and whether those are built as 
individual character behaviors or a big central character control handler is 
a code architecture issue, not a design issue. (However, you do need a system 
where authors can at least think of character behavior design in local terms 
even if it's not implemented that way.)

The real question is how much of the character's behavior is decided by rules 
that simulate the character's own goals, desires, reactions, tendencies, 
etc., and how much (if any) is decided by rules that apply global story 
construction principles. Once again, the current techniques are all or 
nothing. I've never seen a global "story manager" do anything useful in a 
virtual world of autonomous characters acting according to simulated behavior 
rules. I've never seen autonomous character behavior rules do anything useful 
in a virtual world where a planned story existed, other than to control 
low-level behaviors with no effect on the plot, like monsters attacking or 
shopkeepers performing their duties. The idea of taking a world of autonomous 
characters and superimposing a "story manager" to try to nudge events in the 
direction of more dramatic stories is a tempting one. It sounds like a fine 
idea, to me, if it could be done. But I've heard about it (in academia) for 
over ten years, and haven't seen it done yet. The opposite possibility is 
perhaps less tempting: take a strongly sequenced story and make the 
characters more autonomous. Without the ability to intelligently alter the 
story into something else, it's not clear what the characters' autonomy would 
add except a distraction. If the story has pre-planned alternate branches, 
open-ended character interactions can be made a factor in determining which 
branch kicks in. But you have to be careful. If you have a planned plot that 
depends on the player-character getting a key piece of information from a 
specific character, and due to open-ended character interaction mechanisms 
that character might get killed or develop an irredeemable unwillingness to 
help the player-character, you have a serious design flaw.

Yet again, which I'd choose for Summer Tale depends on whether the general 
approach is open-ended (use autonomous characters) or plot-driven (use a 
story manager). 

What seemed like a long list of independent questions, ultimately, comes down 
to one question: is the plot open-ended or planned? Like others, I wish this 
were not so, and I'm working to make it not so, but many projects have 
learned at great cost that at present it _is_ so. 

The state of the art right now is to combine a pre-planned sequence of major 
plot milestones with open-ended interactions for minor events between 
milestones. This does not escape the all-or-nothing choices; it circumvents 
them by juxtaposing two different stories, one open ended and one planned. 
(This is nothing new. Myst combines two stories, one in the present tense 
with open ended interactive freedom but only the most rudimentary plot -- 
explorer solves puzzles, collects a bunch of pages -- and one in the past 
with a strong plot -- the tragedy of a visionary and his two evil sons -- but 
no interactive variability.) The compromise is that part of the story has 
interactive choice and a different part has strong plot. No part has both, 
and the two parts must be kept ridigly separate. The open-ended interaction 
between milestones must be tightly constrained so that the world state cannot 
stray outside the bounds defined by the current position in the milestone 
structure. This can lead to absurdities like a character who's your friend in 
every way, but refuses to give you the weapon you need to save the world 
until you find his missing hairbrush. That's why most computer games keep the 
key elements (characters, props, and settings) of the milestone events 
separate from the elements the player interacts with routinely. The king 
simply won't talk to you until you bring him his bowl, his pipe, and his 
fiddlers three.

Between milestones, the player is "working toward" the next milestone by 
systematically altering the world state (making some sort of "progress") to 
the point where the next milestone can be unlocked. But this progress doesn't 
have to be linear; it can be made in many different ways, with open-ended 
possibilities for setbacks and alternate choices. The milestones themselves 
cannot be altered by player choices; at best, there might be a few branches 
with alternative milestones, or limited flexibility in the order in which 
milestones may occur. At present this is used in highly goal-oriented 
scenarios. It might be useful to think about adding a series of separate 
"story managers," one for each milestone, responsible for nudging events in 
the direction of achieving the state for that milestone even if the 
player-character does not do so on her own. This might allow a plot milestone 
structure, in an open ended interactive world, that's a little less 
goal-intensive. A worthwhile evolutionary step.

Though I don't take sides in the evolution versus revolution debate overall, 
I do recommend that anyone trying to create a commercial product with limited 
time and budget should stick to the evolutionary approach.

- Walt