Hamlet PDF
Hamlet PDF
Hamlet PDF
Northwestern University
Computer Science Department
1890 Maple - Evanston, IL 60201
hunicke@cs.northwestern.edu, vernell@northwestern.edu
Increasing challenge
Too Difficult Skill
successfully in a live game. Specifically – when is it
necessary to tweak an in-game system? Which adjustments
will result in direct, predictable and desirable changes to Flow
the system dynamics? [Carpenter, 2003] Channel
Low
FPS game economies are relatively simple compared to Too Easy
Skill
online game economies. But the combat economics of FPS
games are often repeated in sub-economies of MMOG and Increasing Skill
other game spaces. We investigate the FPS environment
as a first step towards understanding the dynamics of Flow state as it transitions over the course of a dynamic
larger, more complex game economies. experience. Challenge and pacing must ramp to match skill,
in order to support continued engagement.
We want Hamlet’s modifications to encourage both local And the variance is the sum of the variances
and long-term success and engagement. We want the
system to support the player – without eliminating
t
negative feedback and making everything very easy and
predictable We want Hamlet to intervene just enough – so
σ 2 = V ∑ x(i) = tσ d 2
that system behavior is relatively stable and predictable
i =1
over time [Rollings, Morris, 2000]. As such, we aim to: σ = tσ d
• Assess when adjustment is necessary The distribution of damage then becomes
• Determine which changes should be made
• Execute changes as seamlessly as possible 1 2
2σ 2
p ( x) = e−( x−µ )
We will now discuss assessment and adjustment in light of σ 2π
these goals, state our observations regarding overall system
behavior, and close with preliminary conclusions. We can now state the cumulative distribution function of
the Gaussian distribution – also known as the error
integral. Here, F(d) represents the probability of receiving
Assessment d or less damage on a given tick:
Our goal is to determine when a player is flailing. In many
d d
FPS games, this is characterized by repeated inventory
∫ p ( x)dx = 1 σ 2π ∫ e( x − µ )
2
(2σ 2 )
shortfalls – places where the player’s available resources F (d ) = dx
fail to meet the immediate demands. −∞ −∞
By observing trends in the player’s inventory expenditure, Obviously, this is not a closed form equation. But lucky
we can watch for potential shortfalls and thus, pinpoint for us, the error integral is implemented as erf(x) in the
potential adjustment opportunities. Our first task is to standard C and C++ math libraries.
establish metrics for assessing statistical data within the
game world. Let us start with the direct observation of Now that we know what the distribution of damage looks
player health – and more specifically, the damage a player like, we can start to approximate inventory levels for
takes over time. player health.
Damage Inventory
We begin by assuming a sequence of random In any given system, the level of inventory will depend on
measurements of damage x(t), each of which has some the rates of flow in and out. This is often discussed in
terms of supply (input flow) and demand (output flow)
probability distribution pd .
[Mankiw, 1997].
Policies
In immediate response to observed flailing, Hamlet may
Hamlet can combine these actions and cost calculations to
create “modes of control” – overall adjustment policies ! Donate a health pack somewhere in the scene.
that control the supply and demand of goods according to ! Upgrade the strength of her ammo.
overall player experience goals. Two examples follow. ! Reduce the accuracy or strength of enemy attacks.
Comfort Zone: This policy will keep players within a Depending on the success of these individual actions,
mean range of health points over time. Entities will be Hamlet can intervene again. If, over time, the player
tuned to shoot less often and less accurately, and requires significant adjustments to the initial levels set by
health is readily available. The goal is to keep the the game designer, Hamlet can also
player at about 50% health, occasionally dipping near
25% or cresting to 75%. ! Reduce initial strength and health of pending
enemies.
Trial and error are important in this policy – enemies will ! Pack more health and ammunition on the bodies
be tuned only if they repeatedly overwhelm the player. of vanquished foes.
Much like a benevolent babysitter, it intervenes frequently, ! Replace pending enemies with a type the user has
but leaves room for mistakes. Overall, the policy will be had more success with in the past.
characterized by steady demand and predictable supply.
The key here is that Hamlet will intervene iteratively,
Discomfort Zone: This policy is designed for more allowing for trial and error. The game will gradually
experienced players. The entities in a DZ game are change to accommodate the current player.
increasingly accurate, ammo and health relatively
scarce. The goal here is to keep the player “on the
edge of her seat” – constantly on the alert for enemies, Preliminary Conclusions
and fighting back from 15 or 20% health most of the
time.
Simulation
This policy is much more like an aggressive drill sergeant It’s clear that work of this nature involves tradeoffs with
or boxing coach. It sets high standards, but delivers respect to the type, number and frequency of adjustments
enough positive feedback to keep the player energized and performed. There is also a performance tradeoff here
between accuracy and generality/speed.
If our goal was to do a “correct” simulation of each Csikszentmhalyi, M.1990. Flow: The Psychology of
individual user’s performance, we would need to perform Optimal Experience. NY, NY: Harper Collins
several trials per user. However, as we are trying for a Berkely, California: Osborne/McGraw-Hill.
“best fit” given current information, this is not necessary.
Crawford, C. 1984. The Art of Computer Game Design.
In fact, we assume that a perfect simulation of the player’s Berkely, California: Osborne/McGraw-Hill.
progress through the environment would actually be less
useful due to the time constraints of real-time gameplay Jensen, P. A., Bard, J. F., 2002. Operations Research
and the limitations of commercial gaming hardware. Models and Methods. Hoboken, NJ, Wiley.
By conducting an abstract simulation of the user’s Kennerly, D., 2003. Better Game Design through Data
trajectory, we essentially generate an envelope of possible Mining. Gamasutra.com.
locations within the state space, and construct our system
to direct that envelope away from undesirable areas of Khoo, A., Hunicke, R., et al, 2002. FlexBot, Groo, Patton
gameplay. and Hamlet: Research using Computer Games as a
Platform. Technical content paper for Intelligent Systems
Evaluation Demonstration, Proceedings of the Eighteenth National
Conference on Artificial Intelligence.
While more advanced techniques can map out many of the
finer relationships in game systems, it is unclear to us at
LeBlanc, M., Hunicke, R., et al 2001-2004 – Game Tuning
this time whether this is necessary, or even desirable.
and Design Workshop. Game Developers Conference:
Future work may comment on the viability and value of
2001, San Jose.
alternative metrics, policies and so on.
Luenberger, D. G., 1979. Introduction to Dynamic
In the meantime, we plan to evaluate a broad sample of
Systems: Theory, Models, and Applications. New York:
users interacting with the Hamlet system. We will attach a
John Wiley and Sons, Inc.
simple heart-rate monitor to a variety of players, have them
play the game on both settings, and then map out the
Mankiw, N. G., 1997. Principles of Microeconomics. Fort
results.
Worth, Texas: Dryden.
If the adjusted game is able to keep test subjects equally
Pfeiffer, B., 2003. AI to Control Pacing in Games.
aroused over time, while dynamically adjusting to keep
Proceedings, IC2 GameDev Workshop, Univeristy of
them alive longer, then we will consider the work a
Texas, Austin.
success. 7
Rabin, S., 2002. editor, AI Programming Wisdom,
References Hingham, Massachusetts: Charles River Media.