Game Development Reference
In-Depth Information
has taken us from ''clearly impossible'' to ''maybe.'' The code for the Twixt game
shown in the figures is on the CD included with this topic. Adding AI to the game
is left as an exercise for the motivated reader. While the topic of moves for Twixt
appears straightforward, the rest of a hybrid AI that exploits that book is a
daunting challenge.
The AI for Minesweeper given in Chapter 4 proved to be pretty awesome once the
player got it started. So how could it benefit from a book of moves when the
general rules seemed to get nearly all of the deterministic moves? One question
that comes to mind is, ''What is the best first move at Minesweeper ?'' That
question might initially get the response of ''The first move is safe, so why does it
matter?'' But the best first move is one that either exposes the most squares or
that gives the best follow-up moves when the player is forced to start taking
chances. So if the first move did not expose more than one square, a good second
move needs to be a move that can quickly generate the highest number of
deterministic moves. We will look at the numbers and apply them to the various
first moves to see if we can come up with something useful.
The Basic Numbers
In Minesweeper , there are 99 mines in 480 squares. After the first move, that
reduces to 479 squares. This gives a density of 0.207 mines per square on average,
which is the same as having a 79.3 percent probability of being clear. These
numbers are averages; the mines are not evenly spread out. We can use these
numbers to give an expected value of how many mines surround a square before
we click it. We will add or multiply these numbers as needed to evaluate different
moves that could go into our topic of moves. We will not compute the exact
values of all the numbers needed to exactly evaluate the different first moves in
order to keep the statistics from interfering with the analysis.
A Middle First Move
For our purposes, a middle move has two or more squares between it and any
edge. As a first move, it either exposes eight more squares or presents the user with
a number between one and eight. The player has a 0.793 8 chance of getting lucky
on his or her first move and selecting a square with zero surrounding mines. That
works out to getting eight squares 15.7 percent of the time. The average yield of
the first move in isolation is thus 1.26 squares. The other 84.3 percent of the time,