1 / 24

Practical Game AI (give or take)

Practical Game AI (give or take). Dave Pottinger, President/CEO @ dcpottinger www.bonusxp.com. What is this talk?. ½ AI Programming bits ½ Designer-y stuff ½ Hard/Fun/ Sh * tty Lessons Learned Q&A. WTF do I know?. Increasingly little;) Making games since 1993

rafer
Download Presentation

Practical Game AI (give or take)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Practical Game AI (give or take) Dave Pottinger, President/CEO @dcpottinger www.bonusxp.com

  2. What is this talk? • ½ AI Programming bits • ½ Designer-y stuff • ½ Hard/Fun/Sh*tty Lessons Learned • Q&A

  3. WTF do I know? • Increasingly little;) • Making games since 1993 • Programmer, Designer, Reluctant Biz Guy

  4. What is Practical Game AI? “…more what you’d call guidelines than actual rules.”

  5. Buzzwords vs. Basics • Sexy • Genetic Algorithms • Neural Nets, Learning Code • Expert Systems • A* • Useful • Data driven code • Understandable, reusable code • Good team dev skills • A*

  6. So, let’s design an AI! • Unit/Character vs. Player • Player AI Questions • Does it have to play a symmetric game? • Can it Cheat? Should it Cheat? • Difficulty levels? • Replayable? • Learning?

  7. RTS Unit AI • Action system • Idle, Attack, Gather • Animation management • Player Commands • Entity Logic • Searching, Attack Response • Pathfinding & Movement • Player AI interface

  8. RTS Player AI • Basics • Resource Gathering • Base Construction • Attacking • Advanced • Situational Response • Planning & Unit Coordination • Variety, Replay • Strategic Layers

  9. OMFFFG, where do I start? • Play the Game • Blank files are scary, therefore… “Baby Steps”

  10. Breadth Example: RTS Attacking • Attack components • Troops (which require buildings & resources) • Target • Path • Timing/Coordination • Difficulty level • Etc This is a HUGE task!

  11. Breadth Example: RTS Attacking • TLDR: Fake everything;) • Phase 1: • Pre-placed troops • Specific target • TASK: Get the troops to attack the target

  12. Breadth Example: RTS Attacking • Phase 2: • Pre-placed troops • Multiple targets • TASK: Data-drive the target priorities

  13. Breadth Example: RTS Attacking • Phase 3: • Pre-placed buildings • Cheat the resources • TASK: Train the troops

  14. Breadth Tidbits • Get an End Result ASAP • Designers must use it • Ingame debug display • Love the Iteration

  15. Representation Example #1: Abstract Type System • Like hashtags • Blends base types and logical types • Lists are precomputed • Use everywhere • Searching • Research Prereqs

  16. Representation Example #2:Resource Site Aggregation • Combine individual items • Done at load time • Makes AI play more “like a human” • Faster to search

  17. Representation Example #3:Terrain Analysis • Make areas @ load • More “human”, etc. • Add data • Feed into Strategy

  18. Managing the Player • Context Hook • Give Players a way to believe • They will fill in the gaps • Some randomness is important • No one likes to lose to an AI • Make them sweat • Create excuse options

  19. General Advice • AI should be fun for players, not you • Build & Iterate, don’t Plan • Get it running quickly! • Build a good test harness

  20. Programmer Advice #1 • Ideally, wait until the game is fun • Stick to what you know • 90% of effective AI is simple code • Everyone should do AI… Yay?

  21. Programmer Advice #2 • Structure and Representation are the keys • Write defensive logic • Don’t be afraid to refactor • If you can’t recite A*, you’re doing it wrong

  22. Design Advice • Learn how to program;) • Pick the team’s battles • Players will fill in the gaps • One exploit ruins everything • Exaggerate the AI

  23. Side Effects of Good AI • You’ll find • Misplaced game logic • New & exciting ways to break the game • Performance problems • Hard to understand game systems • Multiplayer exploits • Automated Testing potential

  24. Questions? Dave Pottinger, President/CEO @dcpottinger www.bonusxp.com

More Related