Game Development Reference
In-Depth Information
This idea was transferred to the domain of software design by Erich Gamma, Richard
Helm, Ralph Johnson, and John Vlissides (known to the software engineering com-
munity as the “Gang of Four”) in their seminal book Design Patterns: Elements of
Reusable Object-Oriented Software (1995). Within software engineering, the principles
of object-oriented programming take the place of Alexander's unnamed quality. By
identifying software design patterns, they created a common vocabulary for pro-
grammers to discuss object-oriented software features that they all knew about but
had no names for. This made it easier for developers to work together but also to
create better code. The Gang of Four also organized their pattern language into a set
of interrelated patterns that describe generic solutions to common design problems.
The original set contained about 20 patterns. Over the years, a number of patterns
have been added, while a few have been removed. Today the set of core patterns for
software design remains relatively small.
Design Vocabularies in Games
We are not the first to draw inspiration from Alexander and apply the idea of design
patterns to game design. Many designers and researchers have noted that game
designers have no generally accepted design vocabulary that efficiently allows them
to share and discuss ideas. In a 1999 Gamasutra article “Formal Abstract Design
Tools, ” designer Doug Church set out to create a framework for a common vocabu-
lary for game design. According to Church, “formal” indicates that the vocabulary
needs to be precise, and “abstract” indicates the vocabulary must transcend the par-
ticular details of a single game. For Church the vocabulary should function as a set
of tools, in which different tools are suited for different tasks, and not all tools are
applicable for a given game.
desiGn pat terns Vs. desiGn Vocabularies
The notions of design patterns and design vocabularies are sometimes used inter-
changeably. The approaches are similar but not identical. design patterns and design
vocabularies try to both capture and objectify essential characteristics of games, but
design patterns are intended to help people create good games (or program code or
buildings), while design vocabularies try to remain more neutral and less prescriptive
(especially when they are used in an academic context). There is something to say for
both approaches, but in this topic we choose the design pattern approach because it is
of more practical use to designers. We don't just look at design patterns as interesting
phenomena found in games; they're tools for making better games. however, some might
point out that, because of its more prescriptive nature, a pattern language can be more
restrictive. We'll address this issue in the sidebar “Two criticisms of Formal methods”
later in this chapter.
 
Search WWH ::




Custom Search