Autonomous Characters for Games and Animation Craig W. Reynolds Sony Computer Entertainment America...

Post on 19-Dec-2015

217 views 0 download

Tags:

transcript

Autonomous CharactersAutonomous Charactersfor Games and Animationfor Games and Animation

CraigCraig W. Reynolds W. ReynoldsSony Computer Entertainment AmericaSony Computer Entertainment America

May 1, 2000

Autonomous CharactersAutonomous Charactersfor Games and Animationfor Games and Animation Self-directingSelf-directing characters which operate autonomously characters which operate autonomously

("puppets that pull their own strings"("puppets that pull their own strings" -Ann Marion) -Ann Marion)

Applications in:Applications in: games and other interactive venuesgames and other interactive venues

animation for television and feature filmsanimation for television and feature films

History:History: first used experimentally in 1987first used experimentally in 1987

in wide commercial use todayin wide commercial use today

Autonomous CharactersAutonomous Characters Autonomous agents for simulated 3D worldsAutonomous agents for simulated 3D worlds

situatedsituated embodiedembodied

Intersection of several fieldsIntersection of several fields ethologyethology artificial lifeartificial life autonomous roboticsautonomous robotics dramatic charactersdramatic characters

Adjunct to physically-based modelingAdjunct to physically-based modeling dynamics versus volitiondynamics versus volition bouncing ball versus pursuing puppy bouncing ball versus pursuing puppy

Reactive BehaviorReactive Behavior Behavior driven by reaction to environmentBehavior driven by reaction to environment

both passive scenery and active charactersboth passive scenery and active characters

Simplifies complex animationSimplifies complex animation

many characters can be animated by a single many characters can be animated by a single behaviorbehavior

Allows user interactionAllows user interaction

improvisational style permits unscripted actionimprovisational style permits unscripted action

Creating Character BehaviorsCreating Character Behaviors By designBy design

programmingprogramming authoring authoring

(example: Motion Factory)(example: Motion Factory)

Through self-organizationThrough self-organization evolutionevolution and other forms of and other forms of machine learning:machine learning:

neural netsneural netsdecision treesdecision treesclassifier systemsclassifier systemssimulated annealingsimulated annealing

Ad hocAd hoc Behavioral Hierarchy Behavioral Hierarchy Action selectionAction selection

goals and strategiesgoals and strategies

Path selection / steeringPath selection / steering global motionglobal motion

Pose selection / locomotionPose selection / locomotion local motion (animation)local motion (animation)

Behavioral BlendingBehavioral Blending Discrete selectionDiscrete selection

One behavior at a timeOne behavior at a time

Behavioral blendingBehavioral blending

Summation / averagingSummation / averaging

Per "frame" selection (blend via inertia)Per "frame" selection (blend via inertia)

- First activeFirst active

- Stochastic (dithered) decision treeStochastic (dithered) decision tree

Behavioral AnimationBehavioral Animation

Behavioral AnimationBehavioral Animation Background actionBackground action

Autonomous charactersAutonomous characters

behavioral modelbehavioral model

graphical modelgraphical model

Improvised actionImprovised action

Behavioral Animation:Behavioral Animation:Group MotionGroup Motion IndividualIndividual

simple local behaviorsimple local behavior

interaction with:interaction with:

- nearby individualsnearby individuals

- local environmentlocal environment

Group:Group:

complex global behaviorcomplex global behavior

Behavioral Animation:Behavioral Animation:Examples of Group MotionExamples of Group Motion People People

crowds, mobs, passersbycrowds, mobs, passersby

Animal Animal

flocks, schools, herdsflocks, schools, herds

Vehicle Vehicle

traffictraffic

Applications of Behavioral Applications of Behavioral AnimationsAnimations 1987: 1987: Stanley and Stella in: Breaking the Ice, Stanley and Stella in: Breaking the Ice, (short)(short)Director: Larry Malone, Producer: Symbolics, Inc.Director: Larry Malone, Producer: Symbolics, Inc.

1988: 1988: BehaveBehave, (short), (short)Produced and directed by Rebecca AllenProduced and directed by Rebecca Allen

