Pattern Practice
A Supplement to the "Game Design Patterns"
GDC 2003 combined lectures by Bernd Kreimeier, Jussi Holopainen, Staffan Björk
Supplement by Bernd Kreimeier

Extended Abstract

There is a wide consensus in the game design community that semi-formal or even formal game design methods must be developed (see e.g. the GDC 2002 roundtable discussion on "Game Design Patterns" [5] as well as the "400 Project" started at GDC 2001 [9], as well as Doug Church's "Formal Abstract Design Tools" [10]). We must advance the way we discuss game design details. However, at this time it is not clear which, if any, of the approaches proposed to date are best suited for practical use in the game development process.

Some game industry professionals already use derivatives of Alexandrian "Design Patterns", usually in the context of software engineering. Christopher Alexander's original pattern language has also been referred to in discussing level design and level architecture (see [4] for details and references). Patterns are also used by parts of the research community concerned with Human-Computer Interaction (HCI), of which games (or at least the design and analysis of game User Interfaces) can be considered a specialization. (For a HCI perspective on patterns see e.g. [7] by Sally Fincher.) The work by Microsoft Game Studios' User Testing group (see [2] for an introduction) is also oriented within an HCI context [1]. The connection between HCI problems and game design issues is not a recent insight: witness the popularity of Brenda Laurel's "Computers as Theatre" [3] within parts of the game designer community.

The authors propose the use of "Game Design Patterns" [4,6] as a tool to analyze, document, and discuss game design techniques and recurring game elements. The game design pattern approach is loosely based on Alexander's work, but deviates from it in several ways essential ways. While pattern-based methods can be used to express imperatives (see e.g. the normative rules of the "400 Project"), one important advantage is their adaptability to the specific needs of a given team or project. The lecture focuses on patterns as a method. Individual patterns, and small pattern collections, will be discussed as examples, but no attempt at defining a "canonical pattern language" is made. There is a variety of game genres, and within each genre, a variety of game design philosophies that make it difficult, possibly counterproductive, to attempt to define a pattern collection that could serve so manifold objectives without becoming unwieldy.

Pattern Practice

Patterns, like any semi-formal method, are only useful as long as reasonable efforts to memorize and apply them suffice. Furthermore, in an artistic context, patterns can be very specific to the project or the individuals involved. Consequently, the lecture focuses on methods to recognize and harvest patterns, on how to define and refine them for documentation, how to document them, and on their application within small groups. The resulting pattern languages should assist the designers in their day-to-day design work, first as tools to document and evaluate designs, and last, but certainly not least, to enable designers to consciously expand the design spaces of computer games. 

Pattern-based methods (in game design) are in their infancy. However, even experienced game designers might find the different perspective offered by pattern-based approaches helpful for their own attempts to develop and improve other formal methods (like FADTs or rules).  Ultimately, any practical application of patterns requires the individual designer to define and use design patterns in their day-to-day work, as a semi-formal, flexible method to express, evaluate and reflect upon design choices both within the team, and with others outside the development group. Fincher [7] points out that Alexander specifically intended patterns to permit communication between designers (in his domain, architects) and users. For practical purposes of game development, communication with the programming and engineering members of the team, as well as communication with formal User Testing [2] (or more informal user feedback/playtest) groups, as well as communication with production (see also [8]) and management, could potentially benefit from pattern-based documentation and methodology.

Aspects of practical pattern use to be covered in the lecture include the issue of harvesting/mining for patterns ("in every cliché hides a pattern waiting to be understood"), and issues of documenting and discussing patterns:

-	Pattern writing process [13,17]
-	Pattern writing styles [12,14]
-	Pattern writing templates [4,6]
-	Minimal mnemonic representation
vs. Use-centered reference
vs. Full pattern documentation
-	Pattern misconceptions [15]

Specific to the efforts aiming at game design patterns are the topics of:

-	Anecdoctical representation of knowledge
-	Empiric data and patterns: observation vs. "best practice"

-	Pattern names and forms: object-centric vs. problem-centric
-	Purpose vs. effects
-	Pattern categories: spatial vs. behavioral

-	Levels of abstraction: building blocks or guiding principles
-	Hierarchy, alternative solutions, aggregation, dependencies
-	Composite patterns

-	Patterns as narrative  [11]
-	Pattern extraction from walkthroughs
-	Pattern extraction from project post-mortems [4]
-	Pattern mining by introspection [16]
-	Pattern review (e.g. [17])

Of particular interest are the differences between the rule based approach of the "400" project [9] and a pattern approach:

-	Pattern made from rules
-	Patterns formulated as rules
-	Patters vs. rules: trade-offs vs. trumping hierarchy

Comparisons between FADTs and patterns can also serve to better understand either approach. Other possible topics include support for structured editing by off-the-shelf (e.g. XML) tools, pattern review by inversion, use of patterns as creative (i.e. exploratory) tools, as well as patterns as a tool for introspection.

Outlook

The combined lectures on "Game Design Patterns" and the IGDA roundtable on "Game Design Methods" at GDC 2003 complement each other in an attempt to advance the discussion of how to develop formal, abstract tools for game design, a discourse if not begun, then made explicit by Doug Church in 1999 (see [10]). The authors believe that among the approaches proposed to date, patterns offer the most flexibility and versatility to accommodate the wide spectrum defined by different genres, different design objectives and philosophies, and the different levels of abstraction to match the varying needs of pre-production and core production of an increasingly complex (and increasingly expensive) development process.

Note: an updated version of this document, as well as other documents related to the GDC 2002 and 2003 roundtables, can be found at: http://www.oneArrow.org/pattern/game/, as well as on the official GDC website at http://www.gdconf.com/.

References

[1] Randy J. Pagulayan, K Keeker, D. Wixon, R.L. Romero and T. Fuller, "User-Centered Design in Games", In: J.A. Jacko and A. Sears (eds.), "The Human-Computer Interaction handbook: Fundamentals, Evolving Technologies and Emerging Applications". Lawrence Erlbaum Assoc., 2003. ISBN 0-805-83838-4

[2] Bill Fulton, "Beyond Psychological Theory: Getting Data that Improves Games".
Game Developer's Conference 2002 Proceedings, San Jose CA, March 2002. 
See http://www.gamasutra.com/gdc2002/features/fulton/fulton_01.htm 
and http://www.gamasutra.com/gdce/2002/bill_fulton.zip 

[3] Brenda Laurel, "Computers as Theatre", Addison Wesley Longman Inc. 1991, 1993 ISBN 0-201-55060-1.

[4] Bernd Kreimeier, "The Case for Game Design Patterns".
See http://www.gamasutra.com/features/20020313/kreimeier_pfv.htm 

[5] Bernd Kreimeier, "Game Pesign Patterns", supplement to GDC 2002 roundtable, GDC 2002 proceedings CDROM, see also http://www.oneArrow.org/game/pattern/ 

[6] Jussi Holopainen and Staffan Bj"ork", "Game Design Patterns", GDC 2003 lecture, Proceedings CD ROM.

[7] Sally Fincher, "Patterns for HCI and Cognitive Dimensions: two halves of the same story?"
Submitted to 14th annual PPIG workshop, 2003.
See http://www.pliant.org/personal/Tom_Erickson/FincherOnPatterns.pdf 

[8] Mark Cerny, "Method". GDCE 2002 Web Lecture
See http://www.gamasutra.com/features/slides/cerny/index.htm 
also http://www.gamasutra.com/gdce/2002/mark_cerny.zip 

[9] Noah Falstein. "Better By Design: The 400 Project". (Game Developer magazine, Vol. 9, Issue 3, March 2002, p. 26.) 

[10] Doug Church. "Formal Abstract Design Tools." (Gamasutra, 1999. Originally Game Developer magazine, Vol 3, Issue 28, July 1999.)
See http://www.gamasutra.com/features/19990716/design_tools_01.htm 

[11] Andrew Rollings and Dave Morris. Game Architecture and Design. (The Coriolis Group, 2000.) ISBN 1-57610-425-7

[12] Aamod Sane "The Elements of Pattern Style." December 1995.
See http://choices.cs.uiuc.edu/sane/elem.pdf

[13] John Vlissides. "Pattern Hatching - Seven Habits of Successful Pattern Writers." C++ Report. Nov/Dec 1996, and Pattern Hatching: Design Patterns Applied (Addison Wesley, 1998).

[14] Gerard Meszaros and Jim Doble "A Pattern Language for Pattern Writing"
See http://hillside.net/patterns/writing/patternwritingpaper.htm

[15] John Vlissides. "Patterns: The Top Ten Misconceptions". Object Magazine, March 1997. See http://www.research.ibm.com/designpatterns/pubs/top10misc.html 

[16] NN. "TIES Patterns- Pattern Mining". From Jim Coplien's pattern writer's workshop. See http://hillside.net/patterns/patternsmining.htm 

[17] Doug Lea, "Pattern Checklist" See http://hillside.net/patterns/writing/checklist.htm 
See http://hillside.net/patterns/writing/checklist.htm 

Speaker Info

Staffan Björk
Staffan Björk is a Ph.D. in informatics with a background in computing science. He was one of the initial members of the PLAY group of the Interactive Institute in Sweden and has been director for the studio since the autumn of 2001. His research interests include design patterns in games, ubiquitous computing, information visualization, and the use of emergent narratives in computer entertainment. His work has been published in SIGGRAPH, ACM CHI, ACM UIST, IEEE Information Visualization, IEEE ISWC, HUC (now UbiComp), AVI and Interact. He is currently co-chair for the Short Talks & Interactive Posters at SIGCHI 2003, Community of Practive Liaison for the Games Community for the CHI 2003 conference, one of the guest editors for a special issue on Ubiquitous Games in the journal Personal and Ubiquitous Computing, and a member of the executive board of Digital Games Research Association (see http://www.digra.org).

Jussi Holopainen
Jussi Holopainen is a Research Scientist at the Visual Communications Laboratory of Nokia Research Center in Finland. His research interests include entertainment applications for wearable and mobile devices, as well as the aesthetical foundations of game design process. His work has been presented at HUC (Handheld and Ubiquitous Computing), ISWC (International Symposium on Wearable Computing), E-Culture Fair (in conjunction with Doors of Perception), Consciousness Reframed, SIGGRAPH and UbiComp. He is also one of the organizers of Jyväskylä Arts Festival, a member of the programme committee for Computer Games & Digital Cultures conference, one of the guest editors for a special issue on Ubiquitous Games in the journal Personal and Ubiquitous Computing, and a member of the executive board of Digital Games Research Association (see http://www.digra.org).

Bernd Kreimeier
Bernd Kreimeier is a writer, physicist, and coder, currently employed as a Senior Programmer for a game development studio in California. He has pursued the topic of game design patterns since 1997, and is currently working on a related book to be published by Wordware in 2003. His credits include Linux ports of Heretic2 and Quake3; Team Arena; as well as an Xbox launch title. He has lectured at GDC in 2001 and moderated a GDC Roundtable on Game Design Patterns in 2002, and has been published in Game Developer Magazine and on Gamasutra. He has the equivalent of a masters degree in experimental physics from the University of Dortmund in Germany, and served as research and teaching staff member at the Universities of Duesseldorf and Bonn. He has published several novels and short stories in the german language.