• No results found

Mediating User Interaction In Narrative-Structured Virtual Environments

N/A
N/A
Protected

Academic year: 2020

Share "Mediating User Interaction In Narrative-Structured Virtual Environments"

Copied!
70
0
0

Loading.... (view fulltext now)

Full text

(1)

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

(2)

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

(3)
(4)

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:

(5)

DEDICATION

This work is dedicated to Pete and Nikki Saretto. Without their love and support,

(6)

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

(7)

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,

(8)

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

(9)

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

(10)

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.

(11)

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

(12)

6. CONCLUSIONS... 49

6.1 Opportunities for Future Work... 49

REFERENCES... 51

APPENDICES

(13)

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

(14)

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

(15)

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

(16)

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

(17)

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,

(18)

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

(19)

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

(20)

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 game’s story (see right panel).

(C) Dragon’s Lair II

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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

(27)

events as undesirable and properly account for it in the evaluation function at design time

(28)

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

(29)

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

(30)

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:

(31)

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

(32)

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)

(33)

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

(34)

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

(35)

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

(36)

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

(37)

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

(38)

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

(39)

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

(40)

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

(41)

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

(42)

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:

(43)

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:

(44)

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

(45)

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)

(46)

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.

(47)

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

(48)

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

(49)

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

(50)

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

References

Related documents

Yet, the SNA-based centrality measures may underestimate its positioning in the inter-regional co-patent network: due to its very high outward orientation (its outer share is 94%) and

Puri fi ed GFP fusion proteins or PMAMPs when incubated with human cultured cells, including human periodontal ligament stem cells (HPDLS), maxilla mesenchymal stem cells (MMS), head

case where the well steining is designed as a reinforced concrete element, it shall be considered as a column section subjected to combined axial load and bending.. However, the

The paper should be based on the required reading, the additional reading found in the DIS library and/or the Danish Film Museum Library, the films seen in class and/or films by

We help mineral rights owners get the best price by bringing their rights or royalties to auction; where thousands of already interested and reputable buyers will

Faust and Faust (2012) describe this process of “config- ural analysis” (trying to integrate all the information gath- ered, analyzing the patterns of interrelationships among the

provide an interesting avenue to probe (11) and (12), while the constraints from mono-jet searches on the scalar and pseudoscalar interactions involving the light quark flavors are

Confusion matrices and corresponding errors using SVM and DA when 2 classes are considered: Nevi and BCC, in which 5 descriptors for the 8 Reflectance and Absorbance values