Constructing Complex NPC
Behavior via MultiObjective Neuroevolution
Jacob Schrum – schrum2@cs.utexas.edu
Risto Miikkulainen – risto@cs.utexas.edu
University of Texas at Austin
Department of Computer Sciences
Introduction
Goal: discover NPC behavior automatically
Benefits
Challenges
Save production time/effort
Learn counterintuitive behaviors
Find weaknesses in static scripts
Tailor behavior to human players
Games are complex
Multi-modal behavior is required
Success often depends on multiple objectives
RL & Evolution popular approaches
Current methods do not explicitly consider multiple objectives!
Multi-Objective Optimization
Exceptional performance in any objective is important
Imagine game with two
High health but did not deal much damage
objectives:
Damage Dealt
Health Remaining
Tradeoff between objectives
A dominates B iff A is
strictly better in one
objective and at least
as good in others
Population of points
not dominated are best:
Pareto Front
Dealt lot of damage,
but lost lots of health
NSGA-II
Evolution: natural approach for finding optimal population
Non-Dominated Sorting Genetic Algorithm II*
Population P with size N; Evaluate P
Use mutation to get P´ size N; Evaluate P´
Calculate non-dominated fronts of {P P´} size 2N
New population size N from highest fronts of {P P´}
*K. Deb et al. 2000
Neuroevolution
Genetic Algorithms + Artificial Neural Networks
NNs good at generating behavior
GA creates new nets, evaluates them
Three types of mutations (no crossover used)
Perturb Weight
Add Connection
Add Node
Battle Domain
15 NPCs
attack player
Player
Bat
Infinite Plane
NPC Fitness Objectives
NPCs have several goals
Inflict damage as a group → Attack Assist Bonus
Avoid damage individually → Damage Received
Stay alive individually → Time Alive
Objectives are contradictory and distinct
NPCs take damage from bat
Player is knocked back by NPC
Experiment
Multi-objective vs. Single-objective
Single-objective uses weighted sum of z-scores
Evolve each method against static player strategies
Spinning strategy
Alternating strategy
Chasing strategy
NPCs must beat
previous player
strategy to progress
Results
Differences for Alternating and Chasing significant with p < .05
Evolved NPC Behaviors
Single-Objective
Cannot find balance between
attack and defense
Behavior is ineffectual
Multi-Objective
Baiting Behavior
One agent acts as bait
Others attack player on blind side
Charging Behavior
Try to dodge bat while rushing in
Maximizes damage dealt
Discussion
Benefits
Multi-modal behavior
Exploits dynamics of
environment
Individuals can have different
behaviors
Future Work
Evolve against humans
Learn many behaviors in
advance
More complex games:
Unreal Tournament
Conclusion
Multi-objective encourages multi-modal behavior
Multi-objective better than single-objective
Deals with contradictory objectives
Leads to several different but effective solutions
Lead to multi-modal behavior in future games
Questions?
See movies at: http://nn.cs.utexas.edu/?multiNPCs
E-mail: schrum2@cs.utexas.edu