Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training,
learning paths, books, tutorials, and more.

Chapter 12. Basic Probability

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.

How Do You Use Probability in Games?

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.

Randomness

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training,
learning paths, books, interactive tutorials, and more.