Botprize 2010 Jacob Schrum, Igor Karpov, and Risto Miikkulainen

Slides:



Advertisements
Similar presentations
A New World Or People Keep Telling Me This is Ambitious By Jeremiah Lewis.
Advertisements

AI Pathfinding Representing the Search Space
RL for Large State Spaces: Value Function Approximation
Constructing Complex NPC Behavior via Multi- Objective Neuroevolution Jacob Schrum – Risto Miikkulainen –
Stopping cheaters since By: Tigran Gasparian.
Data Mining Classification: Alternative Techniques
Improving Gameplay: Characterising Differences between NPCs & Human Players Jennifer Sandercock.
Half life 2/ Counter Strike: Source bot Charlie Cross CIS
CSE 380 – Computer Game Programming Pathfinding AI
CS AI Practicum Fall Robot Downey Jr Will Kiffer Joey Staehle Andrew Bunyea.
Artificial Intelligence in Game Design Introduction to Learning.
Nearest Neighbor. Predicting Bankruptcy Nearest Neighbor Remember all your data When someone asks a question –Find the nearest old data point –Return.
Genetic Algorithms, Part 2. Evolving (and co-evolving) one-dimensional cellular automata to perform a computation.
Generating Diverse Opponents with Multi-Objective Evolution Generating Diverse Opponents with Multi-Objective Evolution Alexandros Agapitos, Julian Togelius,
CS 590M Fall 2001: Security Issues in Data Mining Lecture 3: Classification.
Using a GA to Create Prey Tactics Presented by Tony Morelli on 11/29/04.
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
Evolving Killer Robot Tanks Jacob Eisenstein. Why Must We Fight? Giving the people what they want Essence of embodiment: Moving around and surviving in.
1. 2 overview Background on video games Background on video games Neural networks Neural networks NE NE NEAT NEAT rtNEAT rtNEAT NERO NERO.
Crowd Simulations Guest Instructor - Stephen J. Guy.
By Jacob Schrum and Risto Miikkulainen
Artificial Intelligence in Game Design Camera Control.
SOURCE 2006 Presentation by Luke Arntson Game Programming Optimization.
Evolving Multi-modal Behavior in NPCs Jacob Schrum – Risto Miikkulainen –
Evolution, Brains and Multiple Objectives
Chapter 11: Artificial Intelligence
Raven Robin Burke GAM 376. Soccer standings Burke, 7 Ingebristen, 6 Buer, 6 Bukk, 6 Krishnaswamy, 4 Lobes, 3 Borys, 2 Rojas, 2 Bieneman, 2.
Improving Gameplay: Characterising Differences between NPCs & Human Players Jennifer Sandercock.
Reinforcement Learning and Markov Decision Processes: A Quick Introduction Hector Munoz-Avila Stephen Lee-Urban
Today’s Topics Chapter 2 in One Slide Chapter 18: Machine Learning (ML) Creating an ML Dataset –“Fixed-length feature vectors” –Relational/graph-based.
Constructing Intelligent Agents via Neuroevolution By Jacob Schrum
CS 4730 Action vs. Interaction CS 4730 – Computer Game Design Credit: Several slides from Walker White (Cornell)
StarCraft Learning Algorithms By Logan Yarnell, Steven Raines, and Dean Antel.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
CAP6938 Neuroevolution and Developmental Encoding Real-time NEAT Dr. Kenneth Stanley October 18, 2006.
Neighborhood-Based Topology Recognition in Sensor Networks S.P. Fekete, A. Kröller, D. Pfisterer, S. Fischer, and C. Buschmann Corby Ziesman.
Game Maker Terminology
AI in games Roger Crawfis CSE 786 Game Design. AI vs. AI for games AI for games poses a number of unique design challenges AI for games poses a number.
Mike Taks Bram van de Klundert. About Published 2005 Cited 286 times Kenneth O. Stanley Associate Professor at University of Central Florida Risto Miikkulainen.
DIVERSITY PRESERVING EVOLUTIONARY MULTI-OBJECTIVE SEARCH Brian Piper1, Hana Chmielewski2, Ranji Ranjithan1,2 1Operations Research 2Civil Engineering.
科技英文作業 黃方世 陳竹軒. Introduction Talking about video games. Training agents for what. Focus on training Non-player-character (NPC).
Edge Assembly Crossover
Joseph Xu Soar Workshop Learning Modal Continuous Models.
Pac-Man AI using GA. Why Machine Learning in Video Games? Better player experience Agents can adapt to player Increased variety of agent behaviors Ever-changing.
Artificial Intelligence Research in Video Games By Jacob Schrum
KNN & Naïve Bayes Hongning Wang Today’s lecture Instance-based classifiers – k nearest neighbors – Non-parametric learning algorithm Model-based.
Evolving Multimodal Networks for Multitask Games
Learning Integrated Symbolic and Continuous Action Models Joseph Xu & John Laird May 29, 2013.
Evolving Agent Behavior in Multiobjective Domains Using Fitness-Based Shaping Jacob Schrum and Risto Miikkulainen University of Texas at Austin Department.
Riza Erdem Jappie Klooster Dirk Meulenbelt EVOLVING MULTI-MODAL BEHAVIOR IN NPC S.
CSCE 552 Spring 2010 AI (III) By Jijun Tang. A* Pathfinding Directed search algorithm used for finding an optimal path through the game world Used knowledge.
CAP6938 Neuroevolution and Artificial Embryogeny Real-time NEAT Dr. Kenneth Stanley February 22, 2006.
KNN & Naïve Bayes Hongning Wang
March 1, 2016Introduction to Artificial Intelligence Lecture 11: Machine Evolution 1 Let’s look at… Machine Evolution.
UT^2: Human-like Behavior via Neuroevolution of Combat Behavior and Replay of Human Traces Jacob Schrum Igor V. Karpov
CAP6938 Neuroevolution and Artificial Embryogeny Real-time NEAT Dr. Kenneth Stanley February 22, 2006.
Solving Interleaved and Blended Sequential Decision-Making Problems through Modular Neuroevolution Jacob Schrum Risto Miikkulainen.
Simone Paolo Ponzetto University of Heidelberg Massimo Poesio
Background Shapes & Collision Resolution (Top-down and Side-scrolling)
CS b659: Intelligent Robotics
Dr. Kenneth Stanley September 25, 2006
Evolving Multimodal Networks for Multitask Games
K Nearest Neighbor Classification
UT^2: Human-like Behavior via Neuroevolution of Combat Behavior and Replay of Human Traces Jacob Schrum, Igor Karpov, and Risto Miikkulainen
COS 561: Advanced Computer Networks
THe University of Georgia Genetic Algorithm BOT
Reinforcement Learning
Dr. Kenneth Stanley February 6, 2006
BGP Instability Jennifer Rexford
Presentation transcript:

