Game Development Reference

In-Depth Information

relationship score. The ''we needed that'' bonus term adds an average of half of

one point every interaction. We know that the first person in every pair was

picked on the basis of need. Because our needs average to 0, we expect the first

person to nearly always have an unmet need. Because the person's partner is

picked at random, that partner is equally likely to have any need be met as unmet.

So half of the time, we expect to see the ''we needed that'' bonus to apply. In the

absence of strong personality matches or conflicts, the bonus gently eases our

simulation toward positive relationships. We can think of this as ''most people

get along, even if they don't actually like each other.''

Another influence on our system is that our people have a full set of preferences

that are picked without bias. This means that on the average, any given person's

net preference value is near 0. It also means that with so many pairs of potential

interactions available, we will see a good deal of cancelations. Statistically, this is

known as ''reversion to the mean.'' We could change our people so that they only

held strong opinions or did not care. In the code, we would turn any
þ
1or
1

values for preferences to 0.

Along that same line, our range of preferences is notably constrained. If we

increased the range from the current
2to
þ
2to
3to
þ
3 or even more, we will

see different results. Note that this would completely change the scaling of the

compatibility number; simulations with one range would be tuned differently

than with the expanded range. The expanded range can also be combined with

the preceding idea of strong opinions only.

Another driver toward the mean is our cruise director. By pushing toward full

coverage of all the possible interactions, we suppress weaker trends that might

appear if our people had a chance to pick who they interacted with and what

interactions they tried. The flip side of this is that the strong trends we see—those

between people with compatibility scores in double digits—indicate that our

simulation does deliver what we expect. If you do not see these trends, try

different sets of people. Just click the People button and dump the new roster.

Repeat until you see one or more compatibility scores in the teens, positive or

negative. A value of 17 or higher is especially informative.

A final note on tuning is that this whole process is driven purely by numbers and

simple equations. These numbers belong in a spreadsheet and on charts for better

clarity. Statistical analysis may seem to be far removed from emotions, but for

game AI, these heartless tools are a warmly welcomed help.