Challenges in Game Intelligence Hey, what is a “challenge in game intelligence?” Better yet,...

Preview:

Citation preview

Challenges in Game Intelligence

Hey, what is a “challenge in game intelligence?”

Better yet, what is the biggest “challenge” for th field of “game intelligence”?

(yes, i took the workshop title literally)

Step One: Document the ProblemOn the Value of Documenting

Real Game AI Problems

by baylor,independent game miscreant

and auditor, project manager, buyer, funding guy and simpleton

Workshop: Challenges in Game AI AAAI 2004

What Is baylor’sGame AI Database?

• Why It Was Started: i was converting my psychology books to a formatted collection of game AI solutions

Matching LawProblem Area: action selection AI Type: decision making, learning (secondary), personality (secondary)Detail Level: mid-level Technique: matching law Assumptions: Options are relatively equalExample 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 counterRA/RA+RB = 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 resultrA/rA+rB = Relative rate of response for option A. b = Response bias. b>1 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

11

22

33

44

What Is baylor’sGame AI Database?

• Why It Was Started: i was converting my psychology books to a formatted collection of game AI solutions

• Then: i realized i couldn’t actually name all that many AI problems to solve

And that’s baylor’s Game AI database!

What Do We Know?• How many AI problems are there?

• 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?

• Is game AI getting better?

• What game AI solutions exist?

• What is an AI problem?

• What is the difference between an AI problem and a bug?

??

??

What Is baylor’sGame AI Database?

• Why It Was Started: i was converting my psychology books to a formatted collection of game AI solutions

• Then: i realized i couldn’t actually name all that many AI problems to solve

• So: i started collecting/sorting/annotating AI problems

And that’s baylor’s Game AI database!

BadAI.com - Database

Not the important part so we’re going to go fast

BadAI.com - Games

reason #20,000,000 why baylor is not allowed to do design

BadAI.com - Reviews

BadAI.com – Image Gallery

BadAI.com – Problem CategoriesWeb 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)

BadAI.com - Summaries

…and a bunch of other stuff

• Game AI text book

• AI tests (objective, repeatable)

• Examples of designing behavior capture tools and using the output

• Rants and other slanderous baylor things

• …and various baylor projects (Virtual DM, avenue of approach recognition, sensory events builder, virtual hustler, player profiling, sparse decision trees, research on third-order feature extraction, bugging people i meet online, pushing people’s buttons, occasionally sleeping, etc.)

WWJD

So hey, baylor, what did you find?

WWXD

biggest finding:

People are

DRAMATICALLY

over complicating things!!!(really, seriously, it’s true)

(sorry, but you AI guys are worse than us psychologists)

WWCYFD

also…• Pathfinding (good god, solve this already!!!)• Data structures - most AI problems are data

structure problems, not algorithms• Design – most reported AI problems aren’t AI (as

i understand it), they’re simple design decisions. AI has become (always was?) a meaningless term

• Game reviewers have really low standards• Academics are waaaay too hung up on theory.

“Hey, that’s not a proper implementation of Inveigle’s POMDP TDL algorithm!!!” They should be strangled with their own acronyms

• Fancy slides with pretty colors are for the weak

WWiD

Are there game AI problems?

There are a few general problems•Navigation → steering → bottleneck•Navigation → steering → dynamic obstacles•Navigation → steering → static obstacles•Navigation → steering → vertical navigation•Navigation → tactical → danger avoidance•Combat → tactical → initiate unwinnable battle•Combat → choose position → block allies•Combat → choose position → friendly fire•Combat → choose position → move to melee for ranged•Combat → choose target → notice new enemy•Combat → weapon selection → area affect self/teammates

And they’re in many games…•Age of Mythology•Baldur’s Gate•Baldur’s Gate 2•Battlezone•Beseiger•Call of Duty•Ground Control II•Half-Life•Hidden & Dangerous•Icewind Dale•Icewind Dale 2•Neverwinter Nights•Planescape: Torment•Star Wars: Knights of the Old Republic•Warlords Battlecry III

door bottleneck

But not all•Beyond Good & Evil•Command & Conqueror: Red Alert 2•Ground Control•Heretic 2•Hexen 2•Northland

Important!!!

Is 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

Tommy Timeclock says

That’s a topic for another day

What are the problems?

if a picture is worth a thousand words…

Ravenous Bugblatter Beast of Traal

Instance Of: Does not respond to pain

More generally: Agent does not process important events

Specific Problem: Slave does not “turn on” at appropriate time

Trigger Failure

Also seen in:Bard’s TaleDoomHereticQuakeQuake 2SW:KotORBetrayl at Krondor

…but notDelta Force 1Delta Force 2ThiefBaldur’s GatePlanescape: TormentHM&M IV

Note: Only AI gets this wrong

Pain is detected and dealt with by the sound, animation and particle systems

