Xavier Otero Keil Four Layered AI Animation Control characters body makes sure that animation fits situation handles requests to perform actions Combat Possibly most important subsystem Determine tactics ID: 464363
Download Presentation The PPT/PDF document "First Person Shooter Artificial Intellig..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
First Person Shooter Artificial Intelligence
Xavier Otero Keil Slide2
Four Layered AI
Animation
Control characters body
makes sure that animation fits situation
handles requests to perform actions
Combat
Possibly most important subsystem
Determine tactics
Behavior
Highest level, has precedence over other systems
Sets broad goals like a CEO
Movement
Determine how to move (path finding)
Not where to moveSlide3
Animation Controller
Plays
pregenerated
animation mostly
Some animations take control of entire character such as dying
Others require only a specific part
Arm waving
Head turning
These are more complex because more than one can be applied at one time
Needs to be aware of which animations are playing (if currently arm waving stop before attacking)
Gathers information from other LayersSlide4
Animation Continued
Generation of context related animations on the fly.
Generalizing the position of objects.
Causes problems with believability.
Modern games do not take this shortcut
Solution similar to robotic arm movement Slide5
Movement
Basically a path finding system
Given a starting point uses a database of how the level is laid out and the A* search
Dynamic obstacles create a problem
http://www.youtube.com/watch?v=UZf89ejZavc
(example of bad dynamic obstacle handling) Quake 2.
Slide6
Local Path finding
You can use Local path finding to solve this problem
Integration of physics system and movement system
Uses global path finding as a guideline then polls the physics system for dynamic obstacles and adjusts accordingly
Crysis
with local path finding turned off
http://www.youtube.com/watch?v=FA6SYhFHS6MSlide7
Combat
Spatial Reasoning
Humans are very good at this almost second nature
Most games embed hints for the AI into the levels like the anchors in Far Cry
This creates a tactical database that allows the computer to simulate an understanding of Spatial Reasoning
Again problems with Dynamic Obstacles Slide8
Combat Continued
Solved with geometrical analysis.
Uses a lot of processor power
Dynamic object tagging
Changing Battle Environments
http://www.youtube.com/watch?v=pWyoQoEgPBA&NR=1
(
Crysis
Nuke Gun)Slide9
Combat Tactics
Very basic selection of combat tactics
Camp
Joust
Circle of death
Ambush
Flee and ambush
Generally a FPS will have far more tactics in its arsenal. However these basic ones give insight into how the tactical selection is done Slide10
Firing
To-hit roll random number
If in the hit threshold attempt to hit
Otherwise attempt to miss
With high damage weapons always miss first shot
Takes into account environmental variables
Prevents perfect accuracy which can be frustratingSlide11
Where to shoot
When attempting to hit
Angle of animation does not have to match angle of shot
Most games use bounding boxes for collisions with bullets and other objects
Choose random point near the center
When attempting to miss
Shoot too close to the target could possibly hit
Too far away AI looks stupid
Want shot to be visible and audible. Alert player to enemy presence and create feel of tension
Some games place invisible markers in player character models of good places to shoot at in order to miss
Always test shots (ray-testing)Slide12
Friendly Fire
Makes the AI look really bad if it happens too often
Use ray-testing to avoid this
Sometimes it can be used as a player reward
Player dodges out of the way so a rocket launch hits an enemy behind him
In this situation auditory acknowledgment by the offending NPC is a good idea “
Ohh
**** sorry Hank”
Some games solve this problem by simply not accepting damage from friendly fire.
T
his is a poor solution, if it becomes obvious players feel cheatedSlide13
Firing Continued
If a hit is necessary use dead reckoning
Can produce over accurate fire
Radius testing is a another way
Projectiles should report back to the AISlide14
Searching for the player
Should be range of searching behaviors
Not sure player is even in the search area (Idle searching)
Maybe the player is there (normal searching)
Sure the player is there (intense searching)
Multiple Paths
Low efficiency searchesSlide15
Idle searching
W
ander about aimlessly or follow a set patrol schedule
Should not use the players location in calculations at all as this is usually detectable by the player
If the player is seen do not immediately drop into combat unless the player is very obvious or firing at you
http://www.youtube.com/watch?v=3nzMdPwO2QwSlide16
normal searching
NPC has caught a glimpse of the player
Should scan the area where it “saw” the player and then give up after a short time
Should immediately drop into combat mode if the player is seen in this stage
At this point upholstering of weapons or unsheathing of swords is appropriate Slide17
Intense searching
This should be activated if the NPC sees the player go somewhere where there is no escape or has attacked or been attacked by the player
At this stage for believability the NPC should not give up until it finds the player or a very large period of time has elapsed.
Games where the give up time is too low seem unrealistic.
Should use actual player location in calculations but add a randomness factor so the NPC does not make a bee line to the players location. Slide18
Stealth
Sensory Perception
Darkness levels and sound levels
Alertness levels
Auditory cues
Thief 3
http://www.youtube.com/watch?v=9sSICYp8ssI
Perceptual Modeling
Visual
Auditory
Tactile
Increasingly all first person shooters are employing stealth elements for believability Slide19
Behavior
High Level command issuer
Chooses between states such as Idle, Patrolling, Combat, Searching etc… then notifies the other layers of what they need to do.
Generally a Finite State Machine
Very important for believability especially in idle and combat modes
Often times uses triggers in order to choose a state. Slide20
Teaming Up
With the Player
Has become very popular in recent years
When done well highly increases the immersion of the player
What the AI needs
Follow commands
Not get in the way
Follow logical rules
Interact with the player
Survive until the end of the game Slide21
Correct Movement
Generally stay out of field of view
Prevents friendly fire and view obstruction
During points of non combat teammates should occasionally appear in the field of view to reassert that they are there
Use auditory cues during combat for this same purposeSlide22
Correct Movement Continued
When there are multiple targets there are two options for staying out of the players field of view.
smallest angle
viewing angleSlide23
More on Movement
Should be maximum distance set that the NPC’s can wander away from the player.
Let the player be the hero
take no risk unless ordered to
Don’t be first through doors, choke points, over hills etc…
Generally good practice to match the player’s actions.
Many games “cheat”
Rainbow Six Vegas
Match player speed to avoid annoyanceSlide24
Player is important
NPC’s should be secondary to the player
Should never perform better than the player
Select weapons that are similar or less powerful than the players weapons
Always allow the player first chance to collect items
Should report all sightings of enemies before attacking unless currently under attack
http://www.youtube.com/watch?v=yxQ-09OcIP0Slide25
Enemy Teams
All these rules can apply to enemy teams as well
One NPC should be team leader and treated as the player
Mimics normal team dynamicSlide26
Thank You