Chapter 7: DESIGN PATTERNS. Hamzah Asyrani Sulaiman

Similar documents
Chapter 4: Internal Economy. Hamzah Asyrani Sulaiman

PATTERNS IN GAME DESIGN

2016 Carey Nieuwhof. Carey Nieuwhof Communications Ltd. The rethink Group, Inc. All rights reserved.

GAME COMPONENTS. Your ORIGINZ box contains:

CMS.608 / CMS.864 Game Design Spring 2008

LESSON 8. Putting It All Together. General Concepts. General Introduction. Group Activities. Sample Deals

Card Racer. By Brad Bachelor and Mike Nicholson

Managing Difficult Conversations: Quick Reference Guide

Compendium Overview. By John Hagel and John Seely Brown

1

Software Development of the Board Game Agricola

The Life Passion Quiz!

Make Your Own Game Tutorial VII: Creating Encounters Part 2

Chapter 3: Complex systems and the structure of Emergence. Hamzah Asyrani Sulaiman

Star-Crossed Competitive Analysis

the gamedesigninitiative at cornell university Lecture 6 Uncertainty & Risk

THE RULES 1 Copyright Summon Entertainment 2016

tips for earning an MEd while still teaching full time Keep working, keep living here s how. You ve got this!

WholeLife Aspirations and Goals CONNECTING YOUR LIFE PURPOSE TO YOUR LIFE CHOICES

Solitaire Rules Deck construction Setup Terrain Enemy Forces Friendly Troops

Not-Too-Silly Stories

Red Dragon Inn Tournament Rules

1 Place value (1) Quick reference. *for NRICH activities mapped to the Cambridge Primary objectives, please visit

UNIVERSITY OF CAMBRIDGE FACULTY OF LAW OPEN DAY 2018

The Effectiveness and Efficiency of Model Driven Game Design

Module 9 Putting It All Together

Module 2: The Free Session That Sell Experience Part 1

Skills 360 Getting the Most out of a Conference (Part 1)

BONUS MATERIALS. The 40 Hour Teacher Workweek Club. Learn how to choose actionable steps to help you:

LESSON 4. Second-Hand Play. General Concepts. General Introduction. Group Activities. Sample Deals

Webinar Module Eight: Companion Guide Putting Referrals Into Action

COMPONENT OVERVIEW Your copy of Modern Land Battles contains the following components. COUNTERS (54) ACTED COUNTERS (18) DAMAGE COUNTERS (24)

Why do they not make productivity permanent? Why do they only engage in these temporary cycles?

Design Document for: Name of Game. One Liner, i.e. The Ultimate Racing Game. Something funny here! All work Copyright 1999 by Your Company Name

THE DEEP WATERS OF DEEP LEARNING

Career Change That Works

Game Design and Programming

The game of intriguing dice, tactical card play, powerful heroes, & unique abilities! Welcome to. Rules, glossary, and example game Version 0.9.

Creating Projects for Practical Skills

200 CARDS (63X88) 1 VICTORY POINT BOARD 4 VICTORY POINT MARKERS 1 FIRST PLAYER TOKEN 4 FACTION BOARDS ST STATE BASE CARDS 12 CONNECTION CARDS

Chapter 5: MACHINATIONS. Hamzah Asyrani Sulaiman

Blackfin Online Learning & Development

For 2 to 6 players / Ages 10 to adult

Overall approach, including resources required. Session Goals

Investing in your future establishing a marketing budget

Chuckers Create Expectations

Maniacally Obese Penguins, Inc.

the gamedesigninitiative at cornell university Lecture 4 Game Grammars

After the Fact Inventing the Future TRANSCRIPT. Originally aired May 24, Total runtime: 00:13:15

CS221 Project Final Report Automatic Flappy Bird Player

Physics 3 Lab 5 Normal Modes and Resonance

By Night Studios: Basic Combat System Overview

28 Day Barre Chord Practice Plan

Laboratory 1: Uncertainty Analysis

An analysis of Cannon By Keith Carter

Chapter 2. Emergence and Progression

Module 5: How To Explain Your Coaching

Fractions! You can find much more about all these issues, and more, in the ebook Understanding Fractions [ibooks]. Ronit Bird

Time Management for Writers How to write faster, find the time to write your book, and be a more prolific writer

G54GAM Coursework 2 & 3

Introduction to Game Theory

Mobile Gaming Benchmarks

LESSON 6. Finding Key Cards. General Concepts. General Introduction. Group Activities. Sample Deals

