Game Development Reference
or underperform. Not all AI programmers are comfortable with these methods,
and tuning the numbers is a learned skill.
Monte Carlo methods generally are computationally expensive. If the simulation
does not converge rapidly—or at all—the program will use too much CPU while
delivering unreliable numbers. The simulation itself may be difficult or impos-
sible to write. The skills and knowledge needed to write an accurate simulation
can be very similar to those needed to write a regular AI in the first place. With
luck, the simulation safely ignores or simplifies factors that a regular AI would be
forced to deal with, but that luck is never a given.
AI systems based on numbers can drown the inexperienced AI programmer in
too many numbers. If only one programmer can tune the AI, then the project is
in severe difficulty if anything happens to that programmer. Extra effort is
required to document what the numbers mean and how the values were derived.
Games that allow user-provided content, such as mods, need to expose these
numbers to a wide audience of varying skills. If those numbers are not well
organized and well documented, they can be hard to deal with. This disadvantage
is easily countered by experience. People who play online games are notorious for
rapidly reverse-engineering the numbers and equations used in those games.
Our project is a simulation showing how different people evaluate different
possible occupations and the results they get at those occupations. There are
three main parts to the project: the simulation, the simulated people, and the
occupations available to them. We will use four simple variables to get a wide
variety of tunable behaviors. Note that while this looks like a simulation, it is only
a game. It ignores all manner of social issues present in real life. Note also that the
monetary system is intentionally skewed; not only does $1 mean ''one day's
wages,'' but some of the rest of the values are off even by that standard.
The Day in the Life Project
The think cycle for the AI revolves around answering the basic question, ''What
will this character do today?'' There are many factors that will go into the answer.
Because the simulation deals in money, the first important factor is how much
cash the character has. The character will evaluate the available occupations
based on four numbers that will have different values for each occupation. The
characters do that evaluation based on their own personal equation that handles
the four numbers and the amount of cash they possess in a way that fits their