ABSTRACT
SARETTO, CESARE JOHN. Mediating User Interaction In Narrative-Structured Virtual Environments. (Under the direction of R. Michael Young)
Films and novels effectively convey intriguing stories, powerful emotions, and
meaningful messages to their audiences. Telling interactive stories in a virtual
environment seems a natural progression of the narrative. Users find virtual
environments more engaging when they perceive that they have agency within those
environments. The greater the sense of freedom they have over choosing and executing
their own actions, the greater their sense of agency will be. However, in order to
maintain the coherence of their stories, current attempts at interactive narrative
environments often limit a users sense of agency by restricting his ability to affect critical
elements of the story. The process of mediation is designed to give users as great a sense
of agency in an unfolding narrative as possible while still maintaining the narrative’s
coherence and goals. This is accomplished by making the system, user, and author
collaborators in the production of the storyline. This collaboration takes the form of a
mediation system constantly rewriting the narrative within the confines of the author’s
goals as the user interacts with characters and objects in the virtual environment.
Mediation assumes that an effective narrative storyline can be modeled by a fully
ordered series of actions (know as a plan) performed by one or more virtual characters in
could perform that would prevent the storyline from reaching its end. For each such
action it utilizes a narrative planner to determine if the storyline can be rewritten around
the action or if the action must be prevented. One way of realistically preventing an
action is modeled by failure modes. Failure modes are alternative actions that can be
substituted by the system when necessary for user-attempted actions.
The decisions of the speculative planner are stored in the decision cache data
structure that is used by the execution monitor. The execution monitor observes users in
the virtual environment and the actions they perform. If any user attempts an action in
the decision cache, the execution monitor alerts the speculative planner and takes
preventive action if necessary.
Mediation is a prime candidate for use in narrative environments that require a
great deal of user interaction and freedom. Most notable are entertainment and
educational systems. More generally, mediation concepts can be applied to many varying
collaborative application environments, such as on-screen agents that advise or assist
users in the achievement of goals. Mediation frees users from the limitations of a
system’s author’s ability to predict all combinations of actions a user may wish to
perform in a virtual environment.
In this work we describe a prototype of the execution monitor component of
mediation that has been implemented in Mimesis, a virtual environment architecture
MEDIATING USER INTERACTION IN
NARRATIVE-STRUCTURED VIRTUAL ENVIRONMENTS
by
CESARE JOHN SARETTO
A thesis submitted to the Graduate Faculty of
North Carolina State University
in partial fulfillment of the
requirements for the Degree of
Master of Science
COMPUTER SCIENCE
Raleigh
2001
APPROVED BY:
DEDICATION
This work is dedicated to Pete and Nikki Saretto. Without their love and support,
BIOGRAPHY
CJ Saretto was born in New Bern, NC on May 25th, 1979 to parents Pete and
Nikki Saretto. He was fortunate to grow up in a loving and supportive environment. He
lived in New Bern for the first 18 years of his life. He attended New Bern High School
and graduated as a member of the Class of 1997. CJ spent his final summer before
attending college living with friends at his beach house on Emerald Isle, NC.
CJ attended North Carolina State University as a freshman in the fall of 1997. He
studied computer science in the College of Engineering during his 7 semesters as an
undergraduate student. He participated in the University Scholars Program, was a
member of Upsilon Pi Epsilon, and served as president of the NCSU joint chapter of
ACM and AITP. CJ joined the Liquid Narrative research group under the direction of
Dr. Michael Young in his Junior year. His work under Dr. Young lead to an
undergraduate honors thesis and graduate study.
CJ graduated Summa Cum Laude with a BS in Computer Science in December of
2000. He immediately began working to complete his MS degree as part of the
Computer Science Combined BS / MS Program. He completed the requirements for that
degree in August 2001.
CJ is preparing to begin a new chapter in his life. He will move cross-country to
Seattle, WA to begin a career at Microsoft Corporation as a Program Manager on a new
project. His future team members have proven to be an exciting group of amazing
is excited to be undertaking a new life outside of academia, he will greatly miss his
friends, colleagues, and mentors at NC State. He wishes them the best in their studies,
ACKNOWLEDGEMENTS
“The microchip may have split time open like an atom, but nevertheless we seem to have less of the stuff - real time - than ever.” [5]
Sven Birkerts The Gutenberg Elegies
Birkerts is right of course. In my short four years of secondary education, the
sheer amount of information that I process in a single day has increased ten-fold. Time
seems to keep pushing me faster and faster into ever approaching deadlines. As with this
paper, all things must come to an end. But I’ve met a lot of amazing people along the
way, and I can’t thank them enough for the many ways they have influenced my life.
While some people have supported my research directly, so many countless others
have influenced the path that lead me to this point in my life. I have attempted to
recognize as many of them as possible. Unfortunately, any attempt at a comprehensive
list would be futile. I offer my sincerest apologies to all those I will inevitably overlook.
First I would like to thank Dr. Michael Young for his support of my research
work at NC State. He has been an outstanding advisor, mentor, employer, and thesis
committee chair. I forgive him for being a Mac user, but at the same time I must
congratulate him for managing to put up with my criticism for the past two years. Above
all, he is a deeply valued friend.
I also extend my thanks to Dr. Pete Wurman and Dr. Rob St. Amant for
graciously agreeing to serve as my thesis committee members. While I have had the
trouble for Dr. Wurman when he bravely ventures into the Mimesis lab. The Mimesis
project owes Dr. St. Amant additional thanks for allowing me to further some user
interface research goals in fulfillment of a class project for HCI.
Of course I have to acknowledge all of my partners in crime. Shannon Garlick,
Dan Amerson, Shaun Kime, and R.J. Martin have made the lab a far more enjoyable
place in which to work than it might otherwise have been.
Shannon and Macy Mallory have reviewed these very words, and the thousands
that follow it for grammatical correctness, readability, and coherence. Their service is
greatly appreciated as you can only read your own words so many times before they
begin to induce hallucinogenic episodes.
While it seems so long ago, I started work on the Mimesis project while I was an
undergraduate student. At that time, I had the honor of leading the NCSU student joint
chapter of ACM and AITP. Thanks to SunJun Park, my co-president, and Michael
Donaghy, the most organized and overworked person I know, for keeping me sane and
picking up my slack when I was stretched thin.
During my time in the Computer Science Department at NCSU, I have had the
fortune of becoming close friends with some very special faculty members. Carol Miller
taught me object oriented programming. Thanks to both her and Joyce Hatch who both
did double duty as my undergraduate advisors and ACM/AITP advisors. Thanks to
Margarette Heil and Bob Fornaro for schooling me in the art of team crisis management,
both through advice and example. Dana Lasher taught me the evil that is assembly
appreciate his company far more. His fantastic wit, devotion to reading instructions, and
ability to make grown men cry always ensures an entertaining conversation.
Journeying further back in time, I would like to thank four people whom I
consider to be a part of my family: Betty and Edgard Abadia and Laurel and Jim Russo.
Both Betty and Laurel happen to be English teachers. Betty was my 10th and 12th grade
English teacher, and as such she is responsible for a great deal of the writing style in this
thesis. I grew up with Laurel and Jim as neighbors. While I would like to contribute the
lack of spelling and grammatical errors in this document to Laurel, I have only Microsoft
Word, Michael Young, Macy Mallory, and Shannon Garlick to thank for that. Sorry
Laurel, I told you it was a futile effort.
Coming to a close, I need to thank all of my friends that I have yet to mention.
Zach, Josh, Doug, Kirk … You guys know who you are. Friendship is one of the most
important things in a human’s life. Thanks for being there for me.
Finally, though I have already dedicated this document to them, I would like to
thank my parents. They have always trusted and believed in me. They pushed me to
achieve my goals and dreams. They raised me as well as anyone could hope for.
TABLE OF CONTENTS
Page
LIST OF FIGURES ... x
1. INTRODUCTION... 1
2. RELATED WORK ... 5
2.1 Video Games ... 6
2.2 Hypertext... 7
2.3 Virtual Worlds... 8
3. PROBLEM ... 15
3.1 Definitions... 16
3.2 Assumptions... 20
3.3 Problem in the Technical... 22
4. MEDIATION ... 24
4.1 The Process ... 25
4.2 Clarity Through Example... 29
4.3 Achieving Run-Time Performance ... 33
4.3.1 Speculative Planner ... 34
4.3.2 Decision Cache... 35
4.3.3 Execution Monitor... 35
5. IMPLEMENTATION ... 37
5.1 Unreal Tournament Architecture ... 37
5.2 Mimesis Architecture ... 40
5.2.1 Mimesis Controller... 41
5.2.2 Mimesis Unreal Tournament Server ... 41
5.2.3 Mimesis Unreal Tournament Clients ... 42
5.3 Mediation ... 42
5.3.1 Speculative Planner ... 42
5.3.2 Execution Monitor... 44
5.3.3 Mediator Object... 45
6. CONCLUSIONS... 49
6.1 Opportunities for Future Work... 49
REFERENCES... 51
APPENDICES
LIST OF FIGURES
Page
Figure 1.1 Video Games ... 7
Figure 3.1 Example of Failure Modes ... 19
Figure 4.1 Storylines for Mediation Example ... 32
Figure 5.1 Relevance in UT Network Replication ... 39
Figure 5.2 Mimesis Architecture ... 40
1. INTRODUCTION
Perhaps the most challenging goal of artificial intelligence research is not the
creation of computerized agents that can replace humans, but agents that can effectively
collaborate with humans towards the completion of a task. While a general solution for
this problem is not expected in the near term, this work will attempt to further that goal
by solving a specific case of the human-computer collaboration problem in virtual
environments.
Virtual environments have seen wide use in applications centering on education
and training [19, 26, 30]. While many of these applications are targeted at the accurate
recreation of physical spaces [2, 12, 24, 25], recent work has explored the role of
narrative structure in the interaction of humans and virtual worlds [4, 7, 22]. For
narrative-based applications, virtual worlds offer compelling environments for telling
both realistic and fantastic stories. Virtual cinematography and special effects are freed
from the constraints of real-world physics. Virtual settings are constrained only by time,
budget, and the current performance of computing hardware. Indeed, virtual worlds
provide an excellent stage for the work of future novelists, playwrights, and artisans.
However, unlike the traditional story-telling media of novels and film, virtual worlds also
offer the potential for user interaction. With this potential, comes a double-edged sword.
In traditional narrative media such as films, novels, plays, or television, the
audience is simply a group of passive observers. Authors and screenwriters craft the
details of stories while directors, cinematographers, and performers fashion the
story is judged entirely by the audience. The slightly less than $8 billion in US movie
theatre box-office receipts for the year 2000 [23] is a powerful argument for the
effectiveness of one such medium.
The rapid increases in the power of and access to computer technology has
enabled the creation and use of a number of new media with great potential for
storytelling: video games, the world-wide-web, and hypertext novels are just a few
examples. The author, be it a machine, a human, or a combination of both, is still
necessary to create narrative stories in these new media. However, computers bring the
potential for the direction, performance, and editing of the narrative’s presentation to be
composed, refactored, or rewritten at any moment. With this potential comes the
distinguishing mark of the new media: a greatly increased potential for audience
interaction.
It is quite likely that if an audience member is asked to take on the role of an
actor, he will attempt to perform actions that are not contained in the author’s script. In
fact, the attempted actions may work directly against the intended plot. The cause is
simple to diagnose: the role of the audience member who experiences a story unfolding
in front of him, possibly for the first time, is not directly compatible with the role of the
actor who knows the details of the script by heart and performs accordingly.
Sven Birkerts argues in his Gutenberg Eligiesthat the best medium for conveying
narrative stories is the bound book [5]. However, with the gross sales of interactive video
games and video game hardware now surpassing movie box-office receipts in the US
actor meets audience member. To play the part of a character in a story while at the same
time experiencing that story for the first time is a genuinely intriguing premise for this
author. Unfortunately, this role may bring much headache and torment to the authors of
interactive stories. If the interactive audience member strays to far from the author’s plot,
the author’s creative control unravels.
Let us consider an interactive detective story. The audience member is playing
the role of a detective. The author intends for a crucial clue to be delivered to the player
by a mobster near the end of the story. However, the mobster in question is also one of a
group of mobsters who beat up the detective earlier in the drama for meddling where he
didn’t belong. During the beating, the player proves more skilled at defending himself
than the author intended. He manages to draw his gun and mortally wound the mobster
who is to later deliver the critical clue. Without the clue, the player will very possibly
never be able to solve the case. If the author had intended for the resolution of his story
to convey a message or moral, that resolution may never be reached, and the author’s
message will be lost. Indeed if the story being told was more educational in nature rather
than entertaining, a loss of the message would defeat the purpose of telling the story.
With no author present to fix a broken interactive narrative, the audience member
become actor may quickly find himself in a boring and inconsistent universe without any
hope of a meaningful resolution to the story. To avoid this situation we must answer two
questions: where do we draw the line between the will of the user and the author’s
we make the non-present author and active audience member collaborators in the telling
of a unique story?
We have attempted to answer these questions for narrative stories told in virtual
environments. While we are not the first to attempt a solution, we do believe that our
process, known as mediation, is a novel construct that will not only serve our purpose,
2. RELATED WORK
Before we venture into the specific problem and solution to be presented in this
work, it will be beneficial to examine how others have tackled the user interaction
problems inherent in interactive narrative media. While interactive media have only
emerged in recent years, they have seen as much, if not more, commercial deployment as
they have research focus. Video games offering significant user choice of action and
multiple narrative story paths represent a large portion of commercially available
interactive media. Hypertext, an interactive document format offering the reader multiple
navigational choices throughout its text, has permeated worldwide culture with the
proliferation of the Internet. Authors of hypertext novels employ hypertext in an attempt
to free their readers from the linear storylines of bound, paper books. Researchers
working in virtual worlds have attempted to find a place for narrative in interactive
environments. Much of their work has focused on effectively modeling and presenting
narratives in virtual environments.
Unfortunately, all of these new media efforts to allow user interaction in the
telling of narrative stories fail to make their audience, the user, a collaborator with their
author. Specifically, the user will reach a point where he wants to perform some action
and is not allowed to do so. No explanation is offered. This is not a failure of the author,
but a limitation of the medium. It is simply a limitation of the author’s foresight to
anticipate the desires of his audience. Such foresight is required by current techniques.
There are an infinite number of potential users with unpredictable desires. Indeed, even
in order to solve the conflict between the desire of the author to tell his story and the
desire of the user to take any action he wishes, we must move beyond previous attempts
at interactive storytelling and take the fine-grained control of the story away from the
author. By doing this, we can create a believable illusion of control for the user while
still allowing the author to retain narrative control.
2.1 Video Games
One of the first commercially successful interactive media to allow users to
control the action of a narrative was the video game. In the late 1970’s and early 1980’s,
video arcades took America by storm. Games were already being made for personal
computers: dedicated home video game machines soon followed [16].
In most computerized games, the user “plays the role of the story’s main
character,” effectively controlling the game’s protagonist. Such games have been making
the tradeoff between story and player control since their inception. In their infancy,
games were designed to be as simple as possible in order to minimize the use of
expensive hardware. The extent of narrative in a game was a paragraph or two of text
that set the stage for the action onscreen. In video games designed for arcades, this text
was not essential to gameplay and was usually hidden in the game’s attract mode, a
sequence of screens displayed when idle to draw customers to the game.
As hardware costs decreased and games became more complex, story elements
began to proliferate. Games began to separate into genres, the two most popular of which
were action games and role-playing games. Action games centered on interactive
separated from gameplay. The Ninja Gaidan series of games [33, 34, 35] popularized the
separation of action sequences with short, pre-recorded cinematic scenes called
cut-scenes, that progressed the story and set the stage for the next action segment (see Figure
1.1a). This approach maintained the player’s control of the game’s action segments
while introducing the concept of story development to the genre.
Role-playing games (RPGs), attempted to reverse the trend by making story the
driving force in a game. RPGs place the player in the control of a character or group of
characters who are inevitably entangled in an epic story. Dragon Warrior [9] was one of
FIGURE 1.1 - Video Games (A) Dragon Warrior
Dragon Warrior introduced role playing games to the Nintendo Entertainment System in 1986. The player battled monsters and took on adventures to progress the story (see left panel). The bulk of the story was presented to the player via the text window at the bottom of the screen (see right panel).
(B) Ninja Gaiden
The Ninja Gaiden series (Ninja Gaiden II pictured) was primarily an action game where the player navigated a ninja named Ryu through many different side-scrolling environments filled with dangerous enemies (see left panel). These action sequences were separated by non-interactive cut scenes that progressed the games story (see right panel).
(C) Dragons Lair II
the first successful RPG’s for a home video game console (see Figure 1.1b). The game
had an unfortunate habit of giving the player an apparent choice but allowing only one
decision. The most obvious instance occurs when the player rescues the princess
Gwaelin from the clutches of a dragon. Gwaelin poses the question, “I love thee. Dost
thou love me?” A reply of “no” will begin a loop where Gwaelin repeats, “But thou
must. Dost though love me?” This continues until the player concedes that he does
indeed love Gwaelin. While it is up to the player of an RPG to perform actions to
progress the story, the plot is predetermined.
The game Dragon’s Lair II [1] attempted to merge RPG and Action elements by
playing a beautifully hand-drawn cartoon on the screen (see Figure 1.1c). The cartoon
was stored in segments on laser disk. The player guided Dirk the Daring on his quest
through time to rescue the fair princes Daphne from the evil wizard Mordrok. During
gameplay, movie segments were played from the laser disk. Certain events in the movie
sequences would require the player to activate the joystick or press the sword button at a
specific moment. For instance, in the opening scene, Daphne’s mother learns of her
kidnapping. The enraged and rather formidable woman repeatedly lashes out at Dirk
with an oversized baker’s rolling pin. To avoid her attacks, the player was required to
move the joystick in the directions indicated by brief yellow flashes that appeared
on-screen. After a series of successful maneuvers, the game progressed to the next scene.
Failure to execute a joystick move or button press correctly would stop the playback of
the current scene and immediately play a short scene where Dirk meets his demise. If the
player another chance to progress through the story. This construct of returning back to
the storyline after straying is known as looping [6].
While Dragon’s Lair II and other similar laser disk games told an interesting
story, they gave the user extremely limited control of that story. Either the player
successfully executed the required commands on cue and watched the video to its
completion, or he was forced to view the video over and over again until he got it right.
Video games have matured a great deal in recent years. Many modern video
games have multiple endings and sub-plots affording the player many choices in the
direction of the story. Despite these many avenues of exploration, the player still cannot
depart from the story in a way not anticipated by the game’s authors at design time.
2.2 Hypertext
Hypertext has become the lingua franca of the World Wide Web. However,
attempts at using hypertext to convey narrative stories greatly predate personal
computers. Julio Cortazar’s Hopscotch was perhaps the first attempt at a hypertext novel
[8]. There were two different paths through the book. The first was read in standard,
linear fashion from chapter 1 through chapter 56. The second required the reader to start
at chapter 73 and read chapters in the order designated by the numbers in small type at
the end of each chapter. In this second ordering, the first chapters in the sequence are 73,
1, 2, 116, 3, 84, 4, 71, and 5. As is evident by the pattern, the chapters above 56 are
deviations from the linear plot of chapters 1 through 56. The reader is directed to veer off
the path of the main story quite often, but is always returned to it, thus we have another
Hopscotch, a reader could begin exploring the deviations from the linear ordering, or stop
following them. The choice is the reader’s, and the story will still be coherent.
With the introduction of the personal computer, it became possible for authors to
write narratives in true hypertext presentation mediums. Hypertext novels, a form of
hypertext narrative [18], work much like Cortazar’s early attempt. The reader is
presented with some passage of story text and given some number of choices as to what
to read next. The story can be different for each user depending on the navigation
options they choose. The World Wide Web and HTML allow hypertext authors to easily
distribute their work to the world. They also offer the advantage of allowing the author
to add new content and navigational choices at any time. Some hypertext narratives on
the web even allow readers to become authors by adding extensions to the story for future
readers.
Given potentially numerous directional choices in a hypertext novel, may find
themselves “lost in hyperspace”, not knowing where to go next. When experiencing a
hypertext novel for the first time, the critic Birkerts found that “…the ever-present
awareness of possibility and the need to either make or refuse choice, was to preempt
[his] creating any meditative space for [him]self” [5]. This is known as the disorientation
problem in hypertext. The “literary contract” clearly separates the duties of the author
from those of the audience. In the novel, a traditional example of media, the author is
expected to organize the presentation into a coherent and sequence of ideas which it is the
duty of the reader to follow. Hypertext gives the user choice in the sequence of
that makes for a coherent experience. In this new medium, the additional responsibilities
of the author as to the design of the hypertext content has not been defined. Kim and
Hirtle [17] study the hypertext disorientation problem in detail and propose some
methods authors can implement to reduce reader confusion while navigating their
hypertext works. While some problems can be alleviated, the disorientation problem has
not been solved and may be inherent in the hypertext medium. Indeed some level of
disorientation may be desirable. For instance, in a hypertext murder mystery, too much
author provided navigational assistance might ruin the intended suspense or excitement.
Other narrative media have grown out of new web technologies. One such
experiment is Chroma [20]. Chroma is an animated story built using Macromedia
Shockwave technologies. In each linearly presented chapter, the reader is presented with
an interactive graphical scene along with audio narration. The level of user interaction
varies from scene to scene. In some scenes, the narration and audio are constant while
the user is able to manipulate the story’s animation with the mouse. Other times, the
user’s interaction with the animation changes, orders, or manipulates the telling of the
story in some way. With Chroma, as with all hypertext implementations to date, the
capability of the user to manipulate the story is controlled by the author at design time.
2.3 Virtual Worlds
The Oz system, developed by Joe Bates and his students at CMU, attempts to
provide a framework for the telling of narrative stories in virtual worlds [21]. The
performance of stories presented the Oz environment is overseen by the Oz Drama
and guiding it towards its intended goals. Oz’s Drama Manager is usually in a passive
state where it monitors the actions of users in the virtual world. When a user’s actions
trigger what the Drama Manager believes to be a plot point in the unfolding storyline, the
Drama Manager takes on a more active role. In the Oz system, a plot point is a
component of the story characterized by a human author as being an important event in
the unfolding story. When plot points occur, the Drama Manager takes the history of
world events up to the current point in time and performs a breadth first search on the
space of possible future events leading to another plot point.
Each possible future storyline is rated by an evaluation function defined by the
system’s author. To define an evaluation function, authors first write s story that they
wish to tell as a sequence of plot points. Authors then decompose their thinking to
determine what set of features their story’s ordering contains that makes it a “good”
story. Finally, this decomposition is translated into an evaluation function capable of
taking as input a wide range of possible input stories and assigning each a fitness rating.
The Drama manager uses the evaluation function to characterize each of the
possible stories leading from the current plot point. The highest ranked is chosen, and the
Drama Manager makes changes to the world state that it believes will help coax the user
toward the chosen path. The Drama Manager then returns to monitoring the world until
the next plot point is reached.
The changes the Drama Manager makes to the world should be believable and
consistent within the context of the currently unfolding narrative. Preliminary, real-world
the world state without making it inconsistent [15]. The Oz group stressed that the
narrative experience, and thus its consistency, was intended for the interactor alone.
There may be no understandable narrative context for the director, cinematographer, or
other actors. According to their approach, any change to the environment is perfectly
acceptable, despite its effects, unless it degrades the narrative experience of the user.
They observed that interactors were willing to suspend disbelief and become emotionally
engaged when placed in an imaginary world with sufficiently interesting characters.
Further, they found that characters in the world could act inconsistently and still be
tolerated by the user. While this would seem to disrupt the consistency of the narrative, it
is representative of the fact that people in the real world do not always act consistently.
These findings give the Drama Manager some leeway in choosing changes to make in the
virtual world to coax users into certain actions or behaviors.
The efforts of the Oz team have produced a virtual environment for presenting
stories that focuses on giving the user a sense of “physical presence.” Their approach
hinges on the Drama Manager’s ability to recognize plot points and predict at each plot
point what changes should be made to the virtual world to guide the user to the next
desirable plot point. Unless the Drama Manager makes it physically impossible to
perform an action as it makes changes to the world when a plot point is encountered, the
user is never prevented from taking any action, even actions that may prove catastrophic
to the story. The foresight of the Drama Manager is dependent on the correctness of the
events as undesirable and properly account for it in the evaluation function at design time
3. PROBLEM
There are two general principles relating mental attitudes toward action to
narrative-oriented virtual environments. First, people find virtual environments more
compelling when they perceive that they have agency within those environments. The
greater the sense of freedom they have over choosing and executing their own actions,
the greater their immersion will be in the world [28]. Second, people naturally perceive
the world around them, whether real or virtual, as containing unfolding narratives [7].
The greater the narrative ties between the actions a person perceives in the world, the
more those actions are considered to be coherent. Thus, a coherent presentation of the
actions taking place in the world aids in understanding the narrative structures the world
contains [13].
In narrative-oriented virtual worlds, these two principles come into immediate
conflict. When people try to act in a virtual world, they almost always act with imperfect
and partial knowledge of the current world state. They may be ignorant of a wide range
of facts about the past and the intended future of the world. As a result, when a user
takes action, he may unintentionally act to confound the intended flow of the story. This
may make certain future actions of the story inappropriate or possibly infeasible. By
increasing the agency of a user, the coherence of the unfolding narrative may be degraded
or even destroyed. Similarly, an approach that increases the narrative coherence at the
expense of user agency weakens the user’s sense of immersion.
How do we solve the conflict that occurs between the story and the interactive
either don’t allow the user to take actions outside the scenarios the author has envisioned
or ignore their potential for damage. While these solutions have been effective at
creating the systems mentioned previously, we are searching for a more general approach
for balancing immersion with interactivity, one that maintains the user’s sense of control
by allowing him to attempt any action permitted by the environment. To phrase the
problem exactly:
How do we provide the user with a sense of agency within a
structured virtual environment while maintaining the user’s sense of
immersion in a coherent narrative?
3.1 Definitions
To place us on equal footing, we must define some terms that will be used
throughout the remainder of the text. First we will define a virtual world as a
computer-generated representation of an environment containing characters and objects. The
difference between a character and an object is that a character is animate. That is, a
character is perceived by a user as someone or some thing that is autonomous, forms
goals, and makes changes to the environment in pursuit of those goals. In order to make
a change to its environment, a character performs an action. While a single action could
require multiple characters to perform [14], we will limit our discussion to actions
effected by single characters. Characters are either system-controlled or user-controlled.
The actions of system-controlled characters are driven by the system. User-controlled
objects are perceived as inanimate by the user. They serve simply as resources for the
activities of the world’s characters.
Now it is necessary to define planning as it relates to our current work. A plan is
a totally ordered sequence of action instances, each with preconditions and effects, whose
execution is guaranteed to change the world from some initial state to a state in which a
pre-defined set of goals will be fulfilled. To generate such a plan, a planner takes as
input an initial world state and desired goal state. It then attempts to select and order a
series of action operators from its knowledge base in such a way that each instantiated
action operator fulfills a goal of the goal state, or a precondition of another action
operator needed to satisfy a goal. The details of how this is done are not necessary for
the discussion that follows. Suffice it to say that many techniques for generating plans
have been used in applications such as robotics control [11], educational environments
[6], and training systems [26].
Actions are events that occur in the virtual world, intentionally performed by
some character to change the world’s state. Families of similar actions are characterized
by action schemas, or operators, that reduce actions into two elemental parts:
preconditions and effects [10]. An action operator’s preconditions state only those
conditions in the virtual world that must hold true at the time the action is executed in
order for the action to execute successfully. An action operator’s effects state all of the
conditions made true in the world immediately after the action’s successful execution. A
hypothetical action operator for buying a snack from a vending machine is shown here1:
Action:
Buy(?character, ?machine, ?item, ?coin)
Preconditions:
At(?machine, ?character) Has(?coin, ?character) Has(?item, ?machine) ¬Broken(?machine)
Effects:
¬Has(?coin, ?character) Has(?item, ?character) ¬Has(?item, ?machine)
The Buy action requires a character to perform it, a machine to be used, an item to be
purchased, and a coin to operate the machine. Here, the preconditions specify that the
character must be in operating range of the machine, possesses a coin to operate the
machine, and that the machine must not be broken. Effects indicate that the character
will no longer have the coin, but will possess the selected item once the action has ended.
The machine, of course, will no longer have the item since it is now in the character’s
possession.
To facilitate our solution, we will extend the traditional planning action
representation with a novel concept known as a failure mode. A failure mode of an
action is an alternate action that can be used by the system under certain circumstances to
replace the given action at runtime in order to produce different effects. As we describe
in Section 5.2, failure modes might be used to execute a less harmful action in place of a
user’s unintentionally dangerous activity. In our model, each action has zero or more
failure modes, and each failure mode may have a completely disjoint set of effects from
the original action or that action’s other failure modes. Figure 3.1 shows the actions
action. The boxes in Figure 3.1 represent actions. Preconditions of an action are given
above the box while effects are shown bellow. The Refund action represents the
character’s coin passing through the machine with no effect and being returned. The
BrokenBuy action models the irritating event of a broken machine taking one’s money
and failing to vend any item in return.
It may seem to follow that a failure mode must have the same preconditions as the
action it is designed to replace. This is not necessarily the case. Remember that the user
of an interactive environment has only partial knowledge of the environment’s state. If a
failure mode requires a different precondition than the action it is to replace, and the
value of that precondition is not known by the user, it may be acceptable for the system to
Figure 3.1 - Example of Failure Modes
Buy(?character, ?machine, ?item, ?coin) At(?machine, ?character) Has(?coin, ?character) Has(?item, ?machine) ¬Broken(?machine) ¬Has(?coin, ?character) Has(?item, ?character) ¬Has(?item, ?machine) Refund
(?character, ?machine, ?item, ?coin) At(?machine, ?character) Has(?coin, ?character) Has(?item, ?machine) ¬Broken(?machine) <no effects> BrokenBuy
(?character, ?machine, ?item, ?coin) At(?machine, ?character)
Has(?coin, ?character) Has(?item, ?machine)
simply change that value in the world and allow the failure mode to be used. This will
not detract from narrative coherence, as the user will be oblivious to the change.
Representing the knowledge of the user is an open research question beyond the scope of
this work.
Finally, we will define causal links. A causal link is an annotation between two
actions in a plan. Two actions are linked in a plan when the first action (by temporal
ordering) has an effect that is needed as a precondition of the second action. Thus the
first action enables, in whole or part, the execution of the second action. By successively
following the causal links of an action, one can determine exactly how that action
ultimately contributes to the fulfillment of the planner’s goals.
3.2 Assumptions
“A whole is that which has a beginning, a middle, and an end. A beginning is that which does not itself follow anything by causal necessity, but after which something naturally is or comes to be. An end, on the contrary, is that which itself naturally follows some other thing, either by necessity, or as a rule, but has nothing following it. A middle is that which follows something as some other thing follows it. A well constructed plot, therefore, must neither begin nor end at haphazard, but conform to these principles.” [3]
Aristotle Poetics
In order to solve the problem, we must make some assumptions about the
structure of narrative as it applies to virtual worlds. In the passage quoted above,
Aristotle would have us believe that all good plots are composed of a beginning, middle,
and end. Within the scope of this work, we will assume that the beginnings and ends
Aristotle mentions can be represented by logical states. Thus, we can think of a plot as a
path through the space of possible events where the first point of the path represents the
the actions along the path must represent the plot’s middle. We will adopt this simple
definition to characterize the plots and subplots of a narrative story.
This may seem like an extremely simple definition to accept. Other narrative
theorists provide many varying characterizations of plot in terms of actions, intentions,
beliefs, etc [27]. In our work we will accept Aristotle’s definition so that we can
effectively represent the plot of a narrative with a plan data structure produced by a
planning system. The translation of a plot’s beginning and ending into clearly defined
states and the actions that compose its middle into formal action operators for planning is
not difficult. This is not to say that it will not be time consuming for plots of any
interesting length and complexity. Since our narrative stories will play out in virtual
worlds, it is logical to assume that each planning action representation will map directly
to a discrete action in the virtual world. Such direct mappings are used successfully in
the control robots in the physical world.
While we have accepted that plans can be used to model narrative plot, it is an
open question as to whether a compelling narrative storyline can be created using
specialized narrative versions of existing planning techniques. To create interesting
plots, such a planner would need to effectively model narrative devices such as suspense,
rising action, and surprise. While some work has been done on this topic [22, 27], we
will assume in this work that a plan data structure representing a narrative storyline will
be constructed for us by a narrative planner outside our system. This plan will include all
necessary to reach the goal state. Specification of narrative planning techniques is
beyond the scope of this research.
Finally, we will assume that an effective narrative planner can construct plans in
an extremely fast manner relative to the frequency of actions taken by users acting within
the narrative virtual world. The speculative planning algorithm described in Section
4.4.1 will require a possibly large number of plans to be generated in the time it takes an
interactive user of the virtual world to execute a single action. This number will be
dependent on the current state of the virtual world, position in the plot’s timeline, and
number of actions available to the user.
3.3 Problem in the Technical
Given the definitions and assumptions listed above, we can now restate the
problem mentioned above in more specific terms. Given that:
1. A storyline within a virtual world is characterized by a plan data structure
2. A user’s understanding of the unfolding story can be directly related to his
understanding of the plan that characterizes the story.
3. A plan’s structure appears more coherent when its causal structure is valid, that is,
when it contains no unnecessary steps or steps whose preconditions are not
satisfied.
4. User actions within the environment may undo conditions associated with the
causal links in the story’s plan, and thus change some the preconditions of some
steps from being satisfied to being unsatisfied. In the same manner, user actions
We can now rephrase the problem as:
How do we provide a user with the perceived ability to take any action
he desires in the world while maintaining a valid plan structure for
4. MEDIATION
To solve the problem detailed in Section 3, we will introduce a novel approach
known as mediation. Our process solves the problem of mediating between narrative
control and user freedom by taking fine-grain control of the plot away from the
narrative’s author while allowing him to maintain control of the narrative’s theme. The
author determines the exact amount of control lost when the narrative is constructed.
However, failure to relinquish a significant amount of control will cripple the mediation
process and produce a rather frustrating experience for the user where a great number of
the actions attempted in the virtual world are circumvented.
Many authors working in traditional narrative media may find this loss of
fine-grain control to be uncomfortable at first. Their comfort will only return if the user
experience created by their efforts to use this new medium produces a satisfactory result.
It is important to understand that mediated narrative virtual environments are not meant
to replace old narrative media and that this new medium represents a very different
experience from traditional media for all parties involved.
In essence, mediation introduces a second author to the narrative scenario. In
traditional narrative media, there is an author writing for a presentation medium that will
be presented to an audience. With mediation, an author composes a story for a mediated
narrative virtual world. This story is written as a series of goals that the author wishes the
narrative story to fulfill. The second author is introduced when the interactive audience
member enters the virtual world. This writer is an automated system centered around an
and over again at runtime to fulfill the original authors goals while allowing the interactor
as much freedom as possible within the limits of these goals.
4.1 The Process
To create a narrative story in a mediated virtual environment, the following
process is followed. First, the environment itself must be created. The environment acts
as the stage on which the narrative will unfold. Second, characters and objects must be
created to populate the environment. This includes the 3D models of the characters and
objects, their animations and sounds, and the code for the actions they can perform.
Third, plan operators must be created that directly correspond to the actions that
characters in the world are capable of. These first three steps represent the creation of a
fully populated virtual environment. While the creation of such an environment is a
costly operation, it should be considered as an investment. Once an environment is built,
it can be used as a back lot in which many stories can be played out. For example, a
virtual environment of a Wild West town could be used in the telling of many different
westerns with only minor modifications on each subsequent use.
Fourth, the author must specify a plot in the form of a beginning and ending. A
formal initial state of the world, defined using predicates understood by the narrative
planner, acts as the plot’s beginning. A goal state of similar construction, representing all
goals the author wishes to fulfill in the telling of the story, represents the ending. This is
where the role of the author ends. His control over the story’s detail stops when he
narrative environment will coauthor the actual plot at interaction-time every time the
story is played out.
Before a user enters the virtual world, the environment is instantiated and a
controller process is initialized to direct the action of the story over time. The controller
uses the narrative planner to generate an initial plan to serve as a storyline. The
controller then issues directives to the environment according to the plan’s structure,
controlling all non-user characters in the environment. Once the controller has finished
its initialization process, a user will be allowed to log in at any time. At login, the user is
given interactive control of the character specified by the author. Whether the user plays
the part of the story’s main character or the equivalent of a walk-on role, the user has the
potential to take actions outside of his given role.
The likelihood that a user will perform exactly the actions prescribed for his
character by the narrative planner is minimal for any plot of interesting complexity.
However, a great number of actions that the user may choose to perform may likely be
inconsequential to the plot of the story. For example, I usually get out of bed on the left
side in the morning. If the story to be told was one about my daily routine, and the user
was given control of my virtual representation, he might choose to get out of the bed on
the right side. Despite some superstitious beliefs, this will have no effect on the user’s
ability to effectively navigate to the shower, the next essential action in the system’s
plotline.
Mediation adopts the belief that the majority of user actions will be completely
ability of the currently executing plot to be successfully completed. Because we have
defined all actions in our virtual environment in a logical fashion that matches directly
with the action operators used by the planner, the effects of any action the user might
attempt to perform are known ahead of time. By examining the plan and its causal links,
we can determine what user actions, if any, taken at a given point in the plan will
threaten a causal link. A causal link represents a logical condition in the world that must
hold during the temporal interval between the executions of two actions. A causal link is
threatened when a separate action that invalidates the logical condition occurs between
the two actions represented in the link. This may cause the second action in the causal
link to fail and could lead to a chain reaction of failures.
To prevent this, the following process is executed. First, each temporally adjacent
pair of actions an and am in the plan is considered. Let the time interval between them be
denoted an| am. All actions that the user might execute whose preconditions are all true at
the beginning of an | am are considered to be enabled during an | am. All causal links in the
plan whose starting step is an or occurs prior to an and whose ending step is am or occurs
subsequent to am are considered to be exposed during an | am. Causal links that are
exposed during an interval are just those links whose condition might be undone should
that same condition be altered by the execution of unanticipated user actions during the
interval. For every user action au enabled during an | am whose effects might undo the
condition of a causal link exposed during an | am, a “what-if” scenario is composed to
examine the effect of the execution of au on the story. What-if scenarios are created by
interval. If the planner can produce a new plan to the desired goal state that takes au’s
execution into account, then au will be allowed to occur if the user attempts it and the
current storyline will be amended. This is known as accommodation. If the narrative
planner is unable to produce a successful plan should au be executed, then au
compromises the completion of the author’s specified goals. If the user attempts to
execute au it will not be allowed, but will be replaced by another action or series of
actions. We call this intervention. At the moment of an accommodation or intervention,
all future actions in the currently executing plan must be called into question. The
planner is asked to revise any affected portion of the storyline. The process of
determining and analyzing threatening user actions must begin anew.
Interventions are characterized as either diegetic or extra-diegetic. Diegetic
interventions are those that occur in the same fictional world in which the characters of
the story live. Extra-diegetic interventions occur outside the story world, as is the case
with most classic narration. Diegetic interventions are further subdivided into assisted
and non-assisted interventions. Assisted interventions involve the use of non-player
characters in the world to stop the user’s action from executing successfully. An example
of an assisted diegetic intervention would be a military squad leader jostling one of his
men (the user) to prevent him from firing a rifle at an apparent danger. The non-assisted
version might involve the squad member’s rifle jamming when he attempts to fire. An
example of an extra-diegetic intervention would be a dialog window appearing on the
user’s screen explaining that firing a rifle at an unknown enemy is dangerous. While
using failure modes, extra-diegetic interventions have a side effect of drawing the user
out of the story world and decreasing immersion. Since one of our goals in this work is
to increase the sense of user agency and immersion, we will only consider non-assisted
diegetic interventions for the remainder of this paper.
4.2 Clarity Through Example
As an example of the mediation process, we will examine a short, simple story
that could be told in a narrative environment. This story is set on a small island. There is
a vending machine on the island (VendingMachine0) that vends many items
including corn chips. The only way off of the island is via a drawbridge
(DrawBridge). The vending machine and drawbridge are both operated by one dollar
coins.
The story’s initial state is specified as follows. A player controlled character
named Bob is on the island at a position specified by the author (Start). Bob has a one
dollar coin in his possession (Coin42). The story’s goal state contains only one goal:
Bob must get off the island.
Initial State: OnIsland(Bob) At(Start, Bob) Has(Coin1, Bob)
Goal State: ¬OnIsland(Bob)
The actions available to all characters in the virtual world are listed bellow.
Action:
Go(?character, ?there, ?here) Preconditions:
At(?there, ?character)
Action:
OpenBridge(?character, ?bridge, ?coin) Preconditions: At(?bridge, ?character) Has(?coin, ?character) ¬Open(?bridge) Effects: ¬Has(?coin, ?character) Open(?bridge) Action: LeaveIsland(?character, ?bridge) Preconditions: At(?bridge, ?character) Open(?bridge) OnIsland(?character) Effects: ¬OnIsland(?character) Action:
Buy(?character,?machine, ?item, ?coin) Preconditions: At(?machine, ?character) Has(?coin, ?character) Has(?item, ?machine) ¬Broken(?machine) Effects: ¬Has(?coin, ?character) Has(?item, ?character) ¬Has(?item, ?machine) Failure Modes:
Refund(?character, ?machine, ?item, ?coin) BrokenBuy(?character, ?machine, ?item, ?coin)
Action:
Refund(?character, ?machine, ?item, ?coin) Preconditions: At(?machine, ?character) Has(?coin, ?character) Has(?item, ?machine) Effects: <none> Action:
For this simple story, a simple storyline is generated as shown in Figure 4.1a. The
storyline shows that Bob need only go to the drawbridge, use his dollar coin to open the
bridge, and leave the island. This sequence of three actions will complete the story. Let
us assume that a user has just logged in and assumed control of Bob. Thus, the current
time is the temporal region between the initial state and Bob reaching the drawbridge.
We will follow the mediation process outlined in the previous section.
First, we determine all currently enabled user actions. The only action that Bob
can currently perform is the Go action. Second, we will find all causal links that are
exposed to the current time interval. There are three causal links exposed. One notates
the dependence of the action Go(Bob, DrawBridge, Start) on the At(Start,
Bob) effect of the initial state. The second shows the dependence of the action
OpenBridge(Bob, DrawBridge, Coin42) on the Has(Coin42, Bob)
effect of the initial state. The last notates the dependence of the action
LeaveIsland(Bob, DrawBridge) on the OnIsland(Bob) effect of the initial
state. Third, we combine the actions of the first step with the exposed links of the second
to find any threats. The only threatening action is Go(Bob, VendingMachine0,
Start) which threatens Go(Bob, DrawBridge, Start) because it
invalidates the necessary logical condition At(Start, Bob).
Fourth, we produce a what-if scenario. If the action Go(Bob,
VendingMachine0, Start) is performed, we ask the narrative planner if it can
replan around it and generate a new successful storyline. The answer will be yes. In the
would open it and leave the island. Thus, we decide to accommodate this action should
the user attempt it.
We repeat this process for the remaining three time periods in the current
storyline and find no other threatening actions. Let us now assume that Bob does decide
Figure 4.1 Storylines for Mediation Example Initial State
At(Start, Bob) Has(Coin42, Bob) OnIsland(Bob)
Go(Bob, DrawBridge, Start)
At(DrawBridge, Bob) ¬At(Start, Bob)
OpenBridge(Bob, DrawBridge, Coin42)
Open(DrawBridge) ¬Has(Coin42, Bob)
LeaveIsland(Bob, DrawBridge)
¬OnIsland(Bob)
Goal State
(A) Original Storyline
Initial State
At(Start, Bob) Has(Coin42, Bob) OnIsland(Bob)
Go(Bob, VendingMachine0, Start)
At(VendingMachine0, Bob) ¬At(Start, Bob)
OpenBridge(Bob, DrawBridge, Coin42)
Open(DrawBridge) ¬Has(Coin42, Bob)
LeaveIsland(Bob, DrawBridge)
¬OnIsland(Bob)
Goal State
(B) Revised Storyline
Go(Bob, DrawBridge, VendingMachine0)
to visit the vending machine before he goes to the drawbridge. Our new storyline is
shown in Figure 4.1b. By walking through the same mediation process as before, we find
two threatening actions in all of the time periods in the new storyline. The offending
events are Buy(Bob, VendingMachine0, ?item, Coin42) and Go(Bob,
Start, VendingMachine0). The Go action can be accommodated exactly as it
was earlier. The Buy action is only enabled in the first time segment of the storyline,
while Bob is at the vending machine. It threatens a causal link that requires Bob to have
the coin later in order to operate the drawbridge and leave the island. Since this action
must be intervened upon, the failure mode Refund is chosen to replace it should the user
attempt to execute it. This failure mode is acceptable since it leaves Bob with the
necessary coin while BrokenBuy, the other failure mode of Buy, will not.
Let us assume that Bob does attempt to buy an item from the vending machine.
When his coin falls through the machine and is returned to him, he may become properly
discouraged. Bob might then decide to explore the draw bridge, which is the exact action
the storyline prescribes.
4.3 Achieving Run-Time Performance
As described above, it does not seem that mediation could be performed at
interaction time. For any complex plot of significant length, determining all possible
threatening user actions, analyzing them, and choosing appropriate interventions when
necessary is a computationally expensive and time intensive operation. A first pass of the
process could be done before the user was allowed to begin interacting with the story.
repeated, requiring the system to pause until the process had completed. Stopping user
interaction any time an accommodation or intervention occurs is unacceptable as it breaks
the context of the narrative and dissipates the user’s sense of immersion. Not stopping
user interaction for the preplanning may allow the user to execute a catastrophic action
before it is determined to be dangerous and in need of intervention.
To solve this problem, we propose a three-tier mediation system consisting of a
speculative planner, a decision cache, and an execution monitor.
4.3.1 Speculative Planner
The speculative planner is separate from the narrative planner already discussed.
However, its operation is dependent on the operation of the narrative planner. The job of
the speculative planner is to analyze the current storyline, determine the possible
threatening user actions, and determine how to mediate them as described previously. It
stores the threatening actions and their mediations in a data structure called a decision
cache which is discussed in the next section. This process is known as mediation
analysis. The unique trait of the speculative planner is that it does not sit idle once it has
completed its mediation analysis of the currently executing storyline.
Once the speculative planner has completed mediation analysis for the currently
executing storyline, it requests that the now idle narrative planner simulate the world state
that would occur if the first threatening user action (by temporal ordering) from the
currently executing storyline were to be attempted and subsequently mediated. The
speculative planner then performs mediation analysis on this possible future storyline and
moves on to perform mediation analysis for the world state that would result from the
next possible threatening user action from the currently executing storyline. This
speculative process is a breadth first search through the space of all possible future world
states resulting from a mediation of a user action. The speculative planner will continue
to expand this tree for as long as time allows.
When an action in the decision cache of the currently executing plan is performed,
one of these possible future world states becomes a reality. The goal of speculative
planning is that a decision cache for the resulting world state already exists. When this
occurs, all decision caches for now unattainable world states are discarded and the
speculative planner prunes its search space accordingly.
4.3.2 Decision Cache
The decision cache is a data structure that stores descriptions of threatening
actions that users can perform for a specific storyline and whether they are to be mediated
through accommodated or intervention. If an intervention is specified, the failure mode
to replace the threatening action is included in the record. Decision cache structures are
produced by the speculative planner’s mediation analysis processing and consumed by
the execution monitor.
4.3.3 Execution Monitor
The execution monitor is the module responsible for enforcing mediation. It
monitors attempted user actions and compares them to the action descriptions contained
in the decision cache for the currently executing plan. Attempted actions that do not
is sent to the speculative planner so that it can maintain an accurate model of the current
time interval. Attempted actions that match an action description marked for
accommodation are allowed to continue as well. However, this time the execution
monitor sends an exception message to the speculative planner to inform it that the
accommodation has occurred. An exception is an event that preempts the speculative
planner from its work and informs it that the storyline must be updated because an
accommodation or intervention has occurred.
If the user attempts an action that matches an entry in the decision cache marked
for intervention, the execution monitor stops the action from occurring. It simultaneously
begins the failure mode action specified in the decision cache record. Again, an
exception message is sent to the speculative planner.
The responsibilities of the execution monitor require it to be capable of
responding quickly to user input. If the execution monitor produces a noticeable lag
every time a user attempts an action, the user may quickly become frustrated. As a result,
the execution monitor is required to be an integrated component of the virtual
environment. On the other hand, the virtual environment’s architecture may not be well
suited for the implementation of narrative and speculative planning systems. Since they
are not required to act with the same immediacy as the execution monitor, they may be
better served as separate processes, possibly hosted on separate computing resources
5. IMPLEMENTATION
We have implemented the first mediation system as an integrated component of
the Mimesis system. The Mimesis system, a project of the Liquid Narrative research
group, is a prototype virtual worlds development environment being designed for
narrative-oriented virtual worlds. As such, Mimesis represents an excellent test bed for
the deployment of a mediation system. The virtual world environment component of
Mimesis is built upon Unreal Tournament, a highly modifiable, network-enabled,
commercial video game.
In this overview of our implementation, we will first discuss relevant background
information on the Unreal Tournament and Mimesis architectures. We will then detail
the design of the mediation components and their integration with these existing
architectures.
5.1 Unreal Tournament Architecture
Unreal Tournament is a very successful first-person shooter game for personal
computers and video game consoles. The first-person shooter genre encompasses games
where the player is in direct control of a game character in a battle intensive environment.
The games are characterized by their display of the game world through the eyes of the
character being controlled. Unreal Tournament is a multiplayer game where opponents
compete for dominance of the battle arena. Player’s computers are linked together via
the Internet or local area network. One computer acts as a server to host the game world
while all other computers in the game act as clients to the server machine. The server can