Game Development Reference
In-Depth Information
dictate a particular implementation. You can think of the dynamic engine pattern
as a special instance of the engine building pattern. If you include a dynamic engine
in your game, you have implicitly included some form of engine building. Attrition
and dynamic friction exhibit the same relationship: Attrition is a more special-
ized case of dynamic friction. Creating attrition is simply a special case of applying
dynamic friction symmetrically.
From the perspective of design pattern theory, this type of relationship between
patterns is called elaboration . One pattern (for example, attrition) is a more elabo-
rate implementation of another pattern (for example, dynamic friction). Within
the engine patterns, the worker placement pattern elaborates the engine building
pattern, while the engine building elaborates the dynamic engine, and the dynamic
engine elaborates the static engine.
Elaboration can be an important tool to design games. For example, if a game is too
simple, replacing one pattern in the game with a pattern that elaborates the origi-
nal pattern will make the game more complex. At the same time, when a game is
too complex, replacing a complex pattern with a simpler pattern that the original
elaborates will make the simpler. Ultimately, all engine patterns elaborate an ordi-
nary source node, and all friction patterns elaborate an ordinary drain node. In your
game, you should be able to replace any source with an engine, and vice versa. The
pattern descriptions in Appendix B list what patterns elaborate other patterns and
by which patterns it is elaborated under the related patterns section.
To illustrate how elaboration might be used as a design tool, consider the Harvester
game. As was mentioned in the beginning of this chapter, it implements a dynamic
engine pattern. There are a few possible elaborations. For example, we might
elaborate the entire pattern to the engine building pattern or even to the worker
placement pattern ( Figure 7.3 ).
Another option would be to elaborate elements within the dynamic engine. As
we already mentioned, we could elaborate any source to an engine pattern. As the
Harvester game contains a source, we could replace that source with a converter
engine pattern ( Figure 7.4 ). In turn, because the converter elements themselves
actually consist of a combination of a drain triggering a source, we could replace
any of them with an engine or a friction pattern.
 
Search WWH ::




Custom Search