GDC 2014 AI Summit
Free-Range AI Creating Compelling Characters for Open World Games
Aaron Canary AI Programmer Primary Topics
• Open World Response • Scalability • Environmental Interaction Slides available at dsvolition.com/gdc/ Aaron Canary
What is Saints Row? What is Saints Row? Primary Topics
• Open World Response • Scalability • Environmental Interaction The world can respond in many interesting ways Open world combat system is called Notoriety Pacing is improved by varying player reaction Pacing is improved by varying player reaction Primary Topics
• Open World Response • Vary the players response • Scalability • Environmental Interaction Control combat pacing in open world Avoid spawn redundancies
Primary Topics
• Open World Response • Vary the players response • Holistic spawning • Scalability • Environmental Interaction SR3: After escalation, you need an endgame End with a reward and resolution Allow Falling Action
NOT rewarded Rewarded We have Morals
Clip: Cid Chase Primary Topics
• Open World Response • Vary the players response • Rewarding experience • Holistic spawning • Scalability • Environmental Interaction SR4: Adapting to super powers SR4: AI has to keep up with the player
teleportal, warden fall
Primary Topics • Open World Response • Vary the players response • Rewarding experience • Holistic spawning • Be creative • Scalability • Environmental Interaction Primary Topics • Open World Response • Vary the players response • Rewarding experience • Holistic spawning • Be creative • Scalability • Environmental Interaction Primary Topics • Open World Response • Vary the players response • Rewarding experience • Holistic spawning • Be creative • Scalability • Environmental Interaction LOS checks are O(?) Worse case 75 NPCs
1 vs 75 4 vs 72 36 vs 40
75 288 1440 1500 LOS @ 4 per frame = 12.5 seconds 4 v 17 LOS checks are O(?) Worse case 75 NPCs
1 vs 75 4 vs 72 36 vs 40 12 vs 32 vs 32
75 288 1440 1792 ~35 ~90 ~120 ~184 120 LOS @ 4 per frame = 1.0 second Multithread raycast has huge impacts
time threads Make LOS a background thread. SR3 SR4
time time
animation effects
Main Main
Main Main threads
4 80 Make LOS a background thread.
12 vs 32 vs 32
1800 LOS @ 4 per frame = 15 seconds 1800 LOS @ 80 per frame = .75 seconds 184 LOS @ 80 per frame = .10 seconds Primary Topics
• Open World Response • Scalability • Multithread AI • Environmental Interaction Evolution of Saints Row AI Archetecture FSM Overhead cost
Dependencies
Bigger it gets, Harder it is to add. Support more behaviors FSM • Reduce Overhead • Modular • Performance (75 npcs) • Volatile Envirnoment • Deterministic
Planner Behavior tree
Goal X • List of Goals Goal X • Each Goal has list of actions Goal X • Data driven Goal •Programmer Goal ActionX Goal ActionX • Priority ActionX •Design ActionX •Filter Goals and Actions Action X Action GO •Tweak parameters Action Action Easy Reuse If (is_burt_reynolds) { // not good data driven Easy Reuse Primary Topics
• Open World Response • Scalability • Multithread AI • Make your job easy • Environmental Interaction Primary Topics
• Open World Response • Scalability • Multithread AI • Make your job easy • Environmental Interaction Action Nodes Primary Topics
• Open World Response • Scalability • Environmental Interaction • Over estimate amount of markup
Primary Topics
• Open World Response • Scalability • Environmental Interaction • Over estimate amount of markup • Reuse markup Working without markup is risky Whole world needs more markup Jump testing without markup
Flying without markup
http://www.red3d.com/cwr/steer/gdc99/
Primary Topics
• Open World Response • Scalability • Environmental Interaction • Over estimate amount of markup • Reuse markup • Procedural is High Risk, High Reward Primary Topics
• Open World Response • Scalability • Environmental Interaction Questions?
Slides available at dsvolition.com/gdc/
More Volition @ GDC: Vehicles of Saints Row Animation Direction of Friday 11:30am Saints Row IV’s Super Jumping Rm 2016, West Hall Thursday 12pm Rm 3016, West Hall Technical Artist Roundtable
Defining Project Vision Production Support Roundtables Friday 10am Rm 2010, West Hall Catastrophic User Experience Failures