Pattern and Computer Game Design
Pattern and Computer Game Design
Kevin McGee
Communications and New Media Programme
National University of Singapore
Singapore
ABSTRACT
How can we help people design well-formed and innovative
games? The design Patterns of Christopher Alexander is
one methodology that has been proposed to assist in the design of well-formed artifacts. However, most work on gamedesign Patterns to date has opted either for best practice
style Patterns or for an alternative model of Patterns to
support game innovation. This paper describes initial work
to develop materials to help developers identify and formulate best practice game design Patterns and to use the
resulting Patterns as part of creating innovative games.
General Terms
Design, Human Factors, Theory
Keywords
Design Methodologies, Game Design, Design Patterns, Game
Innovation, Computer Games, Design Education
1.
INTRODUCTION
2.
Although design Patterns are widely known, less familiar is Alexanders proposal for the process of identifying and
articulating them [2]. Since we have largely followed this approach in our work on game design Patterns, we will briefly
sketch Alexanders model to provide context for our work.
A canonic example from the work of Christopher Alexander presents the problem this way: imagine there some particular room that you really like some quality that makes
you feel, this is a good room. Now, imagine you are going
to ask someone to build a building and you would like to
ensure that the new building has a room with the quality of
goodness experienced in the room that you like. How can
we describe the architectural feature of the room you like in
such a way that the builder can make another one that has
this quality? Further, assuming that the new room cannot
be an exact duplicate of the room you like, how to articulate
the quality in a way that takes variety of architectural spaces
into account? To be clear, this is not a question of personal
taste (the room is blue because blue is my favorite color)
or experience (the room is special because it is where I experienced my first kiss). It is also not nebulous or vague:
we cannot ask the builder to imbue the new room with the
aura of the room we like.
Alexanders belief is that traditional builders knew the
answer to this question: they copied existing buildings that
were good. But they did not copy particular elements; rather,
they copied the patterns of existing buildings. This, according to Alexander, is why buildings in traditional villages all
feel as if they belong together even though each one differs
from the other. Alexanders work on architectural design
Patterns was initially motivated by the desire to make explicit the Patterns he felt were intuitively learned and understood by traditional cultures where people built their own
buildings. Thus, Alexander proposes a two-part process for
modern users of architectural Patterns. First, to the extent
that there exists an explicit Pattern language, people should
select from the language the Patterns that are relevant to
their specific project. Then, to the extent that people feel
there are Patterns missing for their particular project, he
briefly outlines a process for inventing new, appropriate Patterns.
An Alexandrian Pattern is presented in the form of a
description that highlights the Patterns name, the Forces
(human concerns) it addresses, the Feature that resolves the
tension of those Forces, and the Patterns Context (the when
or where that this Pattern is appropriate).
Feature: what is the something we want to build?
Forces: why is this something helping to make the
built structure Good?
Context: when (or, where) will this Pattern work?
As an example of a Pattern that Alexander and his colleagues articulated, consider their perhaps best-known example: when designing a building, make sure that there is
natural Light on Two Sides of Every Room. Below is
an abbreviated version of the Pattern.
3.
Following Alexander, we would like good methods for identifying the features of games that make them good and
for articulating design knowledge about those features that
makes it possible to communicate what they are and how to
build them.
One incident will serve to illustrate what kinds of design
Patterns are intended and some of the difficulties about
creating such Patterns. In 2001 I taught a university course
on the design of media technologies to support end-users.
The course consisted of different design teams and they were
required to use the method of identifying, articulating, and
applying a design Pattern relevant to their project-focus.
One team had members with children who were actively
engaged in making stories in the form of physical multimedia books by folding paper, cutting out pictures to glue
on, drawing, creating texts, and so on. One of the issues
was that sometimes the children couldnt think of anything
to make a story about. This teams goal was to design
a computer-based tool/environment for making analogous
multi-media stories. In particular, they wanted their tool
to address the problem encountered by one of their testusers: how can the system help when users run out of story
ideas ? (Before reading further, readers might consider for
a moment how they would try to solve this design problem.)
Since we were working specifically with the use of design
Patterns, the team first tried to identify an existing example
of success. In other words, they tried to identify some example where someone had writers block and something
helped. One of the team members started trying to learn
what her son did in such cases.2 Eventually, after many
attempts on the part of his mother to formulate partial insights in terms of a design Pattern, it was the son who almost casually articulated the design Pattern himself: Place
a Well-known Figure in an Unusual Situation.
It turned out that the boy liked to draw a particular character and make stories about the character. Whenever he
couldnt think of a story, he would put the character in odd
situations to see if it inspired him. In this case, the particular character was well known to the boy because it was the
boys own creation, but the same heuristic can obviously be
used with characters that are more widely well known.
There are many insights to be drawn from this example,
but for now it is enough to highlight how it meets the main
requirements of a design Pattern: it is centered on the enduser experience, generative, flexible, testable, and it is clear
enough to be debatable. Finally, it would be easy to dismiss
this Pattern because it is a slightly different formulation of
a well-known heuristic for generating new ideas. But this
would be to overlook the value of the Pattern formulation:
it makes the heuristic precise and actionable for certain types
of designs. Indeed, once we have such a Pattern formulation,
we can start to imagine and realize different ways we could
build a system to satisfy the Pattern (and, indeed, that is
what the team did).
Although each team in the course arrived at more or less
successful design Patterns for their projects, it became clear
that it would be nice if there was better support for students
2
Readers familiar with such ethnographic investigations of
end-users can imagine the richness of issues that arose. Exploring them here would take us too far afield, but are the
subject of a separate paper recently submitted for publication.
3.1
incorporate the Pattern into the new game. Final submission of each project consisted of the game implementation,
a single-page design Pattern, and a short (half-page) document describing how the teams design Pattern was realized
in its game.
Thus, the course involved a lot of the social process of
discussion and iteration. However, the remainder of this
section describes some of the specific written instructions
and templates we used to support the process of Pattern
identification and articulation. In the interests of brevity,
the example documents only relate to the identification of
Features and Forces. Also, although the course ultimately
resulted in fifteen design Patterns (five student-teams, each
producing a different Pattern for each type of game), the
description will highlight the identification, formulation and
application of one particular Pattern by one of the teams.
3.1.1
3.1.2
After each team submitted a written draft of a design Pattern, students were provided with a checklist to support an
evaluation and discussion of the different Patterns proposed.
Specifically, each student was asked to look at the Patterns
that all the other teams had submitted and to try to identify
one thing concretely they could say about each Pattern that
needs improvement and one concrete suggestion for how
to improve it.
As context for this activity, students were advised that
Patterns are initially weak hypotheses. We need to develop
them to the point where they are strong enough to test
and then we need to start testing them. As part of probing
an initial proposal for a Pattern, one should be broadly evaluating Force and Features as follows. Forces: is it true that
the stated conflicting forces actually do occur in the stated
context? Feature: is it true that the stated feature actually
does resolve the conflicting forces in all cases?
In addition to such broad guidelines, students also received an evaluation checklist:
Is the Pattern really present in the original game?
Do you believe the Pattern does it express something about the game that actually makes the game
fun to play?
Is it well-described:
Forces
Is each Force a real Force (that people really care
about)?
Is each Force relevant to the game?
Are the Forces in conflict?
Warning! One Force is not a solution to another Force. Rather, one Force usually expresses
a problem that happens if we go too far with
the opposite of the other Force.
Feature
Does the Feature actually resolve the conflict in
the Forces?
Is the Feature expressed as something we can do?
(example: therefore, do/make X)
Name
Does the Pattern name clearly express the Feature we should build?
Do you find yourself nodding in agreement as you read
the Pattern description?
If I had to use this Pattern to build something, would
it help? Would it help enough?
Does the Pattern suggest interesting ways to improve
the game?
3.1.3
4.
DISCUSSION
As design teachers, we see the same kinds of game designs time after time; it is very clear when a game is unusual
or novel even though we may lack the means to identify
what characterizes the ones that are novel. But inevitably
the research reported here confronts a number of difficult
questions about what constitutes innovation, how it is measured, and the like.
So, on the one hand, we did want to encourage innovation
and to develop some set of criteria for measuring it. And on
the other hand, we wanted to protect students in a variety of
ways from the unsolved difficulties we face when evaluating
innovation.
In order to address this with some degree of crispness, we
specified that innovation for this course consisted of more
than just modifying the values of the formal parameters of
the reference implementations. We imposed a constraint
that the main innovation to a reference implementation had
to be in the form of something qualitatively different that
is, an entirely new formal parameter rather than something
quantitatively new.
However, the issue of variety and innovation is also challenging because, well, it is about innovation. In other words,
we can identify certain principles, guidelines, techniques,
and metrics. But in the end, we also want to be open to
the things people do that fall outside of our pre-conceived
requirements (and of course, update those guidelines suitably when such interesting cases occur). So, we told students that some of our feedback and evaluation would have
to rely on more intuitive metrics: our familiarity as teachers
and professionals with the range of variations that exist for
certain well-know games, and so on.
It is also worth commenting on the decision to have each
team identify its own Pattern for the same reference game
rather than, say, having all the teams work together to
identify a single Pattern (which each would then use in its
own way). First, it gave each team experience in identifying
and refining a Pattern of its own; this would hopefully allow
them to do this in other contexts. Second, it helped them
realize the variety of Patterns that exist in any particular
well-design game. Finally, it was part of a particular approach to using Patterns to support innovation, namely, to
identify something that was good about the reference game
and then use that Pattern to elaborate a variety of additional
game behaviors that were consistent with it.
Of course, if we had asked every team to build a game
based on the same Pattern it would have given more data
about the sharability and re-usability of that particular Pattern. But out purpose was not to study that particular aspect of the Patterns they created. Having said that, each
teams Pattern was discussed and critiqued extensively by
5.
CONCLUSIONS
5.1
Future Work
6.
ACKNOWLEDGMENTS
7.
REFERENCES