Game Development Reference
In-Depth Information
All the behaviors listed here can be simulated using a set of weights on the various
categories. Subtle changes in the weights create richness within a category; there
are a lot of different ways to be slow and steady. Gross changes in the weights
yield the compulsive or near-compulsive behaviors. Games are entertainment
products, so the AI programmer will need to use tools like these weights to create
an interesting player experience.
Design and Analysis
If the AI problem at hand does not lend itself to numbers, probabilistic methods
are of little help. Like all the other tools we have covered so far, the method forces
the AI programmer to try to think of the problem in terms of this kind of
solution. Some problems will have an elegant fit, and the AI programmer can
orchestrate a rich variety of behaviors by changes to some numbers.
The hardest question to answer is, ''Can I get the numbers?'' We have covered
three basic ways of getting the numbers. Sometimes a number may not tune well;
it may need to be lower or higher at different times. In such cases, you replace the
number with some code that computes a value based on the situation and
include more numbers that will need to be tuned. The idea is to use the simplest
methods that do the job and apply sophistication only as needed. (Note that this
idea applies to all aspects of game AI, not just methods based on numbers.)
Probabilistic methods put a floor under artificial stupidity by coming up with
reasonable actions. Random selection among best moves provides interest and
removes predictability. The methods enable the AI programmer to provide a
range of behaviors, including interesting or possibly baffling moves. Even good
moves can be nuanced—possibly too subtly for the player to notice, but far more
than we saw with FSMs. In addition, adding such nuances has a lower impact on
complexity than we would see with FSMs.
There are disadvantages to these methods. The greatest is that they literally live
and die on good numbers. If you cannot get those numbers, the method will fail
Search Nedrilad ::

Custom Search