Reactive and Agent Intelligence AI - the topic here is how to make character brains, as opposed to things like search and game playing - there isn't a clean distinction. But basically, search and path planning go into the other AI category.
1. Recommended Readings
The UW library gives access to some Game AI books, the introductory chapters of which may be useful
- Steering Behaviors For Autonomous Characters (Craig Reynolds) http://www.red3d.com/cwr/steer/gdc99/ - this is an advanced version of flocking, but its still gives relatively simple characters
Some research "agent architectures" (note - these references are quite dated, you can try to find more recent ones).
- Pengi - an important system that showed a reactive architecture to play a video game. I can't find the paper on the web (the PDF is in ~cs679-1/public/Readings/pengi.pdf - because of copyright i can't put it on the web)). A summary of the paper can be found here
- Subsumption Architecture / Rod Brooks - Rodney Brooks is an important person in the field. There are many papers on his "subsumption architecture" and his philosophy on reactivity.
- Patty Maes was one of Brooks' student and was an important contributor to reactive AI in its early days. How To Do the Right Thing is one of her papers that describes an overall approach.
- SOAR - I don't know the right reference, but look around John Laird's web page
Note: this list is really out of date, so if you find more modern references, that's great - please let me know!
Useful Resources (can't really count as your only reading)
2. Homework Questions
- Give a real world example where "knowledge in the world" can be used in place of "knowledge in the head"
- In practice, a real intelligent agent is unlikely to be purely contemplative or purely reactive. Give an example of such a mixed system.
- Imagine an AI that drives a racecar around a known track (like the drivatars in Forza Motorsports, if you know them ). What advantages would a purely contemplative AI have? What advantages would a purely reactive AI have?
Pick one of the research reactive agent/robot architectures (Pengi, Subsumption, HAP, SOAR, Blumberg's, Maes', or something more modern). In addition to reading about it, write up:
- the general idea of how it works
- how appropriate it might be for the brains for non-player characters in games
- pick an example of an NPC behavior in a game. describe how you could create the behavior using the architecture. (good example NPC behaviors might be sentry guards trying to shoot the player, a car racing around a city, ...)
4. Assignment / Projects
Create a simple environment simulator, and create some agents that exhibit complex behaviors within the environment. The key here is to pick some simple environment that is easy enough to simulate so you can have enough time to create non-trivial agents using one of the architectures from the literature.