Developers use probability in games for such things as hit probabilities, damage probabilities, and personality (e.g., propensity to attack, run, etc.). Games use probabilities to add a little uncertainty. In this chapter, we review elementary principles of probability and discuss how you can apply these basic principles to give the game AI some level of unpredictability. A further aim of this chapter is to serve as a primer for the next chapter, which covers decisions under uncertainty and Bayesian analysis.

Bayesian analysis for decision making under uncertainty is fundamentally tied to probability. Genetic algorithms also use probability to some extent—for example, to determine mutation rates. Even neural networks can be coupled with probabilistic methods. We cover these rather involved methods to various extents later in this book.

Because the examples we discuss rely heavily on generating random numbers, let’s
look at some code to generate random numbers. The standard C function to generate a
random number is *rand()*, which generates a random integer in the
range from 0 to *RAND_MAX*. Typically
*RAND_MAX* is set to 32727. To get a random integer between 0
and 99, use *rand() % 100*. Similarly, to get a random number
between 0 and any integer N-1, use
*rand() % N*. Don’t forget to seed the random number generator
once at the start of your program by calling *srand* (seed). Note that *srand* takes a
single *unsigned ...*

Start Free Trial

No credit card required