LESSON 6. The Subsequent Auction. General Concepts. General Introduction. Group Activities. Sample Deals

While there are lots of different kinds of pitches, there are two that are especially useful for young designers:

CS510 \ Lecture Ariel Stolerman

Frequently Asked Questions About the Club

MathScore EduFighter. How to Play

Bible Battles Trading Card Game OFFICIAL RULES. Copyright 2009 Bible Battles Trading Card Game

:::1::: Copyright Zach Browman - All Rights Reserved Worldwide

Health & Happiness Guide

Play Unsafe. How Improv Can Improve Your Roleplay!

Pickin. Objective. Resources. The Skills Map. Assessments

2019 Marketing Planning Guide

Gameplay. Topics in Game Development UNM Spring 2008 ECE 495/595; CS 491/591

Trade Offs in Game Design

Lesson 2. Overcalls and Advances

Honeycomb Hexertainment. Design Document. Zach Atwood Taylor Eedy Ross Hays Peter Kearns Matthew Mills Camoran Shover Ben Stokley

Guidelines for Girl Scout Cadettes

Zpvui!Iboepvut!boe!Xpsltiffut! gps;!

12-POINT CHECKLIST FOR BUILDING AN ONLINE BUSINESS

How YOU are like Shampoo for College Graduates e-audit #2. How Are Your Interviews Going?

OXFAM TOOLKITS HOW TO HOST A HOUSE PARTY

Game Design Courses at WPI. IMGD 1001: Gameplay. Gameplay. Outline. Gameplay Example (1 of 2) Group Exercise

Games for Drill and Practice

Girl Scout Silver Award

Achieving Desirable Gameplay Objectives by Niched Evolution of Game Parameters

Session 1: Pen Name Basics Writing, Publishing, Branding, Legalities

5 Burning Questions. Every Business Owner Needs to Answer. Written by Mariah Bliss

Instruction Cards Sample

All gather to hear the Old Master speak...

HOW TO SYSTEMISE YOUR BUSINESS

Dota2 is a very popular video game currently.

School Based Projects

6. Methods of Experimental Control. Chapter 6: Control Problems in Experimental Research

Battle. Table of Contents. James W. Gray Introduction

Sensible Chuckle SuperTuxKart Concrete Architecture Report

Advanced 4 Mallet Stevens Techniques: A Guide. By Josh Spaulding

Control Architectures: Feed Forward, Feedback, Ratio, and Cascade By Peter Woolf University of Michigan

Project: Circular Strife Paper Prototype Play-test IAT Team Members: Cody Church, Lawson Lim, Matt Louie, Sammpa Raski, Daniel Jagger

Transcription:

Chapter 7: DESIGN PATTERNS Hamzah Asyrani Sulaiman

You might have noticed that some diagrams look remarkably similar. For example, we used Figure 7.1 to illustrate a feedback loop in Monopoly, and Figure 7.2 shows a single player version of the Harvester game we described in Chapter 6, Common Mechanisms. Introducing Design Patterns

Brief History of Design Patterns Alexander and his colleagues originally identified design patterns in an attempt to capture objective standards of quality in architecture. They documented the patterns they found to help architects design good buildings. Alexander describes an entire library of patterns for architecture, which he calls a pattern language

Design Vocabularies in Games In a 1999 Gamasutra article Formal Abstract Design Tools, designer Doug Church set out to create a framework for a common vocabulary for game design. According to Church, formal indicates that the vocabulary needs to be precise, and abstract indicates the vocabulary must transcend the particular 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. http://www.gamasutra.com/view/feature/131764/formal_abst ract_design_tools.php

http://www.gamasutra.com/view/feature/131764/formal_abstract_design_tools.php

Design Patterns in Games Staffan Björk and Jussi Holopainen describe hundreds of patterns, and you can find many more patterns on the accompanying website. However, Björk and Holopainen choose the following definition as their starting point for their pattern language: Game design patterns are semiformal interdependent descriptions of commonly reoccurring parts of the design of a game that concern gameplay (p. 34). In other words, their approach is much more like a design vocabulary than it is like a pattern language. They do not formulate a clear theoretical vision on what quality in games is or where it might come from. Their book is a valuable collection of design knowledge, but it does not really tell you how to use that knowledge effectively to build better games.

In Appendix B you will find complete descriptions of all the design patterns used in this book. You will notice that these descriptions follow a strict format. If you are familiar with software design patterns, you might recognize the format; we took it from the descriptions used in Design Patterns by the Gang of Four. Machinations Design Pattern Language

