AI Game Development. Synthetic Creatures with Learning and Reactive Behaviors
Authors: Champandard A. J.
Published year: 2003
Pages: 212-214/399
Buy this book on amazon.com >>

Summary

This chapter described the various aspects of solutions in general, starting with an information theory study:

  • The solution is a mapping from inputs to outputs, within which there are many types of patterns.

  • Compressing this data leaves us with essential information that indicates the complexity of the mapping.

  • There is a trade-off between finding patterns to approximate data and missing out on information with oversimplifications.

  • We can measure the quality of a representation or instance using the MDL principle, which provides a trade-off between precision and generalization.

  • Although algorithms use these principles, understanding these concepts helps AI developers find better solutions.

Then, the concepts behind the representation were analyzed in more depth:

  • The solution's representation is often different from the representation of the problem.

  • The representation indirectly determines the size of the search space.

  • It's relatively easy to compute the total number of configurations by multiplying the size of internal variables together.

  • The representation chosen has an effect on the smoothness of the search space.

  • We can control the properties of the search space by tweaking parameters of the representation, or even selecting the right representation.

The simulation of the solution (that is, computing the result) depends on the representation. By contrast, there are some common concepts behind the training mechanisms:

  • Human experts can intervene at various levels to provide guidance to find the solution.

  • Other native approaches include exhaustive search and random scanning of the search space.

  • Combinations of these different approaches are very common, if not essential, for any solution to work effectively.

The concepts in this chapter tend to come in handy while applying AI techniques to new problems. Although the ideas may seem somewhat abstract, they provide pertinent insights that guide the design of solutions. The only way to get comfortable with this process is to practice, practice, practice!

Practical Demo

Guinea is an animat that has modular capabilities for movement and shooting. These are used to collect all the solution data, ready for analysis. By examining the mappings for each of the capabilities, the best AI technique can be chosen. Guinea provides the necessary facilities to apply ideas from information theory, and can be found online at http://AiGameDev.com/.


Part IV. Conclusion

This part has proven extremely entertaining; two very successful prototypes for weapon selection have been developed, almost at opposing ends of the spectrum of techniques available (static design versus online learning) -yet surprisingly similar in many respects. The behaviors created certainly contribute toward the intelligence of the animats and provide additional realism . The AI is certainly much closer to providing a worthy deathmatch opponent !

Retrospective Overview

With the experience of Part IV behind us, a critical analysis is in order.

Techniques

Voting systems have many advantages in game development:

  • Powerful - They can successfully handle many problems.

  • Flexible - The system is based on customized voters.

  • Extendible - New voters and candidates can be added easily.

Sadly, voting systems can require a lot of effort to tweak during the experimentation phase, notably to get the votes balanced right and the suitable weights.

Decision trees, too, are an incredibly useful AI technique. When used in the right context, they have many benefits. They are extremely simple conceptually; all we need is a tree. Decision trees are designed to be fast, and are capable of processing huge quantities of data in real time. They are also very good general-pattern recognizers, capable of dealing with continuous and categorical variables .

On the downside, decision trees can be somewhat painful to train, like other supervised learning techniques. Indeed, it's still necessary to find the data for the decision tree to learn! This requires preprocessing, or a separate phase for gathering information.

Behaviors

As for the weapon-selection behaviors, these generally prove quite satisfactory. In many cases, the choice of weapons is limited, and there are many acceptable options. This means that the AI has plenty of tolerance as to what is classified as a realistic weapon choice. As long as there's no fast switching, the behaviors are mostly acceptable.

Both the voting system and the decision tree rely on assumptions at a certain level. The voting system depends on statistics about the weapons, so that it can deduce the best weapon -in theory. The decision tree learns the properties of the weapons, but relies on assumptions used to compute the training data. We used a simplified voting system to do this, and the behaviors are satisfactory. However, the weapon selection is not optimal. There is no sense of survival or desire to score points, so the animat has no idea of the purpose of better weapon selection.

AI Game Development. Synthetic Creatures with Learning and Reactive Behaviors
Authors: Champandard A. J.
Published year: 2003
Pages: 212-214/399
Buy this book on amazon.com >>

Similar books on Amazon