1989: 1989: The Little Death, The Little Death, (short)(short)Director: Matt Elson, Producer: Symbolics, Inc.Director: Matt Elson, Producer: Symbolics, Inc.

1992: 1992: Batman Returns, Batman Returns, (feature)(feature)Director: Tim Burton, Producer: Warner BrothersDirector: Tim Burton, Producer: Warner Brothers

1993: 1993: Cliffhanger, Cliffhanger, (feature)(feature)Director: Renny Harlin, Producer: Carolco.Director: Renny Harlin, Producer: Carolco.

1994: 1994: The Lion King, The Lion King, (feature)(feature)Director: Allers / Minkoff, Producer: Disney.Director: Allers / Minkoff, Producer: Disney.

Applications of Behavioral Applications of Behavioral AnimationsAnimations 1996: 1996: From Dusk Till Dawn, From Dusk Till Dawn, (feature)(feature)Director: Robert Rodriguez, Producer: MiramaxDirector: Robert Rodriguez, Producer: Miramax

1996: 1996: The Hunchback of Notre Dame, The Hunchback of Notre Dame, (feature)(feature)Director: Trousdale / Wise, Producer: Disney.Director: Trousdale / Wise, Producer: Disney.

1997: 1997: Hercules, Hercules, (feature)(feature)Director: Clements / Musker, Producer: Disney.Director: Clements / Musker, Producer: Disney.

1997: 1997: Spawn, Spawn, (feature)(feature)Director: DippDirector: Dipp₫₫, Producer: Disney., Producer: Disney.

1997: 1997: Starship Troopers, Starship Troopers, (feature)(feature)Director: Verhoeven, Producer: Tristar Pictures.Director: Verhoeven, Producer: Tristar Pictures.

1998: 1998: Mulan, Mulan, (feature)(feature)Director: Bancroft/Cook, Producer: Disney.Director: Bancroft/Cook, Producer: Disney.

Applications of Behavioral Applications of Behavioral AnimationsAnimations 1998: 1998: Antz, Antz, (feature)(feature)Director: Darnell/Guterman/Johnson, Producer: DreamWorks/PDI.Director: Darnell/Guterman/Johnson, Producer: DreamWorks/PDI.

1998: 1998: A Bugs Life, A Bugs Life, (feature)(feature)Director: Lasseter/Stanton, Producer: Disney/Pixar.Director: Lasseter/Stanton, Producer: Disney/Pixar.

1998: 1998: The Prince of Egypt, The Prince of Egypt, (feature)(feature)Director: Chapman/Hickner/Wells, Producer: DreamWorks.Director: Chapman/Hickner/Wells, Producer: DreamWorks.

1999: 1999: Star Wars: Episode I--Star Wars: Episode I--The Phantom MenaceThe Phantom Menace, , (feature)(feature)Director: Lucas, Producer: Lucasfilm. Director: Lucas, Producer: Lucasfilm.

2000: 2000: Lord of the Rings: Lord of the Rings: the Fellowship of the Ringthe Fellowship of the Ring (feature) (feature)Director: Jackson, Producer: New Line Cinema.Director: Jackson, Producer: New Line Cinema.

Steering BehaviorsSteering Behaviors

Steering BehaviorsSteering Behaviors seek or flee from a locationseek or flee from a location

pursuit and evasionpursuit and evasion

arrival (position / velocity / time constraints)arrival (position / velocity / time constraints)

obstacle avoidance / containmentobstacle avoidance / containment

path / wall / flow field followingpath / wall / flow field following

group behaviorsgroup behaviors

unaligned collision avoidanceunaligned collision avoidance

Leader followingLeader following

flocking (three components)flocking (three components)

Steering BehaviorsSteering Behaviors

steering behavior demossteering behavior demos

BoidsBoids

Boid Flocking Boid Flocking (three component steering behaviors)(three component steering behaviors)

SeparationSeparation

steer to move away from nearby flockmatessteer to move away from nearby flockmates

AlignmentAlignment

