Raven Robin Burke GAM 376
Dec 27, 2015
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
Playoff round
Bukk vs Buer, (12-1), 12-2.76 Bukk vs Ingebristen, (3-2), 3-4.32 Buer vs Ingebristen, (8-2), 8-2 Record 1-1-1 Tie-breaker
goals scored Buer 10.76 Ingebristen 6.32 Bukk 15
The Final!
Burke vs Bukk
Syllabus proposal
Current 11/6
• Goal-driven Behavior 11/8
• Goal and Behavior Lab 11/13
• Fuzzy Logic Proposal
11/6• Goal-driven Behavior
11/8• Fuzzy Logic
11/13• Machine Learning
Raven
Demo Controls
right-click to select• see what the bot is doing
right-click again to control• left click fires• right click selects destination• mouse controls firing direction• 1—4 weapon selection• X to release
Game architecture
Game objectsMap
• walls• triggers• spawn points• navigation graph
BotsWeaponsProjectiles
Triggers
Control game state changes Example
"health giver"• if a bot enters a certain region
• its health is increased Many other applications
button opens door, etc. weapon makes a sound
Every update cycle check to see if trigger has been activated apply its effects
Trigger code
AI Architecture I
What must a bot do?
High-level decision making
What should I do now?attackhideseek power upheal
Higher-level navigation
Given a locationpath to get to itbest path to get to it
A* search through the navigation graph
Low-level navigation
Don't run into walls, etc. Can be achieved with appropriate
steering behaviors
Perception
Makes a big difference in the playability of the game
NPCs do not have perceptual systems can theoretically know everything about the
game state sometimes this knowledge is needed to
compensate for their stupidity But
designer must be very judicious players can tell if the sensory system is
unfair
Examples
you approach silentlybut the enemy turns around anyway
you hidebut the enemy knows exactly where to
look you avoid the searchlight
but the guards shoot you anyway this is really annoying
Avoiding omniscience
Must construct a perceptual model for each agent
Model filters out data that the agent shouldn't perceive
Typically will model vision hearing pain memory
Nescience
Being blind is almost as bad as being omniscient
ExamplesYou can stand outside the door and
snipe• guard can't see you when you aren't in
the room
Guards walk right over fallen comrade
Avoiding ignorance
Sensory memorydon't forget what you just saw
Short-term location memorytrack "last seen" position of enemies
Use audio cueshearing a weapon fire gives position
information
Perception in Raven
Bots have 180 degree field of view Bots always know when a power-up is available Bots cannot see through walls
expensive calculation! Bots have a memory record
for each opponent records when and where last seen
Weapon firing generates an audio trigger propagated to nearby units gives away position of shooter
Target Selection
Who to shoot? Simple
shoot the closest Many other criteria could be used
shoot the weakest• RB_Bot
shoot the one who is attacking youetc.
Weapon Handling
When to shootnot instantlytoo tough
Where to shootnot totally accuratelysuperhuman
What to useweapon selection
Weapon Selection
Which weapon to select?blaster
• short range, low damageshotgun
• damage disperses with distancemissile launcher
• high damage, slow projectilerail gun
• low damage, instant, long distance
Updating
Cannot update all AI components all the time too expensive not necessary
Movement all the time
• don't run into walls Weapon Selection
less often Sensory Memory
infrequently requires checking visibility
Path Planning infrequently requires search
Systems
Steering Behaviors
Path Planning
Path Following
Decision Making
Weapon Selection
Target Selection
Part A of Lab