11/2/06
This chapter covered the different models for developing artificial intelligence in a game or simulation environment. I really find the concept of emergent behavior incredibly fascinating and was a little disappointed that the chapter made it sound so dry and uninteresting, but that's just because I happen to like the topic. The examples in the chapter are interesting, describing how swimming schools of fish or flying flocks of birds operate on a simple rule set for the movement of each individual member of the group, but from this rule set ultimately emerges complex, high-level behaviors. To extend this out into the game or program at large, I find it truly fascinating that a well-designed program with a robust structure underneath can result in emergent behavior. It's wonderful to build something as simple as a Flash widget or doodad and watch someone play test it only to have them do things not originally designed nor intended, yet the program responds "naturally" and the mental space of possible behaviors (for me as the designer who hadn't thought of that at least) that mental space "magically" expands. It really does feel like magic. And there's some pride mixed in, that the widget that you've built or designed is "good enough" to handle those unexpected actions to produce something even more interesting.
I also appreciated the descriptions of the different designs for AI, on a very general level. It's interesting to see how differently the backend is handled to produce efficient AI for each game type, even if most of the analysis was over my head. I'm surprised at how different the designs are, but I guess it leads back to AI being only an approximation of a sliver of human intelligence, since the human is the only fuzzy logic, jack-of-all-trades sort of machine with any success, and since the AI we build can not fully replicate that, the AI instead must be as good as possible addressing the particular situations that will be presented in the limited game space. We the player then only evaluate the AI's capabilities within the game situations, and make general assumptions on the AI's "full intelligence." The player is comfortable that the enemy NPC is acting within "human" limitations of sight and sound in a first-person shooter game, and so the player is comfortable that the enemy is "intelligent." It's like how the game world is small, but implies a larger world beyond which the player accepts, only the player never actually interacts with the rest of the world. Those skillful implications ultimately create a richer game world.
And, it's not that we're guessing that the bot is so intelligent that he balances his checkbook and is polite at family holidays when we aren't looking, but the acceptance of appropriate behavior allows a suspension of disbelief and comfort in the gamespace that is otherwise destroyed with "bad" AI. Bad AI could be faulty logic, too inefficient as to always lose to a player, too efficient and always defeat the player, or some other subtle, non-human behaviors.