steer toward average heading of nearby flockmates steer toward average heading of nearby flockmates (accelerate to match average velocity of nearby flockmates)(accelerate to match average velocity of nearby flockmates)

CohesionCohesion

steer towards average position of nearby flockmatessteer towards average position of nearby flockmates

Boids:Boids:SeparationSeparation

Boids:Boids:AlignmentAlignment

Boids:Boids:AggregationAggregation

Boids Boids (full behavioral model)(full behavioral model)

Obstacle avoidanceObstacle avoidance

FlockingFlocking

separationseparation

alignmentalignment

cohesioncohesion

Migratory (attraction / repulsion)Migratory (attraction / repulsion)

Boids Web PageBoids Web Page

http://www.red.com/cwr/boids.htmlhttp://www.red.com/cwr/boids.html

Boids VideoBoids Video

boids video...boids video...

Boids Boids (real time (60Hz) and interactive)(real time (60Hz) and interactive)

Evolution of BehaviorEvolution of Behavior

Evolution of BehaviorEvolution of Behavior Agent in simulated worldAgent in simulated world

Evolution of Evolution of

behavioral controllerbehavioral controller

agent morphology agent morphology (see Sims SIGGRAPH 94)(see Sims SIGGRAPH 94)

Fitness based on agentFitness based on agent’’s performances performance

objective fitness metricobjective fitness metric

competitive fitnesscompetitive fitness

Corridor FollowingCorridor Following

Evolution of Corridor Following Evolution of Corridor Following Behavior in a Noisy WorldBehavior in a Noisy World Evolve controller for abstract vehicleEvolve controller for abstract vehicle

Task: corridor followingTask: corridor following

noisy range sensorsnoisy range sensors

noisy steering mechanismnoisy steering mechanism

Evolution of sensor morphologyEvolution of sensor morphology

Corridor Following: goalCorridor Following: goal

Corridor following: fitnessCorridor following: fitness

Corridor Following: ResultsCorridor Following: Results Works wellWorks well

Difficulty strongly related to the representation usedDifficulty strongly related to the representation used

"Competent" controllers easy to find"Competent" controllers easy to find

Reliability of controllers is difficult to measureReliability of controllers is difficult to measure

Coevolution of Tag PlayersCoevolution of Tag Players

Coevolution of Tag PlayersCoevolution of Tag Players The game of tagThe game of tag

symmetrical pursuit and evasionsymmetrical pursuit and evasion role reversalrole reversal

Goal: discover steering behavior for tagGoal: discover steering behavior for tag

Method: emergence of behaviorMethod: emergence of behavior coevolutioncoevolution competitive fitnesscompetitive fitness

Self-organization: no expert knowledge requiredSelf-organization: no expert knowledge required

Competition, Coevolution and Competition, Coevolution and the Game of Tag the Game of Tag (ALife IV, 1994)(ALife IV, 1994)

Coevolution of Taggers Coevolution of Taggers RevisitedRevisited December 1999 to presentDecember 1999 to present

Similar to 1994 work, but:Similar to 1994 work, but:

longer games longer games (25(25®®150)150)

steering angle limitssteering angle limits

obstacles and sensorsobstacles and sensors

demes and speciesdemes and species

improved performanceimproved performance

(faster computers, compilation of evolved programs)(faster computers, compilation of evolved programs)

Evolved Taggers: Evolved Taggers: Obstacles and SensorsObstacles and Sensors

Evolved TaggersEvolved TaggersDemes and SpeciesDemes and Species

Species

Deme

migration

competition

Evolved Taggers:Evolved Taggers:Quality of play over timeQuality of play over time

Evolved Taggers:Evolved Taggers:Handmade program in the openHandmade program in the open

Evolved Taggers:Evolved Taggers:Handmade among obstaclesHandmade among obstacles

Evolved Taggers:Evolved Taggers:Typical competitive fitness testTypical competitive fitness test

Evolved Taggers:Evolved Taggers:Typical competitive fitness test Typical competitive fitness test

Coevolution of Tag Players: Coevolution of Tag Players: ResultsResults It works! It works! (after a lot of tweaking)(after a lot of tweaking)