Pattern Descriptions In Appendix B you will find complete descriptions of all the design patterns used in this book. You will notice that these descriptions follow a strict format. If you are familiar with software design patterns, you might recognize the format; we took it from the descriptions used in Design Patterns by the Gang of Four.

Category: Engines STATIC ENGINE A static engine produces a steady flow of resources over time for players to consume or to collect while playing the game. Use a static engine when you want to limit players actions without complicating the design. A static engine forces players to think how they are going to spend their resources without much need for long-term planning.

DYNAMIC ENGINE A source produces an adjustable flow of resources. Players can invest resources to improve the flow. Use a dynamic engine when: You want to introduce a trade-off between long-term investment and shortterm gains. This pattern gives the player more control over the production rate than a static engine does.

CONVERTER ENGINE Two converters set up in a loop create a surplus of resources that can be used elsewhere in the game. Use a converter engine when: You want to create a more complex mechanism to provide the player with more resources than a static or dynamic engine provides. (Our example converter engine contains two interactive elements while the dynamic engine contains only one.) It increases the difficulty of the game because the strength and the required investment of the feedback loop are more difficult to assess. You need multiple options and mechanics to tune the profile of the feedback loop that drives the engine and thereby the stream of resources that flows into the game.

ENGINE BUILDING With this pattern, a significant portion of gameplay is dedicated to building up and tuning an engine to create a steady flow of resources. Use engine building when: You want to create a game that has a strong focus on building and construction. You want to create a game that focuses on long-term strategy and planning. NOTE remember that the profile of a feedback loop is the collection of its characteristics such as effect, investment, speed, and so on, that we described in Table 6.1.

Category: Friction STATIC FRICTION A drain automatically consumes resources produced by the player. Use static friction when: You want to create a mechanism that counters production but that can eventually be overcome by the players. You want to exaggerate the long-term benefits from investing in upgrades for a dynamic engine.

DYNAMIC FRICTION A drain automatically consumes resources produced by the player; the consumption rate is affected by the state of other elements in the game. Use dynamic friction when: You want to balance games where resources are produced too fast. You want to create a mechanism that counters production and automatically scales with players progress or power. You want to reduce the effectiveness of long-term strategies created by a dynamic engine in favor of short-term strategies.

STOPPING MECHANISM This pattern reduces the effectiveness of a mechanism every time it is activated. Use a stopping mechanism when: You want to prevent players from abusing particular actions. You want to counter dominant strategies. You want to reduce the effectiveness of a positive feedback mechanism.

ATTRITION Players actively steal or destroy resources of other players that they need for other actions in the game. Use attrition when: You want to allow direct and strategic interaction between multiple players. You want to introduce feedback into a system whose nature is determined by the strategic preferences and/or whims of the players.

Category: Escalation ESCALATING CHALLENGE Progress toward a goal increases the difficulty of further progression. Use escalating challenge when: You want to create a fast-paced game based on player skill (usually physical skill) in which the game gets harder as the player advances; his ability to complete tasks is inhibited as he goes. You want to create emergent mechanics that (partially) replace predesigned level progression.

EXCALATING COMPLEXITY Players act against growing complexity, trying to keep the game under control until positive feedback grows too strong and the accumulated complexity makes them lose. Use escalating complexity when: You aim for a high-pressure, skill-based game. You want to create emergent mechanics that (partially) replace predesigned level progression.

ARMS RACE Players can invest resources to improve their offensive and defensive capabilities against other players. Use arms race when: You want to create more strategic options for a game that uses the attrition pattern. You want to lengthen the playing time of your game.

Miscellaneous Patterns PLAYING STYLE REINFORCEMENT By applying slow, positive, constructive feedback on player actions, the game gradually adapts to the player s preferred playing style. Use playing style reinforcement when: You want players to make a long-term investment in the game that spans multiple sessions. You want to reward players for building, planning ahead, and developing personal strategies. You want players to grow into a specific role or strategy.

MULTIPLE FEEDBACK A single gameplay mechanism feeds into multiple feedback mechanisms, each with a different profile. Use multiple feedback when: You want to increase a game s difficulty. You want to reward the player s ability to read the current game state.

TRADE This pattern allows trade between players to introduce multiplayer dynamics and negative, constructive feedback. Use trade when: You want to introduce multiplayer dynamics to the game. You want to introduce negative, constructive feedback. You want to introduce a social mechanic that encourages players to interact with one another via commerce (as opposed to combat).