Certain AI Problems Appear Over and Over (and over and over)

• Ally attracts enemies (Baldur’s 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 Baldur’s Gate games)

• Move to point blank range to use ranged weapon (Civilization, DF:BHD, Star Wars: Knights of the Old Republic)

• Ignore grenades (SW:KotOR, Full Spectrum Command)

• Don’t react to significant changes such as a new enemy appearing (DF:BHD, Full Spectrum Command, SW:KotOR)

• 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 (DF:BHD, SW:KotOR)

Most of these problems have been solved in other games!!!

Why do we still have theseAI problems?

Possibilities:• These are hard problems!• We can’t predict everything a player will do• Game AI developers do not AI backgrounds• Not enough time• Not enough CPU• Because no one cares

Excuse 1: These problems are hard!

AKA- AI is hard- Building human intelligence is hard

Problem: Allies block you’re only exit, will not moveQuestion: Can this AI problem be solved?

“I said, BUMP!!!”

Problem: 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?

Excuse 2: We can’t find all the problems, there are too many possibilities

AKA- Players are unpredictable- We didn’t think to test that- There are too many different items to track- Combinatorial complexity

Five minutes in the life of 2003’s Game of the Year, Star Wars: Knights of the Old Republic

Scene: Kashyyyk. Actual shots from baylor and two computer-controlled allies trying to walk 50’, from one end of an alley to the other.

The alley has several well-marked, glowing land mines

Will they survive this

daring maze?

Goal: portal

Five minutes in the life of a navigation problem…

“OK everyone, watch where you step”

“Jolee, try not to step on that landmi…”

“Hey Bastilla, can you believe Jolee just… Oh, I guess so”

“Bastilla, did you just step on another marked poison gas mine?”

“Jolee!!!”

“Don’t you dare…”

“I hate you guys”

Excuse 2: We can’t find all the problems, contd.

How hard would it have been to predict:• A monster would be shot?• An ally would move while the player held a weapon?• Someone would need to walk up stairs or through a door?• Someone would throw a grenade?• Someone would fire a rocket launcher?• Someone would step on one of the 20 land mines we placed in each level?• The path to a targets would be blocked?• An enemy would move closer to you after a battle had started?

If we collected a list of every AI problem reported in a review or on a forum, how many would turn out to have been difficult to predict?

AKA- This is AI and AI people have PhDs- I’m still learning neural networks- I haven’t finished Russel & Norvig- I tried reading AI but couldn’t pronounce φ∑θπμΦγΨασω

Excuse 3: Lack of formal AI training

“Note to self: Don’t throw grenades at point blank range”

Theory 4: No time! We’re busy!!!

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 I’m waiting on an AI co-processor?

The Pond Fish

“If anyone tries to invade the swimming pool, we’ll be ready for them!”

Which is older, the game’s AI flaw or its customers?

Theory 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 can’t do that with my current data structures- I’m waiting until graphics are no longer important. That’s next

year, right?- I’m waiting for the inevitable AI coprocessor

Question: How much CPU time is needed?

AI: “We would never accept such a deal!”

Strategic Question:Should i make my agriculture investment in

France or 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

Obvious tile to build on

someone else’s sarcasm

Theory 5: Not enough CPU time (contd.)

How much processing time is needed to:- Determine 48 is bigger than 47?- Choose between two areas to grow crops, France or Antarctica?- Decide to not step on a land mine?- Decide not to walk into a gun- Determine whether i am in front of an ally firing a gun- Determine if i should use a weapon that hurts the enemy or the

one that does not?

Can we spare that much time?Maybe if we had an AI coprocessor…

Theory 6: AI isn’t important• AI can’t be summarized in a marketing bullet point (e.g.,

“inverse kinematics”)• AI can’t 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 can’t use for between-game comparisons• No feature checklist (e.g., bump mapping, dynamic lighting,

MIP-mapping); Reviewers can’t objectively compare games• Aside from Black&White, 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?

yet another topic for yet another day

Are these problems solvable?

Well, yeah…

• As seen in previous slides, solutions are often obvious, simple and light weight

But are these problems and solutions representative? How do we know baylor didn’t just cherry pick the

items that supported his position?

• That’s a pretty good question(wouldn’t it be nice if we had a way to answer this question?)

Are 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)

Problems 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

Classic Problem: Target Selection

A lot more interesting than Towers of Cannibal Water Jugs

Opinion: What should we do?

Document!

(hey, I never promised it’d be fun)

AI Problem (and solution) Database• Since I couldn’t find one, I made one• It’s 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

Issues• Currently run by one person

– …who is lazy– …and has too many other projects– …and doesn’t play that many games– …and has the attention span of a caffinated gerbil

• Currently lacking a home– Hosted on ihatebaylor.com today– Might give it it’s 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)

Questions & Answersand comments and yelling and…

(looks suspiciously like Mike van Lent)

Recommended