Presentation on theme: "How Experienced Devs Think Through Their AI Chris Jurney – Double Fine Brett Laming – Rockstar Leeds Brian Schwab – Blizzard Borut Pfeifer – Haunted Temple."— Presentation transcript:
How Experienced Devs Think Through Their AI Chris Jurney – Double Fine Brett Laming – Rockstar Leeds Brian Schwab – Blizzard Borut Pfeifer – Haunted Temple Moderated by: Dave Mark – Intrinsic Algorithm
Chris Jurney – Double Fine Relic Relic – Company of Heroes – Dawn of War 2 Kaos Kaos – Frontlines: Fuel of War Double Fine Double Fine – Brütal Legend – Something nifty that is being announced soon
Borut Pfeifer – Haunted Temple Radical Radical – Scarface: The World is Yours Sony Online Entertainment Sony Online Entertainment – Untold Legends: Dark Kingdom EA-LA EA-LA Haunted Temple Haunted Temple – Skulls of the Shogun
Brian Schwab – Blizzard Realtime Associates Realtime Associates Radical Radical Angel Studios Angel Studios Dreamworks Interactive Dreamworks Interactive – Medal of Honor: Underground The Collective The Collective Sony Computer Entertainment Sony Computer Entertainment – NBA Blizzard Blizzard
Brett Laming – Rockstar Leeds Particle Systems Particle Systems – Independence War 2: Edge of Chaos Argonout Argonout – Powerdrome Criterion Criterion – Burnout: Revenge Rockstar – Leeds Rockstar – Leeds – GTA: Vice City Stories – GTA: Chinatown Wars
Say what? “Everything they describe could be implemented in a spreadsheet using only SUM and PRODUCT... I don't think this counts as AI.” So what does game AI really entail? What does a game AI programmer’s job entail?
Where to begin? Typical questions: Typical questions: – How do I… ? – What’s the best way… ? – What should I consider… ?
Bold Proclamation A significant portion of game industry AI work has nothing to do with: Architecture (e.g. FSM, BT, planners) Architecture (e.g. FSM, BT, planners) Algorithms (e.g. LOS, pathfinding) Algorithms (e.g. LOS, pathfinding) Coding Coding
Disclaimer: Things not Covered Caffeine (any form) Caffeine (any form) Pizza (any form) Pizza (any form) Nerf toys (any form) Nerf toys (any form) Hygiene (any form) Hygiene (any form) Social skills (any form) Social skills (any form)
Quick Questions What % of your time is spent actually working with codebase? What % of your time is spent actually working with codebase? How far into the process would you actually start working on the codebase? How far into the process would you actually start working on the codebase? What tools do you use other than your IDE? What tools do you use other than your IDE?
More than Architecture “I’m making a [type of game]. Should I use [architecture] or [architecture]?” What things other than architecture should you consider?
Creating a Character “I have a [character type] in my game. How do I make it do [nifty things]?” What’s the thought process to answer this question?
Difficulty with Difficulty Levels FPS/RPG/RTS FPS/RPG/RTS Include multiple levels of difficulty Include multiple levels of difficulty Can’t simply crank up the “bullet sponge” knob Can’t simply crank up the “bullet sponge” knob Different areas of focus: Different areas of focus: – Strategic – Tactical – Individual
Boss wants a Boss They’re tall, taller than any other character you've done so far. Luckily it's outdoors, but they will be fighting across two circular arenas, surrounded by forest and linked by a short passage (just big enough for the boss). They have a mighty bow and arrow and can call many smaller minions at will (timed between bursts), in addition to performing a close range stomp. We would like to gear any attack pattern to match player's ability. We want to be able to signal this clearly and allow a pattern that the player can learn to recognize. At our disposal is a well connected animation graph, with a reasonable art team to label transitions with any relevant signals as well as a reasonable navigation system, which unfortunately doesn't lend itself towards dynamic avoidance.
Questions? Questions on: How to approach things… How to approach things… How to think about stuff… How to think about stuff… What does the job entail? What does the job entail? (Please nothing on architecture.)