An ecology of competing behaviors did ariseAn ecology of competing behaviors did arise

Originally, evolved behaviors had been sub-optimalOriginally, evolved behaviors had been sub-optimal

(perhaps do to c(perhaps do to collusion:ollusion: "live and let live") "live and let live")

Finally (after demes, species, and harsh penalties) the Finally (after demes, species, and harsh penalties) the evolved tag players have exceeded the quality of play evolved tag players have exceeded the quality of play of my hand-crafted player.of my hand-crafted player.

ConclusionConclusion Autonomous characters:Autonomous characters:

add richness and complexity to virtual worldsadd richness and complexity to virtual worlds automate creation of groups and crowd scenesautomate creation of groups and crowd scenes allow life-like improvisational actionallow life-like improvisational action can react to unanticipated situations, like user inputcan react to unanticipated situations, like user input

Games and animation provide many applications of, Games and animation provide many applications of, testbeds for, and problems to be solved by research testbeds for, and problems to be solved by research in:in: artificial lifeartificial life artificial intelligenceartificial intelligence evolutionary computation evolutionary computation and other biologically-inspired methodsand other biologically-inspired methods

Slides temporarily removedSlides temporarily removed

Slides temporarily removedSlides temporarily removed

Applications of Applications of Autonomous CharactersAutonomous Characters Behavioral animation Behavioral animation (film and television)(film and television)

coordinated group motioncoordinated group motion extras / background actionextras / background action

Interactive multimedia Interactive multimedia (games / virtual reality)(games / virtual reality) opponents and alliesopponents and allies background charactersbackground characters

Autonomous roboticsAutonomous robotics search / exploration / mappingsearch / exploration / mapping prototyping for evolutionary roboticsprototyping for evolutionary robotics

Theoretical biologyTheoretical biology testing theories of emergent natural behaviortesting theories of emergent natural behavior

Combining Simultaneous Combining Simultaneous BehaviorsBehaviors CombinationCombination

discrete selectiondiscrete selection

behavioral blendingbehavioral blending

Low priority behavior should not be:Low priority behavior should not be:

completely locked outcompletely locked out

allowed to contradict (and perhaps cancel out) a allowed to contradict (and perhaps cancel out) a higher priority behaviorhigher priority behavior

Autonomous Character Autonomous Character Case StudiesCase Studies Hand programmedHand programmed

steering behavior librarysteering behavior library boidsboids hockey playershockey players

EvolutionEvolution

corridor following corridor following tag playerstag players

Steering-BasedSteering-BasedHockey SimulationHockey Simulation

Basic Hockey PlayerBasic Hockey Player Physical modelPhysical model

point masspoint mass limited force and velocitylimited force and velocity collision modeling (as cylinder)collision modeling (as cylinder)

Awareness ofAwareness of position and velocity of players and puckposition and velocity of players and puck position of rink and markingsposition of rink and markings

Behaviors:Behaviors: avoid rink walls and goal netsavoid rink walls and goal nets chase loose puck, skate towards locationchase loose puck, skate towards location

Assigned roleAssigned role(f(forward, wing, defenseman, goalie)orward, wing, defenseman, goalie)

Hockey Hockey Role Role ModelModel DefensemanDefenseman

if you have the puckif you have the puck

if your teammate has the puck...if your teammate has the puck...

if puck is within your zone:if puck is within your zone:- discourage shot on goal- discourage shot on goal- discourage pass to opponent- discourage pass to opponent- don- dont crowd goaliet crowd goalie

do basic hockey play stuffdo basic hockey play stuff

Hockey DemoHockey Demo

hockey demohockey demo

Corridor Following: Corridor Following: Experimental DesignExperimental Design Vehicle modelVehicle model

constant speed constant speed limited steering anglelimited steering angle noisy sensors (arbitrary number & direction)noisy sensors (arbitrary number & direction) noisy steering mechanismnoisy steering mechanism

Genetic ProgrammingGenetic Programming hybrid steady-state modelhybrid steady-state model worst of four noisy trialsworst of four noisy trials population: 2000population: 2000 size limit for evolved programs: 50size limit for evolved programs: 50