Botprize 2010 Jacob Schrum, Igor Karpov, and Risto Miikkulainen

Unreal Tournament 2004 Commercial videogame First Person Shooter genre Play vs. humans and bots Programming API: Pogamut –Gamebots message protocol

Turing Test For Bots Can humans tell bots from other humans? Botprize 2008, 2009 –In style of traditional Turing Test Bot vs. Judge vs. Confederate 3 individuals per match Botprize 2010 –Judging game Multiple humans vs. multiple bots All humans are judges and players

Judging Game Special judging gun –Replaces the Link Gun Primary and alternate fire look identical –Primary fire against bots –Alternate fire against humans Correctly judge opponent: –Kills opponent, +10 frags Incorrectly judge opponent: –Shooter dies, -10 frags Bots can use this gun!

Competition 3 sessions, 1 hour each 4 matches per session, 15 minutes each 5 competing bots, 6-7 judges, and 1-2 native UT bots per session 3 large custom levels used: GoatswoodIceHengeColosseum

Our Bot

Agent Architecture

Use human traces to get unstuck

Human Trace Data

Replaying Human Experience Record o Player pose  position, orientation, velocity and acceleration o Events  fall, damage, weapons, items, jumps, etc. Index for lookup by o Region of origin o Future events Replay (when stuck) o Short relative path from origin

What is in the Database? t, x, y, z, rx, ry, rz, vx, vy, vz, ax, ay, azt, e

Indexing the Data: Octrees O(log N) lookup Offline indexing ~30 sec to load index

Indexing the Data: KD-Trees O(log N) nearest neighbor search Offline indexing ~30 sec to load index

Indexing the Data: Navpoint Graph Each level has graph of navpoints (under 300) Store navpoints in a KD-tree (quick) For each point in human DB, find closest navpoint (offline) Retrieve all points within navpoint's Voronoi region From here, use random or nearest selection (online)

Generating the path Position of agent Start of path DB samples Agent path