WORKER PLACEMENT The player controls a limited resource she must commit to activate or improve different mechanisms in the game. Use worker placement when: You want to introduce constant micromanagement as a player task. You want to encourage players to adapt to changing circumstances. You want to introduce timing as a crucial factor in successful strategies. You want to create a subtle mechanism for indirect conflict.

SLOW CYCLE This is a mechanism that cycles through different states slowly, creating periodic changes to the game s mechanics. Use a slow cycle when: You want to create more variation by introducing periodic phases to the game. You want to counteract the dominance of a particular strategy. You want to force players to periodically adapt strategies to shifting circumstances. You want to require a longer period of learning before achieving mastery of the game. (Players experience slow cycles less frequently, so have fewer opportunities to learn from them.) You want to introduce subtle, indirect strategic interaction by allowing players to influence the cycle s period or amplitude.

Combining Design Patterns Games rarely implement just one design pattern. Most of the time, you ll find that a game combines a few of these patterns in a clever construction. For example, Tetris combines escalating complexity (the game gets more difficult as the tetrominoes build up and more and more holes unfilled spaces appear at the bottom) and escalating challenge (the tetrominoes start falling more quickly as the player clears more lines).

Elaboration and Nesting Patterns From the perspective of design pattern theory, this type of relationship between patterns is called elaboration. One pattern (for example, attrition) is a more elaborate 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 does not apply only to design patterns; it applies to almost any element in a Machinations diagram. For example, Figure 7.5 displays a number of ways to elaborate a converter. Any game mechanism can be an elaboration of a converter as long as it displays more or less the same functionality: consume one resource to produce another.

Extending the Pattern language When encountering a new pattern, it is important to try to describe it in generic terms. You might have found a new pattern in a science-fiction game about intergalactic trade, but that doesn t mean the pattern and its participants should take their names from that game. When describing new patterns, stick to the description format and general terms described in the earlier section Pattern Descriptions. Identify and name the most important participants; try to think of a number of different ways to implement the pattern, but most importantly identify the common design problems your pattern solves.

A pattern language is a tool designed to help you. It does not enforce a particular way to design games. Patterns are guidelines you can use to explore your designs, not rules instructing you what you must do to make a good game. Nevertheless, we advise you to stick to the patterns initially. Implementing these patterns is a great way to build your design experience and learn by copying time-tested structures. Once you have some experience with identifying and applying these patterns, it makes perfect sense to start to break away from them. Moving into new, uncharted territory is exciting and important, but it is best done after you ve gained some experience. Leveraging Patterns for Design

Improving Your Designs The most important thing you can do with design patterns is to use them to solve problems in your design. For example, you might notice that your game produces arbitrary outcomes because a strong positive, constructive feedback loop amplifies a small random difference in luck early in the game. Looking at the patterns, a number of solutions suggest themselves. If the game has multiple resources, you might introduce more negative feedback by using the trade pattern. Or you could apply dynamic friction to counter the positive feedback.

Brainstorming with Design Patterns Pattern languages make good brainstorming tools, and they allow all sorts of creative exercises. One simple technique is to choose two or three patterns at random from the collection and try to design a game economy around them. You can do a similar thing for games you are currently developing. The patterns suggest many generic terms for resources in your game based on their function in the economy. Randomly pick a pattern and use it as a lens on the game, asking yourself questions like, Is the pattern present in the current design, and if so, does it work the way you want it to? If not, would adding it help counter problems in the design?

This chapter introduced the concept of design patterns: recurring structures that appear in architecture, software, games, and other fields. After an overview of this idea s history, we identified 16 common patterns from game mechanics, in 3 categories (engines, friction, and escalation), plus several more patterns that don t neatly fit into a category. We ended the chapter by discussing some ways that you can use the patterns in your own game design practice by combining them and brainstorming about them. The patterns can also be used to analyze games that you already have in development. Another of their benefits is that they give you a common vocabulary to discuss the characteristics of your game s mechanics with other members of your team. Summary

Exercises 1. What design patterns did you use in recent game projects? What design patterns might you have used that you didn t? Could you have improved your game with one of them? If so, how? 2. Think of a game that you know well. It can belong to any genre except pure adventure games (which have no internal economy). What patterns can you find in it? Try diagramming them in the Machinations Tool. 3. Choose two design patterns at random (we sometimes write the names of the patterns on blank cards for this and then shuffle them and draw from the deck). Can you identify a game in which they both appear? Alternatively, try to think of a game concept that would use the two that you got. Create a Machinations diagram for the game with appropriately labeled sources, drains, pools, and other elements.