You are on page 1of 8

A Methodology for Requirements Analysis

of AI Architecture Authoring Tools


April Grow
1
, Swen Gaudl
2
, Paulo Gomes
1
, Michael Mateas
1
, Noah Wardrip-Fruin
1
1
Center for Games and Playable Media
University of California, Santa Cruz
Santa Cruz, CA, 95064
{agrow, pfontain, michaelm, nwf}
@soe.ucsc.edu
2
Department of Computer Science
University of Bath
BA2 7AY, Bath, UK
s.e.gaudl @bath.ac.uk
ABSTRACT
Authoring embodied, highly interactive virtual agents (IVAs) for
robust experiences is an extremely difficult task. Current
architectures for creating those agents are so complex that it takes
enormous amounts of effort to craft even short experiences, ith
lengthier, polished experiences (e.g., !acade, Ada and "race) often
re#uiring person$years of effort by expert authors. %oever, each
architecture is challenging in vastly different ays& it is impossible
to propose a universal authoring solution ithout being too general
to provide significant leverage. Instead, e present our analysis of
the System-Specific Step (''') in the IVA authoring process,
encapsulated in the case studies of three different architectures
tackling a simple scenario. (he case studies revealed distinctly
different behaviors by each team in their ''', resulting in the need
for different authoring solutions. )e iteratively proposed and
discussed each team*s ''' Components and potential authoring
support strategies to identify actionable softare improvements.
+ur expectation is that other teams can perform similar analyses of
their on systems* ''' and make authoring improvements here
they are most needed. !urther, our case$study approach provides a
methodology for detailed comparison of the authoring affordances
of different IVA architectures, providing a lens for understanding
the similarities, differences and tradeoffs beteen architectures.
Categories and Subject Descriptors
I.,.-- .Artificial Intelligence/0 1istributed Artificial Intelligence 2
intelligent agents, multiagent systems& 1.,.- .Software
Engineering/0 3e#uirements4'pecifications 2 elicitation methods,
methodologies.
General Terms
1esign, 'tandardi5ation.
Kewords
1esign, Agent Authoring, Interactive Virtual Agents, (ool$1riven
1evelopment, 6ehavior$+riented 1esign, A67
!" I#TR$D%CTI$#
Interactive Virtual Agents (IVAs) are embodied human characters
that richly respond to user interaction, combining ork in AI,
interfaces, sensing technology, and graphics, as ell as
interdisciplinary knoledge from fields as diverse as psychology
and theater. )e have begun to see the uses of IVAs manifest across
many fields, including medicine &8/, human care$giving .-,/,
education .-9/, interactive drama .-:/, and video games .-;, -</.
(here seem to be as many approaches to creating virtual embodied
agents as there are humans creating them, but the ma=ority of
approaches have one thing in common0 authoring.
+ur particular use of the overloaded term authoring encompasses
any asset creation and modification necessary to produce the
desired functionality of IVAs0 animation, audio, ritten dialogue,
as ell as behaviors, goals, and other more speciali5ed decision$
making constructs belonging to a custom decision$making
mechanism (1>>). Authoring for the 1>> adds another
dimension of complexity to the authorial burden of IVAs beyond
scripted scenes. (he combinatoric interaction possibilities,
including large internal (to the agent) and external state spaces,
makes it difficult for an author to reason about and modify a
1>>.
Authoring tools are often proposed as a means to help the author
manage this complexity. %oever, authoring tools, especially for
IVAs exhibiting complex behavior, are a research area of their
on. (o be of any practical use, authoring tools must be domain$
specific, system$specific, or customi5able enough to be tailored to
the authoring challenges of a specific 1>>& this fact is illustrated
by the lack of any cross$architecture tools for IVAs. (he choice to
invest time and energy in an authoring tool is a difficult one,
because it is challenging to determine if the cost of
creating4customi5ing a tool and training authors ould be less than
brute$forcing the authoring challenge ithout the tool.
(o better understand IVA authoring, e surveyed -- IVA authors
across : institutions and ? different pro=ects. )e then returned to
three teams for iterative intervies, here e discovered a similar
pattern of difficulty, hich e have decided to call the System-
Specific Step ('''). In the ''' lies the 1>>$dependent tangled
eb of architectural affordance and constraint in hich the author
painfully translates their high$level vision for the character into a
decision policy expressed in a specific architecture. )e returned to
the three teams ith our interpretation of their system*s ''',
confirming the re#uirements it places on any authoring tool
approach, together ith authoring tool proposals based on the
challenges discovered in the ''' to gauge their reactions.
(his paper proposes the ''' re#uirements analysis methodology as
a means by hich programmer$authors may better understand their
specific system*s authoring burden and potential features of
authoring tools hich ould alleviate this burden. !urther, our
approach to re#uirements analysis provides a methodology for
comparing multiple IVA architectures to better understand the
relative strengths and tradeoffs of different architectures, as ell as
the different authoring metaphors and behavioral idioms supported
by different architectures. )e report three case studies of IVA
architectures having different design philosophies, teams, and
levels of complexity as rigorous example test cases of our
methodology. +ur goal is to inform the creation of authoring tools
in similar architectures to enable the authoring of more robust
IVAs, to potentially identify common patterns of authoring
difficulty across architectures, and to provide a methodology for
more rigorous comparison of the strengths, eaknesses and
tradeoffs beteen different IVA architectures.
!"! Related 'or(
(he authors* are not aare of any other ork that documents and
analy5es the processes of different IVA authoring approaches over
a common scenario. In .--/, !ati>A and A67, to target
architectures of our case studies described belo, ere compared
regarding their expressiveness for modeling conflict beteen
characters. )hile related, this ork focused on the output of the
to architectures, rather than their authoring processes. Even
though the content matter of the tools as different, Felson and
>ateas* iterative case studies regarding video game design support
tools provided a compelling example for our IVA architecture
authoring analysis .-B/. )e ere able to build up a methodology
and test it ith our sub=ects through tight collaboration, hich e
feel as key to our success.
)e have implicitly narroed our definition of authors to
programmer$authors in this paper& the designers ith an authorial
vision ho have enough technical knoledge to build or use
complicated or technical authoring tools. )e ould like to support
less tech$savvy authors in the future, for hich the list of authoring
issues identified by 'pierling and '5ilas .,-/ also provides a useful
starting point. (he process of defining the ''' and tools
supporting it involved iterative discussions ith our intended
authors in order to Gmake tools that better match the concepts and
practices of .our/ media designers and content creatorsH .,-/.
+ne of the clearest cases of authoring tool effectiveness as
demonstrated by Farratoria, a tool suite that enables non$technical
experts familiar ith digital media to create interactive narratives
.,9/. Farratoria is comprised primarily of three separate tools0
story graph, script, and timeline editors all linked ith collective
underlying data structures. )hile the interaction ith the created
agents as minimal, the addition of the Farratoria tool suite to the
agent authoring process reduced the time spent authoring beteen
to similar pro=ects by half. Farratoria*s divide-and-conuer
approach to authoring tool design, creating each sub$tool ith
familiar vocabulary and tropes of its specific genre to better
support speciali5ed authors, informed our conceptuali5ation of the
'''.
AI@aint, a behavior tree authoring tool, gains its authoring poer
by limiting the behavioral domain to spatial reasoning .-/. In our
case studies, e focused on the authoring of social behavior, as
such behavior is characteristic of many IVA applications. 1ifferent
metaphors and conventions ill need to be supported for social
behavior than for the spatial behavior supported by AI@aint.
!inally, as AI research progresses, commercial AI systems in
games also evolve using techni#ues from research to empoer their
systems. !or example, as the needed complexity of game agents
exceeded that hich can be readily authored by finite state machine
approaches, behavior trees .A/ arose as one of the dominant
commercial approaches to structuring and controlling intelligent
agents in games. (o of the architectures examined in our case
studies make use of reactive planning, hich is closely related to
behavior trees.
)" T*E S+STE,-S.ECI/IC STE.
)e acknoledge as a first$class authoring challenge that each IVA
architecture comes ith its on design philosophy, coding style,
and data structures. )hile e can all share the idea of an authoring
burden, ho this burden manifests in each system can be entirely
uni#ue. In order to begin alleviating the authoring burden for each
system, e need to identify the peculiarities of the authoring
burden in specific instances.
(he 'ystem$'pecific 'tep is our term for the parts of the authoring
process here broad discussion ends and, as the name suggests,
system$specific design constructs are used instead. Any aspect of
authoring that is driven by the commitments of a specific
architecture, including design constructs and design philosophy, is
part of the ''' of that system. Examples of hat an author may
need to do as part of the ''' include0 imagining ho an agent ill
traverse the behavior representation so as to iteratively author
interesting decision points, constructing hierarchical goals so that
an agent can plan its ay from the beginning to end of the scenario,
and figuring out ho an agent can express frustration if its body is
busy doing other actions. Figure 1 shos a graphical
representation of the boundaries of the '''s using this paperI three
case studies as examples, including a fe of each systemIs uni#ue
primitives and tasks.
)"! T0e SSS Conception
)e conducted a series of informal intervies ith : institutions
across the globe to help understand ho different institutions
making use of different architectures approached their personal
IVA authoring challenges. In addition to the six local A67 authors
and the authors of this paper, e surveyed members of "AI@'
.-?/, CA1IA .,8/, and C(A( .,,/ to explore different approaches
and purposes for authoring, anecdotes of successes and failures of
particular authoring tools, and techni#ues for visuali5ation. +ur
findings helped us propose the idea of the 'ystem$'pecific 'tep to
capture the architecture$specific phases of the authoring process,
and led us to the methodology of using in$depth case studies to
inform the design of authoring tools.
/igure !" Illustrates t0e boundaries of an arc0itecture1s SSS
)") T0e SSS ,et0odolog
In order to find a specific system*s point of divergence from shared
authoring concepts, e needed to run the architecture through an
authoring exercise. !or this paper, e designed a simple scenario,
described belo, for intermediate$expert authors to transform into
descriptive pseudocode for their on system, one step removed
from actually programming the scenario. (hese intermediate$expert
authors ere accompanied by an analyst ho as not an expert in
the architecture, hich forced the intermediate$expert to elaborate
and make explicit every step of their authoring process.
(he authoring team then translated their ork into a rigorous
process map, here the analyst rote the map (confirming their
understanding) and the intermediate$expert validated and expanded
it as necessary. @rocess mapping involves creating a visual
representation of a procedure similar to a flo chart, making
explicit Gthe means by hich ork gets doneH .-8/. 1etails of each
step (and possible sub$steps) in the process ere recorded, such as
the duration of each step, other people involved, and possible
authoring bottlenecks. (he goal of this process map is to make as
much of the authoring process as explicit as possible for analysis.
In the folloing case studies, conclusions dran from the process
maps of each team are enumerated as SSS !omponents.
)e found this process not only helpful, but necessary to discover
actionable means by hich to improve the authoring experience for
the re#uirements analysis (as the Authoring 'upport 'trategies
sections of the case studies ill elaborate). It is important to note
that it may take multiple of these sessions ith the same author
(and possibly multiple process maps) to obtain the full authoring
process ith sufficient detail for analysis. !or example, one early
process map made ith an A67 author as very high$level,
focusing on the interconnection ith other teams and the bottleneck
this caused. (he analyst had to return to the A67 author for
another session aimed at creating a ne process map through the
expansion of a single node in the first process map.
2" T*E SCE#ARI$
(he scenario e chose is a simplified version of the G7ost
InterpreterH scenario recently completed and demoed by the
I>>E3'E group in A67 .,;/. It involves the player as an armed
soldier in an occupied territory searching for their lost interpreter
via a photograph in their possession. (he player must sho the
image to a cooperative local civilian, ho ill then recogni5e the
person in the photograph and point the player in the direction of the
interpreter. +nce the player knos the location, the scenario is
successfully completed. (he uncooperative civilian ill not
respond to the player*s pleas for help, and if the player is rude or
breaks social norms .?/, the F@Cs (Fon$@layer Characters) ill
leave and the scenario ill end unsuccessfully.
)e chose this scenario because it exercises a ide range of
capabilities of interactive characters0 player involvement, multiple
F@Cs ith different attitudes, a physical ob=ect, communication
beteen F@C and @C, and multiple outcomes. (he scenario as
also simple enough that each team as able to reach a pseudocode
state of completion in a reasonable amount of time (-$8 hours).
)hile the original I>>E3'E scenario re#uired non$verbal
communication via gesture recognition, e did not enforce that
modality on other systems. (he specifications of the scenario ere
designed to be loose enough to allo each system to encode the
scenario to their system*s advantages ithout demanding
extraneous features that all systems may not possess.
3" CASE ST%DIES
)e studied the folloing three programmer$author teams of one,
to, and five intervie participants respectively (although there are
more developers on each team). Each architecture made use of a
different design philosophy, hich ill become apparent in the
discussion of their individual '''. (he folloing case studies are
listed in order of increasing complexity of the architectures. Each
of the case studies provides a description of the authoring process
associated ith the architecture, a list of the ''' components
abstracted from the authoring description, and a description of
authoring support strategies that could reduce the authoring burden
of the particular '''.
3"! Case Stud !4 B$D using .$S*
6ryson et. al. ascribe to a particular behavior authoring
methodology entitled 6ehavior$+riented 1esign .:/, an approach
that combines +b=ect +riented 1esign and 6ehavior$6ased AI .9/.
6ryson et al. use 6+1 and their action selection mechanism, the
@+'% (@arallel$rooted, +rdered 'lip$stack %ierarchical) planner as
their architecture and development process because it focuses on
simplicity and iteration, offering a lo barrier to entry for novice
authors. (his case study encoded the 7ost Interpreter scenario in
the least amount of time.
After the scenario as defined, a programmer and designer orked
together to create a list of abstract behaviors that need to be
performed. It is important to note that the 6+1 designer (as
distinct from the programmer) ill never need to encounter
anything more complicated than graphical interfaces in their
authoring interactions, alloing the designer and programmer to be
the most independent of the three case studies (although they may
be the same person in some pro=ects). (he separation of these to
roles is part of the design philosophy of 6+1. In our case study the
abstract behavior list included seven actions0 a greeting4goodbye to
mark the beginning and end of the interaction, accepting,
examining, returning an item, ignoring the player (for the
uncooperative agent), and telling information. (he second step as
to build hat is ultimately a list of procedure signatures for the
programmer, determining hich of these behavior elements need to
be represented as actions and sensors, as ell as an idle state
should all else fail .</.
(he programmer then coded the actions and sensors as functions to
create the building blocks of the dynamic plan. In parallel, the
designer used the primitives (actions and sensors) created by the
programmer to design the behavior tree using A6+1EJ, a
graphical design tool for @+'% plans. Figure " shos the
6+14@+'% process map for the tasks of the designer and
programmer.
/igure )4 A 0ig0-le5el representation of B$D6.$S*1s process
map including some defined sample primiti5es
4.1.1 SSS !omponents
4.1.1.1 Start #inimally
Even though our scenario as relatively simple, it as important to
begin ith a minimal number of behaviors, actions, and sensors to
create a orking vertical slice. (he scenario began ith only four
primitives in the first version of the dynamic plan.
4.1.1." Decompose $teratively
A key feature of the 6+1 authoring methodology is its agility& not
only can programmers iteratively tackle the stubs created in the
previous Component, but the designer and programmers freely
move beteen phases of the design process to build up missing
primitives that ere not in the minimal first list. In our case study,
the programmer as creating idle and item$handling primitives
hile the designer reali5ed they had not accounted for the norm$
offense response.
4.1.1.% #inimi&e and 'ncapsulate
)hile not a part of this scenario, an experienced 6+14@+'%
designer knos that if more than three sensors are needed to trigger
a competence, the logic held ithin the tree is getting too complex.
(he designer should flag the programmer to offload the logic from
the tree onto a ne sensor, simplifying the logic (and thus
computational resources) controlled by the tree. Fot folloing this
rule of thumb is a common mistake most novice 6+14@+'%
authors make, resulting in a tangled mess of restricting sensors that
is difficult to debug and behavior libraries limited to a narro
subset of scenarios. (his last ''' Component is the most uni#ue,
as all behaviors (hich contain the ma=ority of the complexity) are
only triggered by the tree rather than contained ithin the tree.
4.1." Authoring Support Strategies
(he 6+14@+'% case study is uni#ue in that it is the only system
e studied ith an explicit authoring approach as ell as a
graphical design tool (A6+1EJ). (his makes it easy for novice
authors to create simple agents, but authoring and maintaining
complex agents creates challenges in need of more robust tools.
(hus, the focus of our authoring support strategies ill primarily
address ''' Component 9.-.-.8, as the first to are ell$
supported via the 6+1 methodology and the current architecture.
(here is no standardi5ed method for testing and debugging in
6+14@+'%, a problem that all the other architectures in this paper
also share. 'upport for syntax checking and live behavior
debugging ould shorten the programmer*s development cycle
considerably hile iterating on more challenging behaviors ('''
Component 9.-.-.,). >ost crucial, hoever, is a mechanism to
facilitate better behavior sharing and reuse beteen and ithin
pro=ects. (he larger a 6+14@+'% behavior library is, the more
likely that novice users tend to develop their on library instead of
reusing existing components. (he challenge ith three or more
sensors triggering a behavior, discussed above in ''' Component
9.-.-.8, is one example of an authoring lesson that needs to be
encoded in the graphical design tool to help authors build more
reusable behaviors. A ne module that manages past similar
encapsulated behavior libraries, and prompts users to submit their
ne simplified behaviors for future reuse, ould also increase the
reuse and poer of 6+1 and @+'% enormously.
3") Case Stud )4 /Ati,A
!Ati>A .B/ is a multiagent architecture in hich each agent has an
emotional state and plans future actions to achieve a specific goal.
"oals can be eighted according to their relative importance.
1ifferent characters can have separate personality files in hich
these eights are defined. Authoring in !Ati>A is done by editing
several separate K>7 files. )hen presented ith the re#uirements
of the the 7ost Interpreter scenario, !Ati>A authors started by
considering the motivations of the F@Cs. 'ince the behaviors of
agents in !Ati>A are goal driven, it as proposed that F@C*s in
this scenario must have the explicit goal of helping the player. A
possible example of such a goal is shon in !ode 1 ith the goal
(elp.
Additionally, there needed to be a motivation not to help, in order
to model the uncooperative F@CIs behavior. (he authors chose for
the uncooperative F@C to have the goal of avoiding harm from the
armed player (let it be called )rotectSelf). !or this second goal to
be useful, there must be an F@C action that is helpful to the player,
but at the same time might put it in harms ay. !or instance, the
F@C might consider the possibility of being harmed hen taking
the picture from the player. If the agent considers a plan involving
possibly being harmed, then it ill feel a !ear emotion. (he authors
then continued to define actions that the agents can take along the
path of reaching the help goal, such as actually taking the photo,
examining it, or speaking.
4.".1 SSS !omponents
)e ere lucky in this case study to consult ith a second !Ati>A
authoring team after iteratively discovering the ''' Components
ith the first team. (heir responses have been included in the
folloing sections alongside those of the first !Ati>A scenario
authoring team.
4.".1.1 Goals First
!Ati>A*s goal primitives must be defined first, ith the necessary
actions being derived from them. (his is driven by !Ati>A*s
dependence on goals for the cognitive appraisal emotion model to
ork. !or each branching strategy that the agent could take (e.g.
respond to re#uest or not respond), there needed to be a motivation,
hence a driving goal. (he second !Ati>A team orked ith goals
and actions simultaneously, hich as inconsistent ith the first
team. @art of the second team*s reasoning as that, ith the
appropriate set of actions, the agent should be able to deal ith a
ide range of situations, and thus goals. )e speculate this different
approach may be caused by the disparity beteen the author
experience and scenario complexity beteen the to teams (the
second team had more experience and a less demanding scenario).
4.".1." Find Decision )oints
)e noticed that the authors divided the scenario into sections
hose boundaries corresponded to moments in hich the civilians
had to make a decision. As every decision point must also be
motivated by a goal, it helped to author the previous '''
Component as ell. Authors also found that temporal ordering of
decisions could be enforced by creating goal preconditions that
referenced recent events. (he second !Ati>A team agreed ith
this analysis. (heir modeled scenarios ere re#uired to go through
se#uential phases, due to pedagogical ob=ectives. (hinking of the
decision point se#uences helped define their goals.
4.".1.% Goal *eighting and +uning
(he cooperative and uncooperative civilians in the scenario chose
to take different actions hen deciding to help by having different
numerical eights for the (elp and )rotectSelf goals. 6y giving
more importance to a particular goal in the character*s personality
file, the intervieed authors made sure each agent made the
appropriate decision at the decision points. It is these goal eights
that completely control ho different agents take different paths
throughout the performance, hich supports previous comments by
!Ati>A authors (including the second !Ati>A team) that eight
tuning is by far the most time$consuming process of complex
!Ati>A authoring .,/.
4.".1.4 $ntent Goals for Future !onseuences
)hile not part of this particular authoring scenario, e did
encounter a useful authoring anecdote that sparked discussion of
this additional !Ati>A '''. "oals have to types0 Active @ursuit
and Intent. !or Active @ursuit goals, the agent actually creates
plans to achieve them. Intent goals define constraints that the agent
should try to maintain as it pursues Active @ursuit goals. In the
process of researching .--/, "omes created to Active @ursuit
goals that an agent simultaneously tried to achieve. %oever,
"omes learned from an expert !Ati>A author that !Ati>A could
not handle more than one Active @ursuit goal at a time and had to
re$rite his entire goal structure. (he second !Ati>A team did not
agree that this as an important part of their process, as their
authors reported easily choosing beteen Active @ursuit and Intent
goals.
4."." Authoring Support Strategies
)e propose authoring support strategies for the to '''
Components that ere supported by both teams0 9.,.-., and
9.,.-.8. !or ''' Component 9.,.-.,, e proposed an interface
here authors could create example se#uences of events
schematically. Afterards, the tool ould prompt the user hen a
given agent as faced ith a decision. (he author ould then
create the corresponding goals (and possibly actions) that ould
motivate different strategies.
All three case studies have points in their authoring here #uick
iteration of different scenarios ould be incredibly helpful in
speeding up the authoring process. !Ati>A exhibits the most
obvious case, as all of its content ad=ustments can be narroed to
values in a fe specific files. (he authors speculated launching
multiple simultaneous configurations of a scenario ith !Ati>A
agents encoded ith different personality eights (possibly in real$
time), choosing the best version, and iteratively repeating to tune
the eights.
3"2 Case Stud 24 AB7
A67 as designed ith a focus on the creation of expressive IVAs
and provides a feature$full reactive planning language for
structuring and creating them ith a high degree of interactivity
.-A/. (he primary structure primitive in A67 is the behavior,
hich can subgoal other behaviors in se#uence or in parallel and
contains preconditions that gate hether or not it can currently be
executed. (he Active 6ehavior (ree (A6() encodes the current
intention structure of the agent, ith the leaves of the tree as
potential executable steps. )orking >emory Elements ()>Es)
hold information intended to be shared throughout the A6(, such
as hether an F@C is holding an item. It is important to note that
all the intervieed A67 sub=ects are involved ith the in$progress
I>>E3'E pro=ect& e ill take care to delineate A67 language$
specific and I>>E3'E pro=ect$specific constructions in this
section.
(he A67 authors approached the scenario by first creating a list of
abstract behaviors hich ere stubbed into the A6( in a rough
se#uential structure. At a high level, the authors each tackled a
specific behavior and orked iteratively ith each other to bring it
to completion. A67 authors thus also employ the ''' Components
9.-.-.- and 9.-.-., described above, and so they ill not be
restated. %oever, the details of the iterative steps for A67 hold
rich opportunities for further ''' Components.
Consider the example giveLob=ect() behavior for a character to
hand an ob=ect to another character0
(he behavior in !ode " illustrates the basic behavior structure that
authors of abstract behaviors must address0
+he conte,t of ho- the .ehavior -ill .e triggered0 in this
scenario, the author knos that giveLob=ect() ill be triggered in
response to a re#uestLob=ect() behavior or it ill be accepted
unconditionally. It contains no logic for having the offered ob=ect
re=ected. (his behavior also only handles removing the ob=ect from
the character*s hand, and assumes another behavior handles the
ob=ect*s fate.
/elevant signals and *#'s0 (he previous behavior as
authored assuming that the character@hysical)>E contains
locational information, that there is a social'ignal)>E ready to
handle socialInterpretationExtend%and, and that there are
constants such as the cExchange+b=ect1istance previously defined
and calibrated for the orld. If any of these are lacking, or the
author does not kno about them, the author must search the
existing code or create them.
',pected animations0 %ead tracking, eye ga5e, and holding out
the offered ob=ect are the animations used in this behavior. (he
logic behind procedurally animating them is handled elsehere, and
if it ere not, the author ould have to create it.
)ossi.le $nterruptions0 (he most challenging and crucial step
to making these behaviors robust is handling interruptions, hich
the above behavior fails to do. In the successLtest, if the F@C never
acknoledges the social'ignal or the player never comes in range,
the F@C ill hold their hand out forever. If a timeout as added to
holding out their hand, hat should the F@C do about the
unre#uited ob=ect offering, and ho should the lost
re#uestLob=ect() context be handledM (hese are all considerations
the author must address hen making behaviors robust.
4.%.1 SSS !omponents
4.%.1.1 Define !oding $dioms
Nnlike 6+14@+'% and !Ati>A, hich make strong architectural
commitments to specific agent authoring idioms, A67 is a more
general reactive planning language, ithin hich many different
idioms can be implemented. 6efore novice and intermediate
programmers can make progress, generally an expert A67
programmer must first define the coding idioms used to structure
the agent (see .,:/ for examples of A67 idioms). (hese idioms
define approaches for organi5ing clusters of behaviors to achieve
goals. !or the I>>E3'E pro=ect, an idiom called 'ocial
Interaction Nnits ('INs) has been developed to organi5e clusters of
behaviors around goals to achieve specific social interactions. (he
A67 authors intervieed all approached the G7ost InterpreterH task
using the 'IN idiom.
4.%.1." 0)! and )layer !onsiderations
Although e can see that the example behavior above, as ell as
the architecture, is separated from a particular implementation, the
code must intimately consider implementation details. (here is an
enormous amount of state information and A6( possibilities the
author must personally maintain regarding ho the behavior ill
be triggered in the performance, hether F@C or @C characters ill
be performing or responding to the behavior, and hat supportive
information must be stored in orking memory. 6+14@+'% and
!Ati>A offload much of this complexity into the actions
Table !4 A summar of SSS Components described t0roug0out t0e paper
'ection O Fame 'ummary 'ystems Authoring 'upport
9.-.-.- 'tart >inimally %aving a orking vertical slice early gives programmers
and designers a good overvie of the scenario structure
6+14
@+'%,
A67
Current A6+1EJ graphical design
tool is sufficient
9.-.-., 1ecompose
Iteratively
!illing in the stubs iteratively gives designers and
programmers freedom to ad=ust the structure ithout
getting in each otherIs ay
6+14
@+'%,
A67
Current A6+1EJ graphical design
tool is sufficient
9.-.-.8 >inimi5e and
Encapsulate
(he 6+14@+'% tree relies on simple logic to execute
#uickly, so complex sensory preconditions should be
offloaded to behaviors
6+14
@+'%
A module that manages encapsulated
behaviors, keeping them simple and
proposing them to ne authors
9.,.-.- "oals !irst (he agentIs actions are driven by goals, so there must
alays be a goal structure
!Ati>A Combined ith ''' Component
9.,.-.,
9.,.-., !ind 1ecision
@oints
Fecessary scenario$defined decision points make sub$
goals more apparent to author
!Ati>A 'cenario event se#uencing tool ith
prompts for goals and actions at
decision points
9.,.-.8 "oal )eighting
and (uning
AgentIs different behaviors are driven by different
eights, hich is a huge time sink to debug
!Ati>A @arallel execution and real$time
ad=ustment4comparison of values
9.,.-.9 Intent "oals for
!uture
Conse#uences
7anguage$specific limitations, such as only having one
active goal at a time, hinder novice$intermediate authors
!Ati>A 6etter documentation
9.8.-.- 1efine Coding
Idioms
As A67 is its on language, an author must have a
strong understanding of their chosen idioms
A67 (oo advanced for a tool to offer much
help
9.8.-., F@C and @layer
Considerations
An author must conceptuali5e roles, the contents of the
orking memory and A6(, and fine$grain performance
details hile building up their behaviors
A67 3evival of the A67 1ebugger through
modulari5ation0 offline code analysis
of behavior structures through idioms
9.8.-.8 Consider
Interruptions
Authors must try to robustify their behaviors against
interruptions and stalling, hich complicates the
previous ''' Element
A67 3evival of the A67 1ebugger through
modulari5ation0 offline code analysis
of behavior structures through idioms
implemented in the game engine, hile A67 keeps this complexity
ithin the decision$making process of the agent.
4.%.1.% !onsider $nterruptions
In the A67 scenario, if the system detects the player offering the
photo, it ill trigger the series of A67 behaviors by the
cooperative F@C0 takeLob=ect(photo), examineLob=ect(photo), and
pointLto(interpreter). If the system detects the player re#uesting the
photo back any time after examineLob=ect(photo), this ill trigger
the F@C to give back the photo regardless if it is in the middle of
another behavior such as pointing. !rom a designer*s perspective,
it is perfectly logical that someone may return the photo ith one
hand and point ith another. %oever, the author of pointLto()
must account for the fact that the behavior may have to multitask
ith other behaviors to dynamically decide hich hand to use. If
the synchroni5ation of those behaviors is not done properly, the
animation of the IVA ill contain artifacts hich are not appealing.
4.%." Authoring Support Strategies
)e discussed A67*s ''' ith novice, intermediate, and expert
authors of the A67 language, and their processes all shared the
same structure described in detail above. %oever, novices and
early intermediate authors needed to reference experts to
understand that the above considerations existed, and here to look
for them in the code or ho to create aspects of them if they ere
missing. +nce example behaviors have been created, authors
routinely copy$paste and adapt existing code. A67 meta$behaviors,
an advanced language feature, could help alleviate this process, but
they ere not utili5ed by any of our authors.
Fovice$intermediate A67 authors ork ithin previously
established idioms, such as I>>E3'E*s 'INs. >aking tools to
support the design of ne idioms in regard to ''' Component
9.8.-.- is not ithin the scope of this approach, as e have been
focusing primarily on novice$intermediate authoring tool support.
In contrast to the visual representation of 6+14@+'%*s dynamic
plan, the Active 6ehavior (ree (A6() in A67 is in a constant flux,
making it hard to visuali5e. Currently, A67 authors use debug log
print statements of the current system state and trial$and$error
experiments to understand A6( dynamics. 'upport for more
sophisticated debugging techni#ues does exist in the form of an
A67 debugger (a process that executes alongside an agent at
runtime), but none of the A67 authors choose to use it. (he current
A67 debugger contains too many usage barriers to ascertain if it is
technically useful in helping visuali5e ''' Components ix and x.
+ur current plan for overcoming these usage barriers include a
graphical A6( representation that allos for parallel vieing of
dis=oint parts of the tree, saving tree snapshots, and saving vieing
locations for repeated tests. )e also have plans to analy5e A67
code structure offline through an I1E plugin, and an A6( pattern
recognition algorithm to alert authors to missing behavior cases
(F@C vs. @C implementations), unused behaviors, and other
structural indicators e have yet to find.
8" DISC%SSI$#
(he ''' Components that arose from the simplest case study,
6+14@+'%, ere high$level authoring guidelines that apply to
multiple architectures. 'pecifically, all three of 6+14@+'%*s
Components apply to A67 as ell, as they are more characteristic
of a hierarchical planning structure than of 6+14@+'%
specifically. +ther ''' Components, such as !Ati>A*s Goals
First (iv), are guided by !Ati>A*s planning$oriented cognitive$
appraisal architecture that is driven by explicit goals. (he A67
case study provides a level of complexity above the other to&
A67 is a general reactive planning language here many authoring
idioms may be designed, as ell as the only architecture in the case
studies ith a behavior tree that dynamically changes during
runtime.
>any intervieees ere resistant to the idea of specifying
implementation time (in number of hours), as it varied greatly
beteen each task. )e also found that the particular shape or
contents of any single process map asn*t as relevant as the
process of elucidation and reflection. (he goal of the process
mapping techni#ue is to tease out hat is general and hat is
system$specific about a given architecture. (he system$specific
information forms the core of re#uirements analyses and the
actionable plans found therein. +a.le 1 shos a summary and
consolidation of each teamIs analystIs best attempt at discovering
system$specific patterns of frustration and proposing solutions to
alleviate the problems.
Although the ''' concept contains the phrase G'ystem$'pecificH
in its name, e found that certain ''' Components are shared
beteen different systems, revealing common architectural tropes.
%oever, e did find common medium$level authoring challenges
that may be of use to other teams by abstracting ''' Components
of the case studies0 the need for (better) mechanisms for behavior
(or other architecture construct) sharing and reuse, live debugging,
and template structures for architecture constructs. )e hope that
the ''' Components defined in this paper not only help other
architectures discover their on ''' Components, but that the
other architectures can reuse the ''' Components and the
corresponding authoring support strategies e have outlined.
9" C$#C7%SI$#S
(his paper has proposed the ''' re#uirements methodology as a
means by hich programmer$authors may better understand their
IVA architecture*s authoring burden and make progress toard
alleviating that burden. (he methodology as born of intervies
conducted ith many disparate and independent groups performing
IVA authoring research. )e then performed case studies of three
teams authoring a single simple scenario here e process$mapped
their authoring process, extracted and elaborated their ''' and its
Components, and proposed authoring strategies that might alleviate
their authoring burdens. (he three teams found the ''' to be a
valuable tool in analy5ing their system, and each group plans on
implementing support for their authoring strategies.
:" ACK#$'7EDGE,E#TS
In no particular order0 >artin van Velsen, C(A(, Claudio @edica,
CA1IA, 'amuel >ascarenhas, "AI@', Andre 'tern, 1an
'hapiro, the I>>E3'E team, the AmonI group, >egan @ycroft,
and Perry 6ruce
;" RE/ERE#CES
.-/ 6ecroft, 1., 6assett, Q., >e=Ra, A., 3ich, C., S 'idner, C. 7.
,;--. AI@aint0 A 'ketch$6ased 6ehavior (ree Authoring
(ool. In A$$D' 111.
.,/ 6ernardini, '., S @orayska$@omsta, P. (,;-8). @lanning$
6ased 'ocial @artners for Children ith Autism. In )roc. of
the +-enty +hird $nternational !onference on Automated
)lanning and Scheduling 2$!A)S-1%3.
.8/ 6ickmore, (., 6ukhari, 7., Vardoulakis, 7. @., @aasche$+rlo,
>., S 'hanahan, C. (,;-,). %ospital buddy0 A persistent
emotional support companion agent for hospital patients. In
$ntelligent 4irtual Agents (pp. 9?,$9?:). 'pringer 6erlin
%eidelberg.
.9/ 6rooks, 3. A. (-?B<). A robust layered control system for a
mobile robot. /o.otics and Automation, $''' 5ournal of,
"(-), -9$,8.
.:/ 6ryson, Q. Q. (,;;-). $ntelligence .y design6 principles of
modularity and coordination for engineering comple,
adaptive agents (1octoral dissertation, >assachusetts
Institute of (echnology).
.</ 6ryson, Q. Q., S 'tein, 7. A. (,;;-). >odularity and design in
reactive intelligence. In $nternational 5oint !onference on
Artificial $ntelligence (Vol. -A, Fo. -, pp. ---:$--,;).
>organ Paufmann.
.A/ Champandard, A. Q. (,;;8). A$ game development6 Synthetic
creatures -ith learning and reactive .ehaviors. Fe 3iders.
.B/ 1ias, Q., >ascarenhas, '., S @aiva, A. (,;--). !atima
modular0 (oards an agent architecture ith a generic
appraisal frameork. In )roceedings of the $nternational
*or7shop on Standards for 'motion #odeling.
.?/ Evans, 3ichard (forthcoming). Computer >odels of 'ocial
@ractices. In Vincent >uller (ed.), Synthese 8i.rary6
)hilosophy and +heory of Artificial $ntelligence. 'ynthese.
.-;/ "audl, '., 1avies, '. and 6ryson, Q. Q., ,;-8. 6ehaviour
oriented design for real$time$strategy games0 An approach on
iterative development for '(A3C3A!( AI. $n0 Foundations
of Digital Games !onference "91% 2FDG "91%3.
!oundations of 1igital "ames, pp. -?B$,;:.
.--/ "omes, @., S Qhala, A. (,;-8). AI Authoring for Virtual
Characters in Conflict. In 0inth Artificial $ntelligence and
$nteractive Digital 'ntertainment !onference.
.-,/ "ratch, Q., )ang, F., "erten, Q., !ast, E., S 1uffy, 3. (,;;A).
Creating rapport ith virtual agents. In $ntelligent 4irtual
Agents (pp. -,:$-8B). 'pringer 6erlin %eidelberg.
.-8/ >adison, 1. (,;;:). )rocess mapping, process
improvement, and process management6 a practical guide
for enhancing -or7 and information flo-. @aton
@rofessional.
.-9/ >ascarenhas, '. !., 'ilva, A., @aiva, A., Aylett, 3., Pistler, !.,
AndrT, E., ... S Pappas, A. (,;-8, >ay). (raveller0 an
intercultural training system ith intelligent agents. In
)roceedings of the "91% international conference on
Autonomous agents and multi-agent systems (pp. -8BA$
-8BB).
.-:/ >ateas, >. (-???). An :&-centric revie- of interactive
drama and .elieva.le agents (pp. ,?A$8,B). 'pringer 6erlin
%eidelberg.
.-</ >ateas, >. (,;;8). Expressive AI0 "ames and Artificial
Intelligence. In D$G/A !onf..
.-A/ >ateas, >., S 'tern, A. (,;;,). A behavior language for
story$based believable agents. $''' $ntelligent Systems,
1;(9), 8?$9A.
.-B/ Felson, >. Q., S >ateas, >. (,;;?, April). A re#uirements
analysis for videogame design support tools. In )roceedings
of the 4th $nternational !onference on Foundations of
Digital Games (pp. -8A$-99). AC>.
.-?/ A. @aiva. "AI@'0 Intelligent agents and synthetic characters,
,;-9. http044gaips.inesc$id.pt4gaips4
.,;/ 'hapiro, 1., >cCoy, Q., "ro, A., 'amuel, 6., 'tern, A.,
'anson, 3., ... S >ateas, >. (,;-8). Creating @layable
'ocial Experiences through )hole$6ody Interaction ith
Virtual Characters. In 0inth Artificial $ntelligence and
$nteractive Digital 'ntertainment !onference.
.,-/ 'pierling, N., S '5ilas, F. (,;;?). Authoring issues beyond
tools. In $nteractive Storytelling (pp. :;$<-). 'pringer 6erlin
%eidelberg.
.,,/ Carnegie >ellon Nniversity. C(A(0 Cognitive (utor
Authoring (ools, ,;-9. http044ctat.pact.cs.cmu.edu4
.,8/ 3eyk=avik Nniversity. CA1IA0 Center for Analysis and
1esign of Intelligent Agents, ,;-9. http044cadia.ru.is4
.,9/ Van Velsen, >. (,;;B). Farratoria, an Authoring 'uite for
1igital Interactive Farrative. In F8A$/S !onference (pp.
8?9$8?:).
.,:/ )eber, 6. "., >ahorter, @., >ateas, >., S Qhala, A. (,;-;).
3eactive planning idioms for multi$scale game AI. In
!omputational $ntelligence and Games 2!$G3, "919 $'''
Symposium on (pp. --:$-,,). IEEE.