Title: Step One: Document the Problem
1Step One Document the Problem
- On the Value of Documenting Real Game AI Problems
by baylor, independent game miscreant
Workshop Challenges in Game AI
AAAI 2004
2Agenda
3What Do We Know?
- What is an AI problem?
- What is the difference between an AI problem and
a bug? - How many AI problems are there?
- Is game AI getting better?
- What percent of problems are easy to fix?
- What are the most important problems?
- What percent of problems have solutions?
- Which problems have solutions that are not being
used? - What game AI solutions exist?
?
?
4Are there game AI problems?
- Um, yeah
- Hopefully everyone agrees there are lots of them
- (note but im not sure i do)
5Is that a bad thing?
- Hmm, maybe not
- After all, people keep buying the games
but
- A game with good AI might sell better (maybe)
- And we need better AI for
- simulators used for training
- simulators used for prediction
- simulators used for decision making
- simulators used for education
6What are the problems?
- if a picture is worth a thousand words
7AI We would never accept such a deal!
8Paving Antarctica
Building rail roads increases the value of the
land (if the land has value to begin with) and
increases unit movement. This civilization has
several central, irrigated squares it has not yet
deployed rail roads to
9Trigger Failure
Specific Problem Slave does not turn on at
appropriate time
Instance Of Does not respond to pain
More generally Agent does not process important
events
Also seen in Bards Tale Doom Heretic Quake Quake
2 SWKotOR Betrayl at Krondor
but not Delta Force 1 Delta Force
2 Thief Baldurs Gate Planescape Torment HMM IV
Ravenous Bugblatter Beast of Traal
10Certain AI Problems Appear Over and Over
- Ally attracts enemies (Baldurs Gate, cough
Dikatana cough) - Ally loses the mission (Delta Force 2, Delta
Force Blackhawk Down) - Repeatedly use attacks known not to work
(Civilization, all 8 Baldurs Gate games) - Move to point blank range to use ranged weapon
(Civilization, DFBHD, Star Wars Knights of the
Old Republic) - Ignore grenades (SWKotOR, Full Spectrum Command)
- Dont react to significant changes such as a new
enemy appearing (DFBHD, Full Spectrum Command,
SWKotOR) - Not predicting outcomes, such as what happens
when you shoot a rocket launcher into a post 2
feet in front of you or trying to shoot through a
mountain (DFBHD, SWKotOR)
Most of these problems have been solved in other
games
11Why do we still have this many AI problems?
- ive asked this question many times
- ive heard many answers/opinions/theories
- But do these theories match the evidence?
- Lets find out!
12Excuse 1 These problems are hard!
- AKA
- AI is hard
- Building human intelligence is hard
13Problem Allies decide to run in front of a
helicopter mounted minigun you have been firing
non-stop for two minutes
Question How hard would it be to solve this AI
problem?
14Problem Allies block youre only exit, will not
move
Question Can this AI problem be solved?
I said, BUMP!!!
15Excuse 2 We cant find all the problems, there
are too many possibilities
- AKA
- Players are unpredictable
- We didnt think to test that
- There are too many different items to track
- Combinatorial complexity
16OK everyone, watch where you step
Five minutes in the life of a navigation problem
17Jolee, try not to step on that landmi
18Hey Bastilla, can you believe Jolee just Oh, I
guess so
19Bastilla, did you just step on another marked
poison gas mine?
20Jolee!!!
21Dont you dare
22I hate you guys
23Excuse 3 Lack of formal AI training
- AKA
- This is AI and AI people have PhDs
- Im still learning neural networks
- I havent finished Russel Norvig
- I tried reading AI but couldnt pronounce
"df??pµfF??as?
24Note to self Dont throw grenades at point
blank range
25Theory 4 No time!
- AKA
- It takes a long time to create AI
- Time is tight and I need to tweak our
bump-mapped, b-splined, ambient occluded,
UV-mapped pixel shader - Did I mention Im waiting on an AI co-processor?
26The Pond Fish
If anyone tries to invade the swimming pool,
well be ready for them!
27Which is older, the games AI flaw or its
customers?
28Theory 5 Not enough CPU time (thanks a lot
stupid graphics guys)
- AKA
- An A search of 1,500,000 nodes takes over a
second! - Solving hard problems requires slow, complicated
algorithms - I cant do that with my current data structures
- Im waiting until graphics are no longer
important. Thats next year, right? - Im waiting for the inevitable AI co-processor
29How much CPU is needed?
30Theory 6 AI isnt important
- AI cant be summarized in a marketing bullet
point (e.g., inverse kinematics) - AI cant be turned into a pretty box cover or
screen shot (e.g., particle effects) - No objective benchmark (e.g., frames per second)
Reviewers and marketing cant use for
between-game comparisons - No feature checklist (e.g., bump mapping, dynamic
lighting, MIP-mapping) Reviewers cant
objectively compare games - Aside from BlackWhite, no one has ever bought or
avoided game based on its AI - No competition no game has good AI
- Good AI is invisible. Bad AI is a stupid action
that takes the player out of the game. Good AI
just means a lack of noticeable stupidity.
Selling lack of stupidity is like selling our
game is stable How many games have sold because
of bug count?
31Are these problems solvable?
- Well, yeah
- As seen in previous slides, solutions are often
obvious, simple and light weight
32Are there already solutions?
- Yes, in
- Existing games
- CGF research
- Ethological research
- Psychological literature
- Example
- Learning (Rescorla-Wagner, Matching Law,
biological preparedness, latent learning,
S-(R-O), opponent-process theory, learning by
observation, Structure Mapping, etc.) - Decision Making (Recognition-Primed Decisions,
expectation violation, recognition heuristic,
Affordance Theory, forward simulation,
Elimination By Aspects, Theory of Mind, etc.) - Information Gathering (Think Aloud protocol,
behavior capture via video games)
33Matching Law
Problem Area action selection AI Type
decision making, learning
(secondary), personality
(secondary) Detail Level mid-level Technique
matching law Assumptions Options are relatively
equal Example Uses sports choosing a shot type
FPS choosing a weapon
RPG choosing a spell RTS choosing
a build unit type Explanation ----------- ...
RA/RB b(rA/rB)s ... Variables --------- RA
Rate of response for option A.
How often option A is chosen. This is
a counter RA/RARB Relative rate of response
for option A. rA Rate of
reinforcement for option A. The
percentage of time choosing option A
has lead to a good result rA/rArB Relative
rate of response for option A. b
Response bias. bgt1 means prefers
Game Example ------------ A wizard is 30 meters
away from a group of orcs. He has three third
level spells he can use - flamestrike, iceblade
and stonestorm. Question which spell should the
wizard cast? Assume that the wizard has
successfully hit his enemies 3/10 times with
flamestrike, 2/4 times with iceblade and 6/7
times with stonestorm. r(flamestrike) 3/10
0.3 (30) r(iceblade) 2/4 0.5 (50)
r(stonestorm) 6/7 0.86 (86) relative
r(f) .3/.3.5.86 0.18 (18) relative r(i)
.5/.3.5.86 0.30 (30) relative r(s)
.86/.3.5.86 0.52 (52) So the wizard would
cast stonestorm 52 of the time, iceblade 30 and
flamestrike 18 Limitations ----------- - As
stated, does not include learning by
observation. LBO can be added however Notes ----
- - Bias and sensitivity are hard coded
34Problems with existing solutions
- Game programmers are not teachers
- Paid to write code, not publish their knowledge
- Historically, little information was shared. Much
better today (Charles River, id open source,
IGDA, John Laird) - No known place to get basic info
- Getting slightly better (AI Programming Wisdom,
Game Programming Gems, Gamasutra) - Too much bad/useless information
- A, neural networks, genetic algorithms, Russell
Norvig
35Classic Problem Target Selection
Tough, slow
Easy, fast
You, lightly armored, hurt, surrounded
Easy, fast
A lot more interesting than Towers of Cannibal
Water Jugs
36Opinion What should we do?
- Document!
- (hey, I never promised itd be fun)
37AI Problem (and solution) Database
- Since I couldnt find one, I made one
- Its an actual database (Access today, looking at
SQLite) - Plus an image gallery (considering adding
animations) - Internet searchable
- Semi-open
- Will have user submissions
- Will have forum
- Might use something like Wiki
38BadAI.com Image Gallery
39BadAI.com - Database
40BadAI.com - Games
reason 20,000,000 why baylor is not allowed to
do design
41BadAI.com Problem Categories
Web page for viewing problem category hierarchy
has not been created yet Originally, AI problem
categories were not hierarchical. Today, the
hierarchy can be any depth but has yet to exceed
three levels (see gallery screen for an example)
42BadAI.com - Reviews
43Issues
- Currently run by one person
- who is lazy
- and has too many other projects
- and doesnt play that many games
- Currently lacking a home
- Hosted on ihatebaylor.com today
- Might give it its own Web site (BadAI.com domain
is open) - Might move to a school Web site (if I can find a
school that is dumb enough to take me)
44Questions Answers
- and comments and yelling and
(looks suspiciously like Mike van Lent)