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), Bukk vs Ingebristen, (3-2), Buer vs Ingebristen, (8-2), 8-2 Record Tie-breaker goals scored Buer 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 objects Map walls triggers spawn points navigation graph Bots Weapons Projectiles
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? attack hide seek power up heal
Higher-level navigation Given a location path to get to it best 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 silently but the enemy turns around anyway you hide but 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 Examples You 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 memory don't forget what you just saw Short-term location memory track "last seen" position of enemies Use audio cues hearing 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 you etc.
Weapon Handling When to shoot not instantly too tough Where to shoot not totally accurately superhuman What to use weapon selection
Weapon Selection Which weapon to select? blaster short range, low damage shotgun damage disperses with distance missile launcher high damage, slow projectile rail 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