A Design Pattern Language for Oldschool Action Games
Total Page:16
File Type:pdf, Size:1020Kb
A Design Pattern Language for Oldschool Action Games Daniel CERMAK-SASSENRATH Interdisciplinary Unit, Faculty of Design & Creative Technologies Auckland University of Technology Auckland, New Zealand ABSTRACT include jump n’ run (e.g. Mario, Great Giana Sisters), shoot ‘em up (Xenon 2, R-Type) and maze games (Gauntlet), but This article discusses the application of an Alexandrian pattern excluded sports (Kick Off, Projectile, Speedball), race (Super language to the design of interactive systems. It grew out of an Cars), karate (IK+) and sniper games (Cabal). University course titled A Pattern Approach to Action Game Design, which was offered as an elective in the Creative The concept of Alexandrian design patterns has been applied to Technologies program at Auckland University of Technology, a range of different domains. They also have already been NZ, in 2011. We sketch out the idea of design patterns and applied to interaction and game design (e.g. [13], [7], [6], [9], describe our experiences with the process of using them for [4], [10], [11], [12]). We could have used (part of) an existing designing oldschool action games, that is, finding patterns, language for computer game design [5] but we preferred to making a language, using it for creating several game designs attempt to cover the whole process of finding patterns, and realizing one of these designs collaboratively. We discuss formulating a language and using it ourselves. This was done to the concept of the course and present our pattern language and create a more engaging and challenging situation to learn, to the game we made. While the language is arguably more like a facilitate understanding of the theory, and also to strengthen the patchy pattern collection, the various game designs quite loose feeling of identification with what we do with a sense of and the realized game unfinished, the process was challenging discovery. While risking making a pattern collection instead of and intense, and offered students a new perspective on design. a complete language and not reaching a very high grade of In the spirit of design patterns, we only did what the task at abstraction or depth, we valued the process more than the hand required, not artificial exercises. We attempted to connect product. theory and practice in a natural, direct way as we presented, discussed and used everything we did in order to continue our journey. Our course was not aimed at fixed or frozen products, THE IDEA OF DESIGN PATTERNS but on a process that is constantly in flux through collaboration by people who interact and share a common pattern language, Following Alexander [3], patterns are seen here as rules of use, test, revise and refine it while moving on. thumb. For instance, when making a barn, build it “in the shape of a rectangle, 30–55 feet wide, 40–250 feet long, the length at Keywords: Pattern design, Methodology, Game Design and least 3x feet, where x is the number of cows the barn has to Teaching. hold.” Include a wide double door for the hay wagon. “Devide the inside of the barn into three parallel aisles: two cow milking aisles down the outer sides, and a central hay-storage aisle INTRODUCTION [etc.].” While there are myriads of variants and there is constant flux in all systems, they retain a certain kind of invariant Media, artifacts and processes of any complexity are structured “character, a ‘thing,’ a ‘structure,’ which remains the same”. by patterns. This observation was the starting point for our This invariant structure of entities and relations between them is course on design patterns. In the course we explored how the area in which design patterns work. They control and patterns can be used generatively to inform creative processes (trans-) form it. In effect, what we call a church is a selection of for the design of interactive systems: Design patterns “are patterns in certain relationships with each other. dynamic. They have force. They are generative.” [3] A pattern language is an explicit way of notation for design While Alexander created his pattern language for the domain of principles. Patterns attempt to express invariant concepts which architecture ([3], [2], [1]), we aimed at computer action games. apply to specific problems in certain situations. They try to The focus was on game play, not on e.g. graphics, physics or “relate [...] context, problem, and solution, in an unchanging coding. We analyzed classic 8-bit and 16-bit computer games, way”. Each pattern is formulated as a “three-part rule [...] mostly C64 and Amiga games as a large number of these is which establishes a relationship between a context, a system of readily available through emulators (VICE for C64 on Mac, forces which arises in that context, and a configuration which WinUAE and WinFellow for Amiga on PC). The patterns are allows these forces to resolve themselves in that context”. also identical in old and new action games, it appears, but the patterns are easier to spot in games that are technically limited Patterns are basic, deep, potent, simple, ordinary and easy to to the essentials (i.e. interaction), than in the latest quite understand; they are not mysterious or complicated or to be elaborate and complex games. We limited the scope of our used only by specialists. Every pattern “is so concrete, so approach to certain types of action games, and we chose to clearly expressed as a rule, and as a thing, that anyone can make one, or conceive one, in the buildings where he lives, or in a composed of “overlap and interlock to such an extent that the building which is going to be created.” It takes only little time oneness of all things becomes more marked”. The whole design to “design a building in this way. [...] The speed is the essence. is transformed with each new pattern which is introduced, and, It takes time to learn the language. But it takes no more than a in turn, each new pattern is also transformed by the patterns and few hours or days to design a house.” The power to create “lies the structure which is already is place. The observation that [...] in the simple mastery of the steps in the process, and in the every act is to be seen in relation to what has already happened definition of these steps.” But when selections of these simple connects to Heidegger’s notions that acting comes first, and of elements are combined and integrated, they “generat[e] an being thrown into the world, and not being able to step back. entirely unpredictable system of new and unforeseen relationships” and complex systems. The concept of design patterns sees design as a process in which the whole precedes the parts. The design stays whole during the We are always dealing with a system of patterns; “patterns are entire process, while it is being differentiated, or rather, while not isolated” but “interdependent, at many levels”. Patterns the patterns in it differentiate themselves. While keeping the interact with each other, in a system of relationships. “Each system whole in this process, “structure is injected into the [pattern] is incomplete, and needs the context of the others, to whole by operating on the whole and crinkling it, not by adding make sense.” Large patterns give small patterns a place and put little parts to one another.” The design starts and develops as a them in a certain relation to the whole, and the small patterns single entity. “The form of the whole, and the parts, come into realize, facilitate and support the large patterns. being simultaniously.” The realisation of patterns depends on the given context. The process of using design patterns for building has been Patterns are relations of relations in many variations; they are discussed for making new buildings so far. But “there is a not just physical parts, stackable objects or building blocks second, complementary process which produces the same which are repeated identically. Patterns need to be fitted to results, but works piecemeal, instead. When a place grows, and specific settings for best results. A system which is alive or things are added to it, gradually, [...] the gaps are filled, the anything beautiful cannot be made “merely by combining fixed small things that are wrong are gradually corrected, and finally, components” or “by adding preformed parts”. It can only be the whole is so smooth and relaxed, that it will seem as though generated by a process in which “each part is modified by its it had been there forever.” This process is the same process at position in the whole”, and is “different every time [it] work as before, when making something new, but “stretched out occur[s]”. While each realisation is uniquely tailored to a in time”. specific situation, “[t]he patterns repeat themselves because, under a given set of circumstances, there are always certain A pattern language is to be “morphologically and functionally fields of relationships which are most nearly well adapted to the complete” for a specific task (e.g. building, blues music [6]). “It forces which exist.” The focus on situated activity and the is morphologically complete, when the patterns together form a appropriation of specific settings and adaption to certain complete structure, filled out in all its details, with no gaps. And situations and circumstances, and the unity of action and space it is functionally complete when the system of patterns has that appear to point to parallels in phenomenology (e.g. [14]). peculiar self-consistency in which the patterns, as a system, generate only those forces which they themselves resolve – so The process of adaption to specific local circumstances also that the system as a whole, can live, without the action of self- favors a wholistic approach of planning and making, giving up destroying inner conflicts.” [3] In creating a design, you then the division of mind and matter.