Stuck Conditions Same Nav (SN): –Nearest navpoint stays same for too long Still: –Bot stays still for too long Collide: –Collision with level geometry Bump: –Collision with agent Off Grid (OG): –Too far from any navpoint

ColosseumGoatswood IceHenge SN Still Collide Bump OG Total Human Trace Controller is stuck less often than with no controller, but doesn’t beat a scripted method. However, HTC gets unstuck the way a human would.

Agent Architecture Evolve controller that fights well

Battle Controller Inputs Pie slice sensors for enemies Ray traces for walls/level geometry Other misc. sensors for current weapon properties, nearby item properties, etc.

Battle Controller Outputs 6 movement outputs –Advance –Retreat –Strafe left –Strafe right –Move to nearest item –Stand still 3 additional outputs –Shoot? –Alternate fire? –Jump?

Mutiobjective Optimization Pareto dominance: iff – Assumes maximization Want nondominated points NSGA-II used in this work What to evolve? –NNs as control policies Nondominated

Constructive Neuroevolution Genetic Algorithms + Neural Networks Build structure incrementally (complexification) Good at generating control policies Three basic mutations (no crossover used) Perturb WeightAdd ConnectionAdd Node

Objectives Damage dealt Accuracy Damage received (negative) Geometry collisions (negative) Actor collisions (negative) Behavior diversity

Behavioral Diversity Behavior vector: –Given input vectors, concatenate outputs Behavioral diversity objective: –AVG distance from other behavior vectors … … Behavior vector High average distance from other points

The Hypervolume metric and Epislon metrics demonstrate that the population evolved to cover a larger region of objective space.

Due to evolution and a preference for high-scoring bots, the evolved UT^2 is significantly better at dealing damage and getting high scores. Accuracy was also better on the map Colosseum.

A preference for aggressive behavior also resulted in more damage received. In two levels, more collisions with agents occurred, though the overall number was small. The effect on level collisions was mixed.

Botprize 2010 Results Bot NameHumanness %Judging Accuracy % Conscious-Robots31.82%N/A UT^227.27%45.74 % ICE %N/A Discordia17.78%54.83 % w00t9.30%53.84 % Human PlayerHumanness % Mads Frost80.00% Simon and Will Lucas59.09% Ben Weber48.28% Nicola Beume47.06% Minh Tran42.31% Gordon Calleja38.10% Mike Preuss35.48% Human PlayerJudging Accuracy % Gordon Calleja78.57% Nicola Beume67.21% Minh Tran64.29% Ben Weber64.08% Mike Preuss59.70% Mads Frost57.69% Simon and Will Lucas54.79% Also, native UT bot had humanness of %. Native bot and winner did not judge at all.

Movies

Insights Judging for the bot is not important –Better to not judge then do it wrong Different judges, different expectations –Combat, dodging, jumping, etc. –Perhaps mimicry of opponents would help Human judges expect reaction/response –Shoot and miss, run away and wait Human judges like to observe –From roof tops, through sniper scope

Why Did We Lose? Specific weapon issues (sniping) Some tricks in our judging behavior Problems with following Perhaps perceived as too skilled Still got stuck a few times Some weird firing glitches Mostly minutiae!

Future Work Human Traces –Generalize to unseen levels –Induce better navigation graphs –Make intelligent decisions about when to jump –Use to improve following –Supervised learning Evolution –Different features/input representation –Apply to other control modules –Apply to selection between modules –Reduce reliance on scripted behavior

Future Work Theory of Mind –Planned behavior transitions e.g. a chasing bot expects to enter combat mode –Mimicry: expectation of similarity Match opponent’s level of dodging, aggressiveness, ammo wasting, etc. Establish communication –Deliberation Sniping humans don’t move as much Better human judges don’t make snap decisions

Questions? Jacob Schrum Igor Karpov Risto Miikkulainen

Auxiliary Slides

Human Trace Details Filtering o By future events (not bump, not fall) o By direction of destination Starting point selection o Smallest enclosing octree + random o Smallest enclosing octree + nearest o Nearest o K-nearest + random Path generation o Estimate frame duration o Interpolate along database path o Smooth with Unreal MoveAlong action

Botprize 2010 Results

Judgment Counts UT^2totalcorrectincorrectratio by humans by bots440 total Frosttotalcorrectincorrectratio by humans by bots433 total Conscious-Rtotalcorrectincorrectratio by humans by bots633 total Swilltotalcorrectincorrectratio by humans by bots936 total