You are on page 1of 437

TE

AM
FL
Y
Game
Development and
Production

Erik Bethke

Wordware Publishing, Inc.


Library of Congress Cataloging-in-Publication Data

Bethke, Erik.
Game development and production / by Erik Bethke.
p. cm.
ISBN 1-55622-951-8
1. Computer games--Design. 2. Computer games--Programming.
3. Project management. I. Title.
QA76.76.C672 B47 2002
794.8'1526--dc21 2002153470
CIP

© 2003, Wordware Publishing, Inc.


All Rights Reserved

2320 Los Rios Boulevard


Plano, Texas 75074

No part of this book may be reproduced in any form or by any means


without permission in writing from Wordware Publishing, Inc.

Printed in the United States of America

ISBN 1-55622-951-8

10 9 8 7 6 5 4 3 2 1
0301

Product names mentioned are used for identification purposes only and may be trademarks of their respective
companies.

All inquiries for volume purchases of this book should be addressed to Wordware Publishing,
Inc., at the above address. Telephone inquiries may be made by calling:
(972) 423-0090
Contents
Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . xxi

Part I—Introduction to Game Development


Chapter 1 What Does This Book Cover? . . . . . . . . . . . . 3
How to Make a Game. . . . . . . . . . . . . . . . . . . . . . . . . . 3
First Have a Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Organize Your Team Effectively . . . . . . . . . . . . . . . . . . . . 4
Game Development Is Software Development . . . . . . . . . . . . 4
Where to Turn for Outside Help . . . . . . . . . . . . . . . . . . . . 4
How to Ship a Game . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Post-Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Success and the Long Race . . . . . . . . . . . . . . . . . . . . . . 5
How to Use This Book . . . . . . . . . . . . . . . . . . . . . . . . . 6
Chapter 2 Why Make Games? . . . . . . . . . . . . . . . . . . 7
To Share a Dream . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Games Teach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Game Genres Satisfy Different Appetites . . . . . . . . . . . . . . 8
Gambling, Puzzle, and Parlor Games. . . . . . . . . . . . . . . . 8
Military and Sports Simulations. . . . . . . . . . . . . . . . . . 10
Role-Playing Games . . . . . . . . . . . . . . . . . . . . . . . . 12
Youth Making Games . . . . . . . . . . . . . . . . . . . . . . . . . 13
On Money . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Why Make Games? . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Chapter 3 What Makes Game Development Hard? . . . . . . 15
The Importance of Planning . . . . . . . . . . . . . . . . . . . . . 15
Very Few Titles Are Profitable . . . . . . . . . . . . . . . . . . . . 15
500,000 Units to Break Even? . . . . . . . . . . . . . . . . . . 16
Employee Compensation and Royalties . . . . . . . . . . . . . 17
What Are the Financial Expectations for Your Game? . . . . . . . 17
The Scope of the Game Must Match Financial Parameters . . . 17
Why Your Game Should Profit . . . . . . . . . . . . . . . . . . . . 18
Feature Storm . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
If the Game Is Worth Making, Make It Excellent . . . . . . . . 19

iii
iv Contents

Excellence in Spades . . . . . . . . . . . . . . . . . . . . . . . . . 19
Game Making Is a Long Race of Many Game Projects . . . . . . . 20
A Brief History of Software Development. . . . . . . . . . . . . . 21
Overly Long Game Projects Are Disastrous . . . . . . . . . . . . 21
What Late Games Do to the Publisher . . . . . . . . . . . . . . 22
Our Project Plan Behind Starfleet Command . . . . . . . . . . . . 22
The Vision for Starfleet Command . . . . . . . . . . . . . . . . 23
Constraints Give Much Needed Focus. . . . . . . . . . . . . . . . 24
On Bugs Shipped in Starfleet Command. . . . . . . . . . . . . . . 24
Well-Met Goals Enable Future Successes . . . . . . . . . . . . . . 25
Strong Game Developers Have Strong Foundations . . . . . . . . 25
The Tension between Preproduction and Production. . . . . . . . 25
The Power of the Console . . . . . . . . . . . . . . . . . . . . . . 26
Why Aren’t All Publishers Using Preproduction?. . . . . . . . . . 27
The Process Is Changing . . . . . . . . . . . . . . . . . . . . . 27
A Strong Plan Makes Game Development Easy . . . . . . . . . . 28
The Gravitational Pull of Feature Creep . . . . . . . . . . . . . . . 28
Task Visibility for Team Motivation and for Progress Tracking . . 29
Use Your Core Competencies and Outsource the Rest . . . . . . . 29
A Pitfall of Success—Fan-Requested Features and Changes. . . . 29
The Relentless Pace of Technology . . . . . . . . . . . . . . . . . 30
The Art of War and Games . . . . . . . . . . . . . . . . . . . . . . 32
Chapter 4 Game Project Survival Test . . . . . . . . . . . . . 33
The Game Project Survival Test . . . . . . . . . . . . . . . . . . . 33
Game Requirements . . . . . . . . . . . . . . . . . . . . . . . . 33
Planning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Project Control . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Risk Management . . . . . . . . . . . . . . . . . . . . . . . . . 35
Personnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Calculating Your Project’s Score . . . . . . . . . . . . . . . . . 35
What Does My Score Mean? . . . . . . . . . . . . . . . . . . . 36

Part II—How to Make a Game


Chapter 5 What Is a Game Made Of? . . . . . . . . . . . . . . 39
The Extended Development Team. . . . . . . . . . . . . . . . . . 39
Game Production Parts . . . . . . . . . . . . . . . . . . . . . . . . 39
Design Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Where Do Lead Designers Come From? . . . . . . . . . . . 40
How Do You Nail Down the Game Mechanics? . . . . . . . . 40
Who Are the Level and Mission Designers?. . . . . . . . . . 40
Story and Dialogue Writers Are Writers for Interactivity. . . 41
Coding Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Lead Programmers and Technical Directors. . . . . . . . . . 42
Game Mechanics Programmer . . . . . . . . . . . . . . . . . 43
Contents v

3D Graphics Programmer . . . . . . . . . . . . . . . . . . . 43
Artificial Intelligence Programmer . . . . . . . . . . . . . . . 43
User Interface Programmer . . . . . . . . . . . . . . . . . . 44
Audio Programmer . . . . . . . . . . . . . . . . . . . . . . . 44
Tools Programmer . . . . . . . . . . . . . . . . . . . . . . . 44
Mission/Level Editor Programmer. . . . . . . . . . . . . . . 44
Network, Server, or Client Programmer? . . . . . . . . . . . 45
Art Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Art Director . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Concept Artist . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2D Artist/Interface Designer . . . . . . . . . . . . . . . . . . 47
3D Modeler . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Character Modeler . . . . . . . . . . . . . . . . . . . . . . . 47
Texture Artist . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Animator/Motion Capture Studio . . . . . . . . . . . . . . . 48
Storyboarder. . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Audio Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Voice-Overs . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Sound Effects . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Music . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Management Parts . . . . . . . . . . . . . . . . . . . . . . . . . 50
Line Producer . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Associate Producer . . . . . . . . . . . . . . . . . . . . . . . 50
Studio Head/Executive Producer. . . . . . . . . . . . . . . . 51
Producer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Quality Assurance Parts . . . . . . . . . . . . . . . . . . . . . . . 52
Publisher QA Parts. . . . . . . . . . . . . . . . . . . . . . . . . 52
QA Lead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Main Team . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Multiplayer Team . . . . . . . . . . . . . . . . . . . . . . . . 53
Fresh Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Compatibility Team . . . . . . . . . . . . . . . . . . . . . . . 53
Localization Team . . . . . . . . . . . . . . . . . . . . . . . . 53
Beta Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Beta Testers . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Beta Testing Program Manager . . . . . . . . . . . . . . . . 54
Business Parts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Business Development Parts . . . . . . . . . . . . . . . . . . . 55
Business Development Executive . . . . . . . . . . . . . . . 55
Publisher CEO and President . . . . . . . . . . . . . . . . . 55
Studio Heads . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Lawyers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Licensing Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Promoting, Buying, and Selling Parts. . . . . . . . . . . . . . . 56
Sales Executive . . . . . . . . . . . . . . . . . . . . . . . . . 56
vi Contents

Sales Force and Retail Purchasing Agents . . . . . . . . . . . 57


Press Relations Manager . . . . . . . . . . . . . . . . . . . . 57
Trade Shows . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Other Trade Shows and Events . . . . . . . . . . . . . . . . 58
The Marketing of a Game. . . . . . . . . . . . . . . . . . . . 59
Hardcore Fans . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Manuals and Strategy Guides . . . . . . . . . . . . . . . . . . . 60
Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Strategy Guide . . . . . . . . . . . . . . . . . . . . . . . . . 60
Manufacturing Parts . . . . . . . . . . . . . . . . . . . . . . . . 61
Hardware Manufacturer Parts. . . . . . . . . . . . . . . . . . . 61
Console Manufacturers . . . . . . . . . . . . . . . . . . . . . 61
Hardware Representatives . . . . . . . . . . . . . . . . . . . 61
Post-Release Parts . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Chapter 6 Business Context First . . . . . . . . . . . . . . . 65
The Project Triangle . . . . . . . . . . . . . . . . . . . . . . . . . 65
Implications of the Project Triangle. . . . . . . . . . . . . . . . 66
Various Games and the Project Triangle . . . . . . . . . . . . . 67
Questions for You to Answer . . . . . . . . . . . . . . . . . . . . . 70
What to Do with These Answers . . . . . . . . . . . . . . . . . 70
An Ultra-Low Budget Game . . . . . . . . . . . . . . . . . . 70
Fixed Budget, Fixed Deadline . . . . . . . . . . . . . . . . . 72
High-Profile/High-Quality Projects . . . . . . . . . . . . . . 73
Walk Away . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Chapter 7 Key Design Elements . . . . . . . . . . . . . . . . 75
Business Context Shapes Design, or Does Design Shape
the Business Context? . . . . . . . . . . . . . . . . . . . . . . . . 76
Reconcile the Business Context and Game Idea Early . . . . . . . 76
The Effects of a Slipped Game . . . . . . . . . . . . . . . . . 77
Methods and the Unified Development Process . . . . . . . . . . 81
What Is a Development Method? . . . . . . . . . . . . . . . . . 81
Why Use the Unified Software Development Process? . . . . . 81
Requirements Capture . . . . . . . . . . . . . . . . . . . . . . . 82
Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Case Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Case Study I—Diablo . . . . . . . . . . . . . . . . . . . . . . . 87
Use Cases of Diablo . . . . . . . . . . . . . . . . . . . . . . . 88
Quick Analysis of the Use Cases of Diablo . . . . . . . . . . 89
Case Study II—Gran Turismo . . . . . . . . . . . . . . . . . . . 90
Use Cases of Gran Turismo. . . . . . . . . . . . . . . . . . . 92
Quick Analysis of the Use Cases of Gran Turismo . . . . . . 93
The Key Design Elements of Your Game . . . . . . . . . . . . 94
The Battle of the Counterterrorists Games . . . . . . . . . . . 94
The Key Design Elements of Rainbow Six . . . . . . . . . . 95
Contents vii

Are We Playing a Mission or Planning a Mission?. . . . . . . 95


The Key Design Elements of Counter-Strike . . . . . . . . . 96
Most Popular Multiplayer Game . . . . . . . . . . . . . . . . 96
Of Intersecting Sets and Elite Forces . . . . . . . . . . . . . 97
Some Straight Questions to Ask Yourself . . . . . . . . . . . . . . 99
What Genre or Genres Does Your Game Feature? . . . . . . 99
Will the Game Be Single-Player, Multiplayer, or Both? . . . . 99
What Is the Platform?. . . . . . . . . . . . . . . . . . . . . . 99
What Is Your Target Market? . . . . . . . . . . . . . . . . . 100
What Major Technologies Are You Using? . . . . . . . . . . 100
Now What? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Chapter 8 Game Design Document . . . . . . . . . . . . . . 101
What Is a Game Design Document and What Does It Do? . . . . 101
What About the Proposal Document? . . . . . . . . . . . . . . . 102
When Do You Write the Game Design Document? . . . . . . . . 103
What Should Go into a Game Design Document? . . . . . . . . . 105
Section One: Defining the Game . . . . . . . . . . . . . . . . 106
Articulate What the Game Is as Clearly as Possible . . . . . 106
Set the Mood . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Section Two: Core Gameplay . . . . . . . . . . . . . . . . . . 107
The Main Game View . . . . . . . . . . . . . . . . . . . . . 108
Core Player Activity . . . . . . . . . . . . . . . . . . . . . . 108
The Controller Diagram . . . . . . . . . . . . . . . . . . . . 108
In-Game User Interface . . . . . . . . . . . . . . . . . . . . 108
Section Three: Contextual Gameplay . . . . . . . . . . . . . . 109
Shell Menus . . . . . . . . . . . . . . . . . . . . . . . . . . 109
The Nuts and Bolts of Game Mechanics . . . . . . . . . . . 109
Tutorial Mechanics. . . . . . . . . . . . . . . . . . . . . . . 109
Multiplayer Mechanics . . . . . . . . . . . . . . . . . . . . 110
Section Four: Talk Story . . . . . . . . . . . . . . . . . . . . . 111
World Backstory . . . . . . . . . . . . . . . . . . . . . . . . 112
Character Backgrounds . . . . . . . . . . . . . . . . . . . . 112
Level, Mission, and Area Design . . . . . . . . . . . . . . . 113
Cut Scene Descriptions . . . . . . . . . . . . . . . . . . . . 114
Section Five: Cover Your Assets . . . . . . . . . . . . . . . . 115
2D Sprites or 3D Models . . . . . . . . . . . . . . . . . . . 115
Missions, Levels, or Areas . . . . . . . . . . . . . . . . . . 115
Voice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Key Framing and Motion Capture . . . . . . . . . . . . . . 117
Sound Effects . . . . . . . . . . . . . . . . . . . . . . . . . 121
Music . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Special Effects . . . . . . . . . . . . . . . . . . . . . . . . . 125
Stepping Back a Bit . . . . . . . . . . . . . . . . . . . . . . . . . 127
viii Contents

Chapter 9 The Technical Design Document . . . . . . . . . 129


Object-Oriented Design . . . . . . . . . . . . . . . . . . . . . . . 129
Purpose of the Technical Design Document . . . . . . . . . . . . 130
Why Have a Software Development Process? . . . . . . . . . 132
The Unified Software Development Process . . . . . . . . . . 133
Core Workflows of the Unified Process. . . . . . . . . . . . 134
Phases of a Workflow in the Unified Process. . . . . . . . . 134
When Should the Technical Design Document Be Written? . . 135
What Goes into the Technical Design Document?. . . . . . . . . 136
Requirements Capture . . . . . . . . . . . . . . . . . . . . . . 136
Reverse Engineering . . . . . . . . . . . . . . . . . . . . . 143
Nonobvious Requirements . . . . . . . . . . . . . . . . . . 143
Requirements Analysis . . . . . . . . . . . . . . . . . . . . . . 144
Class Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Drawing “is a” and “has a” Relationships and
Ordinalities . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Adding Annotation . . . . . . . . . . . . . . . . . . . . . . . 147
Other UML Diagram Types . . . . . . . . . . . . . . . . . . . 147
Dynamic Modeling . . . . . . . . . . . . . . . . . . . . . . . 148
Architectural Diagrams . . . . . . . . . . . . . . . . . . . . 149
Large-Scale Planning and the Evil of a Long Build Time . . . 150
Refactoring . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Insulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Forward and Backward Code Generation with a
Modeling Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Testing Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Unit Testing and White Box Testing . . . . . . . . . . . . . 154
Black Box Testing . . . . . . . . . . . . . . . . . . . . . . . 155
Beta Testing . . . . . . . . . . . . . . . . . . . . . . . . . . 155
From Use Cases to Test Cases . . . . . . . . . . . . . . . . 155
Chapter 10 The Project Plan. . . . . . . . . . . . . . . . . . . 157
What Is the Project Plan? . . . . . . . . . . . . . . . . . . . . . . 157
How Do We Create the Project Plan? . . . . . . . . . . . . . . . 157
Gantt and PERT Charts for Organizing Project Tasks . . . . . 158
Focusing on the Gantt Chart . . . . . . . . . . . . . . . . . 160
Using the Technical Design Document . . . . . . . . . . . . 161
Task Granularity and Task Leveling . . . . . . . . . . . . . 163
How Long Will That Task Take? . . . . . . . . . . . . . . . 163
Short Time Estimate Possibilities . . . . . . . . . . . . . . 165
Estimating Research Tasks . . . . . . . . . . . . . . . . . . 165
Task Prioritization . . . . . . . . . . . . . . . . . . . . . . . 166
Resource Leveling . . . . . . . . . . . . . . . . . . . . . . . 171
Task Dependencies . . . . . . . . . . . . . . . . . . . . . . 172
Contents ix

The Top Ten Risks Document . . . . . . . . . . . . . . . . . . 174


The Non-Zero Chance of Delivery . . . . . . . . . . . . . . . . . 175
Chapter 11 Task Tracking . . . . . . . . . . . . . . . . . . . . 177
Production Begins—Now What? . . . . . . . . . . . . . . . . . . 177
Task Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
The Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Journals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
The Cult of the Yellow Notebook . . . . . . . . . . . . . . . . 179
Walk Around . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Milestone Orientation Meetings . . . . . . . . . . . . . . . . . . 180
Praise People Publicly . . . . . . . . . . . . . . . . . . . . . . 180
Maintain the Gantt Chart . . . . . . . . . . . . . . . . . . . . . . 181
Update the Risks Chart . . . . . . . . . . . . . . . . . . . . . . . 182
Chapter 12 Outsourcing Strategies. . . . . . . . . . . . . . . 183
Why Outsource? . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
When to Think About Outsourcing . . . . . . . . . . . . . . . . . 184
What to Outsource . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Do Not Outsource Programming—Exceptions Noted . . . . . 185
On Outsourcing Art. . . . . . . . . . . . . . . . . . . . . . . . 186
Movies, Cut Scenes, or Full Motion Video . . . . . . . . . . 186
3D Models—Modeling. . . . . . . . . . . . . . . . . . . . . 187
Animation and Motion Capture . . . . . . . . . . . . . . . . 187
User Interface Art . . . . . . . . . . . . . . . . . . . . . . . 188
Audio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Music . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Sound Effects . . . . . . . . . . . . . . . . . . . . . . . . . 189
Voice-Over . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
What Else to Outsource . . . . . . . . . . . . . . . . . . . . . 190
Chapter 13 Shipping Your Game . . . . . . . . . . . . . . . . 191
Shipping Is a Phase . . . . . . . . . . . . . . . . . . . . . . . . . 191
How Do You Ship a Great Game? . . . . . . . . . . . . . . . . . . 191
Alpha—Feature Complete . . . . . . . . . . . . . . . . . . . . . . 192
What Is Feature Complete? . . . . . . . . . . . . . . . . . . . 192
Additional Content . . . . . . . . . . . . . . . . . . . . . . . 192
Feature Trimming . . . . . . . . . . . . . . . . . . . . . . . 192
Testing Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Publisher QA . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Team Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Project Leader Testing . . . . . . . . . . . . . . . . . . . . . . 195
Automated Testing . . . . . . . . . . . . . . . . . . . . . . . . 195
Focus Group Testing . . . . . . . . . . . . . . . . . . . . . . . 195
Beta Testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Open or Closed Beta Test? . . . . . . . . . . . . . . . . . . 196
x Contents

Manufacturer Testing. . . . . . . . . . . . . . . . . . . . . . . 197


Licensor Testing . . . . . . . . . . . . . . . . . . . . . . . . . 198
How Do You Balance a Game? . . . . . . . . . . . . . . . . . . 198
Final Candidate Cycle . . . . . . . . . . . . . . . . . . . . . . . . 200
Transition, Ship, and Point Release . . . . . . . . . . . . . . . . . 200

Part III—Game Development


Chapter 14 The Vision Document . . . . . . . . . . . . . . . . 205
Write the Vision Document Twice . . . . . . . . . . . . . . . . 205
So Is the Vision Document a Proposal? . . . . . . . . . . . . . 206
Only 1 Percent Catch the Eye . . . . . . . . . . . . . . . . . . 206

Y
What About the Precious Game Secrets? . . . . . . . . . . 207
Visuals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
FL
Tactile . . . . . . . . . . . . . . . . . . .
What About the Words? . . . . . . . . . .
Contact Information . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . .
. . . . . .
. . . . . .
208
208
209
AM

Chapter 15 Requirements Gathering . . . . . . . . . . . . . . 211


The Flavors of Requirements . . . . . . . . . . . . . . . . . . 211
Creative/License Requirements . . . . . . . . . . . . . . . 211
TE

Technical Requirements . . . . . . . . . . . . . . . . . . . . 212


Fiscal and Temporal Requirements . . . . . . . . . . . . . . 213
Use Case Diagrams . . . . . . . . . . . . . . . . . . . . . . . . 213
Chapter 16 The Design Document . . . . . . . . . . . . . . . 215
What Does the Game Design Document Do? . . . . . . . . . . . 215
The Game Design Document as a Process. . . . . . . . . . . . . 216
Game Concept . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Brainstorm . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Delegate Design . . . . . . . . . . . . . . . . . . . . . . . . 217
Managing the Design Document . . . . . . . . . . . . . . . 218
60 Seconds of Gameplay. . . . . . . . . . . . . . . . . . . . 218
Core Gameplay. . . . . . . . . . . . . . . . . . . . . . . . . 219
The Walkthrough . . . . . . . . . . . . . . . . . . . . . . . 220
Asset Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Use of Other Games . . . . . . . . . . . . . . . . . . . . . . 222
Menu Design . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Game Mechanics Detail . . . . . . . . . . . . . . . . . . . . 223
Write the Manual? . . . . . . . . . . . . . . . . . . . . . . . 223
Concept Sketches and Art Style Guide . . . . . . . . . . . . 224
On Completeness and Uncertainty . . . . . . . . . . . . . . 224
Cut Features Even Before Considering the Schedule . . . . . 224
Maintain the Game Design Document . . . . . . . . . . . . . 225
On Fulfilled Expectations . . . . . . . . . . . . . . . . . . . . . . 225

Team-Fly®
Contents xi

Chapter 17 Unified Modeling Language Survival Guide . . . 227


Use Cases Deliver Requirements. . . . . . . . . . . . . . . . . . 227
Class Diagrams Are the Keystone of Design. . . . . . . . . . . . 228
Detailed Syntax of the Class Diagram . . . . . . . . . . . . . . . 230
Associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Forward and Reverse Engineering of the Class Diagram . . . . . 233
The Other Seven Diagrams of UML . . . . . . . . . . . . . . . . 238
Static Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Dynamic Diagrams . . . . . . . . . . . . . . . . . . . . . . . . 240
Chapter 18 Technical Design . . . . . . . . . . . . . . . . . . 245
Nominate Functional Leads . . . . . . . . . . . . . . . . . . . . . 245
Synthesize Use Cases and Nonvisible Requirements . . . . . . . 247
Start with the Use Cases . . . . . . . . . . . . . . . . . . . . . 247
Casual, Frequent Design Review . . . . . . . . . . . . . . . 247
Nonvisible Requirements . . . . . . . . . . . . . . . . . . . . 247
Measure Twice, Cut Once . . . . . . . . . . . . . . . . . . . . 249
Specify Tools, Languages, and Processes . . . . . . . . . . . . 250
Goals for the Architecture . . . . . . . . . . . . . . . . . . . . 251
Identify Areas of Likely Change . . . . . . . . . . . . . . . . . 252
The Quality Assurance Plan. . . . . . . . . . . . . . . . . . . . . 252
Defect Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Defect Tracking Software . . . . . . . . . . . . . . . . . . . 253
The Testing Plan . . . . . . . . . . . . . . . . . . . . . . . . . 253
How Many Bugs Are Left to Find? . . . . . . . . . . . . . . 254
Defect Pooling . . . . . . . . . . . . . . . . . . . . . . . . . 254
Defect Seeding . . . . . . . . . . . . . . . . . . . . . . . . . 255
Political Resistance . . . . . . . . . . . . . . . . . . . . . . 255
Automated Testing. . . . . . . . . . . . . . . . . . . . . . . 256
Beta Testing . . . . . . . . . . . . . . . . . . . . . . . . . . 256
When to Release the Game . . . . . . . . . . . . . . . . . . 257
Chapter 19 Time Estimates . . . . . . . . . . . . . . . . . . . 259
Two Ways to Estimate a Task . . . . . . . . . . . . . . . . . . . . 260
Time Boxing . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Task Estimating. . . . . . . . . . . . . . . . . . . . . . . . . . 261
Art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Programming. . . . . . . . . . . . . . . . . . . . . . . . . . 262
Each Shall Estimate Thy Own Tasks . . . . . . . . . . . . . . 264
Save Your Plans and Compare . . . . . . . . . . . . . . . . . . 264
Making the Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
xii Contents

Chapter 20 Putting It All Together into a Plan . . . . . . . . . 265


Let’s Create a Schedule for FishFood! . . . . . . . . . . . . . . . 266
Create a New Project File . . . . . . . . . . . . . . . . . . . . 266
What Is a PERT/Gantt Chart Anyway? . . . . . . . . . . . . . 266
Start Entering Tasks . . . . . . . . . . . . . . . . . . . . . . . 268
Tasks Are Performed by Resources . . . . . . . . . . . . . . . 269
Where Does All of This Task Information Come From? . . . . 269
Organizing Tasks . . . . . . . . . . . . . . . . . . . . . . . . . 270
Task Granularity . . . . . . . . . . . . . . . . . . . . . . . . . 270
How to Account for Vacation and Sick Time . . . . . . . . . . 271
Remember Odd Tasks . . . . . . . . . . . . . . . . . . . . . . 271
Time Leveling in Project . . . . . . . . . . . . . . . . . . . . . 271
Let it Jell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
How to Distribute the Schedule to the Team . . . . . . . . . . 273
Chapter 21 Measuring Progress . . . . . . . . . . . . . . . . 275
On Leadership . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Know What Your Goal Is at All Times . . . . . . . . . . . . . . 275
Set Goals, Not Hours . . . . . . . . . . . . . . . . . . . . . . . 277
Task Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Only Visible Tasks Are Completed . . . . . . . . . . . . . . . 279
The Daily Journal . . . . . . . . . . . . . . . . . . . . . . . 279
The Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Team Meetings . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Of Leaves and Gutters . . . . . . . . . . . . . . . . . . . . . . 286
Chapter 22 Controlling Feature Creep . . . . . . . . . . . . . 287
Great Games Satisfy Player Expectations . . . . . . . . . . . . . 287
Feature Creep Occurs During Design . . . . . . . . . . . . . . 288
Primary, Secondary, and Tertiary . . . . . . . . . . . . . . . . 288
Feature Walking. . . . . . . . . . . . . . . . . . . . . . . . . . 288
Publisher-Suggested Features . . . . . . . . . . . . . . . . . . 289
Push Independent Tasks to the End . . . . . . . . . . . . . . . 290
Regularly Practice Feature Cutting . . . . . . . . . . . . . . . 290
Chapter 23 Alpha, Beta, Go Final! . . . . . . . . . . . . . . . 293
The Test of Well-Laid Plans . . . . . . . . . . . . . . . . . . . . . 293
On Alpha. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
On to Beta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
The Finale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Chapter 24 Point Releases vs. Patches . . . . . . . . . . . . 299
Software Complexity and the Fragility of Computers . . . . . 299
How About Those Console Games—They Don’t Patch!? . . . 301
Online Games—the Perpetual Beta? . . . . . . . . . . . . . . 302
Point Release as a Sugarcoated Term for Patch. . . . . . . . . 302
Fan Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Contents xiii

The Publisher-Developer Post-Release Relationship . . . . . . . 303


Tools for Creating Patches . . . . . . . . . . . . . . . . . . . . . 304
User Extensibility—The Magical Patch . . . . . . . . . . . . . . 305
Chapter 25 Garage Development Spans the Internet . . . . . 307
Silver Creek Entertainment. . . . . . . . . . . . . . . . . . . . . 307

Part IV—Game Development Resource Guide


Chapter 26 Getting a Job in the Game Industry . . . . . . . . 313
Who Is Trying to Get into Games? . . . . . . . . . . . . . . . . . 313
You Want Me to Do What? Oh, I Would Rather Do This . . . . . 314
Hours of the Game Industry . . . . . . . . . . . . . . . . . . . . 314
You Did Not Scare Me—I Love Games AND I Want In! . . . . . 315
How to Get a Job as a Programmer . . . . . . . . . . . . . . . . . 316
Artists and Their Portfolios . . . . . . . . . . . . . . . . . . . . . 317
How Do I Become a Tester? . . . . . . . . . . . . . . . . . . . . 318
I Have a Great Idea for a Game—I Want to Be a Designer!. . . . 318
So You Want to Be a Producer . . . . . . . . . . . . . . . . . . . 318
Go to GDC—Free! . . . . . . . . . . . . . . . . . . . . . . . . . . 319
What About Those Recruiters? . . . . . . . . . . . . . . . . . . . 320
Resumes, Demo Reels, and the Interview . . . . . . . . . . . . . 320
Honesty vs. Modesty . . . . . . . . . . . . . . . . . . . . . . . 320
Chapter 27 Starting a Game Development Company . . . . . 323
Find a Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
I Have a Plan; Now How Do I Get Started? . . . . . . . . . . . . 324
Rounding Out Your Development Team . . . . . . . . . . . . . . 325
Where to Locate Your Game Company . . . . . . . . . . . . . . . 326
Lawyer and Accountant . . . . . . . . . . . . . . . . . . . . . . . 328
Deciding on the Type of Company . . . . . . . . . . . . . . . . . 329
Non-Corporation . . . . . . . . . . . . . . . . . . . . . . . . . 329
Corporation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Taxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Buy-Sell Agreements. . . . . . . . . . . . . . . . . . . . . . . 331
Insurance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Workman’s Compensation . . . . . . . . . . . . . . . . . . . . 332
Liability Insurance . . . . . . . . . . . . . . . . . . . . . . . . 332
Employee Compensation Programs . . . . . . . . . . . . . . . . 332
Medical/Dental/Optical/IRA . . . . . . . . . . . . . . . . . . . 334
401K/IRA/Retirement Benefits . . . . . . . . . . . . . . . . . 335
Project Bonuses . . . . . . . . . . . . . . . . . . . . . . . . . 335
Milestone Bonuses . . . . . . . . . . . . . . . . . . . . . . . . 335
Royalties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Stock Options . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Trademarks and URLs . . . . . . . . . . . . . . . . . . . . . . . . 336
War Chests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
xiv Contents

Chapter 28 Outsourcing Music . . . . . . . . . . . . . . . . . 339


Music for Games . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
When to Think About Music . . . . . . . . . . . . . . . . . . . 339
Music Formats . . . . . . . . . . . . . . . . . . . . . . . . . . 340
What Is Better Than MIDI? . . . . . . . . . . . . . . . . . . . 341
Digitized Sound Formats . . . . . . . . . . . . . . . . . . . . . 342
How Do You Break Down the Music Bid? . . . . . . . . . . . . . 343
Score Music for Triggered Events . . . . . . . . . . . . . . . . 344
Exploration and Ambient Music . . . . . . . . . . . . . . . . . 344
Chase/Battle/Hunting Music . . . . . . . . . . . . . . . . . . . 345
Jump Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Menu Music . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
How Many Minutes Do You Really Need? . . . . . . . . . . . 345
Live Performance? . . . . . . . . . . . . . . . . . . . . . . . . 346
Chapter 29 Outsourcing Voice . . . . . . . . . . . . . . . . . 353
Interview with Chris Borders . . . . . . . . . . . . . . . . . . . . 353
Voice-Over Script for the Orc Peon from Warcraft III . . . . . . . 360
Chapter 30 Outsourcing Sound Effects . . . . . . . . . . . . 363
Interview with Adam Levenson. . . . . . . . . . . . . . . . . . . 363
Chapter 31 Outsourcing Writing . . . . . . . . . . . . . . . . 369
Computer Game Writing . . . . . . . . . . . . . . . . . . . . . . 369
Know Your Game; Know Your Business . . . . . . . . . . . . 369
Brevity is Bliss . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Speak the Speech I Pray You. . . . . . . . . . . . . . . . . . . 370
On Dialogue Trees . . . . . . . . . . . . . . . . . . . . . . . . 371
Use Story as a Reward . . . . . . . . . . . . . . . . . . . . . . 371
The 80 Percent Stereotype Rule. . . . . . . . . . . . . . . . . 371
Hint, Hint, and Hint . . . . . . . . . . . . . . . . . . . . . . . 372
Expect Schizophrenia. . . . . . . . . . . . . . . . . . . . . . . 372
If You Have Time in a Bottle, Don’t Uncork It . . . . . . . . . 373
Chapter 32 Outsourcing Cinematics and Models . . . . . . . 375
Interview with Mark Gambiano . . . . . . . . . . . . . . . . . . . 376
Chapter 33 Outsourcing Motion Capture and Animation . . . 381
Animation in Games . . . . . . . . . . . . . . . . . . . . . . . . . 381
Key Framing . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Motion Capture . . . . . . . . . . . . . . . . . . . . . . . . . . 382
How Does Motion Capture Work? . . . . . . . . . . . . . . 382
Cleaning up the Motion Data . . . . . . . . . . . . . . . . . 383
Planning Your Motion Capture Shoot . . . . . . . . . . . . . . 384
Best Use of Motion Capture . . . . . . . . . . . . . . . . . . . 384
Contents xv

Chapter 34 Fan-Generated Material. . . . . . . . . . . . . . . 387


Game Development with Your Fans . . . . . . . . . . . . . . . . 387
Design Critique . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Levels and Missions . . . . . . . . . . . . . . . . . . . . . . . 388
3D Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Other Potential Activities to Outsource . . . . . . . . . . . . . 390
Legal Matters When Working with Fans . . . . . . . . . . . . 390
Appendix A Suggested Reading . . . . . . . . . . . . . . . . . 395
Project Management. . . . . . . . . . . . . . . . . . . . . . . . . 395
Game Industry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Software Development . . . . . . . . . . . . . . . . . . . . . . . 398
Appendix B The Art Institute of California—
Orange County . . . . . . . . . . . . . . . . . . . 401
Background. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Game Art & Design Bachelor of Science Program . . . . . . . . 402
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
This page intentionally left blank
Foreword
It is a great honor to write a foreword for a book on game production, as this is a
subject that is very close to our hearts. We have played a very small part in help-
ing Erik with this book—he has accomplished a Herculean task in a relatively
short period of time. We believe this book will serve as an excellent foundation
for mastering the art of game production.
A multitude of books have been written on the specific disciplines of art, pro-
gramming, and design for games, but few, if any, have ever tackled game
production as a topic. Perhaps this is because there isn’t a standardized way of
referring to production in a manner similar to programming and art. Programming
is done in C and C++ and usually follows standards that have been carefully
crafted over many years. Art uses both traditional media and a narrow range of
digital art tools, such as 3D Studio Max and Maya, and is often practiced by indi-
viduals with formal art training at their disposal. Perhaps game design is most
similar to game production in that, until recently, there haven’t been formal pro-
grams in game design, and it is somewhat of an “arcane art” that could be realized
in any potential medium. At the current time there aren’t any formal training pro-
grams for game production, though there are various courses available in project
management. Project management doesn’t fully encompass the skills needed to
manage game development, but it does provide some. Appropriately, this book
includes elements of project management, engineering discipline (a tribute to
Erik’s engineering background), and a lot of common sense (an essential ingredi-
ent in game production).
Erik explained that his goal with this book was to fully realize the discipline
of game production in a formal, yet widely appealing treatment. We were quite
impressed with his ambition, as we’ve learned over the years (via our work on
games like Baldur’s Gate, MDK2, Neverwinter Nights, and Star Wars: Knights of
the Old Republic) that game production is a huge area. Erik further explained that
he was going to provide additional information on topics such as outsourcing and
detailed production frameworks. During our review of the manuscript, we learned
a number of things that we’re going to be able to apply to development at
BioWare. We’re also more excited than ever in seeing the final work with all of
the graphs, diagrams, and illustrations accompanying the text.

xvii
xviii Foreword

In conclusion we believe you, the reader and presumed game producer or


game developer, will learn a great deal by reading this book. Its contents cover a
wide range of topics and contain pearls of knowledge that will be of value to not
only new game producers but also to experienced game developers. Read and
enjoy!
Dr. Greg Zeschuk and Dr. Ray Muzyka
Joint CEOs and co-executive producers, BioWare Corp.
Preface
Who Is This Book For?
This is a book about the making of digital interactive entertainment software—
games! Specifically, this book is for people who want to lead the making of games:
programmers, designers, art directors, producers (executive, associate, line,
internal development, external development), project managers, or leaders on
any type of entertainment software.
n Are you a talented individual working on a mod to your favorite commercial
game who needs to understand how a game is put together?
n Are you working with a small team across the Internet on a total conversion
like Day of Defeat that will grip gameplayers and game developers alike—but
are wondering how to motivate your team members and articulate your
vision for your total conversion?
n Are you running your first game, with six or more developers working on
your game?
n Have you been at work for a few months, and everything felt great at the
beginning, but now you are wondering if you are on time?
n Are you just starting your second game project and determined to plan it
right this time?
n Are you a successful executive producer who is now responsible for oversee-
ing several projects and want to know how you can get more clarity on your
project’s success?
n Are you an external developer and want to know how you can best manage
risks and meet your milestones?
n Is your project late?
n Are you a member of a game development team and have a vested interest in
the success of this game?
n Are you thinking of joining the industry as a producer and need a producer’s
handbook?
The point is there are many different types of people responsible and accountable
for the production of a game project.

xix
xx Preface

This book gives you specific tools for the management of your game, meth-
ods to create a project plan and track tasks, an overview of outsourcing parts of
your project, and philosophical tools to help you solve abstract production
problems.
The author’s personal experience producing the hit series Starfleet Com-
mand and other projects, as well as extensive interviews with many other
producers in the game industry, backs up this advice with real-world experience.
Games are incredible products of creativity requiring art, science, humor, and
music—a true blend of the mind. Managing this effort presents the producer with
many challenges, some specific and some vague. While this book will answer
many specific questions and give guidance in some of the general ideas, the tough

Y
calls are still yours.

FL
AM
TE

Team-Fly®
Acknowledgments
I have been very fortunate in the writing of this book and I was able to lean on
quite a number of folks from the game development community to answer ques-
tions and supply material for this book. I would especially like to thank the
following individuals: Chip Moshner, Jarrod Phillips, Jason Rubin, Kevin Cloud,
Ken Levine, James Masters, Lorne Lanning, David Perry, Nate Skinner, Nigel
Chanter, Steve Perkins, Chris Taylor, Trish Wright, Beth Drummond, and John
Carmack.
I would like to thank Chris Borders for his lengthy interview on voice in
games; Adam Levenson and Tommy Tallarico for their interviews on sound
effects and music; and Scott Bennie for his generous response on writing.
I would like to thank Steve McConnell for writing all of his books on software
project management.
I would like to thank all of the employees of Taldren who entrust in me every
day the responsibility to lead the team.
At Wordware I gratefully thank Jim Hill for the opportunity to write this book
and I also thank Wes Beckwith for being a wonderful development editor and so
supportive of writing this book. I also would like to thank Beth Kohler and Dianne
Stultz for the amazing editing job they performed.
A most outstanding thank you to Greg Zeschuk and Ray Muzyka who have
given so generously of their time and minds to make this book a much better
book.
My two dear partners, Sean Dumas and Zachary Drummond, are due my
heartfelt thanks for all of their support and just plain kicking ass every day.
And finally, I dedicate this book to my wife, Kai-wen, and my son, Kyle, who
is younger than this book.

xxi
This page intentionally left blank
Part I > > > > > > > > > > > > > > > > >

Introduction to
Game Development
This page intentionally left blank
Chapter 1: What Does This Book Cover? 3

Chapter 1 > > > > > > > > > > > > > > > >

What Does This


Book Cover?
How to Make a Game
Fairly audacious heading, huh? There This book is not a vague list of
are a lot of books out there that are good ideas and suggestions; rather it
introductions to C++ or Direct3D, or gets down and dirty and discusses
discuss the construction of a real-time failed and successful project manage-
strategy game. What these books do ment techniques from my own
not cover is which development meth- experience as well as the experience of
odologies you should employ in a multitude of other development
creating your game and how to be studios.
smart about outsourcing portions of it.

First Have a Plan


Games that have a poor development effectively to your team and other pro-
methodology (or none at all) take much ject stakeholders.
longer than they should, run over bud- Even if you are working on a solo
get, and tend to be unreasonably buggy. project, you must still take your game’s
The majority of commercial games fail project planning seriously. A mere
to turn a profit. demo of your capabilities to show a pro-
Figuring out what your game needs spective employer would be created
to do is called “requirements capture.” with higher quality and with more
This book will show you how to use speed if you follow the techniques pre-
formalized methods such as the Unified sented here.
Modeling Language’s use case dia- These are just the earliest ele-
grams to quickly collect your require- ments of an entire game project
ments and communicate them production methodology that is devel-
oped throughout this book.
4 Chapter 1: What Does This Book Cover?

Organize Your Team Effectively


Once you have a plan in hand, full game feature sets narrow and the polish
production commences. This is the deep. I will point this out again: The
most exciting time for a game project. mega-hits such as Doom, Warcraft,
Literally every day new features will Myst, Gran Turismo, Mario64, and The
come online, and on a healthy project, Sims are not small games; rather their
the team will feed itself with new feature set is small but polished to a
energy to propel forward. This book superior degree. This book will show
discusses how to create task visibility you how to get a grip on your features.
so everyone knows what he or she If you think about it, teams with
needs to do and how far along the rest one developer must use their time
are in their tasks. even more effectively than a fat 30-
Controlling feature creep, reaching person production. All the methods of
alpha, and freezing new features are creating achievable tasks, measuring
critical to finishing your game. All of progress, and controlling features are
the mega-hits in our industry kept their even more critical for very small teams.

Game Development Is Software Development


Games are certainly special; however, aircraft. Too often game developers
a point I will be making repeatedly hold themselves apart from formal soft-
throughout this book is that game ware development and production
development is software development. methods with the false rationalization
Games are software with art, audio, and that games are an art, not a science.
gameplay. Financial planning software Game developers need to master their
is software that is specialized for finan- production methods so that they can
cial transactions and planning, expert produce their games in an organized,
systems are software with artificial repeatable manner—a rigorous manner
intelligence, and cockpit instrumenta- that creates great games on budget and
tion is software dedicated to flying an on time.

Where to Turn for Outside Help


The game industry is maturing rapidly. much they will cost? Do you need to
With this growth, outside vendors that record in high fidelity 120 frames per
are experts in the fields of cinematics, second, or will buying a library of stock
character modeling, motion capture, moves be the best solution? I will show
sound effects, voice-over, language you how to specify what you need and
localization, quality assurance, market- give you an idea of how the bid will
ing, and music composition have pro- break down in costs. Interviews by
duced mature, cost-effective solutions major vendors in these areas will high-
for the largest to the smallest team. light major gotchas where projects
Do you know how many moves you went afoul and explain how to avoid
need to capture for your game or how them.
Chapter 1: What Does This Book Cover? 5

How to Ship a Game


So you have finished your game, eh? effectively solicit help from beta test-
You’ve coded it all up and played ers. Respect them and you will be
through it a bunch, and your friends like repaid in help beyond measure. Let
it, but how do you know when it is your beta testers lie fallow or fail to act
ready to ship? I will show you how to meaningfully on their suggestions and
track bugs, prioritize your bugs effec- your game will suffer. Beta testers are
tively, task your bugs, and review your project stakeholders too; you must
final candidates for readiness. communicate with them effectively,
All game projects can benefit from explain to them your decisions, and
beta testing. I will show you how to show strength of leadership.

Post-Release
After a game ships you will often have user-extensible elements. Pioneered to
a responsibility and an opportunity to great success, id Software’s Doom and
support your game. This is especially Quake series coined the term level
true for the PC game market where it designer as an occupation. Arguably, the
is possible to patch bugs, fine-tune the greatest strength of Chris Taylor’s
balance, and add new features or con- Total Annihilation was its aggressive
tent. The new content can take the design for user modification. Chapter 9
form of free downloads or larger pack- discusses the technical design, and it is
ages that can be sold as expansions to here, in the earliest stages of architec-
your game. These are the straightfor- ture for your game, that you must plan
ward tasks; true mega-hits transcend for user modification. Waiting until the
the status of just a game to play end of your project is not a valid
through and become a hobby. Enabling method for adding user-extensibility to
players to modify the game through the your game.
creation of new levels, new modules, Fan communication is critical to
new missions, or even total conver- long-term success; set up an Internet
sions keeps your game alive far beyond message board for your fans to trade
the life expectancy of a game without ideas, tips, gripes, rants, stories, chal-
lenges, and new content.

Success and the Long Race


The deeper message I am presenting in your game project. Discover why you
this book is that successful game mak- are making this game. What is the
ing is a long race rather than a sprint to vision? What are your true profit goals?
fast cash. Any attempt to take a short- Are they reasonable? What should you
cut for poor motives will manifest itself accomplish in this game? Where does
in a sickly, failed game project. Take this game you are making fit into a
your time to figure out the context of chain of game projects?
6 Chapter 1: What Does This Book Cover?

How to Use This Book


I suggest you first lightly skim through the second half of your preproduction
the entire book cover to cover to get a phase to flesh out your production plan.
cursory exposure to formalized game Part III should remain handy during
development. production to help with organizing your
Parts I and II discuss the chal- team, wrestling with Microsoft Project,
lenges of game development Unified Modeling Language, Excel, and
thoroughly and introduce you to effec- other tools for measuring progress, and
tive methods of game development to for controlling the scope of your
use on your project. project.
The early chapters of Part III Review the later chapters of Part
should be read thoroughly at the begin- III as production reaches alpha and it is
ning of your game project to create a time to figure out how to ship your
detailed project plan that will give your game.
project the best start possible. The methods presented in this
Part IV is a resource guide to get- book have been boiled down in a dis-
ting outside help on your project. This tilled format in the Game Project
material should be reviewed carefully in Survival Test included in Chapter 4.
Chapter 2: Why Make Games? 7

Chapter 2 > > > > > > > > > > > > > > > >

Why Make Games?


To Share a Dream
Creative people love to share their different entertainment mediums, of
dreams, thoughts, and worlds. Artists having the most interactivity with the
want to show you the world, musicians audience. This is a very special quality;
want you to feel the world, program- it makes the player the most important
mers want you to experience the world, part of the story—the hero. Novels are
and game designers want you to be interactive with the reader, as no two
there. readers will visualize a narrative in the
Games are deeply rewarding same way. Music is interactive for the
because they appeal on so many differ- rhythm, mood, and inspiration to dance
ent levels: They are stories to be that it charges humans with. Games are
caught up in, action sequences to live, very special—only in a game can a
stunning visuals to experience, and player try different actions, experience
they challenge our minds by exploring different outcomes, and explore a
our strategy and tactical skills. Games model of a world.
hold the unique position, of all the

Games Teach
Games and stories are deep elements to backgammon. Wei-Ch’i, or Go, can
of human culture. Peek-a-boo and its be traced back by one legend to 2200
more sophisticated cousin
hide-and-seek teach the ele-
ments of hunting prey and
evading predators. The oldest
complete game set discovered so
far is the Royal Game of Ur, an
ancient Sumerian game dating
back to 2500 B.C. The rules for
this game are unknown, but the
conjecture is that it was a betting
game about moving a piece
around a track of squares, per-
haps as a very early predecessor The Royal Game of Ur with permission from James Masters
8 Chapter 2: Why Make Games?

B.C. China where Emperor Shun sup- Longer histories of games are
posedly used the game to train his son available; the point I am making here is
for assuming leadership of the state. that games have held an intimate role
Chess has a rich history throughout the in our intellectual growth from the ear-
Middle Ages, the Renaissance, and liest ages. We modern game makers are
through to modern times as the most carrying on an honorable, historic role.
celebrated game of strategic thinking.

Game Genres Satisfy Different Appetites


Electronic games are usually

Y
described by their genre—strat-
egy, adventure, role-playing,
action, and simulation. These
genres are a direct reflection of
the source material for the game.
FL
AM
Military and sports simulations;
gambling, parlor, and puzzle
games; storytelling; toys; and
TE

children’s games comprise some


of the major branches of influ-
ence for the creation of
electronic games.
Modern computer games
have a rich history; some of the
earliest games (1970s) were text
adventure games such as Adven-
ture, crude arcade games like
Pong, and a little later, multi-
player games such as NetTrek.
These early games explored sto-
rytelling, strategy, tactics, and
the player’s hand-eye coordina-
tion. The sophistication of these
games was, of course, limited by
technology—a limit that is con-
stantly being pushed back.

Background and influences on modern game genres

Gambling, Puzzle, and Parlor


Games cards. Games like Parcheesi and Scrab-
Games evolved from elegant board ble took solid form during the 1800s
games full of culture to a wide variety and early 1900s. Parcheesi is the father
of wagering games involving dice or of board games and requires the players

Team-Fly®
Chapter 2: Why Make Games? 9

to navigate their tokens around the Entertainment (http://www.silvercrk.com)


board like Monopoly and Candy Land. have taken the concept of spades and
These games themselves have been hearts and have crafted the finest ver-
directly ported as electronic games, but sions of these games, complete with a
it is the fast-paced puzzle games like rich set of features for social interaction
Tetris that have developed new ground including chat, ratings, and blasting
in this genre. your opponents with fireballs.
As I type these words, over One of the coolest parlors (in my
110,000 people are playing straightfor- opinion) happening right now is the
ward conversions of the classic card and Internet Chess Club (http://www.chess-
board games online at Microsoft MSN club.com) with over 1,000 players
Gaming Zone (http://zone.msn.com/ql.asp). currently connected and 26 Grand Mas-
These games have entertained families ters and International Masters playing
and friends throughout the ages and online. The ICC boasts an impressive
teach deduction, probability, and social chat system, automated tournaments,
skills. The folks at Silver Creek over 30 flavors of chess, anytime con-
trol, and impressive library and game
examination features. Automated chess
courses are broadcast throughout the
day, and many titled players turn their
mastery into cash by teaching chess
using the shekel—the unit of currency
on the ICC. It is an exciting place
where you have the choice of watching
GMs and IMs or playing in tourna-
ments around the clock. Instead of
dusty annotated chess columns in the
newspaper, try some three-minute blitz
action with the best players in the
world.

A partial listing of games and gamers on Microsoft’s A dwarf and a fireball from Silver Creek Entertainment’s
Gaming Zone Hardwood Spades
10 Chapter 2: Why Make Games?

the obligatory features of


impressive 3D plane graph-
ics, great looking scenery,
and a realistic flight model,
the truly impressive features
of X-Plane involve its
expandability. Hundreds of
planes and other features
created by devoted fans are
available for X-Plane, includ-
ing real-time weather that is
downloaded to your computer
while flying! The author put
Various windows of the Blitz interface to the Internet Chess Club his time into creating the first
simulation of what it would
Military and Sports Simulations be like to fly on Mars: real
flight with the gravity, air density, and
Games have long been providing simu-
inertia models of flight on Mars.
lations of real-life experiences that
many of us do not get to experience in
daily life. There are simulations for
white-water kayaking, racing minivans
at night on the streets of Tokyo, fantas-
tic-looking detailed professional football
simulations, skateboarding simulators,
star fighter sims; in short, any sport,
military action, or transportation
method is a good candidate for an elec-
tronic simulation.
Flight simulators have been the
staple of computer simulations since
the early ’80s. Microsoft enjoys the #1
spot with Microsoft Flight Simulator,
which they release new versions of A screen shot collage from X-Plane
every even-numbered year—the latest
being FS 2002 (http://www.microsoft.com/ Through the ’70s and ’80s Avalon
games/fs2002). Microsoft Flight Simulator Hill produced a vast array of detailed
has a huge following including hun- military board games that covered all
dreds of virtual airlines and air traffic aspects of war making from the Bronze
controllers, and half a dozen or so Age to the Jet Age. Avalon Hill’s crown-
books are available for Flight Simulator. ing achievement is perhaps the most
Austin Meyer of Laminar Research detailed board game ever created:
is the author of the most realistic and Advanced Squad Leader (ASL). ASL is
user-extensible flight simulator, X- also the most detailed squad-level mili-
Plane (http:// www.x-plane.com). Aside from tary board game simulation ever
Chapter 2: Why Make Games? 11

My company, Taldren, was founded


on the success of our team’s Starfleet
Command game, which is a 3D real-
time interpretation of the rule set of
Star Fleet Battles from Amarillo
Design Bureau. Star Fleet Battles is a
detailed simulation of starship naval
combat based on the Star Trek televi-
sion show and was created by Steven
Cole. The board game translated well
into a real-time 3D strategy game in
part because the pen and paper board
game itself broke the turns of the game
into 32 “impulses” of partial turns to
A screen shot from the real-time weather display for X-Plane
achieve a serviceable form of real-time
simulation. The game itself
was usually played as a sce-
nario re-enacting a
“historical” battle between
star empires of the Star
Trek universe. The game
was so detailed in its
mechanics a simple
cruiser-on-cruiser skirmish
could take two to fours
hours to resolve, and a fleet
Virtual airlines from X-Plane action such as a base
assault was a project for
developed. Countless modules expand the entire weekend and a bucket of caf-
the game and the rules to take into feine. We developed the Starfleet
account the differences of individual Command series that draws upon this
operations in World War II. There are rich heritage and delivers a compelling
zillions of rules (and errata!) for every- career in one of eight star empires or
thing from ammo types to night combat pirate cartels. As the players get caught
rules. Military buffs have been playing up in epic struggles between the star
war games for hundreds of years, but empires, they earn prestige points for
the developments that led to ASL car- successful completion of their missions,
ried forward into electronic gaming. which can be used to repair their ships,
Currently there is a rage going on buy supplies, and upgrade to heavier
about WWII squad games such as class starships. This electronic game
Microsoft’s Close Combat and Cor- blends a television show telling the
nered Rat’s World War II: Online. The story of exploring the galaxy with the
most hardcore of them all is Combat detail of a war game.
Mission: Barbarossa to Berlin by Bat-
tlefront.com.
12 Chapter 2: Why Make Games?

Car racing has been a staple of second half of the twentieth century to
games from the days of Monaco GP become the dominant market of fiction.
and Pole Position in the arcade to the Reading a novel is wonderful, but
state-of-the-art Gran Turismo 3 by would it not be better to slay the
Sony. Gran Turismo 3 features hun- dragon yourself and take the loot home
dreds of hours of gameplay, the most to your castle? In the early ’70s, Gary
realistic driving physics model, and Gygax created Dungeons and Dragons
graphics so compelling you can feel the and showed us how to slay the dragon.
sunlight filtered through the pine trees. Dungeons and Dragons was very spe-
Electronic Arts, the largest soft- cial because you did not compete
ware company in the games business, against the other players; rather you
sells about $3 billion in games a year. acted or role-played a character in a fan-
Electronic Arts is both publisher and tasy world. You wrote a backstory for
developer of countless games dating your elven ranger, what motivated him,
back to the early ’80s. EA has done why he must slay the orcs of the Fell
very well across all platforms and all Lands. You then joined up with the
genres; however, it is the simulation of characters of your friends and role-
sports—professional sports—that is played through an adventure run by
EA’s cash cow. Madden NFL Football your Dungeon Master, or referee.
(http://madden2002.ea.com) has been pub- Dungeons and Dragons has been
lished for years and has been released played by virtually everyone in the
on every major platform including the game industry, and it is a keystone of
PC, PlayStation, PlayStation 2, N64, the role-playing game genre. Text
Game Boy Color, GameCube, and Xbox. adventures such as Zork and graphic
adventures such as the King’s Quest
Role-Playing Games series gave us choices for how the
No discussion of game making could be story would turn out. As capabilities
complete without discussing storytell- expanded, breakthrough games such as
ing. Sitting around a fire and spinning a Bard’s Tale, written by the infant Inter-
tale is one of the oldest forms of enter- play and published by Electronic Arts,
tainment. Shamans acted out roles as were later followed up by important
gods, animals, and warriors to explain games like the Ultima and Wizardry
our world, teach us history, and to fuel series. Role-playing games took a brief
our imaginations after the sun went slumber in the early ’80s when first-
down. With the advent of writing, person shooters dominated the PC
authors could now tell stories across market, and the format of the computer
time—longer, deeper stories than a sin- RPG remained fairly stale in the early
gle dry throat could repeat. J.R.R. ’90s. Starting around 1997 role-playing
Tolkien’s Lord of the Rings trilogy: Here games made a big comeback in the
we drank wine with nearly immortal form of three hugely important games:
elves, fought epic battles with orcs, and Baldur’s Gate developed by BioWare,
saved the world from ultimate evil Diablo developed by Blizzard, and
through careful use of a ring. Science Ultima Online developed by Origin.
fiction and fantasy exploded in the Baldur’s Gate brought us a gorgeous
game with intuitive controls and
Chapter 2: Why Make Games? 13

mechanics and lavish production values BioWare, where the tools of game mas-
that brought the Dungeons and tering are part of the game. Scores of
Dragons world of the Forgotten Realms players will participate together in
to life. Diablo stunned the game indus- user-created adventures online. These
try with the simple and addictive game- online role-playing games are fantastic
play of the tight user interface and in scope compared to the multi-user
online multiplayer dungeon hacking. Dungeons available on Unix systems on
Ultima Online was the first commer- the Internet, but the story experience
cially viable massively multiplayer is just as compelling. I look forward to
role-playing game. I spent probably 80 seeing the massively multiplayer vir-
hours of my life there, mining virtual tual reality games as depicted in Tad
iron ore to get ahead in a virtual econ- Williams’ Otherland fiction series,
omy where I paid a real $10 a month for where we become true avatars. Gas
the privilege of exploring my mining Powered Games’ release of Dungeon
fantasies. Siege, building on the groundbreaking
Looking back to pen and paper immediacy of Diablo, will be the slick-
role-playing games and fantasy fiction, I est action/RPG today with breathtaking
am excited to see the future of role- 3D graphics and strong online
playing games with the release of multiplayer matchmaking that will sat-
Neverwinter Nights developed by isfy the dungeoneer in all of us.

Youth Making Games


You have to have the bug to make game. In eighth grade my friend Elliott
games. The talent usually begins at a Einbinder and I created a wireframe,
young age. Like countless other game first-person maze game; you used the
developers who made goofy games on keyboard to navigate through the maze.
early computers, I had a Commodore A most embarrassing flaw was in our
Vic20 and C64 on which I created text maze game: We could not figure out
adventure games and crude bitmap how to prevent the player from cheat-
graphic maze adventures. In fourth ing and walking through the walls! We
grade I produced a fairly elaborate kept asking our computer science
board game series that involved adven- teacher how we could query the video
turing through a hostile, medieval display to find out if we drew a wall. We
fantasy world with various characters had no concept of a world model and a
very similar to the Talisman board display model!

On Money
In this whole discussion I have not game. In all art forms, excellence is
talked about the money to be made in always truth.
making games. Game making is both an Honesty, truth, and clarity are all
art and a science. If you are honest with interrelated, and they are important not
yourself, your team, the customer, and because of moral standards; they are
to the game, you will make a great important because only with the
14 Chapter 2: Why Make Games?

ruthless pursuit of a clean, tight game money. That being said, look deeper
can you hope to make a great game. and understand that I am helping you
The rest of this book will focus on realize the true goals for your game
how to get maximum value for your project and to reach these goals as effi-
development dollars with outsourcing, ciently as possible.
how to decide which features to cut, Great games sell just fine, and the
and how to track your tasks; all these money will come naturally enough;
activities are heavily involved with focus on making a great game.

Why Make Games?


You should make games because you challenges you have crafted for their
love to. Making a game should be a enjoyment. You should make games if
great source of creative release for you. there is something fun you can visual-
You love to see people enthralled by ize in your mind, something fun you
your game, playing it over and over, would like to experience, and you want
totally immersed in the world and the to share that experience with others.
Chapter 3: What Makes Game Development Hard? 15

Chapter 3 > > > > > > > > > > > > > > > >

What Makes Game


Development Hard?
The Importance of Planning
What does it take to make great games? Blizzard. The size of your project or
Brilliantly optimized graphics code? your role does not matter; you still
Stunning sound effects, clever artificial need a plan to create your game.
intelligence routines, lush artwork, or Why must you have a plan? With
simply irresistible gameplay? Well, you the smallest of projects the plan will
need all of that of course, with game- likely be to get a prototype of the game
play one of the most important factors. going as soon as possible and then just
However, behind the scenes you are iterating and playing with the game
going to need a trail guide and a map to until it is done. This method works well
get there. if the game you are making is a hobby
You might be working alone on a project, or your company is funded by a
great mod to a commercial game, or seemingly unlimited supply of someone
you might be working with an artist on else’s money and you are not holding
a cool online card game, or you might yourself financially accountable.
be the director of development at

Very Few Titles Are Profitable


Many people do not realize how few
games are profitable. In 2001 over
3,000 games were released for the PC
platform; it is likely only 100 or so of
those titles turned a profit, and of those
only the top 50 made significant money
for the developers and publishers.
In 2000 an established developer in
North America would likely receive
between $1 million and $3 million in
advances paid out over 12 to 36 months
for the development of a game. The
typical publisher will spend between The darkened boxes represent the number of
$250,000 and $1.5 million in marketing successful games published each year.
16 Chapter 3: What Makes Game Development Hard?

and sales development (“sales develop- 500,000 Units to Break Even?


ment” is the euphemistic term for the Take a long hard look at Table 2. Notice
money the publisher must spend to get that not until 500,000 units have been
the game actually on the shelf at the sold does the developer see a royalty
retailer and well positioned). The box, check. This is a $75,000 check that is
CDs, maps, manual, and other materials likely to be issued to you between 9
in the box cost between $1.50 and and 18 months after release of the title.
$4.00 collectively. The royalties an The conclusion from this is that royal-
established developer could expect ties alone will not feed you and your
vary widely, from 10 to 30 percent, team post-release. “No problem,” you
depending on many factors including think, “my title will sell millions!”
how much of the financial risk the Unfortunately, even good games don’t
developer is assuming and the types of always sell many units. As an example,
deductions to the wholesale price. Let’s the excellent developer Raven sold a
take a look at what these numbers little over 30,000 units of the strong
mean for a game that has an average game Hexen II. Messiah, the long-
retail price of $35 over the life of sales anticipated edgy first-person shooter,
in the first 12 to 24 months after saw fewer than 10,000 units sold in its
release. Table 1 summarizes the finan- first three months (most games make
cial assumptions behind this the large bulk of their sales in the first
hypothetical project. 90 days of release). Fallout 1 enjoyed a
Table 1—PC Game Project Financial Basics loyal fan following and strong critical
Average Retail Price $35.00 reviews and sold a little more than
Wholesale Price $21.00 120,000 units in its first year. The
Developer Advance $1,500,000
author’s Starfleet Command 1 sold over
350,000 units its first year without
Developer Royalty 15%
counting the Gold Edition and the Neu-
Table 2—Game Project Payoffs at Various Sales tral Zone expansion. However, the
Targets sequel, Starfleet Command 2, has sold
Units Royalty Less Advance 120,000 units in its first six months of
release. Sure, Diablo II from Blizzard
10,000 $ 31,500 $ (1,468,500)
enjoyed over 2 million units of orders
30,000 $ 94,500 $ (1,405,500)
on day one of release, and The Sims
100,000 $ 315,000 $ (1,185,000) has been in the top 3 of PC Data for
200,000 $ 630,000 $ (870,000) almost a year and a half. These titles
300,000 $ 945,000 $ (555,000) have clearly made a ton of money. In
500,000 $ 1,575,000 $ 75,000 fact, those orders that Blizzard had for
1,000,000 $ 3,150,000 $ 1,650,000 Diablo II on day 1 had a value that
2,000,000 $ 6,300,000 $ 4,800,000 exceeds the market capitalization of
Chapter 3: What Makes Game Development Hard? 17

Interplay Entertainment1—a publisher competitive game business with overly


with a rich publishing history spanning optimistic promises of future royalty
over 15 years. payments. These promises are mean-
ingless in many cases: After the
Employee Compensation and employees crunch through develop-
Royalties ment and release and even during
Table 2 has other implications. Many post-release, supporting the fans, these
development houses share royalties expectations of monetary rewards for
they receive with their employees by their labor turn out to be false. Then
some fraction. Many developers go these employees turn from energetic,
even further and offset the often highly productive creative developers
too-low salaries paid in the highly to disenfranchised employees looking
for a new job.

What Are the Financial Expectations


for Your Game?
A recurring theme throughout this developers required to create the game
book is managing expectations of all and how long it will take is established.
project stakeholders through high- This estimate should then be compared
quality communication that is clear and to the financial goals one more time to
honest. That is why I am presenting establish a baseline for cost, time, and
this sobering information so early in scope.
this book. You must be clear about why
you are creating your game. Do you The Scope of the Game Must
expect to make a profit? Are you Match Financial Parameters
depending on the royalties (or direct Most game projects fail to meet their
sales in the case of software sold as financial expectations because the
shareware or by other direct sales developers fail to articulate clearly and
methods) to support yourself and your honestly what the implications of their
development staff? Is this project only a expectations are. This is such an obvi-
hobby and any money it produces a ous statement, but virtually every
happy bonus? Is a publisher funding the game project I know of suffers from a
project or do you have an investor disparity between what the expecta-
backing your project? tions are for the project and the
Knowing your financial expecta- resources and time allocated to the pro-
tions—not your hopes and dreams—for ject. Some of the very well-endowed
your game project is critical to achiev- developers such as Blizzard, BioWare,
ing success. Establishing these expec- and id are famous for the “When it’s
tations will determine the scope of the done” mantra. There is little doubt that
project. With the scope of the project in a project from Blizzard, BioWare, or id
mind, an estimation of the number of will be of the highest quality and most

1 This statement sounded a lot more impressive when I wrote it in the summer of 2001; as of October 2002
Interplay has been delisted from NASDAQ.
18 Chapter 3: What Makes Game Development Hard?

undoubtedly be very profitable. How- time and money to work with, so what
ever, Blizzard, BioWare, and id also you need to do is figure out what is the
have a large amount of working capital “best” game you can make within bud-
on hand and have dedicated that work- get. Remember, id founders once
ing capital to making killer games. created games for $6 an hour for a
If you do not have an unlimited long-forgotten publisher, SoftDisk, and
supply of working capital on hand, then Blizzard once worked as a developer for
I strongly suggest you take on a differ- Interplay. There are steppingstones on
ent mantra than “When it’s done.” the way to greatness; too many devel-
Most likely you have a budget of both opers try to take the gaming world by
storm in one ambitious step.

Y
Why Your Game Should Profit

how we take these baselines and


FL
Part II, How to Make a Game, will show unforeseen events. Profit allows you
more tactical and strategic maneuver-
AM
develop a project plan and then execute ing room for your game company. This
the development of a game project. store of capital enables you to make
Beyond just running a single game pro- more ambitious games in the future,
TE

ject, I will discuss how your game retain employees, hire new talent, and
project should fit into a greater plan of make capital improvements to your
growth for yourself, your company, workplace for greater efficiency. Too
and/or your team. The dot-com era has many game developers pour their heart
distorted many people’s expectations of and soul into game projects that have
what it takes to make a business. Too no real likelihood of making a profit.
many dot-coms were based on business Maybe you do not care about profit.
plans about gaining “mind share” or Maybe it is of secondary or even ter-
“market presence,” or were just plain tiary importance to you. I still urge you
hype. Many overnight millionaires to run your game project with the rigor
were made, so this style of business and the earnestness of a small business
creation certainly worked for some, but that needs to deliver on expectations,
for the vast majority of dot-coms, bank- on budget, and on time.
ruptcy and bust was the end. These Following are two unprofitable
dot-coms failed to create a product or attitudes when approaching game
service that people would actually pay development.
money for and be able to deliver it in
such a manner that they could make a Feature Storm
profit. Making a profit is not an evil Attitude #1: “Hey! What about quality?
thing to do for a bunch of creative game You are leaving me cold here, Erik. My
developers. Making a profit enables you game is going to rock; it is going to be
to store up capital to handle the period massively multiplayer, with magic, mar-
of time between projects. A capital tial arts, and small arms combat. I am
reserve allows you to respond more going to have vehicles, and you can go
gracefully to project slippage due to to any planet you want and even fly a
unexpected turnover or other starship to get there! Erik, you dork, of

Team-Fly®
Chapter 3: What Makes Game Development Hard? 19

course my game is going to make a ton execution of starfighter combat. Other-


of money; people are going to lay down wise you will end up creating a bunch of
$10 a month to play it, and I will port it open expectations that you will not be
over to the PS2 and Xbox and pick up able to fulfill. The market will crush
the juicy console money too. Sheesh! you for creating unmet hype.
Making a profit, that is going to be a
side effect of my vision, Erik. I do not If the Game Is Worth Making, Make
need to worry about that!” It Excellent
What is wrong with attitude #1 is Attitude #2: “I am just making a little
that the designer has not looked into spades game to get my feet wet. I am
the costs for developing every feature never going to show it to anyone, and
under the sun. There is a reason why no one is going to play it, so who cares
Warcraft is a tight game about manag- if I make a profit?”
ing humans and orcs gathering stone, The problem with attitude #2 is
gold, and wood. There is a reason why that it ignores the strong wisdom that
Quake is a tight game about first-per- says if something is worth doing, it is
son combat. Creating a game that worth doing well. A weak demonstra-
people want to play means fully deliver- tion of your programming skills will
ing on every expectation you create in demonstrate that you are a weak pro-
your game design. If your game design grammer. An incomplete game design
has martial arts combat, then your fans document will demonstrate that you
will want a very playable martial arts make incomplete designs. Art that does
simulation. If you also have starfighters not appear competitive shows that you
to pilot in your game, your game better do not have the artistic talent to
be competitive with FreeSpace 2 in its compete.

Excellence in Spades
Take a look at Hardwood Spades from but sell their games direct to the con-
Silver Creek Entertainment (http:www.sil- sumer online. They have slowly built
vercrk.com). This is by far the most pol- up a following over the years and are
ished execution of spades the world has now quietly selling hundreds of units a
ever seen. A core team of just three month for each of their titles. I have the
developers has put out an incredible utmost respect for these folks. They
series of classic card games, where the had a vision for creating the highest
quality of the executed games is way quality classic card games on the planet
over the top. They have added a ton of and have executed that dream step-by-
small, tight features and improvements step, building up their capital, fan base,
to the playing of spades such as casting and quality level as they went. Notice
a fireball or a shower of flowers at that they did not pitch the idea of the
another player. This spades game is world’s most gorgeous card games for
multiplayer and is played 24x7 on serv- $2 million up front to a publisher and
ers hosted by these folks. They do not then go find an artist, programmer,
take advance money from a publisher game designer, and fan base. Instead,
20 Chapter 3: What Makes Game Development Hard?

they released their first game, Hard- successful brand, and are now in the
wood Solitaire, in 1997, which had powerful position of continuing to build
moderate success and enabled them to up their brand and products, licensing
build upon this experience. I have no their products for a distribution deal, or
idea what their future plans are, but perhaps selling themselves in whole to
notice that they have built up a strong a larger company to lock in a strong
collection of popular titles and a return on their years of investment.

Game Making Is a Long Race


of Many Game Projects
Investing over time is what it takes to has come from taking the time to ana-
make it big in the game industry. It is a lyze what happened and discussions
very long race in a very small world; do with my teammates and other game
not burn any bridges, and try to make developers to figure out what went
as many friends as possible along the wrong and how we could have done
way. better. In many ways this book repre-
Some of you may be familiar with sents a field manual of essential game
the games I have produced—the Star- production that I would have appreci-
fleet Command series. Some of you ated reading when I started leading
might say, “Hey, Erik, didn’t SFC1 and game projects. Throughout this book I
SFC2 have a bit too many bugs? How will discuss the Starfleet Command
do you account for that? Oh, and didn’t series and the decisions I have made
SFC2 not ship with a functional along the way as a producer. You will
Dynaverse 2, the hyped, massively be able to run shotgun and role-play an
multiplayer-lite metagame? If you are armchair executive producer!
so wise, Erik, explain what happened.” There are books out there that will
No problem, hang on a moment and attempt to teach you to design and pro-
listen to what I have to say. gram a real-time strategy game or write
This is a book wrought from my the rasterizer for a software first-per-
experience and the experience of other son shooter. You can also find books
developers—experience of both success telling you how to design and architect
and failure. your game, and some books have made
What I have to share with you in strong efforts as a resource guide for
this book is not wisdom I received in finding sources of art, music, and code.
college, nor did my boss train me when However, these books do not address
I first led a game project. This is how to make a game.
hands-on, face-the-challenges-as-you-
go advice. Much of what I have learned
Chapter 3: What Makes Game Development Hard? 21

A Brief History of Software Development


How to make a game, I believe, is the his own workstation where he edited,
most elusive question in the game ran, and debugged code. During the late
industry. In fact, the software industry ’80s and early ’90s the leading edge of
at large is relatively open and up-front the software development community
about how immature the software engi- got charged with the efficacy of object-
neering processes are as a whole. Take oriented programming and the large-
a look at After the Gold Rush by Steve project strength of C++. Improve-
McConnell for an excellent discussion ments continued with integrated
of the much-needed maturation in the editors, debuggers, and profilers. Opti-
software industry. Much development mizing compilers have almost made
in the software engineering community assembly programming obsolete, and
is going into improving the process of visual interface layout tools have made
how we go about making software. programming rather pleasant for busi-
During the ’60s and ’70s great strides ness applications. With all of these
were made in increasing the strength of fantastic improvements to the software
the programming languages from For- development process, software project
tran and COBOL to C. During the ’80s budgets have only gotten larger and
the microcomputer created tremendous have only slipped by longer amounts of
improvements in the programming time and by greater numbers.
workplace. Each developer could have

Overly Long Game Projects Are Disastrous


Take a look at Table 3 listing game pro- Table 3—Long Game Projects
jects, how long they took to release, Stonekeep 1 5 years of Weak sales
and the outcome. development
This table is a Who’s Who of games Daikatana 4 years of Weak sales
that have run horribly over budget, and development,
only two games on that list have made fantastic cost
overruns
significant money: The Sims and
Baldur’s Gate. The best-selling game Messiah 5 years of Weak sales
development
on the list, The Sims, has made and is
continuing to make a huge fortune for Max Payne 5 years of Just released
development
Electronic Arts. Why is it that The
The Sims 5 years of Amazing sales
Sims has made the most money on that
development
list? Because Electronic Arts was very
Baldur’s Gate 3+ years of Very strong
fortunate that no one else (that state- development sales
ment is worth repeating) no one in the
Duke Nukem 5+ years of Yet to be
entire PC game industry of some 3,000 Forever development released
titles a year for five years in a row has Stonekeep 2 5 years of Project
released a title even remotely competi- development cancelled
tive to The Sims, filling a vastly Ultima Online 2 4 years of Project
development cancelled
22 Chapter 3: What Makes Game Development Hard?

underserved market of women who are As for the rest of the titles, they
consumers waiting for games to be were simply too-little too-late titles
designed for them. And with the right that had to compete against stronger
title EA can make tons of money due to games that were produced faster and
its marketing and sales strength; this for less money. Or in the case of
cannot be underestimated. Stonekeep 2 and Ultima Online 2, there
Also note that Maxis released were millions of dollars of game devel-
something like ten games in the sims opment and even the hype of game
genre and only two of these, SimCity magazine covers that the publishers
and The Sims, have generated great had to walk away from when the games
returns over ten years. The rest of the were cancelled!
sim-type games were relatively poor
sellers. This is something that seems What Late Games Do to Publishers
to be forgotten by a lot of people—that When projects run over, even by less
Will Wright has been experimenting than three years, they hurt the industry
with this type of game for ten+ years at large. Consumers are tired of being
before hitting a home run with The frustrated by overly hyped games that
Sims. are late. The publishers are constantly
Max Payne has just been released, attempting to make realistic financial
and we need a little time to see how the projections to manage their cash flow
market will respond to this adventure and maintain investor confidence. With
shooter with amazing graphics (I expect poor cash flow or low investor confi-
this game to do well). The other suc- dence, a publisher is often forced into
cessful title on the list, Baldur’s Gate, publishing more titles. More titles
had a number of delays and develop- mean each receives less attention at
ment extensions but ultimately was every stage of development. This in
still successful: The Baldur’s Gate turn weakens the publisher more, as
series (BG with its expansion pack and titles begin to ship before they are
sequel/expansion pack) has sold nearly ready in order to fill gaps in the quarter.
4 million units worldwide. It came at This creates a vicious feedback cycle
the right time for role-playing games that pressures the publisher to publish
and was a quality title with a strong even more titles.
license (Advanced Dungeons and
Dragons) behind it.

Our Project Plan Behind Starfleet Command


Interplay was impressed with our quick running Starfleet Command and the
execution of Caesars Palace W95 while opportunity to work with Sean, Zach,
working for another developer, and and other folks I had worked with
after doing various contracting and before. We jumped at the opportunity
working on our own demo of a game, to work on a big title at a big publisher.
we joined Interplay in the summer of When we got into it, we realized that
1998. Interplay presented me with Interplay was a big company with many
Chapter 3: What Makes Game Development Hard? 23

to earn Interplay’s respect so that they


would trust us enough to fund a future
game concept of ours. SFC itself was an
exciting title for us to work on, but for
every game project you must know
why you are doing it. For Starfleet
Command our goal was to create the
most faithful, highest fidelity modeling
of naval starship combat set in the Star
Trek universe. We were not trying to
make a Star Trek game, we were not
trying to make a 3D game, and we were
Starfleet Command not trying to make a real-time strategy
game like StarCraft. As we worked on
different games in production. Our sis- our vision statement, we developed the
ter project, Klingon Academy, was term real-time tactical to describe our
making impressive success in the dam- gameplay. Our game was all about tacti-
age effects of its 3D engine and its cine- cal starship combat. We did not send
matic cut scenes. Starfleet Command, teams down to planets, we did not have
on the other hand, was considered a the player act as a courier and carry
niche game appealing only to the most goods across the galaxy, and we did not
hardcore of game players—fans of Star allow the scavenging of enemy vessels
Fleet Battles. This turned out to be a to build a Frankenstein ship. No,
great advantage on several different instead you were a naval officer in one
levels at the same time. The
first benefit is that Brian
Fargo, the founder and CEO of
the company, left the project’s
vision entirely in my hands
while Klingon Academy
received more of Interplay’s
attention. The other benefit
was of course the built-in base
of Star Fleet Battles fans who
had waited 20 years for a com-
puterized version of their
favorite, ultra-detailed naval
starship simulation set in the
The vessel library screen from Starfleet Command
original series’ Star Trek
universe. of six star empires carrying out combat
missions on behalf of your empire.
The Vision for Starfleet Command
Over 1,000 starships were modeled
Starfleet Command was my first big in our game, with over 100 missions to
title to manage; I was very excited and test your tactics and strategy. The
determined to do a good job. I wanted player role-played a captain enjoying a
24 Chapter 3: What Makes Game Development Hard?

career of over 30 years in the service of Command was about, that was our goal,
his empire. That was what Starfleet and we delivered on that.

Constraints Give Much Needed Focus


Starfleet Command went on to be a depended on movies. Instead we devel-
stunning success. The press at the time oped a random mission/campaign
was stunned to see a Star Trek game generator with linear story missions
that was actually fun. The secret to our embedded like raisins in pudding. You
success was following our vision. We must look at every constraint on your
had no budget for fancy movies to tell a project as an opportunity to focus your
story, so we did not try to create a game on its key features.
game with a linear story line that

On Bugs Shipped in Starfleet Command


High-quality games with ultra-low bug quality standard software must have in
counts like Quake and Diablo sell very order to work on anyone’s computer, in
well. However, Quake and Diablo sell any manner the user could come up
strongly for quite a few good reasons with. We did have to ship with known
working together. We had a fixed bugs though, and the consumers had to
timeline; in fact, the Starfleet Com- deal with those too. We were fast with
mand project was already late before I the patches, and altogether the public
took it over. After reviewing where the enjoyed a game that was original and
project was for two months, I decided fun to play. Starfleet Command went on
on a delivery date of summer 1999 to sell over 350,000 units in its first
given a lot of extra programming and year, and at that time at Interplay, SFC
art resources. Interplay granted the was the second most successful title,
resources but in turn needed the date behind Baldur’s Gate developed by
to be unmoving. We had a project with a BioWare. Also it is a fact that there are
flexible feature set but a fixed timeline. more bugs inherent to games with
We essentially put too many features in more complex systems; for example,
the game and coded too late into the SFC is much more complex and
production process. We were still cod- detailed than Quake and therefore
ing heavily two weeks from final master needs additional QA attention. Role-
and worked on the first patch all the playing games like BG are also more
way through manufacturing. We fixed complicated and required additional QA
so many bugs in the last three months time and completely different QA pro-
of development that we honestly cesses. Treating all games in an identi-
thought we had a game with a fairly low cal manner from a QA perspective is
bug count and a ton of features. After a just plain wrong (but it happens all the
week of it being on the street, I devel- time).
oped a new realization of how high a
Chapter 3: What Makes Game Development Hard? 25

Well-Met Goals Enable Future Successes


Based on the success of Starfleet Com- independent developer. See Chapter
mand, Interplay’s management was 27 to see how we set up as Taldren
very receptive to our pitch to do and how we structured our company
Starfleet Command 2 as a wholly for the development of Starfleet
Command 2.

Strong Game Developers Have Strong


Foundations

A small chronicle of great games

The above figure chronicles just a few games over the years.
of the most successful and influential

The Tension between Preproduction and


Production
Bridges for the most part stoically sup- routinely go over budget, take too
port their loads across their spans. long, and generally underperform or
Dams rarely burst, flooding entire cit- are just buggy? The difference is in
ies. Why do civil engineering projects process and methodologies. Per-
seem to be routinely successful when forming something complex that
software engineering projects requires the efforts of many skilled
26 Chapter 3: What Makes Game Development Hard?

humans over an extended period of around these risks. Finally the plan
time necessitates breaking up the needs to be presented to all stake-
large, complex task into a series of holders including the development
small, achievable, measurable tasks. team, the publisher, and the marketing,
Ideally, figuring out what you are doing press relations, and sales forces.
should come before you do it; the game Games are big productions, and
industry term for this phase of work is successful games require the full effort
preproduction, or the vision or design of many individuals spanning many
phase. We have a name for it sure companies. In my opinion, preproduc-
enough, but too many projects violate tion is the most important stage of the
their preproduction phases and move project. I would like to see the day
straight to production. Twenty years when a project spends a full 25 to 40
ago preproduction would have been a percent of its overall prerelease time in
sketch of the game screen on a napkin preproduction. During production there
and a couple of experimental routines should be relatively few surprises. The
to get the idea straight. Ten years ago developers should be able to work eight
preproduction was largely about the art hours a day, take vacations, and pick up
of the proposed game. Now prepro- their children from school. Instead, the
duction is usually a playable demo. industry responds to the intense com-
True preproduction would be the petition by compressing preproduction
distillation of all the game’s require- into the shortest period of time possi-
ments, an analysis stage to determine ble. There is no hype, celebration,
the implications of these requirements, visibility, or honor in the game industry
a culling stage to meet the business as a whole for preproduction. In my
parameters, and a detailed game, art, opinion, everyone would make a lot
audio, and technical design to detail the more money if instead of 3,000 game
requirements. Preproduction would projects being launched a year, 4,000 or
still not be done, however, for these 5,000 game projects could receive two
detailed game, art, audio, and technical to nine months of preproduction and get
designs would uncover new details cancelled, and only the top 400 to 800
about the project requiring another would get produced and released. Pub-
revision of the feature set to meet the lishers’ net revenues would be five to
business requirements. ten times higher if their hit projects
Any risky areas of the project need were not bogged down by four to ten
to be explicitly called out, and alterna- failed projects.
tive plans need to be formulated to get

The Power of the Console


The console side of the business does approve. A console title must be pre-
manage itself a lot stronger than the PC sented to the hardware vendor several
world in this regard. The answer lies in times along the way and can be sent
the hardware vendors; they do not back for revision or altogether cancel-
allow a title to be released unless they led by the hardware vendor with no
Chapter 3: What Makes Game Development Hard? 27

recourse for the publisher except to be produced, but the net revenues
work harder. This added rigor in the across all console titles are reported to
console world allows far fewer titles to be seven times more profitable.

Why Aren’t All Publishers Using Preproduction?


If preproduction is so compelling, why eye candy are appropriate, but the eye
isn’t every publisher using it? Actually candy should be presented in the con-
publishers have a twist on this process, text of an overall production plan. If this
called green-light meetings. Some pro- level of rigor were followed, we would
jects have only one at the beginning of all be making stronger games resulting
a project; other companies have a in much stronger sales and much saner
series of green-light meetings acting as schedules. Unfortunately the experts
gates that the project must pass you would need to employ would have
through. However, these meetings are to be so skilled that they would most
just meetings. There are a bunch of likely be art directors or technical
executives with too much work to do directors, or running their own devel-
trying to figure out if they should can- opment company. The usual process is
cel a project or not. To help them make that game projects are ignored by the
a positive decision, the developers, pro- executives in the early stages when
ducers, and executive producers at the there are other more pressing fires to
publishing house spend a lot of devel- be put out, or the executives tend to
opment energy making bits of software focus on what they see in the form of
and art that hopefully make a striking eye candy.
impression on the executive’s mind.
This is accurately enough called “eye The Process Is Changing
candy.” The game development process is one
of the hotter topics that publishers now
JARGON: A green-light meeting is a
meeting at which a body of decision look for in a developer. Microsoft, for
makers at the publisher decide whether instance, sends a solid team of experts
or not to publish a game. down to a prospective developer and
interviews the house for a day or two.
Instead of one of these green-light Microsoft also appears to be the pub-
meetings, I think each game project lisher that respects preproduction the
should undergo a green-light mini- most by giving each project at least two
phase where each portion of the pro- or three months of real, funded
ject, such as art, game design, and preproduction. The actual presentation
technical, present their detailed plan on to the executives of the preproduction
how to get their job done to one or is more of a team affair involving the
more experts in that field. It should be developer, the producers, as well as
the composite findings of these experts early reports of something called
that is shown to the executives. It could usability.
be that diagrams, charts, concept Having far less development
sketches, and even demonstrations of resources to tap than Microsoft, Eidos
28 Chapter 3: What Makes Game Development Hard?

calls upon the heads of their various success when you only have 20 min-
studios to pass judgment at the green- utes to review a title.
light meeting. Each of these studio Look for more publishers changing
heads has a strong development back- their project review process as they try
ground and his or her gut reactions are to cull their failing projects before
fairly good divining rods of a game’s release, and ideally, early in production.

A Strong Plan Makes Game Development Easy


This is not a chapter of gloom and constructing your game design docu-
doom; rather this chapter points out the ment; other leaders in the game

Y
larger pitfalls in game development. industry will discuss what material they
The whole book is dedicated to taking a think is critical in the game design
FL
proactive, forward-looking approach to
game development. Chapters 8 and 9
detail the role of the game design and
document.
Technical design is presented in
Chapter 18, a thick chapter with a lot
AM
technical design documents. Chapter 10 of discussion of large project object-
discusses how the game design and oriented technical design. Unified
technical design documents are synthe- Modeling Language is revisited here to
TE

sized into a project plan. Chapter 17 see how it is used to model the soft-
delves deeper into the rigor that should ware from different views, such as
be put into preproduction with an intro- static views of deployment, packages
duction to Unified Modeling Language and class diagrams, and the dynamic
in the form of use cases and how they views of activity and sequence
are used to perform your requirements diagrams.
capture. Developing accurate time esti-
Chapter 16 discusses how critical mates is addressed in Chapter 19,
the game design document is in shaping including classic questions such as how
the team’s vision for the game. If much to pad or whether one should one
everyone knows what the game is sup- pad at all.
posed to be like, they will make it a lot Wrestling all of this data together
faster and better. Chapter 16 presents into a digestible project plan is dis-
specific steps you should take when cussed in Chapter 20.

The Gravitational Pull of Feature Creep


Even if you have the best-constructed friends while you work on getting your
production plan this industry has ever A licenses in Gran Turismo 3. Rather,
seen, your project still needs to be production is the time to put your plan
organized. Do not think that production to work; Chapter 22 tells you how to
is the time to go get your plan profes- get a grip on feature creep.
sionally printed and sent to all of your

Team-Fly®
Chapter 3: What Makes Game Development Hard? 29

Task Visibility for Team Motivation and for


Progress Tracking
Task visibility is my passion. There is a (discussed in Chapters 10 and 20) is
deep satisfaction I get as a producer posted on a wall and updated only once
when I know my team members know a month. Task visibility means a lot
their own tasks and the tasks that the more than the manager keeping track
others have to do. When each person is of progress and reporting to the execu-
humming along, tearing through the tive management. The development
project with the utmost confidence in team is the most important customer to
his or her team members, it seems like report the project’s progress. Chapter
anything and everything can be done. 10 gives an introduction to task track-
As the leader of a team or a subteam, ing, while Chapter 21 provides detailed
your job is to monitor this well-being. task management techniques from vari-
Too many times a project’s Gantt chart ous top studios.

Use Your Core Competencies and Outsource


the Rest
A large portion of this book is an Chapter 12 introduces outsourcing, and
in-depth guide to outsourcing parts of Chapters 28 through 33 give specific
your development from cinematics and advice on where to get your out-
motion capture to music and sound sourcing done and how to do business
effects. Figuring out what you should with these vendors.
outsource is discussed in Chapter 12.

A Pitfall of Success—Fan-Requested Features


and Changes
Ironically, making a hit game brings more than issuing a patch and crawling
with it the challenges of meeting a fan back into your cave of creativity. Now
base with an insatiable appetite for that your game has enjoyed success, it
more, bigger, faster, and cooler fea- is time to open your shop door, so to
tures. Endless debates discussing your speak, and take your relationship with
game balancing skills and astonishing the fans to a deeper level that will carry
acts of generosity from your most dedi- forward to your next title. Chapter 24
cated fans will test the depth of your discusses the issues involved in this
commitment to your game, which is relationship and some specific advice
now their game. Mastering the from successful game developers.
post-release fan relationship is a lot
30 Chapter 3: What Makes Game Development Hard?

The Relentless Pace of Technology


Game making is a creative art form that design but also a completed engine and
competes with other media such as tool path prior to entering the imple-
novels, television, movies, and music. mentation or production phase;
While technology has had dramatic otherwise the inevitable result seems
effects on how music is recorded, how to be redoing work over and over,
film is taped, how television is deliv- which is demoralizing, expensive, and a
ered, and even how a novel is typed, waste of time.
none of these other art forms have to This shifting engine technology is
compete with technology to nearly the not seen in any other consumer soft-
pace game making does. ware product. There is no consumer
Movies are probably the closest art operating system, word processor, or
form in scope, cost, and high-level pro- spreadsheet that has required the com-
duction methods. That being said, puting power of the last five or ten
camera technology stays stable for 20 years of Intel’s advances to the x86 line
years at a stretch, lights are lights, and of chips. It is games that drive our vora-
microphones are microphones. Right cious appetites for more RAM to hold
now the movie industry is looking at our textures, gigabytes of hard drive
using digital film, but again, this is tech- space to hold our gigabyte installs, and
nology that has been in regular use for the fastest CPU on the planet to simu-
20 or more years. late our fantasy worlds.
In the past 25 years that electronic The dark side of this technological
games have been a consumer enter- advance on the PC side of the game
tainment medium, they have gone business is that we do not know what
through nearly countless technological hardware the consumers will have
evolutions including text adventures, before they install and run our soft-
2D graphic adventures, turn-based ware. We do not know if they have 64
strategy games, 3D action games, MB of RAM, 128 MB, or just 32 MB of
smooth-scrolling 3D action games, main memory. We do not know if they
ray-casting engines, binary space- have a 3D accelerator card with 8 MB
partition engines, and I could go on and of RAM, 32, 64, or no 3D card at all! We
on listing the different game engines do not know if they will have enough
that have been created. space to install our game in its full
Each new game must develop its glory, so we have multiple install
own tools first and then create its con- options. We do not know if their graph-
tent. Future add-on and expansion ics card chipset will support the subset
packs will often use the same engine, of features we want for our game. We
and in some cases the sequel will use a do not even know how fast the target
modified version of the prior game. It CPU is. In fact we do not even know
has become increasingly common in the what operating system they will be run-
last five years to license whole game ning our game on. Sure it will be a
engines such as Quake and Unreal to Windows variant, but there must be big
act as the foundation engine to build a differences between Windows 95, Win-
game. A game requires not only a solid dows 98, Windows NT, Windows 2000,
Chapter 3: What Makes Game Development Hard? 31

Windows ME, and Windows XP or work on quite low-end systems. Much


Microsoft would not have put thou- of their success in the mass market
sands of man-years into these operating may relate to the fact that people with
systems. These operating systems lower end systems can still play them.
have major differences on critical low- The final challenge in the fast pace
level functionality like how memory is of technological change is that your
accessed and protected, how timers are requirements will often change mid-
created, what their resolution is, and project or very late in your project.
the efficiency of storing and retrieving With less than six weeks to go on
data from the hard drive. There are Starfleet Command 1, I was informed
people out there playing Starfleet Com- that Interplay signed a ten-product
mand 1 with the graphics options agreement to support AMD’s 3DNow
turned low on laptops with only a chip set. With little time left before
Pentium 90 MHz and no 3D card, and code freeze, we were forced to optimize
there are also folks out there with a just a handful of low-level vector and
Pentium IV 1.7 GHz with a GeForce 3 matrix routines to take advantage of the
card that has 64 MB of memory just on 3DNow feature set.
the card. Depending on which metric The console market is considerably
you use, the Pentium IV 1.7 GHz is different. When you make a game for
nearly twenty times more powerful than the PlayStation 2 you know exactly how
the Pentium 90. This is called Moore’s fast it will be, how much video RAM
Law, stating that the computing power you will have, and every other detail of
of computers doubles every 18 months. the console at the time of producing the
With all of these unknowns, we game. (Except when a developer is
need to create a game that will run sub- working on a game for a console that
stantially well and deliver the same has not been released yet to the public.
play experience on the greatest number In the case of Taldren, we are working
of machines out there. This is where on an Xbox game, and I get packages
minimum requirements and clever use from Microsoft every so often with a
of scalability in performance-intensive revision to the software running the
features such as graphics and artificial box. At larger intervals the hardware
intelligence comes to play. Hardcore itself changes.) This factor, combined
games typically have the most aggres- with much more stringent QA from the
sive schedule for culling older console manufacturers themselves,
machines from the minimum require- makes console games practically
ments. This, however, cuts into sales bug-free in comparison to PC games.
for mass-market games, and a delicate Console developers have a strate-
balance exists between pushing the gic advantage in that their platform is
edge of the performance bar in order to known and immutable, but also a disad-
gain exposure and adoption by the hard- vantage in that their platform may be
core players, and planning for broad supplanted by new consoles such as the
sales by supporting as many older sys- recently released GameCube/Xbox,
tems as possible. Games that are strong which technologically are far superior
examples of this are The Sims, Star- to the PS2. The console developers
Craft, and Baldur’s Gate I and II, which must then go through an awkward
32 Chapter 3: What Makes Game Development Hard?

stage of trying to prove to the publish- schedule to support the odd piece of
ers that they are capable of developing software or hardware that is strategi-
on the new console platform. cally important to your publisher. You
The only way to deal with these will also need to develop your mini-
technological changes is to plan for mum requirements as early in your
them. You need to build profiling and schedule as possible. The sooner you
diagnostic tools straight into your game set the goal of meeting a specific mini-
so that you can understand how it is mum requirement, the closer you will
performing under various game condi- be to actually achieving that goal.
tions. You need to allow time in your

The Art of War and Games


Around 500 B.C. Sun Tzu Wu spelled development. Preproduction was so
out five essential points to follow for valued by Sun Tzu that he felt point #1
victory in battle: was insufficient and added point #4
1. He will win who knows when to with the admonishment of not hyping
fight and when not to fight. your game too early. Point #2 suc-
2. He will win who knows how to cinctly reminds you to create a game in
handle both superior and inferior response to the financial parameters of
forces. your game project. Point #3 clearly
3. He will win whose army is ani- supports strong task visibility and a
mated by the same spirit production plan signed off by the whole
throughout all the ranks. team. And I see point #5 as the
4. He will win who, prepared himself, combination of building your game
waits to take the enemy development experience and not being
unprepared. forced to follow inefficient production
5. He will win who has military capac- methods due to inexperience on the
ity and is not interfered with by his part of the publisher.
sovereign.
“Victory lies in the knowledge of these
five points.” Sun Tzu
Only after writing the first draft of
this chapter did I pick up my copy of
The Art of War and flip through it.
Notice how well this advice that is over
2,500 years old neatly describes the Sun Tzu’s five essential points in Chinese
fundamental challenges of game
Chapter 4: Game Project Survival Test 33

Chapter 4 > > > > > > > > > > > > > > > >

Game Project
Survival Test
This test is an adaptation of the soft- and your team for the game project at
ware project survival test that can be hand. I suggest taking the test at the
found in Steve McConnell’s Software beginning, middle, and end of each of
Project Survival Guide. The idea behind your projects as a reminder of good
this test is to quickly get a rough guide practices.
to the overall preparedness of yourself

The Game Project Survival Test


As you read through the questions ___ 4. Has the core gameplay and
below, score 3 points if you are comfort- user interface of the game
able answering yes, score 2 points if been fleshed out so that every-
you feel your team is partially address- one clearly understands what
ing the question but more work could the game is and why it is fun?
be done, and score 1 point if you really ___ 5. Do the team members think
want to say yes, but it would be a lie. If the game will be fun?
the question is referring to something
that occurs mid-project, answer the Planning
question according to your current ___ 6. Does the game have a detailed,
plans. written game design document?
___ 7. Does the game have a detailed,
Game Requirements written technical design
___ 1. Is there a clear, unambiguous document?
vision statement for the game? ___ 8. Does the game have a detailed,
___ 2. Do all team members believe written art production plan?
that this vision is realistic? ___ 9. Do you have a detailed, inte-
___ 3. Does the project have a rea- grated project schedule that
sonable expectation of being lists all of the tasks that need
profitable for both the pub- to be performed, and have the
lisher and the developer? dependencies between various
team members been indicated?
34 Chapter 4: Game Project Survival Test

___ 10. Does your project schedule composite game development


include tasks like press tours? team signed off on the plan?
E3? The Game Developers
Conference? Installer? Auto- Project Control
patcher? Submission to hard- ___ 18. Does the game have a single
ware manufacturer approval? executive—the project leader
___ 11. Were the schedule and the or lead designer or producer?
budget for the game officially Whatever you call the job at
updated and discussed your shop, has this person
between the publisher and the been given full authority,
developer at the end of the lat- responsibility, and accountabil-
est milestone—even if to say, ity for the success of this
“Yes, everything is on track”? game? And is the person
___ 12. Are the features of the game enthusiastically embracing this
tagged with core, secondary, authority, responsibility, and
and tertiary levels of priority accountability?
to facilitate feature trimming if ___ 19. Does this project leader have
necessary to maintain the the right workload? Does she
schedule? have the adequate amount of
___ 13. Does the game have a written time to perform at her highest
quality assurance plan? Does it level of project management?
handle beta testers? In-house ___ 20. Have the milestones been laid
testing? Automated test out with clear, measurable
suites? deliverables that can easily be
___ 14. Does the game have a detailed quantified as done or not done?
milestone plan? Does it clearly ___ 21. Are the milestones being
describe what will be delivered delivered to the publisher in
and reviewable at each such a manner as to make it
milestone? easy for them to review the
___ 15. Does the schedule allow milestones and measure the
enough time for balance, tun- progress of the project for
ing, and tweaking of features to themselves?
ensure that it is fun? ___ 22. Do the developers have access
___ 16. Does the schedule account for to an anonymous communica-
sick days, holidays, and vaca- tion channel where they can
tion time? Are the developers report problems without fear?
tasked at less than 100 per- ___ 23. Does the game project plan
cent? Are the leads tasked at have a written plan for control-
less than 75 or 50 percent ling feature creep in the game?
depending on their responsibil- ___ 24. Does the game project have a
ity sets? clearly defined method of how
___ 17. Has the game design, technical changes will be reviewed by
design, art production plan, QA development team leads such
plan, and all of the rest of the as the art and technical
directors?
Chapter 4: Game Project Survival Test 35

___ 25. Are all of the game design, Personnel


technical design, schedule, art ___ 33. Does the game development
production, QA, and all other team have all of the expertise
planning materials easily needed to complete the game?
accessible to all development ___ 34. Does the game development
team members? Are they team have a management team
encouraged to read the that is experienced with man-
material? aging game development? In
___ 26. Is all source code under ver- other words, are the develop-
sion control software? ers able to concentrate on
___ 27. Are all of the binary assets developing rather than worry-
such as textures, models, ing about the state of their
music files, and sound effects game development shop?
also stored under version con- ___ 35. Does the game have a lead
trol software? programmer who is capable of
___ 28. Do all of the team members leading the programmers of
have the tools to do the job the team to making a kick-ass
such as workstations, PS2 and game?
Xbox development kits, 3D ___ 36. Are there enough developers
Studio Max or Maya seats, bug to do all of the work?
tracking software, and schedul- ___ 37. Do all of the development
ing software? team members get along with
Risk Management each other?
___ 38. Is each team member commit-
___ 29. Does the game project have a ted to staying with the game
written risks document with until it successfully ships?
possible solutions?
___ 30. Is this risks document updated Calculating Your Project’s Score
at the completion of every ___ Subtotal: Add the points above
milestone? (ranges from 38 to 114).
___ 31. Does the game project have a
risks officer who is encouraged ___ Development team size factor:
to scout ahead for risks on the If your game project has fewer
project? than nine full-time developers,
___ 32. If the project is using subcon- including all artists, program-
tractors, is there a written plan mers, designers, QA, and audio
for how to manage the subcon- people, use 1.5. If your team
tractors? For each subcontrac- has fewer than 19 full-time
tor is there a single member developers, use 1.2.
of the development team who ___ Grand total: Multiply your subto-
is responsible for that subcon- tal by the team size factor.
tractor?
36 Chapter 4: Game Project Survival Test

What Does My Score Mean? with unnecessary risk, frustration, and


Scores: 102+ AAA—Your game has stress. Some degree of team burnout
every possible resource, tool, and plan will occur. Anticipate some turnover at
it will take to make a hit game on time the end of the project. It is without
and on budget. question that the project will be over
Scores: 91-101 AA—Your game budget and will take considerably lon-
is being managed on a level much ger than planned at the start of the
higher than the industry norm and is project. Anticipate cost overruns
most likely to be a successful project between 50 and 100 percent of the
with only a minor amount of difficulty in baseline planned.
schedule or budget. Anticipate cost and Scores below 45 C—Games with
schedule overruns of at most 5 to 10 these scores are at high risk of being
percent above baseline. cancelled by the publisher due to poor
Scores: 68-90 A—Your game is progress visibility, feature creep, and
being managed better than the average cost overruns. Only a team without
game project. Significant challenges financial concerns will be able to plow
will pop up from time to time; however, through these challenges without being
you stand a strong chance of mastering cancelled. These types of projects
these challenges. Anticipate cost and always result in developer burnout, and
schedule overruns limited to 25 per- some turnover will occur at the end of
cent above the baseline amount. the project and to some degree in the
Scores: 45-67 B—This is about middle of the project. These projects
the typical level of management a game are advised to get serious planning and
project is provided with. This game will management happening immediately or
certainly face significant challenges at be cancelled and save the industry from
some point. The project will be run one more crappy game.
Part II > > > > > > > > > > > > > > > >

How to Make a
Game
Y
FL
This page intentionally left blank
AM
TE

Team-Fly®
Chapter 5: What Is a Game Made Of? 39

Chapter 5 > > > > > > > > > > > > > > > >

What Is a Game
Made Of?
The Extended Development Team
Before you tear off into preproduction our industry and spilling into other
of your game, I want to show you all industries. When you see what it takes
the parts that go into a game. Whether to make a modern commercial game, I
your background is art, programming, hope you get a more balanced view of
design, marketing, or sales, you will the various roles to be played to carry
tend to view a game project as a out a hit game.
medium of art, software with game That Lever 2000 soap commercial
design, a game design in motion, or a is bouncing around my head right now
product to be marketed or sold. The big with its silly jingle of all your 2,000
picture of game development involves a parts. So, following that jingle, let’s
team effort of many individuals span- take a look at all of the parts of a game.
ning dozens of professions all across

Game Production Parts


Surely a game project is all about pro- time. This is a sacred trust that has
ducing a great game. If not for the been violated more times than it has
developers, there would be no product been honored. We developers must
to sell! I am biased as I am a developer, perform to the best of our ability to
and so yes, I do think game develop- deliver the strongest game on time and
ment is the most critical component of on budget.
a successful electronic entertainment
product. However, the developers hold Design Parts
a sacred trust given to them by the rest 1. Lead Designers/Visionary
of the project stakeholders that they 2. Game Mechanics
will be able to develop a compelling and 3. Level/Mission Designers
competitive game, on budget and on 4. Story and Dialogue Writers
40 Chapter 5: What Is a Game Made Of?

of the team can readily use and is


readily understood by the game’s pub-
lisher and other key stakeholders. The
lead designer is not responsible for
designing the whole game; rather it is
the lead designer’s role to be a director
and sculpt not only what goes into a
game, but also what does not belong
and should be cut. (In practice, the lead
designer also picks up any design tasks
that the rest of the team is not able to
The flavors of game designers do.)

How Do You Nail Down the Game


Mechanics?
Where Do Lead Designers Come
From? Each game usually has a lead game
mechanics designer. This person often
We have to design a game first and
has a game programming background,
foremost. Some games have a key
as programmers are the ones most
visionary who has been kicking around
likely to implement the game mechan-
an idea for a long time; others are more
ics in the code. This person receives
of a collaborative process with a leader.
direction from the lead designer, solicits
There is probably no single more diffi-
engineering feasibility from the pro-
cult task in the industry than being able
gramming staff, and confers with the
to create an original game of your own
mission or level designers to find out
design and see it through to commer-
their requirements. Depending on the
cial release (only a nitpicker would
type of game, the game mechanics
point out that seeing your game
designer often plays with Excel, trying
become a mega-hit would be harder).
to achieve a rough balance to the game
Each game has its own story of how it
and simulating portions of the game to
got to be funded and made. However, it
get an idea of how some of their
is usually the publisher or the studio
mechanics will play both for single
head of a successful game development
player and multiplayer.
company that has finally arranged for all
the business points to be in place in Who Are the Level and Mission
order to kick off their game. Designers?
If the publisher suggests the game
Some games have levels, others have
concept, then the developer will supply
missions, and quite a few have neither.
the lead designer. Often the founder of
Whatever game you have, it can almost
a game development company will act
always be broken down into a series of
as a lead designer on the project.
smaller challenges, puzzles, levels, or
The lead designer’s job is to coor-
missions for the player to complete.
dinate the design staff in the effort to
Level and mission designers are some-
create timely, thorough, compelling
times programmers writing scripting
game design specifications that the rest
code for a mission. Sometimes these
Chapter 5: What Is a Game Made Of? 41

designers are artists laying out tiles of aother than what the programmers and
map and designing triggers, and some- artists create. I am not trying to cast
times they work in pure text, programmers as an uncooperative
describing to others how the game bunch; I am a programmer myself.
should be laid out. What I am trying to say is that the pro-
grammers and artists are very special
Story and Dialogue Writers Are people and often need to be convinced
Writers for Interactivity of the designer’s vision. Most often the
Writing a compelling narrative that is final implementation is a blend of the
formatted for the high degree of designers’, programmers’, and artists’
interactivity found in games is a wholly collective vision.
different skill than writing the narrative The programmers’ roles are to
of a short story or novel or a motion obviously create the code: the 3D
picture screenplay. A writer for games engine, the networking library, art
needs to spend a lot of time with the asset converter, and such, to realize the
lead designer for direction on where to vision for the game. Games are often
take the story arc, and he or she needs late, over budget, or buggy as I men-
to spend even more time with the mis- tioned earlier. Games are hardly ever
sion and story writers to determine late two months while they wait for the
what is possible and not possible to do tile artist to get her act together, and
in the scripting language, map editor, or games are hardly ever late by a month
level building tool. because the audio guys have not mas-
Writing natural sounding language tered your sounds yet. It is a rare
for characters is not the same as just project that is delayed due to sheer
listening to people talk and writing it asset production deficiencies, and even
down; it is a talent for having an ear when that occurs the programmers are
that sets the right rhythm of tone and not idle. Why? Because electronic
balance for their characters to speak in games boil down to just code—code
a fantasy world in a believable manner. with art, code with sound, code with
I am discussing design roles that gameplay, yes, but it is still just code.
people will play, not saying that each Even with code being the main deliver-
project will literally divide its design able, why does it always have to be
tasks into discrete people; in other late? This is an issue that is larger than
words, designers will cross over back the game industry. In Steve
and forth through these roles. McConnell’s Rapid Development, he
writes that 50 to 90 percent of general
Coding Parts software engineering projects are sig-
I detailed game designers first, as the nificantly late. Software engineering
designers define the spirit of the game; projects, in general, are chronically fail-
however, I have often been caught say- ing. The reason for this is that we game
ing the ultimate designers on a project developers are part of a larger indus-
are the programmers and the artists. try—software development—that is in
The designers can write documents and turn an immature branch of the engi-
create specifications until they turn neering discipline. The processes in
blue, but the game will not be anything specifying software, the processes for
42 Chapter 5: What Is a Game Made Of?

creating software, and the processes for the game, but it would be so much
testing software and even establishing stronger if they had to have the signa-
skill levels in programmers have yet to ture of the lead programmer (a licensed
be established! You have to be a software engineer) to sign off on the
licensed engineer to pilot a ship for project before the project could con-
commercial transport, to build a bridge tinue past preproduction and into
or a skyscraper, or even analyze the production.
soil on a hill for a single-family dwell- Microsoft employs a version of this
ing. In fact, in California and in most method where Microsoft employees
states you must have a license to cut have to sign off on a developer for tech-
someone’s hair. No one needs a license nical, artistic, design, and project
to write code. management competence before any
The idea of licensing game pro- funding of the team can commence.
grammers may seem, at first, ridicu- Well, enough of my diatribe on the
lously out of place in the game industry. merits of licensing programmers, let’s
The lifeblood, the very soul of the go see what they actually do on a
industry is founded on clever people project.
dropping out of whatever they were
doing before and putting their heart and Lead Programmers and Technical
soul into creating a fun game. Why do I Directors
advocate the clearly un-fun part of get- The lead programmer has traditionally
ting a license to write code? been the most experienced program-
Imagine a future of game develop- mer on the team (from the 1970s
ment where each game project has a through the 1980s, he or she could
licensed software engineer as the lead have been the only programmer). The
programmer or technical director (with lead programmer usually takes on the
the license administered much like a programming tasks that are the most
professional engineering license). With challenging of the project. The quintes-
this type of person a very important sential examples of lead programmers
safety structure has been put into are John Carmack of id and Tim Swee-
place. Someone is responsible for the ney of Epic. These guys are usually the
technical soundness of a project, and heroes of the projects, and many teams
not only is her name and reputation on are structured around the lead
the line for this project, but her license programmer.
to operate as a professional engineer Some games tend to have a large
could be revoked if she is shown to be programming staff, such as the mas-
manifestly negligent in her role as a sively multiplayer game Ultima Online
technical director. I know I am way out or EverQuest, or the single-player/
on my own here with this opinion, but I multiplayer game Neverwinter Nights
really think this would protect not just with over 25 programmers. These large
the programming staff from unreason- projects typically employ a technical
able schedules, but the publishers director that oversees the program-
themselves. They could lay down some mers and reports directly to the project
outline of a feature set, quality level, manager. The technical director title
budget, and timeline and say go make implies much less coding being
Chapter 5: What Is a Game Made Of? 43

performed by the individual and more potions work, and how the protagonists
management of programmers and code and antagonists function.
creation. Sometimes smaller projects The game mechanics programmer
employ a technical director when the can usually be seen near one of the pro-
lead programmer is handling a tricky ject’s designers, debating the merits of
part of the project she does not care for the designer’s weapon mechanics and
or has no time for, or is otherwise not such. The game mechanics position is
suitable for project management. usually a mid-level programming job
Another model is to have a series of that ambitious scripters and mission
“assistant leads” who are all responsi- programmers often grow into.
ble for different aspects of a program- The great thing about being the
ming task—i.e., functional leads—who game mechanics programmer is you are
each in turn manage a few program- the one who really puts the game into
mers and who ultimately report to the the game. You are the first one to see a
lead programmer. This is the model at lightning bolt strike the ogre, the first
BioWare and at Taldren. to see a tank shell a building, and the
The lead programmer is like the first to see the health pack heal the
queen in chess; she might be your most character. This is a fun job.
productive programmer on the project,
but you must use her time wisely. Tech- 3D Graphics Programmer
nical directors, on the other hand, act as The 3D graphics programmer is one of
scouts on behalf of the programming the most highly respected positions in
staff, looking ahead, lining up depend- the industry. 3D graphics programmers
encies between programmers, and must have a strong comfort level in
coordinating the development of the mathematics including calculus, vector
software. and matrix math, trigonometry, and
The rest of the programming posi- algebra. The 3D graphics programmers
tions I describe below are not necessar- enjoy seeing their work come vividly
ily distinct humans on every project; into being in lush 3D graphics, immers-
rather they are common programming ing the player in environments they can
roles that most projects have. A lot of only dream about.
projects, for example, have the 3D
graphics programmer and the lead pro- Artificial Intelligence Programmer
grammer be one and the same, or the The demands on the artificial intelli-
game mechanics and user interface pro- gence programmer vary from game to
grammer could be the same person. game and from genre to genre. Steven
Polge, now working with Epic, has writ-
Game Mechanics Programmer ten some truly impressive bits of AI
The game mechanics programmer is code such as the Reaper bot. Also, the
the one who converts the “real meat AI programmers are usually the folks
and potatoes” of the game design into who have the proper skills to write
playable code. This person usually scripting languages and other tools
models the physics of the game world, used by the designers.
how objects such as weapons and
44 Chapter 5: What Is a Game Made Of?

User Interface Programmer includes other mega-hits such as


The user interface programmer is the Half-Life, seems to say that every pro-
person who has the tricky job of devel- grammer on the project should be a
oping the software that bridges the tools programmer half of the time.
game mechanics of the fantasy world Most teams do not have full-time
with a slick implementation of the user tools programmers, although if the
interface through the controls, in-game team is part of a larger house, there
panels, and HUD elements, as well as might be a tools department. Still,
the shell or navigational menus. The UI every solid game company builds up its
programmer is the expert on the UI own toolset over time to get graphics
library and usually maintains it by on the screen, get audio out the speak-
extending its functionality. The UI pro- ers, and get the characters in the game
grammer position is one that is likely to to have interesting behavior.
have been gained through experience in A game development organization
the industry. UI programming is often should have short-term and long-term
hard to get precisely right and is often tools production goals. I suggest a
underappreciated. Gantt chart produced in MS Project be
printed out and hung on a wall to indi-
Audio Programmer cate the internal tools development in
The audio programmer is the person your organization. This visibility will
who codes up the 3D sound effects, the help everyone see how the tools are
voice-over tag system, and the music integral to the growth of your team and
playback system. Often this position is how things are planned to get better in
a light position due to strong, widely the future.
used audio libraries available such as Mission/Level Editor Programmer
the Miles Sound System from RAD
Tools. The mission editor programmer is just
one of the tools positions; however, for
Tools Programmer many games with a mission or level
Michael Abrash once told me that id editor, the editor will be released to the
spends greater than 50 percent of its public with the game’s release.
programming resources creating tools. Developing a mission editor or level
This is a significant statement. Most editor that is robust and easy to use is
game companies do not commit this the work of creating another piece of
level of programming resources to their commercial software. The UnrealEd
games. BioWare has a large tools level editor for the creation of Unreal
department as well, over ten people, Tournament levels by Epic is a fine
who make tools for all of BioWare’s example of a 3D solid constructive
games. They have found this saves a lot geometry modeling and scripting tool
of time and rework by designers and that is extremely powerful, robust, and
artists. The fact that id is arguably the easy to use by both industry profes-
most successful developer ever, with sionals and by fans who want to make
many mega-hits of their own as well as new content for their favorite games.
a prosperous licensing program that Some development houses organize a
world-building tool as part of the main
Chapter 5: What Is a Game Made Of? 45

game team, and others put this work in game can also be protected from quite a
the tools group if they were rigorous in few forms of cheating by having it run
the technical design of the world editor on a trusted and secure server.
to make it truly useful for other game (Remember, in a peer-to-peer game
projects. each machine is running its own copy of
the world and has authority on some
Network, Server, or Client portion of the world. This authority can
Programmer? easily be abused by running a rogue
The network programmer writes the version in the peer-to-peer network.)
low-level and application-level code to Why are not all games client-
get games running between a small server? Arguably they all should be;
number of players using modems, a however, depending on the game, the
local area network, or across the client-server architecture is much more
Internet. In the past the network pro- complex and requires divorcing the
grammer had to master a variety of simulation and the presentation along
protocols such as IPX, and serial and much stricter object-oriented lines.
modem protocols. Modern games are Today’s massively multiplayer games
now run almost exclusively on TCP/IP are a prime example of the complexity
and UDP, the networking protocols of of client-server games. Literally dozens
the Internet. of machines, running a score or more
The multiplayer architecture of instances of servers, carry out different
games can be broken down into two operations such as player authentica-
main structures: peer-to-peer and tion, version checking, cheat detection,
client-server. game simulation, chat hosting, database
Peer-to-peer structures have all of transactions, and more. Peer-to-peer
the player machines simulating their games are much more similar to tradi-
own copy of the game and use a variety tional single-player games with the
of algorithms to keep the states on the exception of the games periodically
different computers as close as possi- making corrections to be more in line
ble. The peer-to-peer machines all talk with each other’s view of the world.
directly to every other computer in the
network. The bandwidth required to Art Parts
service this model of game grows expo- The artists of an electronic game may
nentially with each added player. That wear a host of different titles just like
is an unfortunate side effect as you try the programmers. Games used to have
to handle more players. a single artist drawing the character
The client-server structure divides sprites and the world backdrops for
up the computing of game simulation these electronic heroes to carry out
into a server, which handles the actual their missions. In the earliest days the
simulation, and the client, which is the programmer, designer, and artist were
viewer, or browser, of the world events. one and the same person. Starting in
There are several benefits to this struc- the mid-’80s small teams of artists,
ture, including the fact that the band- usually no more than three, would work
width requirement grows only linearly on a project. Starting in the early ’90s
with the number of players, and the game projects grew substantially in
46 Chapter 5: What Is a Game Made Of?

their art requirements and budgets. and locations, and the game was off into
Famous examples of these are Wing production. Now with project budgets
Commander IV by Origin, where over 10 and 20 times larger than in 1995, the
$10 million was spent by Chris Roberts stakes are much larger and the penalty
on chasing the dream of the fabled for getting the art wrong is often fatal
movie-in-a-game; Mario64, rumored to to a project. This is where the concept
have a budget of over $20 million; and artist saves the day. High-quality
finally the Japanese epics in the Final black-and-white drawings are often
Fantasy series and Shenmue, which colorized (color comp) to accurately
have had gargantuan budgets. convey to the art director, the pro-
Artists are now differentiated by ducer, and the major project stake-
their skill sets. It is interesting to know
holders what the look of an art asset
that many artists can build 3D models will be before it is created. For exam-
of the most arcane objects quite accu- ple, on our Starfleet Command series,
rately and swiftly without being able to we needed to create a black-and-white
sketch them. The domain of the artist sketch for each and every proposed
now covers a wide enough area that ship model we wanted to introduce into
you will need to plan your art team our Star Trek game. These
carefully to be sure you have enough black-and-white sketches first made
bandwidth of skill and talent across the rounds of the team to be sure we
your art requirements. liked them, then the sketch went on to
Interplay’s upper management, then on
Art Director to Paramount’s interactive licensing
The art director is the manager for the director, and on to even Rick Berman,
art team, scouting ahead to be sure that the producer of the Star Trek television
project dependencies are taken care of show and movies now at Paramount.
ahead of time and that the artists pro- Only when we received approval from
duce their art assets on time for the all these folks did we start to colorize
rest of the game project. The other, the sketch and start the approval pro-
arguably more important role is to look cess once again for the colorized
at every art asset as it is being con- sketch. Once this was approved, we
structed to be sure it is consistent in were permitted to actually begin work
quality and theme with the rest of the on an art asset that would make it into
game. the game. (The resulting 3D model
The art director job should be would of course need to make this
given to the artist with the most indus- same approval-seeking trip.)
try experience, tempered with people This approval process is even more
skills, and the person who best enjoys stringent at LucasArts on Star Wars
the entire team’s respect. properties, and Japanese games are
very much oriented around the concept
Concept Artist artist, such as Yoshitaka, best known in
The concept artist is gathering visibil- the game industry for his work on the
ity. In the past a few sketches would Final Fantasy series.
convey the look of the major characters
Chapter 5: What Is a Game Made Of? 47

2D Artist/Interface Designer enough to get their 2D visions articu-


The 2D artist is an expert in classical lated into a painfully small set of pixels
sketching and painting. These artists using tools such as Deluxe Paint on the
are capable of painting backdrops, cre- Amiga and later the PC. These artists
ating character portraits, and creating on the whole were not prepared to han-
tiles and sprites for use in non-3D dle the technical requirements of
game engines. These artists used to operating a 3D modeling package.
use Deluxe Paint in the golden age of Instead, a strange hybrid program-
game development and have now mer-artist with a fascination for things
moved on to Photoshop, Illustrator, and 3D was required to operate the early
other packages. arcane 3D packages. These artists were
Even in a 3D game, the 2D artist is also in prime demand in the movie
an incredibly versatile and important industry, and the scale of wages paid
member of the team, producing high- there made it very difficult for the game
res artwork for ads and marketing, and companies to recruit them over to
helping to create assets for a promo- games. In these years game projects
tional web site, install graphics, and had to train their 2D Deluxe Paint art-
countless more elements of 2D art. ists slowly to use early versions of
The interface designer usually is LightWave and other technical 3D
an expert 2D artist with a strong sense packages.
of functional aesthetics. This artist will Over time the packages got much
make just navigating your game’s stronger and easier to use. College
menus an exciting and fun activity. The courses now teach 3D Studio Max, and
interface designer is a key team mem- in general people have had time to
ber; be sure you have one, or don’t learn how to use the 3D modeling pack-
make your game. Sometimes designers ages. 3D modelers are still highly
and programmers with strong visual respected members of any game team,
design skills can successfully fill this but it is more balanced now with the
role. This area of art is the most closely other key art positions.
tied to your game—the game design, Character Modeler
the game mechanics, and the look of
the game. And these areas see the The character modeler is a specialized
most change of any art asset. For these breed of 3D modeler. Some strong 3D
reasons, I strongly recommend against artists are competent at making
outsourcing your interface design art mechanical things such as spaceships,
assets—get the best person you can tanks, and architecture, while others
and work with him full time. seem to lean towards the organics of
characters. Low-poly character model-
3D Modeler ers have a special understanding of how
The 3D modeler was the highlight of the detail of the character will come to
the show around 1994-1997. At this life in the texture stage to make the
time artists with experience in the most economical use of their polygon
industry were almost invariably 2D budget.
artists who were clever or stubborn
48 Chapter 5: What Is a Game Made Of?

Texture Artist framing and motion capture. Key fram-


The texture artist, like the concept art- ing is the older, more established
ist, is now a highly visible element of method of animating your characters.
your art team. Games are almost Key framing excels at animating car-
always constructed out of polygons toon characters and monsters and for
with textures on them. The sophistica- extreme movements—motions that are
tion of the modeling packages is so impossible to capture with a human
strong now, the texture phase of creat- actor. Animating by key framing is an
ing a 3D object is usually estimated at entirely different skill set from 3D
three to four times longer than the modeling, texturing, or sketching. If
actual building of the model. The tex- your project will involve characters that

Y
ture artist is a 2D artist who can “skin” need to be animated, be sure your team
an object in his mind and create a com- has enough competent animators to get
FL
pelling set of textures to “paint” that
skin on the 3D model.
the job done; animation can be a slow
art.
AM
Motion capture is the buzzword—
Animator/Motion Capture Studio this is the state of the art. Humans
Animation comes in two broadly differ- move with very subtle grace; studying
ent categories: character/animal/mon- a motion-captured movement will
TE

ster animation and everything else. reveal how much the whole body
Rotating antennas, windmills, and radar moves during the walk or the swing of
dishes are good examples of the every- a bat. Motion capture’s largest draw-
thing else category. Animating a wind- back would have to be cost in both
mill is an almost trivial task for an artist dollars and time spent massaging the
on your team, while animating the snarl data into usable form. This field is con-
on a goblin’s face is an entirely different stantly improving, and there are half a
task. dozen competitors in the field. In Chap-
ter 33 I will show you in depth what
JARGON: Key framing is the technique you need to know about motion capture
of using a 3D modeling package to set including how to get a successful bid.
key frames to have the engine interpo-
There is quite a bit of technical
late between.
drudgery involved in smoothing out all
JARGON: Motion capture is using a of the details of the character’s model
special matrix camera to record the and animations—dealing with the skel-
movements of a real human actor wear- eton, motion capture data, prop bones,
ing a motion capture suit that has funny
and a host of tiny, necessary details.
reflective balls attached to it. Most pro-
jects that use motion capture also use Some studios divide this work between
key framing for part of their animation the modelers and the animators
duties. depending on the nature of the task,
and other studios like BioWare have
To animate a character, two different dedicated folks called character riggers
solutions are at your disposal: key who handle these types of tasks.

Team-Fly®
Chapter 5: What Is a Game Made Of? 49

Storyboarder when Origin’s Strike Commander was


If your game is to have any movies or released for $50, but an additional
cinematic sequences, it is important speech pack was available for $20 more.
that your team have a storyboard artist. That is a testament to wacky product
The storyboard artist will be able to strategies as well as a testament to the
design and articulate the scenes in a compelling depth voice adds to a game.
sequence for internal and external The only way to get good voice
review before committing to costly live work done is to work with an experi-
action or resource-intensive computer- enced voice-over director. A good
generated sequences. Show the movies director will know immediately where
to the publisher, show them to the to secure the talent, the studio time,
team, and work it all out ahead of time and the engineer, and get you the post-
through simple boxes and captions. processed audio in a format you need.
Most storyboarders are accomplished In Chapter 29 I will guide you through
concept artists but not necessarily. the process of getting high-quality
voice into your game. The pleasant sur-
Audio Parts prise of voice work is that it is probably
Audio assets come in three main fla- the coolest element you can add to your
vors: sound effects, music, and voice- game for the money, and it is essential
over. In the beginning there were only in many role-playing games, which are
crude sound effects performing buzzes, dialog and VO intensive.
beeps, and whistles. We now have full
Sound Effects
Dolby 5.1 3D sound. Music has come a
long way from clever timing of beeps to Sound effect engineers are wizards at
compositions by film composers per- listening to one sound and finding
formed by 50-piece live orchestras. And clever ways to stretch it, compress it,
voice acting is now an art form per- twist it, and come up with precisely the
formed by stars like Patrick Stewart sound you need. Sometimes they will
and contracted under the authority of Foley—that is, record your sound effect
the Screen Actors Guild. from the actual object generating the
sound. Sometimes the sound engineer
Voice-Overs will record some other sound and then
Voices in a game really bring it to life. twist it around just for your game.
Compelling voice acting reinforces Sound effects are an excellent tar-
every other element of interactivity get for outsourcing as only the larger
by having the actors speak to your developers with three or more concur-
character. The tutorials for Starfleet rent projects can keep a sound effects
Command went from being a dry intro- crew productively working. Chapter 30
duction to our gameplay to being the contains an interview with a sound
most compelling Star Trek moment I engineer so you can see what it will
ever experienced with George Takei take to get strong sounds into your
performing Admiral Sulu teaching me game.
to command a starship. I remember
50 Chapter 5: What Is a Game Made Of?

Music every team member will be compro-


Some games spend a lot of effort on mised by a little distraction at a time.
music, and it really gets the emotional The line producer will often supply the
hooks into the player when the music is team with food when the hours are
first-rate. Music is probably the most forced and late; will get design docu-
popular and oldest art form worldwide. ments printed and sent overnight; and
Nearly any emotion can be invoked will often coordinate getting builds out
with compelling music. There are two to the publisher and to beta testers.
options: synthesized music and music The line is a critical function that
that is performed live. We spent nearly should be filled by a line producer,
$100,000 on the score and 30-piece instead of your art director on Mon-
orchestra performance for Starfleet days, your 3D graphics programmer on
Command 2. The music was very spe- Tuesdays, and so on.
cial; all of the sounds are richer and JARGON: Builds and revs refer to
fuller bodied when performed by interim functional versions of the game
humans versus a synthesized chip. distributed for testing to internal and
That being said, a single musician can external testers.
create extremely strong music with a
Associate Producer
professional synthesizer and software.
Chapter 28 will discuss outsourcing The associate producer is found on
music in detail and give you plenty of larger projects in a single team com-
leads to be sure your game has the pany, and all ompanies with multiple
emotional impact of high-quality music. teams need an associate producer. Pub-
lishers also structure themselves with
Management Parts an executive producer managing a
Management of a game project is the group of titles and an associate pro-
most critical component in my experi- ducer on each title performing day-to-
ence. In recent private email with other day management. The associate pro-
studio heads in the industry, the con- ducers have an interesting combination
sensus was that a developer is limited of a lot of responsibility and little
in number of teams not by program- authority. The associate producer is the
mers or artists, but by quality produc- understudy of the executive producer.
ers/project managers. That being said, The business negotiations, contracting,
the management of a game project is and human resource decisions will be
often shared by a group of individuals carried out by the executive producer,
with different responsibility sets. but in almost every other aspect of the
game project the associate producer
Line Producer will have a strong contribution to make.
The line producer coordinates count- The associate producers are often bur-
less small tasks that one by one are not dened with the dreary task of updating
very challenging, but taken as a whole the schedule and reporting on task
is a daunting amount of work that tracking. The associate also helps com-
needs to get done every day. If a project munication between all team members
lacks a line producer, the efficacy of and is usually the strongest advocate
Chapter 5: What Is a Game Made Of? 51

for the game. In truth, each studio has executive producer on the publishing
its own name for the hierarchy of man- side with a game project and game
agers in the organization such as assis- developer lead. The executive pro-
tant producers, senior group producers, ducer’s job is to then complete the
and project planners. evaluation of the developer and project
to determine its suitability for produc-
Studio Head/Executive Producer tion. If the executive producer is
The studio head at a game developer confident the project should go forward,
and the executive producer at the pub- he will negotiate the key terms with
lisher each have the same fundamental the developer and work to help the pro-
job on a game project: be responsible ject meet its first internal green-light or
for planning and executing the project assessment milestone. If the project
in a profit-producing manner. passes, then the executive producer’s
Studio heads are almost always the job is to oversee the project’s progress
founders of their own companies, those through the reports generated by the
who have risen through the ranks and associate producers and by looking
are industry veterans and who have over builds of the project in progress.
paid their dues and made money for The executive producer is often called
their publishers in the past. In the case upon to maintain the relationship with
of Valve, Gabe Newell brought lots of any licenses and is sometimes involved
project management experience from in contracting external vendors. The
13 years of creating software such as executive producer is the person most
Microsoft Windows. Studio heads run visible inside the publishing company
small companies—game development for the game’s success, while the press
shops—and have to simultaneously be and the fans tend to focus on the game
game designers who are passionate developer.
about their games, software managers
who respect technology, and business- Producer
men who are savvy enough to get a As a game development studio grows
good publishing deal. Some developers into two teams or larger, the role of the
such as id and Epic have divided the producer becomes critical to the effec-
role of the studio head into a more prac- tive execution of the studio’s projects.
tical split of one person running the The producer is the person who will
business and another acting as the pro- manage the project at a larger develop-
ject leader for the game. ment studio, allowing the studio
The business development execu- head/executive producer to concentrate
tive at the publisher often supplies the on strategic company issues.
52 Chapter 5: What Is a Game Made Of?

Quality Assurance Parts


Quality assurance (QA) is another criti- Publisher QA Parts
cal component of game development. All high-profile commercial games
The single best way to test your game receive a considerable amount of pro-
is of course to play it and play it until it fessional testing by the publisher’s
is solid and as much fun as you know internal QA department. This depart-
how to make it. The problem with this ment follows the guidelines set by the
method is that it will take a very long publisher’s management and works as
time for a single person to play through efficiently as possible to report defects
a game in its entirety (which may not in content and quality to the developer
even be possible), and a single person prior to commercial release. Most com-
will make errors and have a bias. mercially released games have antici-
The industry has yet to come up pated release dates that are difficult to
with a unified testing method that is postpone in the case of a late project or
known as the best practice employed a particularly buggy one. These internal
widely. Instead each developer and pub- QA teams are trained to report the
lisher and indeed each game project severity of the defect and generally cre-
tends to have its own QA process. ate high-quality bug reports that have
Microsoft appears to be the organiza- items prioritized for the development
tion that exerts the most effort in a team’s attention.
rigorous QA process.
Most small developers do not have QA Lead
a full-time QA staff, as they would only The QA lead is the person who leads
see useful work roughly half of a pro- the efforts of the QA staff. The QA lead
ject’s lifetime. Larger, multiteam is always a former tester who showed
development companies can often gain- promise of superior skill in organization
fully employ a full-time QA staff. For and communication. The QA lead coor-
example, BioWare employs a full-time dinates getting new builds or revs of
QA department of over ten people, the game in progress.
which supplements the even larger QA The QA lead also proofreads all
teams at their publishers, reducing the reported defects from her team and dis-
errors sent to the publishers to speed cards duplicate and erroneous reports
up development and saving the devel- and often rejects reports back to the
opers themselves from having to test reporting tester, requesting clarification
their own stuff, instead allowing them and/or testing. The QA lead is almost
to focus on finishing new content/fea- always an aspiring game designer or
tures. Smaller developers often producer and often includes extensive
cross-train the line producer and asso- commentary on the game’s content in
ciate producer to be the first line of QA order to gain visibility for possible
with a backup of team-wide testing promotion. This is because most pub-
days. lishers have an outdated, poor concept
Chapter 5: What Is a Game Made Of? 53

of the QA staff and treat them as low- multiplayer team and main team are
skilled, low-paid workers, leaving those specialists in a particular portion of the
workers with little choice for a career game such as a chapter or character
in QA. Instead they are actively trying class or playable race.
to strike out into development or some
other role in the game industry. A nota- Fresh Teams
ble exception to this is Microsoft, The problem with having dedicated
which seeks out folks with college main teams and multiplayer teams who
degrees and pays well for its QA look at the same game from three
positions. months to a year is that their ability to
discern fundamental problems with
Main Team gameplay and usability are compro-
The main QA team is the team that will mised fairly quickly as they learn the
monitor the game’s progress from the game and lose the critical insight of a
time the game is initially submitted to new player. It is still important to have
QA through release and often into efficient teams who know what the
post-release. The main QA team will go game is and what the last reported set
through stages of varying productivity of bugs were so they can quickly turn
in direct relation to the development around a bug report to the development
team’s ability to respond to the bug team. However, fresh teams are often
reports in a timely fashion. This team is introduced to a game the closer it
generally referred to as the QA team comes to shipping, depending on QA
even though there are many other resources available internally to the
potential testers of the game. The main publisher.
QA team will often rotate in fresh team
members as a natural process of other Compatibility Team
games finishing and employee turnover. The compatibility team is often a dedi-
cated team of QA members who happily
Multiplayer Team rebuild computers all day while testing
Games with significant multiplayer the major functionality of your game.
gameplay often have a QA team dedi- These guys have very little work to do
cated to testing this functionality. This on a console! The compatibility team
is more common with PC games, as usually has a standardized checklist of
console games tend to have much more hardware and operating systems the
limited multiplayer gameplay. The publisher considers commercially
multiplayer team is used to be sure all important to support.
of the modem, LAN, Internet, and
matching options are thoroughly tested. Localization Team
Bugs associated with multiplayer code Also, all big games are localized into
are often more difficult to track down various markets, and native speakers of
and report; this allows testing of the these languages will be employed to
single-player campaigns and missions QA both the accuracy and the quality of
to continue on in parallel. In the same the localization of the game.
manner, individual members of both the
54 Chapter 5: What Is a Game Made Of?

Beta Testing limited rigor employed to date on beta


Beta testing is testing performed by testing programs still results in the
unpaid volunteer fans who want a first pressure to release these games to the
peek at an upcoming title and who are public and endure two to six months of
excited by the opportunity to improve a painful post-release beta testing that
game before its release. At first many strains the faith of your hardcore,
publishers were apprehensive that a early-adopting fans.
beta version of the game would become Beta Testers
widely pirated and steal sales from the
release version of the game. Or in the The beta testers are almost always the
case of weaker titles, many publishers fans who showed up on your message
consider it a shrewd strategy to avoid board when you first opened up shop.
the beta testing stage. Perhaps the They often have beta testing experi-
most successful beta testing programs ence or have heard about beta pro-
are run by id; examples of these are grams and will sometimes be quite
Doom and Quake Test. These first- proactive in their effort to secure a seat
person shooters had multiplayer in your beta testing program. The num-
gameplay and no single-player mis- ber one rule with beta testers is to
sions. Even with only three or so maps communicate with them; failure to do
to play test, these “tests” by id pro- so only creates an expectation in the
duced more hours of fun and gameplay beta tester’s heart that they are part of
than most games ever achieve in their the development team, only to find out
final release. I personally played sev- that their voices are unheard.
eral hundred hours of Quake Test Beta Testing Program Manager
before Quake was released—sniff—
thank you, id! To facilitate this communication with
Bottom line, if you want to make a the beta testers, one of the develop-
great game, run a beta test and fix your ment team members—often the
game until beta testing proves you are associate or line producer—takes on
ready for release. In recent years the the role of beta testing program man-
advent of the massively multiplayer ager. This is a very stressful job. The
game has required extensive beta test- time period that beta testing takes
ing. These massively multiplayer place is during the final months of a
games require hundreds if not thou- project when everything must come
sands of concurrent players to analyze together. The beta testers are anxious
how the server will respond to the to see their reported defects fixed in
stresses of full release. These thou- the very next version of the game and
sands of beta testers are also required are quite vocal about new features they
to smooth out the authentication, want and how they want the game to be
account management, and game bal- balanced. In Chapter 23 I will discuss
ance to avoid having paying subscribers the mechanisms and techniques the
complete the beta testing period. The beta testing program director should
sheer costs of these games and the employ for a successful beta test.
Chapter 5: What Is a Game Made Of? 55

Business Parts
Making games is big business. though). Making sure that your game is
Depending on how you look at the visible and impressive to this key exec-
numbers, the console game market utive at green-light meetings ensures
(hardware and software) along with the the highest level of support the organi-
PC game market generates more reve- zation can bring to bear for your game.
nue than the box-office receipts of all of
Hollywood’s films annually. Studio Heads
There are a lot of different busi- Founders, lead programmers, visionar-
ness executives who are involved in a ies, game makers, CEOs, presidents,
game project; here I will present the head coaches—whatever you call them,
major roles. studio heads are the chief decision mak-
ers at a game development house.
Business Development Parts Studio heads generally have five to fif-
Business Development Executive teen years of experience in the game
industry and at least one hit title under
The business development executive is their belt where they held a strong lead
casually called the “biz dev.” role. Studio heads most commonly
JARGON: “Biz dev” is the short name come from programming and design
given to the business development backgrounds, although there are some
executive at a publishing company. medical doctors of considerable renown
When developers go around pitching running BioWare. Artists are the major-
games to publishers, they first need to ity shareowner at id, and Gabe Newell
get the approval of the publisher’s busi- of Valve had an extensive background of
ness development executive before the software development at Microsoft.
game is sent to a green-light Studio heads decide the fundamen-
committee. tal structure and working environment
The biz dev person keeps a close for their studios based on past experi-
eye on what is going on in the industry ence. The studio head is intimately
and is the first to know about games in involved when a game project is start-
development that are looking for a pub- ing up and is usually the salesperson
lishing deal. The biz dev person often pitching the game to the publishers.
negotiates the key terms of a game Studio heads are generally the most
publishing contract. qualified team leaders in their organiza-
tion and spend a lot of their time
Publisher CEO and President training new producers to run teams
A chief executive is responsible for all and subteams.
aspects of the game publishing corpora- Lawyers
tion. Very often this individual has ten
to twenty years in the game industry Both the publisher and the developer
and has a well-developed instinct for need the best lawyers they can afford.
making great games (not infallible Each contract is unique, and while a
56 Chapter 5: What Is a Game Made Of?

publisher’s contract is the fruit of many the title appears to be, the wholesale
painful relationships, the developer price, and the influence of any number
should be patient and exercise great of incentive programs that have been
care in negotiating terms. This is some- negotiated between the publisher’s
thing you do not want to try on your sales force and the retailer’s buying
own. force well before the game’s release.
WARNING: Do not negotiate a publish- Sales Executive
ing contract without the aid of a lawyer
who has strong experience in electronic Each publisher has a top executive in
entertainment publishing contracts. charge of sales. This person has a lot of
influence on the ultimate sales of a
Lawyers are actually good people who game. The executive in charge of sales
help you understand clearly what a has a budget that goes by several differ-
contract is and is not saying. Under- ent euphemistic phrases such as
standing what you are agreeing to “marketing development funds”; this
before you sign a contract is a funda- budget is spent to buy shelf space at
mental safety mechanism for both the retail. This is a pretty strange concept
developer and the publisher. In Chapter to people who are unfamiliar with the
27 I provide a list of law firms who are industry—that the publisher not only
used by different studios. needs to absorb the risk of funding the
Licensing Parts development of the game and its pack-
aging and marketing, but also must
Many games are based on licenses such
completely absolve the retailer from
as comic books, novels, movies, and
any risk. Selling games is a consign-
sports stars. In turn, games themselves
ment business.
are licensed to create strategy guides,
The retailer will put the product up
action figures, T-shirts, and movies.
on the shelves, and if it does not sell
Publishers may have their biz dev exec-
quickly enough, the retailer simply
utive manage the licensing of a game,
sends the product back and gets its
or they may have a full-time staff mem-
money back. Retailers take maximum
ber for routine licenses such as
advantage of this relationship when a
strategy guides.
highly anticipated game is released by
Promoting, Buying, and Selling ordering as many units as the publisher
Parts will deliver. It sounds great when you
have an order of 200,000 units from
Sales? Is that not the job of the teenage
CompUSA for your game, but if your
clerk at the local Electronics Boutique?
game fails to meet expectations,
Well, yes of course, but well before a
CompUSA will not hesitate a moment
gamer walks into a computer game
to send 160,000 units back to you—all
store, a sales force has made the larger
marked up with their price tags—and
sale of the game to the buyer agent of
simply order more later. Those 40,000
the retailer.
units you sold at CompUSA effectively
The decision on the retail buyer’s
had the packaging and shipping costs of
part of how many units of the game title
200,000 units, which wipes out much of
to order on release depends on how hot
Chapter 5: What Is a Game Made Of? 57

the margin from those 40,000 units that and Klingon impersonators to get the
did sell. sales staff pumped up and primed to
A careful study of some publishers’ handle the buying agents.
financial reports to the SEC will show
periodic “write-offs” and “one-time Press Relations Manager
charges.” There can be a whole variety The press relations manager will over-
of reasons why a business is forced to see how the game is communicated to
report a loss on their books, but in the the press. For large titles, this is a
case of game publishers it is often mas- nearly full-time job, and a quality PR
sive quantities of returned games that manager should be split across as few
they have accumulated for as many titles as possible—one to three titles at
quarters as they could get away with. It most. The PR manager will field all
is not unheard of to see six to ten quar- press inquiries, as well as inquiries by
ters of accumulated returned product those claiming to be press. The PR
discharged as a write-off. Keep in mind manager will strategize and plan how
that during those six to ten quarters the details of your game will be
this product was accounted for as reve- released to the press.
nue. This practice is not sustainable,
JARGON: Buzz—what the press, fans,
and the stronger publishers do not do and industry are saying about a particu-
this. A strong sales executive should lar title.
work closely with the publisher’s chief
financial officer to manage what is If PR has a solid date on when the game
called “sell-in” to the retailers with will ship, then PR can create a solid
the goal of having the highest “sell- plan for ramping up the buzz in a
through” to “sell-in” ratio. steady, ever-increasing volume to peak
just as the title is released. Releasing
JARGON: Sell-in is the number of units too many of your game’s goodies too
the retailers order or buy.
early will provide you with little to say
Sell-through is the good stuff; this is the
measure of how many units of your
later in the project, and interest in your
game were sold through to consumers title will sputter and fade before it is
—a true sale. released. On the other hand, if you do
not release enough information on your
Sales Force and Retail Purchasing game to grab press and fan attention, it
Agents may be difficult to maintain the support
Under the direction of the sales execu- of the executives at the publisher and
tive, the publisher’s sales staff meets other project stakeholders.
periodically with the retail purchasing
Trade Shows
agents, each of whom represents a dif-
ferent retail chain. Prior to calling on The Electronic Entertainment Expo, or
the buying agents, a publisher will E3, is the largest show in North Amer-
often host an internal sales meeting to ica for publishers to get their products
communicate their product’s selling implanted in the agents’ minds. E3 is a
points to the sales force. These meet- vast show with tens of thousands of
ings can sometimes be fairly lavish attendees strolling through hundreds of
with, for example, large ice sculptures displays ranging from mini amusement
58 Chapter 5: What Is a Game Made Of?

parks from the likes of Nintendo to a to break out, as they are not even on
folding desk and some business cards the list to be seen.
from discount CD duplicators. Thou- The Internet game sites have
sands of products will be on display and another pressure—real-time reporting.
scores of tricks are used to try to get To keep up, all of the major game sites
your attention, from the obligatory need to have nearly live coverage of the
booth babes to breath mints that are show in an effort to bring the show to
rolled out like cellophane. E3 is a the fans and of course to gain more
cacophony of sound effects, lights, viewers. Real-time reporting is hard for
noise, and people. For all of this energy several reasons, not the least of which
E3 is the largest news reporting event is that you need to have something to

Y
in the game industry and next to the say. Here again, publishers and the
retail buyers, the game press is the press will work together to give the
FL
second most important contingent of
VIPs to grace the floor. These folks
press an E3 package a couple of weeks
before the show. This package always
AM
have conspicuous press ribbons dan- contains the best screen shots, plenty
gling from their badge so you know of quotable material, and occasionally a
when not to speak candidly (handy). playable preview build of the game. The
Like anything competitive, the better journalists look at this material
TE

press at E3 is out to get more viewers as just more information; the less rigor-
and readers. The larger the market ous journalists (or those with very little
share, the more their business will time) have been known to lift the
grow. Years ago the press were trying majority of the quotable material and
to figure out how to arrange their time publish that in lieu of an original opin-
more efficiently for those precious ion on the game.
three days of E3; they wanted to be
sure they looked at every hot game. It Other Trade Shows and Events
would be a minor tragedy if a compet- E3 is important and dominant no doubt;
ing magazine or site were to report on a however, it is hard to get your message
major title that you failed to see at the across to the buyers, press, and fans
show. So the publishers and the press when there are 3,000 other titles. Pub-
put together a schedule of viewings and lishers have been creative about how to
demonstrations for all of the large handle this problem; they hold their
press. That might sound innocent own shows in one form or another. For
enough, but if you think about it for a example, Activision hosts its own show
moment, you will realize that all of the in Europe between E3 and ECTS (the
major press walks into the show with a major show in Europe) to be sure
schedule of titles filling all of the awareness is implanted before and
required genres and platforms priori- more effectively than the ECTS show.
tized in order of importance. Of course Interplay hosted a very cool event
this journalist will still walk the floor, for three of the Star Trek games (one of
but it will be between appointments or which was Starfleet Command) on the
at the end of the show. This makes it Paramount Studios lot. Press from
really tough for the little games trying around the world came to view three

Team-Fly®
Chapter 5: What Is a Game Made Of? 59

games hosted by George Takei. The coordinate strongly with the press
trailers for all three games were shown manager and sometimes supervises the
in the posh Paramount screening the- press activities. Sometimes it is consid-
ater, and a fine lunch was served where ered a peer position, and in some places
the press mingled with the developers the same person is overloaded with
for an extended Q&A period after the both jobs. In particular, the marketing
press had a couple of hours to play the and press managers will be working
games. It was a relaxed but focused closely with any playable demos that
event that gave those three games are to be released, making sure they
ample time with the press. are cover-mounted on the game maga-
zine CDs and that the retail stores
The Marketing of a Game carry a supply of demos in a display.
As you can see there is a lot of sales
and promoting of a game behind the Hardcore Fans
curtains, but what about the ads—the It is commonly known that hardcore
traditional form of selling a product? Of fans and the word-of-mouth sales they
course games have ads; take a look at generate is the largest factor in the
your favorite game magazine and it number of games you will sell. Hard-
seems like half of the pages are full- core fans are eager to check up on the
page ads. And the online sites have progress of their favorite game at the
banners, navigational bar headings, and developer’s web site, interact in the
a myriad of advertising terms for the forums, and beta test. If they like the
various bits of electronic click-mes. game, they can be responsible for not
Like the press relations manager, just the sale of the box they buy for
the marketing director for a game themselves, but for the six or eight
should not be spread too thin across boxes that they have convinced their
many different games. The marketing LAN party to play with. Or in the case
manager will work with the producer of console games, the hardcore early
and development team to craft the adopters get the game first and invite
game’s image in all of its various forms: people over to play. I have met fans
print ads, banner ads, and the who have sold ten, twenty, and more
all-important box. titles just for their passion of the game.
Just like press coverage, it is Hardcore fans are always looking for
important not to create too much hype the best in games; they also have a
for the game and then fail to deliver on bunch of friends the industry calls
time. Publishers are getting much more casual gamers and mass-market
savvy and are scheduling their market- gamers. These casual and mass-market
ing campaigns to kick off only when the gamers ask for recommendations from
ship date is known with confidence. the hardcore gamers. The hardcore
The marketing manager will also gamers will in turn recommend the
be responsible for getting your game titles they feel comfortable with. This
shown at smaller venues such as the is just common sense, but what it
GenCon game convention held in Mil- means is that Blizzard’s Diablo was
waukee. The marketing manager will perfectly poised to capitalize on the
60 Chapter 5: What Is a Game Made Of?

streamlined interpretation of the com- until all features have been frozen and
puter role-playing game genre where all stats in the game have been bal-
just light taps on the left mouse button anced. This results in almost all
looted catacombs and vanquished ele- manuals being vague in some areas and
mental evil. Valve’s Half-Life laid a fairly narrow in the scope of just pro-
heavy story on top of the first-person viding use of the controls of the game,
shooter genre dominated by id (in fact rather than how to play the game. Now
they licensed id’s Quake engine) to pro- enters the strategy guide.
duce a mega-hit. And depending on how
you measure it, Half-Life and its free, Strategy Guide
fan-created mods Counter-Strike and The strategy guide fills a niche role in
Day of Defeat are the most popular the game industry, providing detailed
online games. These games are simply stats, walk-throughs, strategy, and tac-
the most approachable, solid, and just tics to complete a game. Writers of
plain fun games you can buy. If you strategy guides have various stories,
want your game to sell, study how nar- but it is not as simple a job as playing
row the feature sets of Mario64, your favorite game and writing up all
Half-Life, and Diablo really are, and the nifty hints and secrets. What really
how well and deep these few features happens is that the publisher of the
are executed. game and the publisher of the guide
work together to get builds of the game
Manuals and Strategy Guides to the strategy guide author as early as
Games need to have a manual, and if practical in the project. Essentially, the
the game is considered a potential hit, guide author is a beta tester too; this
then no doubt a strategy guide will be makes the job of writing the definitive
produced for the title. guide more challenging as the stats,
missions, puzzles, and various parts of
Manual the game are still in flux. For instance,
How the manual gets written varies even the ultra-high-profile game Gran
from publisher to publisher and from Turismo 3 (GT3) for the PS2 contains
game to game. The most common many discrepancies in the pricing of
method is to use an experienced con- various upgrades between the U.S. ver-
tract manual writer. This person sion of the game and the U.S. strategy
receives a copy of the game about four guide. GT3 shipped in Japan well ahead
to six months before release and inter- of the U.S. version and as such there
acts with a member of the development was a little more time to produce an
team while writing to create the most accurate guide. Despite this there were
accurate manual possible before a game still discrepancies.
ships. Another common method is for For our own Starfleet Command:
developers to create the manual given Orion Pirates, the strategy guide writer
that they are the most familiar with the of SFC2, Dennis Green, returned to
game’s functionality. The biggest chal- write the most thorough guide possible.
lenge in creating a manual is that rarely His project came under stress when we
does one have the luxury of waiting at Taldren overlooked some of his
Chapter 5: What Is a Game Made Of? 61

requests for information during the final manual, and final posters and other
final push. Unfortunately, after we were goodies in the box. This is definitely an
able to catch up and provide him with area of the project where it repays you
the information he needed, several in spades to be proactive and find out
strong chapters of the book had to be the due dates for these deliverables
cut to reduce paper costs for the guide. ahead of time.
It is a tough market to make money
when work already created has to be Hardware Manufacturer Parts
cut. Console Manufacturers
Manufacturing Parts The console manufacturers assign a
I am astonished at how quickly a PC producer to oversee the development
game can reach the store shelves. Do of each of the titles for the platform.
you know how fast a publisher can take The console manufacturer retains broad
the final gold master from the hands of editorial approval rights for the game,
the QA lead and deliver a shrink- and it is very important to follow their
wrapped retail box in an Electronics feedback to receive your ultimate
Boutique shop in the local mall? Five approval for the gold master.
days. That is right, in five days a Hardware Representatives
30-cent recordable CD from the local
OfficeMax can be turned into $70 mil- Some of the coolest people to work
lion of merchandise on store shelves in with in the industry are the hardware
the form of Diablo II. This is perhaps vendors like SoundBlaster and
the quickest a game can reach the store NVIDIA. These folks are motivated to
shelves and usually only occurs at a fis- be sure that not only does your game
cal quarter end for the publisher—most work on their hardware but also that
especially Q4 for the holiday shopping your game takes advantage of all of the
season! features of their latest cards. What that
To accomplish this a publisher has means to a PC developer is a bunch of
an operations manager who keeps his free hardware such as sound cards,
eyes peeled looking for the strongest video cards, joysticks, and speakers for
vendors for CD duplication, manual use of the development team to test the
printing, box printing, and assembly. hardware. These folks are best
This is quite a job, and normally they approached at their booths at the Game
would like to see about 20 to 30 days Developers Conference (www.gdconf.com).
to get the job done, so as to not have Tell them your story, where you are
to pay for express drop shipments working, and what game you are work-
between the vendors. But when the ing on, and if they feel that you are for
end of the quarter is rearing its ugly real, you can get test hardware. Please
face, the operations manager saves the do not abuse this if you are not making
day. Toward the two-thirds mark of your a commercial game and will not be
schedule, meet with the operations making a genuine test of the hardware,
manager to nail down the firm dates for as it will only make those resources
when they need everything—final box, harder to come by for the rest of us.
62 Chapter 5: What Is a Game Made Of?

Post-Release Parts
Releasing a successful game to retail multiplayer games, these issues are
will be one of the most difficult things much more serious as you are billing
you accomplish in your professional for a monthly service instead of a
career. After all of the cleverness it will one-time purchase of a product. In fact
take to get your project funded, staffed, massively multiplayer games have
and real; after all of the dedication to whole development teams called the
the craft during production; and after all “live teams” to maintain the software,
of the blood, sweat, and tears it will add new content, act as gamemasters,
take to drive a game through the final and in general keep the product fresh
candidate cycle, you will find the day and alive in the hands of gamers.
after you signed off on the gold master Having a bunch of fans is a very
one of the most pure days in your good thing; that is the whole reason for
career with no task that must be done your work. However, a bunch of fans
now. Instead, you and the rest of the require a substantial amount of interac-
team will most likely disappear and tion and communication. At Taldren
rediscover what your family looks like about six of the employees have taken
and decide to talk with them—and the initiative to read our forums on a
sleep. After this much-needed rest is regular basis to field questions and
completed, is it time to dream up a new moderate the forums.
game? No, it is time for post-release. Chapter 24 discusses the issues of
Post-release involves patches, post-release in detail with guidance
updates, answering questions on the from several studios on how to most
forums, helping customer service field effectively support the fans of your
questions on the phone support lines, game.
and combating cheating. For massively
Chapter 5: What Is a Game Made Of? 63
This page intentionally left blank
Chapter 6: Business Context First 65

Chapter 6 > > > > > > > > > > > > > > > >

Business Context
First
The first project sin that people commit
is to dive right in and start designing
their game, or worse, to start program-
ming. Every project, from the largest
massively multiplayer games with
development budgets over $8 million to
total conversions done by some hard-
core fans, needs to be positioned within
an appropriate business context. Even
if you have no plan to make money off
the game, or it is not a business ven-
ture, it is still critically important to
identify why you are making the game
and what the goals are for your game.

The Project Triangle


A useful device for analyzing the goals
of your project is to create a triangle
and label the points of the triangle as
follows: (1) On Budget, (2) On Time,
and (3) High-Quality/Feature Rich. It is
a business law of software development
projects (and just about any other type
of project) that you can achieve two out
of three of these goals on any project,
but you cannot achieve all three. Fail-
ure to understand that you can only
have two out of three of these proper-
ties will result in a game that misses
Where the business parameters lie on the project life not just one goal, but also two or three
cycle
66 Chapter 6: Business Context First

of these goals! See the diagram below n On Budget and On Time—means


for a visual aid to this example: you must accept sacrifice of quality
n High Quality and On Budget—
means you must accept a late game
n High Quality and On Time—means
you must accept extra spending

The Project Triangle—pick two out of three goals

Implications of the Project Triangle


Each line on the triangle is a relation-
ship between two of the goals. Each
line should be responsibly labeled with
the negative consequence of your deci- A project where being on budget and on time is
sion. This triangle states that every more important than quality
well-managed project will exhibit one of
three negative behaviors: being late,
being over budget, or sacrificing quality.
This sounds pessimistic, but it is true.
Once again for impact: Well-managed
projects will be late, cost too much, or
be of low quality; less well-managed
projects will exhibit two negatives;
poorly managed projects will feature all
three failures.
There are many different software A project where being on budget and having high
development strategies on the market quality is more important than timeliness
such as Iterative, Waterfall, Extreme,
Unified, and others. None of these
development methodologies are a
magic potion. You will still be faced with
the question of how to best manage
your particular project and its chal-
lenges. Instead, each of these
methodologies will have strategies and
suggestions for managing costs, time,
and features. However, it will come
A project where being on time and having high
down to the business context of the
quality is more important than cost
game and how you manage your project
to decide which two goals you will meet
and which one you work to control and
manage.
Chapter 6: Business Context First 67

Various Games and the Project only one goal instead of two goals? The
Triangle Sims met a huge unfulfilled demand to
1. The Sims series: High Quality play god to simulated people doing ordi-
2. Diablo series: High Quality and On nary things; this has enormous appeal
Budget to consumers and gamers of all ages,
3. Quake series: High Quality and On especially women. The designers of
Budget The Sims knew that above all they had
4. Ultima Online series: High Quality to get the simulation right. If The Sims
5. Starfleet Command series: On was boring or lame, people would be
Budget and On Time turned off and not play. So they crafted
6. Baldur’s Gate: High Quality and On and crafted the behavior of The Sims
Budget almost to exclusion of any other fea-
7. Klingon Academy: no goals satis- tures, considering the relatively mod-
factorily achieved est effort spent on the graphics. No one
had modeled people before quite like
this, and in the early days of the project
there was only modest support for it, as
other games at Electronic Arts were
given more resources. Thus the
designers of The Sims did the right
thing and recognized the business
parameters of their project and focused
on what would really matter—the
behavior in The Sims. Sure, if they’d
had stronger corporate backing early
on, they could have staffed up and per-
haps sped up the research and develop-
ment phase to under a year and then
just another year to create the whole
game. This would have been ultimately
more lucrative for Electronic Arts, as
they would have made this ungodly
amount of money earlier and would
Various games and where they fit on the Project have had made the team available to do
Triangle
the expansions to The Sims that much
quicker. Looking back at game projects
How is the triangle related to success? from afar, it is easy to be an armchair
The Sims is probably the highest gross- executive producer and say what you
ing PC game in history, being at #1 in would have done better, but truthfully
the charts for close to two years punc- in the early developmental stages of
tuated by a few brief weeks off to allow The Sims there probably was not all
a major release to have its day. The that much to see, and so it would be dif-
Sims was notoriously late at over five ficult for executive management to
years and also over budget. Why did understand this game and get behind it.
The Sims succeed when it achieved
68 Chapter 6: Business Context First

The Diablo series has been a fan- fashion. The point of this triangle is not
tastic hit for Blizzard and is the stan- to figure out which one of the triangle
dard and envy of the PC game industry goals you are going to abandon wildly
to measure against. Blizzard first and throw out the window; the point is
achieved outstanding financial success to identify in what part of the triangle
with Warcraft II, which built upon the you enjoy the most flexibility. Knowing
classic real-time strategy gameplay of where you are flexible will keep your
Warcraft I and polished it to a tight and project from breaking.
smooth production that is the earmark Starfleet Command (SFC) is shown
of a Blizzard production. Blizzard’s in the figure as on time and on budget.
model for making mega-hits is to set What this means is that quality was the

Y
aside a large budget of money, have a most flexible aspect of the project
large staff (Blizzard reportedly has whereas on time and on budget were
FL
about 200 full-time staff for a publisher
of two concurrent titles), and take as
not flexible. SFC was produced inter-
nally at Interplay during a time of great
AM
long as it takes to make the game per- expectations with the impact of going
fect. Blizzard knows they have a repu- public and the beginnings of tight fiscal
tation for the highest quality games policy. Interplay had many games in
available, and each release they pro- production at that time including three
TE

duce is an opportunity to damage that other Star Trek games—Klingon Acad-


hard-earned reputation. The Blizzard emy, New Worlds, and the Secret of
label is probably the single most lucra- Vulcan Fury. Of all the Star Trek games
tive publisher brand in the industry. It in production, SFC was considered the
is a common joke in the industry that if underdog as our game focused on the
Blizzard ever needed cash in a hurry, real-time tactical simulation of naval
they could print a box called StarCraft starships based on the gameplay of a
II or Diablo III and just ship a million 20-year-old board game called Star
empty boxes just for the pre-orders! Fleet Battles. Klingon Academy was a
This total focus on quality has of course sexy 3D space shooter featuring over
repaid Blizzard (and its owners) hand- 110 minutes of live footage with star
somely. So Blizzard’s answer to the tri- talent like Christopher Plummer. The
angle is to bypass being on time and Secret of Vulcan Fury amounted to tak-
focus on quality and, to a lesser extent, ing the player back to the original
budget. I just took a peek at Blizzard’s series with fully digitized and animated
web site and noticed that in their faces of Kirk, Spock, and Bones. New
description of one of the programming Worlds focused on capitalizing on the
positions is a willingness to work long real-time strategy genre and impress-
hours; apparently Blizzard games take ing the eye with ground troops of the
as long as they need to as long as Star Trek universe rendered in breath-
everyone is pushing hard. taking 3D detail.
The statement of working over- We had a trick up our sleeve with
time as a requirement of the job at Starfleet Command—a completely
Blizzard is a pretty clear indication that unfair advantage really. Our game, as I
they too are worried about getting their said, was based on simulating naval
games done in some sort of timely combat in space between majestic

Team-Fly®
Chapter 6: Business Context First 69

starships of the Star Trek universe. Quake and Diablo have a lot in
That is practically half of what the show common; both games are produced by
is about if you think about it—photons development houses with the strongest
and disrupters—just watch Star Trek reputations, both companies have a
II: The Wrath of Khan. We knew what “when it is ready” policy for shipping
we had and decided to make the best their games, and finally both companies
real-time tactical starship simulation have paid their dues.
we could. Along the way we broke new The real interesting question is not
ground with real-time tactical warfare, when Blizzard and id ship their games,
and after we released SFC other titles but how they got where they are today.
like Dominion Wars and Bridge Com- How did they arrange to make their
mander attempted to find their own first hit game so that they could have a
path down the naval starship simula- pile of money to use for their future
tion. With the fixed budget and the games? Blizzard was kind enough to
requirement to ship on time, our atten- produce a recounting of their first ten
tion was focused on what would make years in the business in early 2001. The
the game: the real-time tactical combat. page is no longer posted at their site,
To create a foundation for our and that is a shame. However, the his-
gameplay we licensed the mechanics of tory of Blizzard started with the name
the hit board game Star Fleet Battles. Silicone and Synapse. They, like all
Here we had a coherent set of game- developers, started out doing work
play mechanics that were play tested under contract for other publishers. It
and improved over the years. However, is ironic that Blizzard is now eclipsing
these were gameplay mechanics for a Interplay, the publisher it worked for
hex grid, pen and paper game, not the when it started in the industry. Blizzard
game mechanics for a commercial game was able to create Warcraft with the
of the late 1990s. Glossing over the help of the Davidsons, who had an
hours and hours of design discussions, uncanny amount of wisdom to invest in
we settled on an interface where the a pre-Warcraft Blizzard.
player sees a third-person 3D view of The history of id Software is also
his starship traveling on an invisible about ten years long, where John
plane, battling with an astonishing array Carmack and crew developed the plat-
of controls for the operation of the form game Commander Keen featuring
whole warship—the electronic warfare, a football helmet-wearing child protago-
the shuttles, tractors, transporters, nist. It was Castle Wolfenstein 3-D
marines, heavy weapons, engineer- published by Apogee that blew every-
ing—bringing all of these systems to one away with its riveting 3D action
bear against the enemy starship in dark and launched id into stardom to go on to
skies. This purity of concept was a god- create Doom I and II, Quake I, II, and
send. I listed SFC as on time and on III, and to be the engine behind dozens
budget. Yes we were a little buggy of other hit titles.
when released, but we made a quiet hit These folks did not get lucky; they
game in a market where so many have are creatively brilliant, have consider-
failed—we made SFC. able business savvy, and have worked
hard consistently for the last ten years
70 Chapter 6: Business Context First

through an ever-changing set of param- restrictions and requirements—are not


eters involved in making games. What sources of angst to rebel fruitlessly
you need to do as the producer of your against. Rather they should act as foci
game is to think hard, very hard, and for your game’s creation; they should
articulate on paper what the business act as genuine opportunities to shape a
parameters are for the game you are successful vision for your game project.
making. These parameters—these

Questions for You to Answer


Here are some straightforward ques- overwhelming majority of these pro-
tions; your mission is to take some jects. However, id Software used
time, grab a piece of paper, and write essentially this method to escape their
down the answers. stay at Softdisk. Chapter 25 contains an
n What are you trying to accomplish interview with one of the founders of
with this game? Sliver Creek Entertainment, whose
n When must you complete this first game began as a weekend project.
game project? The goal for this type of project for
the creators is most often to do the pro-
n How much money do you have to
ject for fun and to act as a compelling
produce it?
demonstration of their abilities to land a
n Who do you have to get the job full-time position in the game industry.
done? There are two principal paths to take:
What to Do with These Answers Make a small game or produce a modifi-
cation to an existing commercial game
An Ultra-Low Budget Game (called a mod).
If you are funding the project yourself JARGON: Mod is the name for a game
with your free time and hobby money, that is made from the engine and assets
you have a very distinct limit on how of another game.
much money you can afford to spend on Ambitious mods that offer extensive
this project. The goals for your project changes are often called total conver-
should be correspondingly low. After sions. Making a small game and making
performing your preproduction as out- a mod are two different sorts of pro-
lined in Chapters 6 through 10 with jects; each has its own challenges, and
detailed information in Chapters 14 you will learn different things by
through 20, your project should amount accomplishing them.
to no more than 500 to 1,000 hours of Many people might think that cre-
work per person to finish your project ating a demo of a simple real-time
in a year. A way to partially solve your strategy (RTS) game that has incom-
budget problem is to share your project plete AI, poor art, and no sound could
with others: friends, family, and even still represent your passion for creating
folks across the Internet. Coordinating a large, commercial RTS. Yes, you
a group of volunteers to work together might get your passion across, but in
on a game project is very challenging, my opinion it would not be the best
and their creators abandon the
Chapter 6: Business Context First 71

demonstration. Just like consumers of functional. This would leave the bal-
games, we do not want to have ten fea- ance of your time to create lush polish
tures shoddily executed. Instead we to that feature set.
would rather see just three or four pol- Creating a mod of a commercial
ished features that are shippable. It is game is another way to work with an
not interesting to know how long it will ultra-low budget. Principally, two guys,
take you to implement feature X, rather Cliffe and Minh Le, created the phe-
it is much more compelling to know nomenally successful mod to Half-Life
how long it will take you to drive fea- called Counter-Strike (CS) with some
ture X to shipping quality. The folks at textures created by three other guys.
Silver Creek Entertainment have taken They started with the Half-Life engine,
this to heart and have produced the which is in turn a variation of the
most excellent card games: Hardwood Quake engine. Half-Life itself is a
Spades, Hardwood Hearts, and Hard- mega-hit from Valve Software that taps
wood Solitaire. These folks have taken into the underserved market of players
the very simple feature sets of these looking for a compelling story to
classic card games and have added gor- engross them as they enjoy the action
geous 2D graphics, flawless online of the first-person shooter genre.
multiplayer format, and clever added Starting with a commercial hit game
features such as customizing your ava- has the same compelling marketing
tar’s look and tossing fireballs at your potential for your mod as it does for a
opponents. Silver Creek started with an publisher’s sequel to a hit game. The
artist passionate about quality for his Half-Life engine was eminently amend-
card games and two other developers; able to user modification, to the point
they now are running their own devel- where even the menus of the game
opment company and are hosting their support choosing a custom game type.
own online games without funding from The CS project was created by an expe-
a publisher. This is a significant accom- rienced team that had worked together
plishment, for these folks have on Action Quake 2 and other mod pro-
achieved what many developers aspire jects before, so a single mod project
to—self-funded games; and they have was just the first step for these guys. It
done it in an area of high risk—online was their third project that really blew
games. everyone away including Valve. This
This is such an excellent model— team, due to its experience and reputa-
driving a few features to perfection— tion on previous mod projects, received
that the folks at Silver Creek are not unprecedented support from Valve
sending out their resumes and seeking including design feedback, technical
a job working for someone else in the support, and even project financing.
industry; instead, their hobby project Counter-Strike perfectly illustrates
was developed in a product with real a project that is on budget and is of very
value to thousands of players. high quality, but the time side of the tri-
To be successful with this model angle had to be as flexible as they
you need to find a game concept that is come. CS was released in the summer
simple but playable and would require a of 1999 as beta 1, and it took nearly two
minimum of engineering to get it years for it to proceed through four
72 Chapter 6: Business Context First

more major releases and ship as an During production on these titles


expansion to Half-Life in retail. you will find yourself shifting secondary
tasks to tertiary and primary to second-
Fixed Budget, Fixed Deadline ary when you are low on time and
I am most familiar with projects with popping the secondary and tertiary
these sorts of parameters, as all of my tasks up when you have available time.
shipping titles have had these parame- It is vitally important to your produc-
ters. I have worked on one professional tion team that you do not make all
title that had a ridiculously low budget, features must-do items that you reluc-
PlanetNET, that never shipped. At tantly cross off as reality presents itself.
Taldren we are now working on several People perform badly when under the
game concepts that have a variety of cloud of being failures; for the sake of
business parameters to fulfill different your team and your game, set them up
roles for the future of Taldren. But fixed to succeed by prioritizing your features
budget, fixed deadline games are what into these three different categories. In
my reputation is built on. To make fact, your team members will cruise
these projects work you must walk through their primary tasks so much
backwards from your shipping date and more confidently that they will develop
determine your beta and alpha dates. their features at the fastest rate possi-
This will give you a gross amount of ble. Feeling like winners and making
time available for your production and progress only enables them to get
preproduction phases. I am a strong excited and want to knock off the sec-
supporter of preproduction and feel that ondary and tertiary items. Perhaps the
any project worth doing should spend most compelling reason to separate
about 15 to 35 percent of the total your features into these three piles is
development time in preproduction. that all features inherently have a prior-
This will give you a crude estimate of ity, and you will make choices during
the man-months you have available for production. But it is only through for-
production. This is your budget for mally acknowledging these priorities
man-months. and writing them up in your plan that
Now with your man-month budget you will derive all of the planning bene-
in hand it is time to sketch out the fea- fits of knowing what you really must
ture set of your project. Break down get done.
your list of features into three piles: AXIOM: All games inherently have pri-
primary features, secondary features, mary, secondary, and tertiary features;
and tertiary features. This section dis- the wise developer will embrace these
cusses how to identify your core prioritized features lists and turn them
features and put the secondary and ter- into an asset.
tiary features into other piles. You must
Chapters 11 and 21 discuss specific
then create a project plan that clears
techniques for measuring progress and
away all of the dependencies and risks
task completion that enable the highest
and supports the primary features.
quality workflows.
Chapter 10 outlines the project plan,
while Chapter 20 drills down to details.
Chapter 6: Business Context First 73

High-Profile/High-Quality Projects AXIOM 13: As the complexity of a game


increases, its likelihood of commercial
For the high-profile, mega-hit titles success decreases at a geometrical
from well-established houses like rate.
Blizzard, id, Verant, and BioWare, a
different set of challenges present I highly encourage you to create a
themselves—all of them revolving reverse design document for your
around an industry and fan base with a favorite mega-hit whether it be Quake,
high set of expectations for these great The Sims, Total Annihilation, or
developers’ next titles. This means that another title. What you will find is that
quality must be so high that each these games all have a clean, tightened
release sets new high water marks for feature set that is polished to a degree
the industry to try to achieve. that their competitors have not been
To understand better what goes able to achieve. In fact, Michael Abrash
into a mega-hit game, it is a great idea decided to join id Software for many
to look under the hood of a mega-hit good reasons, but one of the reasons he
and start pulling on the hoses and chose to join the Quake team was
unbolting the pieces and looking to see because early in the project John
how things fit together. I call this pro- Carmack wanted to put in a portal tech-
cess creating a reverse design docu- nology that would allow players to
ment after the technique of reverse seamlessly jump from one Quake map
engineering. Chapter 8 gives you an to another in an extremely compelling
idea of the steps you should take when version of action cyberspace. This fea-
writing a reverse design document. For ture was cut from production and in fact
myself I wanted to see what went into has yet to ship in a Quake game. This
the construction of Diablo, so I spent 27 again is a reflection of the theme of
pages of text detailing to myself how concentrating on executing your fea-
characters grew, how big the isometric tures well.
tiles were, how the palette was laid out, But without knowing better I
how the inventory system worked, the would have thought these very suc-
user-interface, and all of the other parts cessful developers would give no
that went into the production of Diablo, thought to adding features to their pro-
including the manual and box design. jects—heck, they don’t even have to be
What I discovered astonished me: late. They could just hire teams and
Diablo is actually a very simple game subteams to get these features done,
with a small set of features. This hit me right? No is the simple answer. The
like an epiphany. Now when I walk difference between a strong developer
through E3 or flip through a game mag- and a weak developer on your team is
azine I quickly project a mini-reverse not just a linear difference in work out-
design document in my mind for these put; it can literally be a tenfold, hun-
games to get an idea of how complex dred-fold, or more difference in
they are. This led me to formulate productivity. In fact for the networking
Erik’s Axiom 13 of Game Design. code in Quake, John Carmack hired a
programmer whose whole career was
74 Chapter 6: Business Context First

in creating networking code. For some done by hiring crack independent con-
reason this did not work out well for tractors and extra staff, but it is not a
Quake, and the programmer moved on. magic bullet. You need to organize and
In two months time John Carmack manage this extra talent. Adding addi-
came up to speed on the issues tional staff requires more administra-
involved in networked games and pro- tive overhead, and there is a critical
duced a solid networking layer that was threshold of number of staff in an area
only 2,000 lines long and, as usual for on a project beyond which you get
John Carmack, set a new standard for diminishing and ultimately negative
multiplayer Internet gaming perfor- returns on work, even if the people on
mance. From the time The Mythical the project are competent. This is prob-
Man-Month was written by Frederick ably due to the increasingly complex
Brooks, the idea that you could simply communication required between a
add up programmers like cantaloupe in large number of people on a project as
your grocery cart has been under it grows in team size.
attack. Surprisingly, many people will These mega-hit developers have
attempt to add pressure to your project learned they cannot grow their teams
by asking you to hire more folks and to indefinite sizes and still produce
get more done—or much more com- clean, compelling hits. For this reason
monly get it done for a specified quar- the features in these games are limited
ter. You certainly can get useful work to roughly what their current team can
produce.

Walk Away
Ultra-low budget projects should be High-profile/high-quality pro-
simple games polished to a high degree jects concentrate their best develop-
or perhaps a port of an existing game ment team on a clean, tight set of
engine into a new and compelling features that they will execute to a
format. quality level everyone else in the
Fixed budget, fixed deadline industry will then struggle to match.
projects should organize their features This will usually result in creating a
into primary, secondary, and tertiary barrier of entry that will place your
piles and create their project plan in a organization ahead of the competition,
manner that most supports the comple- and like compound interest you should
tion of the primary feature sets. be able to reap the result for years to
come.
Chapter 7: Key Design Elements 75

Chapter 7 > > > > > > > > > > > > > > > >

Key Design Elements


All games start as an idea, something
like “Wouldn’t it be cool to be a space
marine and blow up zombies on
Phobos” or “Wouldn’t it be cool to be a
pilot in a starfighter involved in an epic
struggle to overcome the oppression of
a star empire gone bad” or “Wouldn’t it
be cool to drive modified street cars on
Tokyo streets at night.” These idea
sparks are often the source of long con-
versations between developers late into
the night at the studio. Another poten-
tial starting point for a game is a
licensed property; i.e., “make a
RPG/RTS/action game using XXX
license.” (Fans may want to play that
license specifically. Major licenses
include Star Trek, Star Wars, D&D,
WWF, Lord of the Rings, and Harry
Potter.)
Chapter 6 discussed getting your
business goals and parameters settled
for your project before you start formal
design and development of your game.
This chapter discusses how to use the
structure your business context and
your game ideas provide and how to
turn them into a game concept worthy
of fleshing out into a game design
document.

Where the key design elements lie in the project’s


lifetime
76 Chapter 7: Key Design Elements

Business Context Shapes Design, or Does


Design Shape the Business Context?
First of all, I am not asserting that hav- the Nintendo Game Boy Color or
ing your business context in hand will Advance, use it to secure their first
act as a magical tool that will turn any deal, and then move on to more ambi-
game idea into a well-thought-out game tious projects.
concept. It is only an important aid to For many game projects there is a
assess the requirements that your game middle ground where the business
idea is implying. Some game ideas parameters and the game idea go back
(such as the faithful recreation of Mid- and forth and refine each other. Perhaps
dle Earth where the whole world is the developer pitches a massively
modeled with strong AI, 3D graphics multiplayer game to a publisher who is
capable of great indoor and terrain ren- wary of the costs and risks behind mas-
dering, where an unlimited number of sively multiplayer. From these talks it
players can join in together on both is quite possible the developer will end
sides of epic conflict between good and up creating a game that exploits a
evil) cannot be reconciled with the license the publisher has rights to and
business parameters of two artists and features a much more modest
a programmer looking to break into the multiplayer feature set. This is not an
industry, who have six months of living acceptance of a mediocre plan; rather it
expenses available to them on their col- is a mature development of the idea
lective credit cards. That Middle Earth into a viable concept. A viable concept
concept is an example of a game that is a game that people with capital
will dictate the business parameters. If believe will be seen through to comple-
we take the business parameters of two tion, with a high probability of favorable
artists and a programmer, they might reception in the market to overcome
want to recreate an arcade classic on the inherit risk in game making.

Reconcile the Business Context and Game


Idea Early
This process of refining the game idea projects, senior management interprets
and business context is the earliest this late reconciliation as an unpleasant
stage of a game project. All projects surprise presented by an immature
reconcile their business contexts and development team and consequently
the game idea at some point. Tragically, cancels the project.
for too many projects this reconciliation Allocating more funds and time to a
only occurs after the project manifests project is a common occurrence, and
itself by underperforming, usually by because it is commonplace, too many
missing milestone dates. Some projects developers think it does no harm to
have a painful reassessment where themselves and no significant harm to
senior management allocates more the publisher. That is fallacy; when a
funds and grins and bears it. For other publisher is forced to spend additional
Chapter 7: Key Design Elements 77

dollars and push back the release of the compromised developer for fear of a
title, there are many negative impacts. conflict of interest and confidentiality
First of all, the publisher must concerns.
extend additional money to the devel- The developer is also losing time
oper. This is an obvious point, but it by going over his time budget, and
means that these funds are unavailable spending more time on a project with
towards the development of another the business deal worsening is not a
title with another developer or (worse good goal.
for this title) funds may be drawn from The final reason to avoid a late rec-
the marketing budget to pay for this onciliation of the business context and
overage. game idea is to prevent team members
The second impact is that the pub- from becoming disillusioned and mov-
lisher has to delay when they will be ing on to another company.
able to start recouping their investment At Taldren we have released
and see a profit that they can put to Starfleet Command, Starfleet Com-
work in future games. mand: Gold, Starfleet Command:
The third problem is that the Neutral Zone, Starfleet Command 2:
marketing effort is deflated as the Empires at War, and Starfleet Com-
awareness for the game is now ill- mand: Orion Pirates in less than two
timed, and it will be difficult for the years. At the same time we gathered
game cover that marketing was able to more fans and have always produced a
secure for your game last quarter to profit for our publisher. Many of our
have real value 18 months later. Right employees are loyal to Taldren because
or wrong, the developer is the vendor of the steady pace of release; they
and the publisher is the customer, and know their work will be released and
the adage that the customer is always not wasted.
right holds firm in this case, with the
developer being tarnished by the repu- The Effects of a Slipped Game
tation of poor estimating capability. 1. Less working capital for the
Another reason to avoid going back publisher.
for extra money and time from your 2. The total advance is tied up longer
publisher is that the business deal will than expected.
never improve. A loss of royalty points 3. Marketing dollars are often wasted
is common; sometimes you will see a as the hype bugle is blown too
shifting of intellectual property rights. soon.
In the extreme sometimes the devel- 4. The developer’s reputation almost
oper agrees to an assignment of equity always suffers.
in the project to the publisher. In the 5. The business deal never improves
case of shifting equity to the publisher, for the developer.
the developer is strongly advised to get 6. The developer loses the opportu-
full value for that equity; no matter how nity to work on other titles.
small an equity stake the publisher 7. Team members are in danger of
takes, it will make all other publishers becoming disillusioned, and the
avoid doing business with the team may suffer uncomfortable
turnover.
78 Chapter 7: Key Design Elements

Ion Storm has to be the most infamous required Eidos to double the already
example of the consequences for late overgenerous advance of $13 million to
reconciliation of the business context $26 million to keep Ion Storm’s three
and the game idea. Ion Storm was projects rolling.
founded around John Romero, who is Daikatana did not just lose face in
credited with the design of Doom—per- the game press, it became the material
haps the greatest PC game ever. The for much derision, and even the local
UK-based Eidos was flush with cash, Texas newspapers saw the poor man-
and John Romero left id just as Quake agement at Ion Storm as a good story
was entering its final stages towards for a series of columns. Ion Storm not
release. Eidos needed to put the sur- only suffered crippling turnover, but

Y
plus capital from the Tomb Raider some employees helped feed the nega-
series to work, as all businesses must tive press storm by leaking to the press

Eidos needed to get into a number of


FL
do. Tomb Raider was so successful that ugly internal email. John Romero was
forced to hand over the company to
AM
games, but established top developers Eidos, and their games shipped to little
were already booked, so Eidos would success. Ion Storm’s Dallas office has
need to go with a less established been closed by Eidos to what amounts
development house. The idea of taking to a large write-off of Lara Croft earn-
TE

advantage of the designer behind Doom ings and a reputation for Eidos to
and creating a new development house overcome. In fact the quieter Ion Storm
is not a bad idea; in fact it is a good idea. Austin studio run by Warren Spector,
Experience, a built-in fan base, and a which shipped the critically acclaimed
great story for the media would create Deus Ex, is now looking for a shiny
an environment that would be condu- new name to operate under to distance
cive to game development, one would that studio from the ill-fated Dallas
think. studio.
Ion Storm was founded with the The sad thing is that John Romero
vision statement that design is king. really can design games; just play
Even this is not a bad idea; treated Doom any day and you will see how
properly this would mean that Ion amazing a game it was and still is. And
Storm would capitalize on its core Eidos turned on the cash to set up the
strength—game design embodied by game for greatness. It is just heart-
John Romero—and take advantage of breaking, really, to think about the
existing game engines. Looking at how potential of Ion Storm and to see it fall
Ion Storm interpreted their vision for lack of rigorous development
statement would reveal where Eidos methods.
made their mistake. Ion Storm used the What can be worse than either
vision statement, design is king, to pumping more money into a late project
treat game development as a pure art or canceling a project? Shipping it. It
form and lost respect for a strong should never be done, but almost every
development process. Ion Storm’s mar- large publisher has shipped a game well
quee project Daikatana suffered all of before it was finished. I don’t mean just
the ills described above. Whole engine with bugs; I mean before critical parts
retooling caused massive delays and of the game were complete.

Team-Fly®
Chapter 7: Key Design Elements 79

Descent to Undermountain from behind the game or have a license to


Interplay is a classic example of a game the software engine. Descent to
that was shipped too early. The idea Undermountain was a case where the
behind Descent to Undermountain was revenue opportunity was so large as to
to take advantage of two key assets of prevent an objective review of what it
Interplay: the Advanced Dungeons and would take to get the game done. The
Dragons license and the mega-hit original business parameters for this
Descent. Management at Interplay title called for a budget of only six
decided it would be a snap to plop down months of four developers’ time. No
some fantasy environments, characters, established development house was
and monsters to bash. Management chosen to do the job; rather an ambi-
decided the Descent game engine tious independent contractor program-
would be ready for immediate develop- mer stepped up, and various artists at
ment into another title. Most publish- Interplay contributed to the project. No
ers do not have a strong technical project manager was allocated. Let me
director available for code review. Yet at share with you what Gamespot thought
the same time many publishers also of the results of this game after it
negotiate the terms of the publishing slipped to three years and six times the
deals to either own the software engine original budget:

From Gamespot review of Descent to Undermountain:


But somewhere along the line something went horribly wrong, and now
gamers are asking themselves two questions. The first arose merely out of
befuddlement: How could the company that produced Fallout also be
responsible for one of the lousiest games to come down the pike in quite a
while? The second, though, addresses a much more serious issue: Why did
Interplay ship the thing when it wasn't even close to being the sort of cut-
ting-edge product the hype machine had led us to believe it would be?
…There's probably no way to learn the answer to the first question,
but—thanks to some very frank members of the Descent to Undermountain
team—the answer to the second is now common knowledge. The game
went out when it was scheduled to go out (in time for a Christmas release)
even though it wasn't ready. That's not just me speculating; that's precisely
what a member of the DTU team stated in a recent post on Usenet.

When a project is three years in the which is a more detailed 3D implemen-


making and six times the original bud- tation of D&D, weren’t released until
get, there is tremendous pressure to 2002.) Interplay thought at the time
just ship the game. At the time, Inter- that with all the hype, maybe, just
play was receiving a huge amount of maybe, the early sales in the first few
attention for Descent to Undermoun- weeks would be large enough to recoup
tain; everyone wanted a truly 3D a significant portion of the costs. It was
dungeon romp. (Dungeon Siege, the also Christmas time when 40 percent
first really 3D dungeon romping game, or more of our sales as an industry hap-
and BioWare’s Neverwinter Nights, pen. Interplay had three choices:
80 Chapter 7: Key Design Elements

1. Ship it now. same thing as canceling the


2. Cancel the project altogether. project.)
(Remember lost money really is Unfortunately for Interplay at the time,
lost, and it is best not to chase it.) canceling the project or starting over
3. Find a real AAA development with a new developer appeared to be
house and start over with a new more expensive than shipping the title.
large budget and two years more of Let us see what Gamespot thought of
development time. (Really the this decision to ship the game:

From Gamespot review of Descent to Undermountain:


The lesson to be learned should be obvious: If you're gonna ride the hype
machine, you'd better deliver the goods. Sadly, DTU doesn't even come
close—and the worst part is that sometime over the next year or so we'll
probably see this same story played out all over again.
So what have we learned today? That pushing a product out the door
before it's ready makes loyal customers angry; that game developers should
keep at least one eye on what's going on in terms of technology when work-
ing on a new game; and that if you buy Descent to Undermountain after
reading this, you get what you deserve.

Descent to Undermountain shipped in a Descent to Undermountain was a


condition that was far below the indus- perfect case where the game idea and
try standards of the time, Diablo and the business parameters were in con-
Quake II. The hype behind this game flict. If Interplay wanted a title in six
also crushed it. It is just possible that if months and had only a modest budget
Interplay had developed this title qui- to accomplish it with, then Interplay
etly, hard-core fans of AD&D and/or should have commissioned the develop-
Descent might have bought 20,000 cop- ers of Descent, Parallax, to create a
ies and been patient for a patch or two. cool expansion pack for Descent and
I am not saying this is a great idea, but they should have contented themselves
it is better than a hype storm. This is a with the sales of an expansion pack.
poor way of doing business; the game Perhaps it was perceived that with
industry shows time and time again Descent II already in development at
that the mega-hits are just games that the time, it would have been competing
offer straightforward gameplay with for sales. The other option was for
strong production values. Wacky or Interplay to allocate the funds they
niche games or poor craftsmanship are were to later plow into Stonekeep II
not rewarded. Just make a few quality and hire a top developer to create a 3D
titles and you will spend a lot less dungeon romp of quality. Stonekeep II
money in development, and your indi- would later go into production for five
vidual titles will have more capital to years and then be cancelled. You must
work with. create a game that is compatible with
your business context or fail.
Chapter 7: Key Design Elements 81

Methods and the Unified Development Process


Microsoft, the most successful software retain what worked and improve upon
development organization on the what did not work well. The alternative
planet, sells a lot of games. Microsoft is to using a method is employing ad hoc
perhaps best known for its Flight Simu- techniques over and over again and
lator franchise, but MS now owns being successful only by good fortune. I
Ensemble (Age of Empires franchise), rather like to make my own luck, thank
Bungie (Halo and Myth, formerly the you very much. The first method we
premier Macintosh development need to nail down is how to reconcile
house), FASA Interactive, and Digital your game idea and business parame-
Anvil (the former Chris Roberts com- ters. I advocate using a comfortable
pany working on Freelancer), as well as subset of the Unified Software Devel-
being the publisher for a host of exter- opment Process developed by the three
nally developed titles such as Dungeon amigos Ivar Jacobson, Grady Booch,
Siege. Microsoft is a large organization and James Rumbaugh.
with many layers of development pro-
cedures that other publishers do not Why Use the Unified Software
employ. The first thing Microsoft does Development Process?
when evaluating a developer is to send The simple reason is that the Unified
a small team of game development Process is quickly becoming the soft-
leads comprised of production, design, ware industry standard. The Unified
programming, and art to evaluate the Process has a long legacy dating back to
strength of the team. A large part of at least 1967; at this time Ivar Jacobson
this evaluation is to also evaluate the worked for the telecom giant Ericsson.
developer’s methods to determine if Jacobson had a radical idea for the
they are compatible with Microsoft’s design of the next generation telephone
and if these methods give Microsoft switching equipment at the time, a
confidence that the developer has method we would now call component-
thought through their project and will based development. For this project
deliver a great game, on budget and on Ericsson modeled the whole switch
time. Development methods must be system and subsystems as intercon-
good things judging by Microsoft’s nected blocks. The relationships
success. between these blocks was then articu-
lated and revised. The dynamic pro-
What Is a Development Method? cesses of the switch were identified and
meth·od noun—A means or manner modeled. Every message passing back
of procedure, especially a regular and and forth from each object was included
systematic way of accomplishing in this model. This software architec-
something. ture and object message compilation
We do want systematic game was probably the best technical design
development; this whole book is dedi- document of the time. This was a radi-
cated to the presentation of various cal concept because software custom-
game development methods. System- ers at the time were not accustomed to
atic and repeatable methods allow us to seeing a blueprint of the software
82 Chapter 7: Key Design Elements

before the software engineering began. JARGON: Requirements capture—


This method was not chosen on a articulating the requirements the func-
whim; rather it met the demand that tional software must satisfy, such as to
be fun or to run at 30 frames per
the software be robust enough for the
second.
telephone switching equipment to
remain operating while receiving What is the first step in the develop-
upgrades and patches to the software ment process? Figuring out what we
components of the switch in real-time. are supposed to do. There is a neat for-
I will skip the middle part of the malized term for this: requirements
history behind the Unified Process; the capture. Requirements capture is
point is that 35 years ago a repeatable something you have already started.
method of creating great software was Those business constraints from Chap-
developed, and despite this, most soft- ter 6 are some of the requirements the
ware organizations have weak software must satisfy. How do we
methodology. methodically discover the rest of our
The Unified Modeling Language game’s requirements? The short
is the standardized text and visual lan- answer is that there is no quick, magi-
guage for the articulation of software cal method to sit down and write up in a
design supporting the Unified Process. single sitting all of the requirements
Beyond the development of Ivar your game must fulfill. Wait, don’t go
Jacobson, Grady Booch, and James away, I am still going to show you how
Rumbaugh, UML enjoyed broad sup- to do it; it just involves several iterative
port and major companies such as IBM, steps.
HP, and Microsoft joined in the devel-
opment and standardization of UML. Use Cases
First, if you have not already done this,
Requirements Capture write down your game idea on a single
The purpose of a software development sheet of paper. Write two or three sen-
process is to take the user’s require- tences that describe your game in the
ments and transform them into a func- center of the piece of paper. Now in no
tional software system. That transform particular order write down the major
stage is what we game developers are functionality of the game in an outward,
doing when we make games. We take radial manner from the game idea in the
the vision of the gameplay—how it center. The larger, chunkier aspects of
should play—and turn that into a fin- the game should be close to the center
ished game. and the detailed ideas farther away. For
example if you are designing a role-

The role of a development process


Chapter 7: Key Design Elements 83

playing game, you have characters; started if you have not put a lot of effort
write that down. Characters have stats; into your game design document yet.
write that down. Characters have The immediate goal is to identify all of
names; creating the characters’ names the core activities the player can per-
is a feature. What you are doing is form in your game. Each of these core
brainstorming the gross feature set of activities is composed of many individ-
your game. This particular method of ual actions the player performs. Each of
putting the game idea down at the cen- these actions is called a use case in the
ter of the page is good to get you Unified Modeling Language.

Brainstorming features
84 Chapter 7: Key Design Elements

JARGON: Use case—an interaction and the relationship line. The stick
between an actor and the software sys- figure is called an actor. Actors repre-
tem. A fully articulated use case is sented by a stick figure are most often
composed of both text describing a
users of your software, or players of
sequence of actions and a graphical
diagram showing the relationship of this
your game, who are interacting with
particular use case with others in the the game. It is better to use the
system. abstract term “actor” so you will see
all of the external users of your game
Collecting these use cases and writing system such as the single-player
them down will drive our process to player, the multiplayer player, the sys-
identify the requirements of our soft- tem administrator, and the database
ware. The software requirements will server of your online component. After
then help us develop the architecture identifying your actors, the use cases
for our software. The use cases repre- will flow rapidly. The use cases are the
sent function, and the architecture unique interactions between the actors
represents form. The Unified Process and the software system (game). The
is called use case driven because it is use cases are represented by a simple
the effort to capture our use cases that oval with an active verb phrase such as
drives the development. All of our “withdraw cash” or “analyze risk.”
future efforts in the construction of our
software are to further the realization JARGON: An actor is a user, either
human or another external system, that
of these use cases into a functioning
is interacting with the system under
software system. Now, what exactly analysis.
does a use case look like?
JARGON: A relationship is a line drawn
between actors and use cases, some-
times with extra notation that further
describes the type of relationship, such
as <<extends>> and <<uses>>.

The level of articulated rigor in a dia-


gram should be reasonably proportional
to your needs. For example, if it is
important to describe the relationship
line in better detail, use a one-word
A simple use case diagram featuring the use of an
automatic teller machine
descriptor between the less than and
greater than symbols. Common exam-
ples are the relationship descriptor of
It turns out one of the fundamental ten- <<extends>>, <<uses>>, where
ants of UML is that the language shall extends would communicate that a par-
be extensible, flexible, and ultimately ticular use case is really a special case
serve only to aid the process of distill- of a simpler base use case, and uses
ing and communicating the system would indicate that a particular use case
requirements. This ATM transaction employs another use case as part of its
diagram uses only three UML symbols: action.
the oval use case, the stick figure actor,
Chapter 7: Key Design Elements 85

I shall now plop Pac-Man down on mega-hit game, let us take a look at the
the cold steel of our examining table. innards of Pac-Man and see some of
Cutting the skin of a clean, tight, these use cases in action:

Display System
Display maze
Display characters and their animation
Display score
Display high score
Display credits
View movie (Ms. Pac-Man)

The use cases of Pac-Man that are related to


displaying and viewing

Player Input
Insert coin
Push coin return
Choose single player or multiplayer
Move up, down, left, or right

The use cases of Pac-Man related to player input


86 Chapter 7: Key Design Elements

Game Object Interaction


Wall collision
Eat dot
Eat power-up dot
Eat fruit
Eat ghost, send ghost to center of box
Pac-Man dies

The game object interaction use cases of Pac-Man

Miscellaneous
Receive extra man
Enter initials

Miscellaneous use cases for Pac-Man

We can also take a higher-level view of


Pac-Man and combine these low-level
use case diagrams into a generalized
use case view of the software package
as a whole. See the diagram to the
right.
Now you have a good tool for
breaking your game idea down into
visual parts that describe the required
functionality. This is very important,
because when your game exists only
as an idea expressed in a half-dozen
sentences, it is difficult to see the com-
plexity of your proposed game and
reconcile it with your business con-
straints. Looking at the UML diagrams
for Pac-Man, we confirm our under-
standing that this is a very simple
game. Looking over the diagrams I can

The combined use cases of Pac-Man


Chapter 7: Key Design Elements 87

see only four roles: a programmer for This process of understanding how
the 2D display system, a programmer something else was put together has a
for the game mechanics, an artist, and fancy name—reverse engineering. I
some audio. This of course is a very highly encourage you to perform some
small game, and a solid Pac-Man clone reverse engineering on other games
could happen inside a weekend for a that you are familiar with. We continue
two- to four-person team. with some sketches from other games.

Case Studies
It is now time to apply these tools to concept behind Diablo was to make the
modern games that are of greater com- user interface priority #1, not the
plexity than Pac-Man. Each of the story, not the size of the game, not the
following two games, Diablo and Gran number of different character types, not
Turismo 3, has enjoyed legendary mar- customized character appearance, not a
ketplace success, and each has spawned rich role-playing game mechanics set;
a lucrative franchise of sequels, expan-no, the focus was the user interface.
sions, and licensed products. Is there aIndeed, the mouse controls were a
common thread between these games? stunning left-click on monsters to
Did the developers in each case just getattack, left-click on chests to open, and
lucky, or were the developers just right-click to cast a spell. The interface
extraordinarily brilliant? I honestly doitself was appealing to look at with
not know how much luck was involved, large glass spheres that held blue and
but someone with a lot of intelligence, red liquids representing remaining life
skill, and time honed these two game and mana (energy to cast spells).
concepts into production plans that Shortly I will more carefully break
have succeeded far beyond the industry down the use cases of Diablo; but there
standard. I can show you the elegance is a tremendous amount of courage and
in the design of these games, illustrat-insight behind the user interface design
ing how, looking back, these were of Diablo. In the summer of 1995 I was
mega-hits from their conception. up late one night with a bunch of other
game developers talking about games
Case Study I—Diablo we could make. I remember we sug-
Diablo is a computer role-playing game gested just a simple variant of Gauntlet,
for the PC developed by Blizzard the arcade classic where you just went
North, originally an independent devel- around bashing monsters, collecting
oper of another name bought by gold, and powering up. I remember how
Blizzard during the development of we all laughed at the time and said
Diablo. Diablo featured the killing of there was no way it could be viable. No
hordes of monsters like skeletons, wan- publisher would see the game as fea-
dering around in a dungeon, gathering ture-rich enough to fund. Perhaps as a
gold, and collecting magic items all in bit of forgotten shareware, but no way it
the quest to vanquish ultimate evil—all could be a commercial game. At that
straightforward fun stuff. The key time RPGs such as Bethesda’s Elder
88 Chapter 7: Key Design Elements

Scrolls series were vast worlds with Use Cases of Diablo


hundreds of NPCs, dozens of cities, Diablo is a simple game, a polished
hundreds of locations, actual weather, game with strong production values
and time of day. Imagine making a game such as superb voice-overs and movies,
that left out all of these features and but we will see that Diablo is a simple
just concentrated on a tight interface game behind the features. I will cover
and high production values—that was the major features and elements of the
Diablo. game; I do not propose to create an
exhaustive reverse design document in
this chapter.

Y
Display System
Terrain: Draw floors.
Terrain: Draw isometric walls.
FL
AM
Terrain: Color cycling special effects for water
and lava (tiles do not animate).
Terrain: Ghost walls when a character is located
behind the wall.
TE

Characters: Render and animate characters (2D


sprites composed from 3D rendered models).
Game Objects: Colored outlines for interactive
objects such as treasure chests, magical rings,
monsters, and non-player characters in the town
center.
Spell Effects: Display any one of a couple of
dozen spell effects with dazzling animations and
cool sound effects.
Menus: Display menu choices.
Movies: Display the intro and exit movies to the
player.
Audio: Hear sound effects. The view related use cases of Diablo
Audio: Hear music.
Audio: Hear voice-overs.

Game Object Interaction


Move Player Character: Left-click to move the
player character.
Left-click Object Interaction: Interpret the left-click
on an object automatically by object type to mean
open a chest, attack an enemy, or move the player
to a location as above.
Load Level: When the player directs their
character into special trigger areas on a map
level, load the target map level. The game object interaction use cases of Diablo

Team-Fly®
Chapter 7: Key Design Elements 89

Right-click Object Interaction: If the character


has a spell bound to their ranged action, cast a
spell at this location on the map or on this
character (this could be either an offensive spell
on an enemy or an aid spell on an ally). Otherwise
if this character has a bow, fire an arrow at the
character indicated.

Character Management
Name Character: Small feature for user
customization to allow the player to bond with
their character.
View Character Stats: View attributes, health,
experience points.
Allocate Character Attribute Growth Points: When
the character achieves the next experience allow
the player to choose where they want the growth
points to be allocated, choosing from strength,
dexterity, intelligence, and constitution.
Inventory: Display the character’s inventory in a
“paper-doll” fashion with sockets for the
backpack, belt, helmet, hands, pants, boots, and The character transaction use cases of Diablo
tunic locations.
Inventory: Allow the player to shuffle objects
about in their backpack to “make room” for new
treasure and to abandon lesser treasure in favor
of higher prized treasure. Validate the placement
of inventory items based on their type. For
example, healing potions can be carried in the
backpack or in the belt pouch but not in the
helmet slot.

Quick Analysis of the Use Cases of


Diablo
Looking over the use cases of Diablo
you will notice that I have partitioned
Diablo into three subsystems: Display
System, Game Objects, and Character
Management. Below is a short discus-
sion of these systems.
The display system is just a 2D
isometric engine that is capable of ren- The aggregate use cases of Diablo
dering animating 2D sprites (quite
game also uses a 256-color palette inci-
probably used for both the characters
dentally. There is no question that the
and the spell effects). This graphics
graphics in Diablo look strong; the art
technology was hardly groundbreaking
direction was strong and led to a con-
in 1997; isometric engines have been
sistent look that was foreboding and
around since Q-bert in the arcade. The
well supported the theme of the game.
90 Chapter 7: Key Design Elements

Touching on character manage- slash has something to do with a crystal


ment for a moment, the display system in somebody’s head, demons from hell,
is called upon to also render menus a butcher, and dead townsfolk—plenty
such as the menus of the town shop- of motivation to keep our player charac-
keepers who have stayed behind after ter hacking away at the monsters in the
the arrival of demonic forces to make a game. The game object interaction han-
profit selling adventuring gear to the dles the combat, spell casting, opening
player’s character and the inventory, doors and chests, triggering traps, and
spell, and character management level changes. Notice that my use cases
menus. These again are just menus, above do not have any detail on how
displaying customized fonts, buttons, combat, spell casting, or the opening of
icons, and cool negative space textures. doors and chests works. Those are
The characters in the game ani- detailed use cases that would be cov-
mate well due to the aggressive use of ered in the design document; this chap-
3D rendering to produce the 2D frames ter is focusing on the key design
from which to composite the 2D elements of the game in the effort to be
sprites. This technology is not new sure we have the correct scope for our
either; our example Pac-Man uses just game.
a few frames from open mouth to My use of UML’s use case notation
closed mouth to animate our hero, and has been purposely slim with the use of
the Wing Commander series used an just the simple table format of major
array of images (about eight to sixteen user interactions and a few diagrams to
individual images) from all angles show the relationship of these interac-
around the starfighter to produce its tions with each other. In later chapters I
“3D” starfighter game. The plan for will discuss more advanced use cases
Diablo was to again use established as we progress through the game
technology but take it to a quality level design and head into technical design.
never before seen in games by using
over 5,000 frames of animation for just Case Study II—Gran Turismo
the three main protagonist characters. The Gran Turismo series for the
This dedication to visual fidelity repre- PlayStation and PlayStation 2 platforms
sents a lot of confidence in staying with published by Sony is all about racing
established technology but taking it to cars. Every conceivable subgenre of
a very high level of quality. I know of racing has been explored over the years
another game I will not mention by as well as many sequels offering the
name that became severely distracted latest technical wizardry for themes
with the pursuit of volumetrically pro- already visited. Racing cars have been a
jected pixels, known as voxels, for the staple of video games since the days of
rendering and animation of their char- the Atari 2600 with Night Driver, where
acters. This distraction helped to the road and terrain are a solid field of
cripple this title. black demarked thoughtfully with some
The game object interaction sys- magenta lane markers. Nighttime rac-
tem runs the heart of the game. This is ing has continued to evolve to Tokyo
a game of hack and slash and loot gath- Street Racer on the PS2 and Project
ering. The context of this hack-and- Gotham on the Xbox. Racing games
Chapter 7: Key Design Elements 91

deliver an experience that almost the player has only a couple of choices
everyone wants to do—race cars. Some in the beginning of the game. After
want to race at night, some off road, spending all his cash, the player then
some want to race taxis, some want to sets out to race some beginner races to
run over pedestrians, but hey, there is build up a supply of cash so he can mod-
a racing game for everyone. ify his car. The car modification game-
What is it about Gran Turismo that play is the hidden weapon of Gran
makes it a mega-hit? Was it luck? Was Turismo. Here players can ogle new
it a large budget? Or was there some tires, polished ports, oversized turbos,
sort of planning and direction behind and a host of other modifications to
Gran Turismo? I am presenting a case their car. The exhaust improvement
for thoughtful planning. conveniently enough has the highest
Gran Turismo’s (GT) vision state- bang for the buck and will most likely
ment was most likely something like be the first purchase for any player.
“The best racing simulator on any plat- Here the player bonds with his car, and
form.” To back up that vision statement all the cool parts available drive the
we need to look into what it would player to go back to the track and keep
mean to be the “best racing simulator.” racing. This context for the racing is
The best is so encompassing in its compelling. It is the same inven-
superlative that Sony set out to domi- tory/party growth dynamic from a
nate all other racing games. Hmm, that role-playing game like Diablo—a most
is a tall order. The first step is to pick compelling feature.
the type of racing Sony would model. In This racing around a track and
the end, Sony chose to model a variety modifying the car goes on and on
of racing from raw amateur racing of throughout the whole game. What
minivans to world-class events featur- changes are the events, the tracks, the
ing million-dollar racing machines competition, and most importantly, the
achieving the highest form of automo- car the player is racing. Gran Turismo
tive engineering. features hundreds of cars, dozens of
So, at first glance it would appear tracks, and scores of events. The
that Sony violated the design guideline events are classified into licenses from
of focusing on one game and a tight set Beginner to International A. Players
of features and doing them well. How- can always find a race and almost
ever, if we take a look at how they always can earn some cash to make
presented these various classes of rac- forward progress on acquiring new
ing to the player, we will see that it was goodies for their car. This car modifica-
a seamless presentation of gameplay tion meta-game is what ties all of Gran
from the lowliest of minivans to the Turismo together and presents to the
Suzuki Escudo. player a world where they can start
When you load up the simulation with a modest real-world car, and
mode of Gran Turismo for the first time through racing, modifications, and
(it doesn’t matter which version), you licensing they too can be an interna-
are given a small amount of credits to tional racecar driver. This is the
purchase your first racecar. Taking a brilliant vision behind Gran Turismo—
look at the various car manufacturers, it slowly builds up to the super cars,
92 Chapter 7: Key Design Elements

and all along the way the player is about racing cars to being able to carry
hooked and believes in the world and on an extended conversation about gear
knows why he is playing this game. ratios and coil-overs.
Later in the series Gran Turismo I justified Gran Turismo’s success
added rally racing. This additional mode without ever mentioning that the game
of racing was also seamlessly inte- has always boasted the most realistic
grated into the core game. Indeed, the physics model for its racing, the most
player’s rally racing cars just need to gorgeous graphics, and a complete
change the tires to racing slicks and aural experience second to none. All of
they would often do well in the pave- these technical features are of course
ment events. In classic arcade fashion, critically important to an electronic
new tracks would only be revealed to game; however, it is the key features of
the player after completing a racing a game that will lead to success and
series or a licensing program. The rally enable the project to fully realize the
events in the later GT series upheld efforts of the whole game development
that tradition with their own set of rally team.
tracks to unveil. The Gran Turismo
series is the greatest of the racing Use Cases of Gran Turismo
games because it fully delivered on the Here are the key features of Gran
gameplay that is central to racing and Turismo 3 distilled into some use cases
takes players from knowing nothing for review:

Car Driving Controls


Press the Gas Pedal
Use the Normal Brakes
Turn the Car Left or Right
Shift the Gears Up or Down
Use the Emergency Brakes

The player input use cases of Gran Turismo 3

Display and Audio System


Render the Track, Terrain, and Sky
Render the Cars
Render the Special Effects
Play Sound Effects and Music

The display and audio use cases of Gran Turismo 3


Chapter 7: Key Design Elements 93

Shell Activity Menus


Access Buy Car
Access Garage
Access Wash Car/Oil Change
Access Race Car
Access Modify Car
Access Licensing Tests

The shell menu use cases of Gran Turismo 3

Modify Car
Browse Major Systems: Engine, Transmission,
Aerodynamics, etc.
Review Individual Item: Read the stats of this
item and see how it would look on the car if it is
an external add-on or what the change to weight
and power would be if it is a performance item.
Purchase Item: Buy the specified upgrade part.
Install Item: Have the newly purchased item. This The modify car use cases of Gran Turismo 3
especially makes sense for the purchase of tires;
it is useful to the player to be able to choose from
a suite of tires.

Quick Analysis of the Use Cases of player has to play with. Driving the car
Gran Turismo and modifying the car is the game;
Again, this chapter is not discussing everything else is in context of these
how to complete a detailed design doc- two activities.
ument, so I have only covered the Gran Turismo is successful largely
higher-level functions of Gran Turismo. due to a clear vision and plan for the
But in two areas, driving the car and game. It was perfectly designed to cap-
modifying the car, I drilled down to the ture the largest segment of the market
individual interactive activities the who would enjoy racing games. In fact
my father and his best friend went out
and purchased PlayStations after play-
ing Gran Turismo 1 at my house and
went on to compete with actual cash
prizes for virtual driving seasons.
These two men in the over-50 demo-
graphic were not hard-core gamers;
they were mass-market consumers
who bought the PlayStation just to play
Gran Turismo. That is a true hit.
The use cases of Gran Turismo from five miles up
94 Chapter 7: Key Design Elements

The Key Design Elements of Your game design that are distracting in
Game complexity? Are these parts only fun to
I am sure you are now comfortable with a hard-core set of fans? Are these fea-
this light introduction to UML use tures hidden from the novice player?
cases. They are hardly more than a Can they be cut altogether?
table of actions and a simple diagram Take a look at your design; are you
composed of a stick figure and bubbles sure you are only making one game? I
of action. Now I want you to think about think a lot of the projects that slip by
the interactions of your game and write years make the mistake of trying to fold
down its use cases. more than one game into a single game
The methodical way of discovering project. You do not need to make more
your use cases is to focus on the core than one game to be competitive. Just
activity of your game and write down all make a small set of features that are
the things the player does in the core of inherently fun, make those tight, and
your game. Work your way outward, take the production values as high as
writing down the other activities you possible. This is how a hit is made.
have planned for your game, such as The Battle of the Counterterrorists
buying gear, building a house, research- Games
ing flame throwers, learning a new
spell. Keep working outward until you There are two games that neatly make
can’t think of anything you missed. At the point I am discussing in this chap-
this stage we are looking for the major ter, nailing the right key design ele-
activities, so don’t think about how ments. These two games are Rainbow
many buttons the save menu will have, Six and Counter-Strike. Both of these
just what are the big interactions games feature special operations type
between the player and the game. protagonists working as a team to
Then sort these activities into defeat terrorists and other modern day
groups based on similar functionality as bad guys. An experienced development
I have done with Diablo and Gran team produced one of these games with
Turismo. Finally sketch out the use a full development staff for an estab-
case diagram complete with the player lished publisher. The other game was
actor and your use cases. It is useful to developed principally by two fans who
create diagrams for each group of activ- have had experience making mods with
ity. You have now articulated your modest financial backing of a develop-
gameplay in both an easy-to-read text ment house.
format and graphical format. These use Both of these games are successes
cases will be the basis of refinement for and I would be proud to have been a
the game design and technical design team member in any capacity on either
stages. However, in this chapter we are of these two projects. That being said,
looking for key design elements. Exam- Counter-Strike clobbered Rainbow Six.
ine your groups of activities and look Counter-Strike is the mod produced by
hard for a set of activities that stand out a small staff of fans working part-time,
as potentially unnecessary to the core while Rainbow Six is a full game with
of your game. Are there parts of your many man-years of effort. If game
development is so hard, how could
Chapter 7: Key Design Elements 95

these fans have done so well compared Are We Playing a Mission or


to the pros? Planning a Mission?
While poor technical execution I think the preplanning of the missions
will never make a hit game, the answer is what prevented Rainbow Six from
to this question lies again in the key taking off to a higher level of success.
design elements of Counter-Strike The problem with such a detailed mod-
versus Rainbow Six. eling of the preplanning stage is that it
The Key Design Elements of
was cumbersome in three ways: First,
Rainbow Six the player already had context for the
missions through the campaign struc-
Rainbow Six was the earlier of the two ture and the team management feature
games; to some degree this can never sets; second, it was cumbersome due to
be a fair comparison, as the Counter- the user interface of the preplanning. It
Strike mod team had Rainbow Six avail- was like having to act as some kind of
able to experiment with and to refine. game scripter, programming your team-
Rainbow Six was designed for single- mates. And finally it was cumbersome;
player play, and while it did have multi- each time you died or otherwise failed
player mode, the game was much more on your mission, the player would
playable in its single-player mode. break out of the cool, immersive action
Rainbow Six featured an extensive of the mission and be forced to calculate
campaign structure where you managed new scripting paths for their AI team-
the team members of your elite special mates. All of these awkward bits leaked
forces. This team management would out throughout the game-playing expe-
appear to be at first glance quite fun rience, leaving me wondering if the
and supportive of the context of playing designers of the game ever came to
the missions of Rainbow Six, much like agreement about whether the game
Gran Turismo, and that might be true. was about playing the mission or play-
However, the Rainbow Six team added ing the premission planning.
another context layer to the game: mis-
sion planning. Here the player planned RAY SPEAKS: I totally agree. I recall
being very irritated with how difficult it
out the mission to such a degree that
was to equip your party, choose your
they could tell their team members party, plan out your party’s actions etc.
when to throw the flash grenades and There was no learning curve; instead
which doors to break down and which you were dumped into an equipping-
to sneak through. After the planning your-character simulation, which,
stage was complete, the game acted fundamentally, was not the game I had
somewhat like the blend of a movie and thought I was purchasing. This created
a game experience. The movie experi- a perception/reality gap for the con-
ence came in where your AI team- sumer that made people not want to
play the game.
mates, whom you gave instructions to
prior to mission start, would follow
your orders and have whatever success
might befall them; the game part was
that you still had interactive control
over your character.
96 Chapter 7: Key Design Elements

The Key Design Elements of game. Players would carry their credit
Counter-Strike balance forward each time the mission
Counter-Strike was designed to have was over, and the frag counting would
only a multiplayer mode; not even a continue. Thus, Counter-Strike was
training simulation against bots like designed in the beginning to be a
Quake III was available. Counter- replacement for the endless multi-
Strike’s brilliance is much like Diablo’s player fragging and instead be a much
in its courage to strip away game fea- more compelling way of playing
tures and polish the core game until it extended multiplayer first-person
is humming with game shine. For years shooter action. All of this was accom-
in first-person shooters, when you died plished by the thinnest of user inter-
you instantly respawned to frag again. faces, on top of Half-Life’s version of
This is of course a load of fun, as one the Quake engine.
could easily spend a few hundred hours In my opinion the Counter-Strike
blowing away your friends before you team really understood the gameplay
get bored. But eventually people did experience they wanted to deliver—
get a little burnt out on straight death the most visceral counterterrorist
match, and a desire for something more gameplay experience, period. In the
manifested itself. These explorations case of the Rainbow Six team, I think
for more came in the way of mods for they were handicapped by the source
Quake and Unreal that had different vic- material from Tom Clancy’s Rainbow
tory conditions for winning such as Six in choosing to model the extensive
capture the flag. The team that pro- preplanning stage of a mission. That
duced Counter-Strike took the idea of stage is no doubt realistic and the larger
a mod with context to the next level portion of the job in a real counter-
(that, by the way, is an overly worn terrorist mission, but it just gets in the
phrase in the industry, but it sure is way of having fun hunting terrorists.
handy). And we are in the profession of deliver-
The next level of gameplay in a ing fun, not realism. Realism should
first-person shooter was to wrap an only be used to create fun, not detract
economy about the fragging of the from it.
game through credits one earned by Most Popular Multiplayer Game
winning missions and getting frags.
This economy would enable the player It is interesting to see that Counter-
to buy larger and more capable weap- Strike is the most popular multiplayer
ons, armor, and grenades, which in turn gameplayed online, with anywhere from
would enable him to perform even 25,000 to 60,000 simultaneous players.
better and potentially get even cooler One could say that Half-Life itself was a
equipment. This feature combined with mega-hit with over two million copies
the idea of a death where the player had sold, whereas Rainbow Six was a more
to sit out the rest of the turn really modest success, and use that argument
helped to focus the player on the harsh- to explain why Counter-Strike is the
ness of the Counter-Strike world and more popular counterterrorist game.
put some good tension back into the However, that argument fails when you
realize people do not play games they
Chapter 7: Key Design Elements 97

do not want to play. Sure, marketing Of Intersecting Sets and Elite Forces
can help a game get off the ground to A second-tier game will sell its most
some extent, but the games business is copies in the first few weeks when the
still dominated by word-of-mouth sales early adopters who have kept on top of
where one fan recommends the title to all the previews will buy the game.
another. The big titles that receive During this time period the online
large marketing budgets are also fun reviews are written up. To my surprise
and playable games that enjoy strong it appears that strong reviews cannot
word-of-mouth sales. Unlike the movie sell a game either. The most excellent
business, an aggressive marketing cam- Elite Force (not anywhere close to
paign cannot save your bacon. There is being a second-tier game) developed by
a long-standing tradition of going to bad Raven received the most stellar press
movies just to see how bad they are; reviews one could ask for, including
this does not happen with games. game of the year from most publica-
Games are too expensive at about $50; tions. Built on the Quake engine and
no one is inclined to buy a game just to developed by a top developer, it had
see how bad it is. However, a bad lavish press coverage generating plenty
movie has a couple of chances. First of of awareness before the release of the
all, just seeing what mischief with tod- title. The title was reasonably on time
dlers Arnold Schwarzenegger has and reasonably bug-free. The team
gotten himself into complete with some behind the game was so into the game,
buttered popcorn, a fountain soda, your they produced a free expansion pack.
friend’s company, and a walk about the Elite Force was firmly expected to be a
mall is a good entertainment value. major hit inside of Activision. I do not
This movie will go onto DVD, VHS, know the actual numbers on the inter-
rental, cable, then prime-time TV, and nal return-on-investment worksheets,
eventually the USA channel—plenty of but I have heard they were expecting
ways for a non-hit movie to recoup and 700,000 to 1,000,000 units in the first
make a small amount of money for the year worldwide. Elite Force went on to
studio. do about one-third of those numbers.
The 50,000 people playing Coun- Why? Why did Elite Force not succeed
ter-Strike online is even more impres- when not a single person at Raven,
sive when you think about the ratio of Activision, or the press could have set
people playing the multiplayer portion the game up better for success? Is it
of a game relative to the single-player bad luck? Is the gaming public so
portion. It has been casually measured fickle?
across a number of games, excluding I have a theory why Elite Force
the massively multiplayer online role- failed to meet Activision’s expectations.
playing games, that only about 5 to 15 First of all, the game did sell well at
percent of the purchasers of a game will approximately 300,000 units generating
go on to play it in its multiplayer for- a gross revenue of $15 million. That is
mat. Thus Counter-Strike was much enough money to make a living for all
more successful than Rainbow Six, and involved and keep at it. However, I
it was working with only 5 to 15 per- think it is the expectations that were at
cent of the counterterrorist market.
98 Chapter 7: Key Design Elements

fault; I don’t think the game could ever over 25 years. Sounds wonderful, so
hope to sell more units than it did. Sure why did this game not sell a million
a truly immense advertising campaign copies or more? Warcraft II was just a
with television commercials played 20 sequel to a game of orcs and humans
times a day on all channels and appear- gathering rocks and trees and banging
ances of the game on all of the late- on each other. That sold millions of
night talk shows would have sold copies; why shouldn’t Elite Force sell a
maybe 100,000 to 200,000 more copies, million? The reason is in the key
but Activision would have had to pay design elements themselves; the very
for each copy they were selling. My strategy used to make a hit—a cross
theory is that when you are experi- between Star Trek and first-person

Y
menting with genre crossing and blend- shooters—is what held Elite Force
ing, be sure you are creating a union back.
FL
between the two or more sets of play-
ers you are marketing to, and not creat-
Let us first take a look at Elite
Force from the perspective of a Star
AM
ing the intersection between these Trek gamer. Star Trek is about a
markets. starship named Enterprise exploring the
RAY SPEAKS: This certainly is an art
galaxy on romantic adventures that are
form, but I think it can be done; it’s just solved through cleverness, diplomacy,
TE

difficult. Creating the correct impression or the gunboat diplomacy that the
on the fans of both genres and making Enterprise can deliver with photons and
the parts that don’t appeal to the other phasers. The Star Trek gamer is look-
genre’s fans at all times accessible is ing to live the experience depicted in
probably the hardest thing to implement, the television episodes and movies.
but this is critical to achieving main- These episodes feature fantastic sci-
stream success through selling to a few
ence, starship combat, and exploring
hard-core genres in a cross-genre
game.
various social themes in a futuristic
context. Star Trek does feature combat
The two markets for Elite Force were between individuals in the form of the
the Star Trek gamers and the first- hand-held phaser, a device that you just
person shooter gamers. Activision has point and shoot to disable or to disinte-
been working hard for years trying to grate. This weapon reveals an utter
find a breakaway hit for the Star Trek disdain for prowess of personal martial
license they paid so dearly for, and skill; this hand phaser is almost a nerd
teaming up with world class developer fantasy where they can get back at
Raven and using the fabulous Quake every childhood bully by just pointing
engine should produce a lavish 3D- their garage door opener—and bzzt!—
game with production values far and no more enemies. The Star Trek gamer
above any that a Star Trek gamer has is not looking for a first-person shooter;
seen before. And for the first-person there is nothing in the Star Trek uni-
shooters who are tired of blowing mon- verse backstory that leaves the player
sters up in worlds freshly created with wanting to explore a shooter. The most
little or no backstory, Elite Force successful Star Trek games have been
offered the Star Trek universe, which the adventure games 25th Anniversary
consumers have had exposure to for and Judgment Rites, as well as the

Team-Fly®
Chapter 7: Key Design Elements 99

starship games of Starfleet Command, personal combat. Sure, Kirk would slug
Starfleet Academy, and Armada. it out with the occasional alien, and
From the first-person shooter per- Spock could put someone to sleep by
spective, an FPS player traditionally pinching them; either way, Star Trek
looked for the technically impressive lacks that visceral appeal.
and challenging games such as the Star Wars, on the other hand, has a
Quake and Unreal series. However, glorious tradition of martial combat on
after the release of the story-rich the personal scale through the use of
Half-Life, the industry realized that the light sabers. This style of combat was
FPS crowd would love to have a good indeed a strong success with the Jedi
reason to exercise their martial prow- Knight series from LucasArts. Finally,
ess. The creepy world of Half-Life is a let me repeat, Elite Force was not an
good reason, the pulse-pounding excite- unsuccessful game; it was a great
ment of World War II through Day of game, very well produced. And missing
Defeat is a great reason, and hunting the expectations set for it is not a
terrorists with a submachine is always reflection on the execution of Elite
great fun. But again the Star Trek uni- Force, but rather a reflection on the key
verse lacks any compelling imagery of design concepts of the game.

Some Straight Questions to Ask Yourself


The case studies I presented intro- Write down your game’s genre or
duced use cases from the Unified genre blend, and why.
Modeling Language and illustrated
what I mean by determining the key Will the Game Be Single-Player,
design elements of your game. Multiplayer, or Both?
I ask you to pause just a moment Does your game play well as a single-
before you wield your scalpel and slice player game but perhaps not make
off the most extraneous bits of your much sense as a multiplayer game? Or
game design. I would like you to first is it the other way around where it
get a bit more material down on a sec- takes real humans to play against to
ond sheet of paper to consider while make it fun? Or is it reasonably fun
you review your key design elements. either way?
Write down single-player, multi-
What Genre or Genres Does Your player, or both, and why.
Game Feature?
First, what is your game’s genre, such What Is the Platform?
as adventure, role-playing game (RPG), Which platform are you targeting: PC,
real-time strategy (RTS), real-time tac- handheld, Xbox, PlayStation 2, or
tical (RTT), action, first-person shooter GameCube?
(FPS), puzzle, sports, or some other Write down the platform or plat-
genre? forms you are targeting, and why.
Or is it a blend of genres?
100 Chapter 7: Key Design Elements

What Is Your Target Market? What Major Technologies Are You


Is this a game anyone could enjoy? Or Using?
is it targeted for the core game market Is your game to be 2D or 3D in its fun-
of males 18 to 45 years of age? Are you damental presentation? Will it use a
targeting women as well as men? commercial engine? Is there something
Children? What is the violence level in special about the physics? Perhaps you
your game? The language? Sexual envision cell-shaded rendering of char-
content? acters or the scene.
Write down your target market, Write down the major bits of tech-
and why. nology you will employ in your game,
and why.

Now What?
Notice I did not give any opinions or notes you have taken on game concept,
suggestions on how to answer those business context, and the feature ques-
questions or which answers I thought tions asked above. Then I want you to
you might choose. It is not my place to put this book aside and just keep visual-
tell you that a cell-shaded 3D RPG izing your game. Get up and take a
would be the next big thing on the walk, get something to eat, and come
Game Boy Advance. No, the answer to back to your table of notes. Now, start
the questions above need to come from slicing out the parts of your game fea-
your heart, that place of inner vision ture brainstorm that are not actually
where you can see and play your game central to your game design. Before
in your mind’s eye. That gameplay in you invest in creating a hundred-page
your mind—I want you to write that game design document and develop a
down. This is your game. If you told me total technical design, you should figure
your game concept, I could offer sug- out what you are making. The game
gestions and opinions, but they would design and technical design stages are a
be just that—opinions and suggestions. lot of work; be courageous and kill the
For this game of yours to be a success features that are superfluous before
you must be able to have a strong you spend any more effort on them.
vision for how your game will play. All of the great games have a small
Now find a table someplace com- feature set that is well polished. Make
fortable and put in front of you the your game great.
Chapter 8: Game Design Document 101

Chapter 8 > > > > > > > > > > > > > > > >

Game Design
Document
What Is a Game Design
Document and What
Does It Do?
When one says “Look it up in the
design document,” folks are generally
referring to the game design document.
This is the fun document that details all
of the characters, the levels, the game
mechanics, the views, the menus, and
so on—in short, the game. The game
design document for most designers is
great fun; here they get to flesh out
their vision with muscles and sinew on
top of the skeleton of the game concept
that it was before. By no means am I
saying it is easy to create a complete
design document. Creating a finished
design document is so difficult I have
never been able to finish one of my
own, nor have I seen anyone else finish
his or her design documents. With my
two latest projects, Starfleet Command:
The Next Generation for Activision and
Black9, I am certainly taking the design
efforts to our highest levels, and I see
the results paying off with faster and
stronger production.
The game design document is part
of a suite of documents that specify the
game you are creating. All of these
Where the game design document lies in the project
life cycle
102 Chapter 8: Game Design Document

documents I collectively call the pro- going to do, we need to do a bunch of


duction plan: thinking. Writing down what we have
n Concept/Vision/Proposal thought about in the form of diagrams
Document and notes forces us to drive the quality
n Game Design Document and quantity of thinking to the required
level for making a production plan.
n Art Design Document
Knowing what we are going to do will
n Technical Design Document help us answer a great deal more plan-
n Project Schedule ning questions: Who is going to do
n Software Testing Plan them? How long will it take? What
n Risk Mitigation Plan needs to be done prior to getting that
done? What features do we need to cut
to give us time to do that? What are the
risks in this project? This is all the
most basic stuff to kick off a software
development project to reassure each
other we know what we are doing, and
incidentally most good publishers
require this planning. This chapter will
focus on the game design portion of the
production plan.
There are several good books on
the market that discuss game design in
particular. This book aims to cover new
ground by discussing game production
and development as a whole of which
game design is a subtask in this greater
effort. What I will not do is design your
game for you. I will not be offering
opinions on whether your game should
be multiplayer or 3D or online or all
three. I have neither the inclination nor
The components of the production plan
the hubris to make a book offering such
suggestions. I am merely presenting a
The purpose of creating all of these rigorous and systematic approach to
documents is to know what we are game design you might apply to your
going to do. To figure out what we are own creative vision.

What About the Proposal Document?


An observant reader will notice that I few years ago established developers
have omitted a formal discussion of could write up five to ten pages of game
what should go into your proposal vision and accompany it with some
document, which you would show pub- sketches and likely receive funding if a
lishers in order to receive funding. A publisher believed in the concept. As
Chapter 8: Game Design Document 103

time passes, the competition gets only the stronger, more willful develop-
stronger and the games themselves are ers being able to develop original
larger in scope and require deeper tal- content—the holy grail of all develop-
ent and skill to execute competitively. ers across the land.
The publishers are now expecting to I am suggesting specifically that
see a playable prototype of your game you go ahead and create the first draft
demonstrating all the talents your team of your game design document before
is bringing to the table from program- you create your proposal. There are a
ming, art, and design to sound and few reasons for this: First you still
animation. don’t really know your game, so if you
I am not suggesting that you will take the time to create a first draft of
not need a vision document or a pro- your game design document, you will
posal to pass around; you will need one create a much stronger vision docu-
to sell your game after you have a play- ment and proposal. When you take the
able prototype to demonstrate. The game concept in your mind and first try
downside of this trend is that the devel- to lay out a proposal, you will find a
opment house has to shoulder a larger need to use vague language in parts (or
portion of the financial risk of the pro- just outright guesses) to describe your
ject by performing the early financing game. But if you have your game
for the project. This in turn leads to design document in your hands, you
will be able to write a tight proposal.

When Do You Write the Game Design


Document?
You should write your first draft of the comfortable with a strong designer at
game design document immediately the helm of the ship articulating the
after narrowing down your key design game’s design from a single, focused
concepts from the preceding chapter. mind. I do agree that you need to have
However, as I will show you, the game a visionary who has ultimate ownership
design document is a large undertaking of the game’s design and who holds
itself in the breadth of topics to be executive control, but I advocate judi-
detailed. ciously distributing some of the more
You might be reading this book modular, more straightforward tasks to
from a variety of different perspectives: other team members. Or at least pro-
as a producer or project leader or hold- vide textual or visual sketches and
ing some other position in the industry allow others to elaborate on your
or looking to get into the industry. If designs. The reason for this delegation
you already have a team of folks to is twofold: One, creating a game design
work on this game with you, I encour- document is so much work that it is
age you to distribute and delegate natural to break the job up across multi-
portions of the game design document ple people to get the work done more
to your team. This is somewhat contro- rapidly and with higher quality. My
versial, and I am sure a good many of other justification for this delegation is
my peers would disagree and feel more that this is one of the effective ways
104 Chapter 8: Game Design Document

you can build a strongly bound, effec- because many of your team members
tive team for your project. They will may be new to game design or lack the
not be able to disengage from the pro- creative initiative that your designer
ject easily if it is their ideas and plansself has. After all, that is why you are
that make up the project. leading the production plan. If you lay
out what they need to write up, specify
what diagrams they need to create and
what their text needs to discuss, and
provide a template, they will not feel
frustrated but will feel empowered in
contributing to the project in the early
stages. This will help them understand
that their role is important and create a
feeling of project stakeholder in the
team member.
Again, I have never seen a com-
pleted design document, and one of the
reasons is that game design documents
need to be maintained through the
course of production. With every game
developer wishing they had just
another few weeks to add this bit of
polish to their games, it would be logi-
cal to think that every game design
document could have added a bit more
detail here or clarification there. In the
end, you should measure the complete-
ness of your game design document by
how well the team was led by the game
design. How much confusion or lost
work was created by a lack of detail or
clarity in the document? How much
reworking of the gameplay had to be
performed in the course of production
due to ill-thought-out designs? These
Game design activity is always happening. are the questions you should ask your-
self in the postpartum stage of your
game’s cycle.
To delegate design tasks well, be sure Take the time to review your game
to take the time to clearly describe to design document at the beginning of
your teammates what topics you need each milestone to be sure your devel-
them to design and provide a style opers have ready the most accurate and
guide or template that you require the up-to-date reflection of the game’s
work delivered under. This is important design before they commence that
Chapter 8: Game Design Document 105

milestone’s work. Also look farther into groundwork for elements of the game
the future to document design changes no longer needed even if they are
so that your developers do not lay the beyond the current milestone.

What Should Go into a Game Design Document?


Game design documents are more akin standard? I am sharing my game design
to business plans than blueprints for a requirements as well as providing
building or a mechanical engineering information from other development
diagram in that the industry has devel- houses illustrating what we are doing in
oped no standardized formal the field and what we are looking for in
requirements for a game design docu- a game design document.
ment. This is part of the lack of
development discipline and rigor that is
pervasive throughout the software
industry. Games used to be so much
smaller in scope and complexity that it
was much simpler to document the
game design, so no great amount of for-
malism was required. The movie
industry has settled down to such a
degree that there are hundreds of uni-
versities and colleges that offer specific
courses on how to write a movie script.
The game industry grosses more reve-
nue than Hollywood does at the box
office, yet just a few pioneering univer-
sities and colleges are offering classes
on game programming and art for new A happy, productive game developer backed up with
media. I know of no class that teaches strong designs
game design. Thus, we are just too
young an industry and our technology The game design document should
is changing too rapidly for us to settle describe to all the team members the
on the requirements of a game design functional requirements of the features
document. Another complication is that they are implementing for the project.
all of us get our starts on smaller pro- The ideal game design document is
jects or conversion work where the complete and has seen revisions to fix
demand for a detailed design document gameplay and add clarity. In theory the
is substantially lower, robbing us of an game developers should be able to take
opportunity to grow our game design their copy of the game design docu-
skills before we reach the Big Project. ment and run with it. In practice it is
What am I going to do about this very difficult to create a document that
lack of a game design document strong.
106 Chapter 8: Game Design Document

Section One: Defining the Game many times to tolerate their time being
I will discuss the content of the game frittered away, and they demand a
design document by using sections; the strong and clear vision for the game.
order of the sections was chosen to Every game design document
lead the reader from general informa- should have a section at the front that
tion concerning the project at large clearly describes to the reader what the
towards the details of the project that game is. It should be written so clearly
are specific to only certain members of and succinctly that it does not leave any
the development team. vagueness in the reader’s mind what
the game is about. It should describe
Articulate What the Game Is as the world, the gameplay, and what moti-
Clearly as Possible vates the player. Following are a couple
I remember reading the postmortem of of examples.
Tropico in Game Developer magazine. I Pac-Man: An arcade game featuring
really appreciate reading postmortems a single joystick for controls where the
of game projects, and I am always player directs the protagonist, Pac-Man,
grateful to the developers who have to clear levels of mazes of dots by eat-
the courage to document what they ing these dots. The enemies of our
did wrong and what they did right. The hero are four cute pastel-colored ghosts
most amazing thing I read in the that will eat our hero unless our hero is
Tropico design document is that after a under the influence of the big power-up
year of development the team came to dot.
the shocking realization that there were Doom: A first-person shooter
about half a dozen different visions of played on the PC platform, where the
Tropico being developed by various player controls a space marine in a 3D
team members. Each team member environment against a horde of bizarre
was implementing his or her own monsters. The player has a config-
version of the project! I was first urable set of controls taking advantage
shocked to hear that something like of the keyboard, mouse, or joystick.
that could happen; I was then shocked The gameplay is action based with no
to read that the team had the courage strategic or role-playing elements;
to document it and share it with the instead the game depends on bleeding
industry. Then I thought about it more edge technology providing a rush of
carefully, and I realized that every game adrenaline through its aggressive atten-
project has the potential to splinter off tion to carnage. Single-player mode will
into separate projects and that many provide three episodes of missions
other projects have suffered from the against an increasingly horrible cast of
same lack of central vision. I believe monsters and scary settings; the
this is why so many developers advo- multiplayer mode will feature an
cate a strong lead designer who dictates unprecedented level of player-to-player
all decisions from art to dialogue to combat.
placement of buttons on the screen. From my own experience I know
Experienced developers have been there are many personalities in the
burned by design-by-committee too game business; some personalities
belong to wonderful human beings you
Chapter 8: Game Design Document 107

want to spend a bunch of time with; genuinely pissed off person and a con-
other personalities are less inviting. I fused team.
think a lot of projects suffer when the
leaders of the projects choose to prac- Set the Mood
tice conflict avoidance. I would hazard a When the game is so clinically des-
bet that members of the Tropico team cribed as I advocate above, often the
sensed they were working towards dif- soul of the game is lost in the transla-
ferent goals yet decided not to rock the tion. Many games are role-playing
boat either in an effort to create a more games set in a fantasy world. This does
pleasant workplace or to selfishly give not mean that Ultima, Bard’s Tale,
their own version of the game more Baldur’s Gate, and Pool Radiance are
time to grow (perhaps to a level of com- the same game. I like to see a short
mitment where it could not be cut piece of fiction at the opening of a game
back). This is an area I find particularly design document to quickly give me
hard to manage. I think my teammates the feel for this world, to put me in the
would be surprised to hear me say that. mood. The intro movie in a released
They would probably say I lead the game has the same function: to intro-
team well and with strength. However, duce the player to what sort of
I must confess there are only a few challenges the game holds.
things in life I like to do less than to cut Some games do not lend them-
off the design direction of one of my selves well to a fiction treatment, such
team members. This is because while I as the abstract puzzle and classic arcade
believe a game project needs executive games of Pac-Man, Frogger, and Tetris.
direction, I also believe the best games Even so, a snippet of words from an
are made when everyone’s energies are auto-racing television commentary
woven into a stronger whole than any intermixed with entries in a racecar
individual can deliver. Therefore my drivers’ journal discussing the upgrades
advice is to take the time to write up he has performed on his car and how
exactly what your game is and present desperately he needs to win this race to
it to your team members as early as pay his debts would quickly draw me
possible. If you know one of your team into the world of Gran Turismo.
members despises real-time strategy
games, but you are committed to creat- Section Two: Core Gameplay
ing a real-time strategy game, no good Now we move quickly from general
can come out of misleading him—tell statements about the game to direct
the truth straight up. He will either do comments about the core gameplay. We
his best to create the best real-time want to fix in the reader’s mind the
strategy game he can or move on to vision and feel for the gameplay early
another project that fits his interest. on so that when he digests the rest of
But by no means would it be a good the document it will be in relation to
idea to keep investing in a team mem- the core gameplay and create a tighter
ber making role-playing features that understanding of the game design.
you cannot use. When it comes time to
cut those features out, you will have a
108 Chapter 8: Game Design Document

The Main Game View The Controller Diagram


Some games have only one view of the A critical diagram to create is the con-
game; others have several view modes troller diagram. This diagram shows at
or even different levels of gameplay a glance how the game inputs are
with different views. This chapter in mapped to a game pad controller or a
the game design document needs to keyboard.
define the main game view of the
game. Is it a 3D view? 2D? Isometric?
If it is isometric, what is the scale of
the tiles and characters? If it is a 3D
view, what kind of 3D view? Is it an

Y
interior engine type game, or do you

FL
require exterior environments? If it is
an exterior engine, how far does the
view need to extend? Is it primarily
AM
rendering hills and trees or is it render-
The controller layout for Taldren’s upcoming game
ing a racetrack or a city? Make a few Black9
sketches of the view, or even better get
an artist on your team to make a In-Game User Interface
TE

full-color mockup of the view.


Working outward from the view and the
MUST DO!—The main game view of core activities, what are the other user
the project must be in every game interface items visible on the main dis-
design document and quickly convey to play? Health? Time? Mana? Distance to
the reader what the game will look like.
target? Radar? Map? Now is the time to
Core Player Activity detail the rest of these user interface
items to be found on the main display.
What does the player do in this game? Take the time to create a diagram or
What is the key interaction? Pilot a mockup for each of these display items
starship? Drive a racecar? Organize an and update your use case hierarchy to
army? Maneuver a character through a track these interactions (even if they
3D space? This is where you detail the are a non-interactive display, the player
key interactions between the player uses these items by viewing them).
and the game. Together with the main
view from above the reader will
develop a strong understanding of the
game you are creating.
This is an excellent place to use
the UML use case diagrams introduced
in the previous chapter to document
the interactions between the player and
the game. Create the UML diagrams
that organize these interactions in a
graphical manner for easy digestion on
the reader’s part. An early preproduction view of the Black9 main
interface

Team-Fly®
Chapter 8: Game Design Document 109

Section Three: Contextual The Nuts and Bolts of Game


Gameplay Mechanics
This will be a fairly meaty section. In Now is the time to talk about how much
this part of the game design document horsepower that engine will develop,
you will detail all the rest of the game how many marines that transporter can
mechanics that were too deep to dis- transport simultaneously, how many
cuss in the core gameplay section. charges are in your magic wands, how
fast the characters move. Detail every-
Shell Menus thing you can of the game mechanics. I
Most games on both the consoles and find it useful to pretend I am creating a
the PC have shell menus for creating pen and paper role-playing game or
characters, upgrading cars, reviewing board game complete with all the
inventory, selecting spells, viewing how details. Of course all these elements
many stars or crystals have been col- will need to be tweaked and balanced in
lected, and so on. Now is the time to the future; however, every time I drive
create a mockup of the shell menus down to this level of detail I learn more
complete with all the displays and but- about my game at the higher levels of
tons. We have found it particularly abstraction and go back and adjust ele-
useful to create UML use case text and ments of the higher design. This
diagrams for all the shell menu activi- section should be replete with spread-
ties the player can go through. It is also sheets, charts, and diagrams.
important to create a menu flow map
showing the relationship between all Tutorial Mechanics
the menus—how the player may navi- Almost all big games have integrated
gate between the activities in the game. interactive tutorials in the game. Some

The menu flow


for Black9
110 Chapter 8: Game Design Document

of these tutorials are explicitly tutori-


course you have a multiplayer feature
als, others are billed as licenses as in
set to document.
Gran Turismo, and other games simply If you did not cover your multi-
create very easy levels for the begin- player menus in the shell menu section,
ning of the game like in Mario64. For then this is the perfect place to detail
Starfleet Command: The Next Genera- the activity flow between the menus.
tion, we modeled the tutorials around Write down the functionality of each of
the education an officer in Starfleet the buttons and describe the player’s
would receive while going through choices. Also detail the technical
Starfleet Academy. Discuss your phi- requirements of the multiplayer feature
losophy when approaching the tutorial set that the technical design will need
content, discuss what you want the to address. How many players will your
player to learn here, and discuss what game support? Are these players simul-
activities you will employ to reinforcetaneous, concurrent players as in a
what the player is taught to make for aQuake game? Or are the players resid-
smooth transition into actual gameplay.ing in a hybrid system like Starfleet
In Baldur’s Gate, BioWare had the Command’s online campaign that is
player character start out in a safe town
capable of supporting hundreds of
where all of the NPCs acted partly as simultaneous players where the battles
an interactive in-game manual and also are played out in smaller sessions of up
related backstory to the players to getto six players each?
them into the world. How are you going Create diagrams documenting
to introduce your player to the game? these activity flows. Will your game
Consciously decide what controls support the historic modes of multi-
and game mechanics you are going to player such as serial, modem-to-
directly cover in your tutorials and modem, or even hot seat?
what material you are leaving for the With the latest generation of con-
player to learn over time as they mas- soles starting with SEGA’s Dreamcast
ter the game. Keep in mind the goal of and on through Sony’s PS2 and Micro-
the tutorial is not to teach everything in
soft’s Xbox, the game designer now
the game; rather the purpose of the needs to consider online multiplayer
tutorial is to get the player into playing
gaming for their console games. On the
the game successfully and without frus-console side, multiplayer games have
tration as quickly as possible. often used multiple controllers. Will
your console game have multiplayer
Multiplayer Mechanics gameplay? Will you split the screen?
Will your game have a multiplayer com- Will you hot seat between players?
ponent? If so, what flavor? Will you Many game designers put off
support LAN play for PC games in the describing their multiplayer gameplay
office or home LAN environment? Per- until later in the project. This has led to
haps you will feature online matching disastrous delays, poor gameplay and
via GameSpy or Microsoft’s Gaming game balance, and outright bugginess.
Zone. If your game is a massively This procrastination in multiplayer
multiplayer role-playing game, then of game design is fairly widespread and
carries down the line, with the
Chapter 8: Game Design Document 111

The menu flow diagram for Starfleet Command 3

technical design stage often postponing Section Four: Talk Story


a serious discussion of the multiplayer
This section of the game design docu-
engineering requirements. Sometimes
ment calls for the game designer to
these delays are so manifest, games
elaborate on the world they have cre-
have resorted to the outright out-
ated. Many game developers would
sourcing of the multiplayer project.
really rather work on this part of the
Examples of this are Interplay’s
game design document than discuss the
Klingon Academy and id’s Return to
mundane buttons on the multiplayer
Castle Wolfenstein, where Grey Matter
screens. The reason I have pushed this
develops the single-player game and
section back as far as I did is because I
another developer will come along
feel the game design document should
behind and implement the multiplayer
serve the team rather than the
aspect of the game. I am highly skepti-
designer. So I started with setting the
cal of outsourced game creation in a
mood and quickly followed with captur-
piecemeal fashion. The only reason
ing the key requirements of the game.
people delay thinking about their
Now let’s roll out the graph paper, char-
multiplayer feature set is because it is
acter sheets, and scripts for the cut
hard. But being hard is not a good
scenes!
enough reason for putting it off!
112 Chapter 8: Game Design Document

World Backstory Character Backgrounds


The character background section is
also game dependent. All games have
characters; it is just the concept of
what a character might be that is
stretched a bit in some genres. For
example, role-playing games, action-
adventure, and platformers would all
have a section that is quite straightfor-
ward in its representation of charac-
ters, with sketches of how they look
and text describing their behavior and
attitude in the game. Include all of the
game mechanics stats that correspond
to this character such as attributes and
inventory. Include references to where
in the game the character will be found
and indicate what type of character this
A fan-made map of Britannia from the Ultima series
is: protagonist, playable, non-player,
antagonist, or boss monster.
Detail your world; what is the relevant In the case of Gran Turismo I
history of the world? Draw a map of the would argue that the individual cars are
world the player will explore. Use cool the characters, especially unique cars
maps for fantasy games such as like the Suzuki Escudo. Here the stats
Baldur’s Gate and Ultima Online, but behind the cars and the history of the
also include ship blueprints for games creation serve as the backstory. In a
like System Shock 2, or the oceans of real-time strategy game each of the
the world for a naval simulation. The individual combat units is a character to
depth of this section is highly depend- be detailed. For a real-time tactical
ent on the genre of your game. id game like Starfleet Command: The
Software is very proud that their Doom Next Generation, we actually have
and Quake series of games have no three different classes of “characters”
need for such frills as a backstory! that are quite different from each other,
Ultima Online and Baldur’s Gate each but all need to be detailed. These three
draw upon decades of development for character types are the classic charac-
their world’s backstory. ters to be found in the story, the ships
A game such as Gran Turismo the player will command or interact
would only need the lightest treatment with, and the ship officers that the
of a backstory where the racing events, player will recruit and train in the
the tracks, and the manufacturers of course of their career.
cars would be enumerated to flesh out
the scope of the world’s backstory.
Chapter 8: Game Design Document 113

action-adventure, it can be very chal-


lenging for the designer to specify the
level in detail. The reason is that the
designer may be a good designer but
terrible in the use of a 3D CAD tool
such as UnrealEdit or WorldEdit. Often
these types of games employ a lead
designer who is good with these tools
and can articulate her visions directly
in the tools. For the developer without
these skills, very detailed writing as
found in a narrative supplemented with
sketches will often serve to give the
level designer a strong description to
work with.
Be sure to give good detail: Talk
about the colors, the textures, the
lighting, what the sky looks like. What
are the sounds that are present in this
A character concept for Black9
area? What are the characters? Detail
each trick, trap, challenge, or feature in
your level design. On your first few
Level, Mission, and Area Design
passes through here, just make notes to
This is my favorite part of writing a yourself to follow up later and add more
game design document. I love examin- detail in the next pass.
ing and reading maps! Most likely your This is the time to explain your
game is broken down into levels, mis- campaign structure; show a flow dia-
sions, areas, tracks, episodes, decks of gram that relates your areas to each
a ship, or some other manner of loca- other. Is it linear? That is, can the
tion partition. In abstract games like
Lemmings, the levels are single
screens of challenge for the Lemmings;
for Gran Turismo it is the different
tracks of course; for Doom it is bizarre
and frightening levels that the design-
ers come up with in a backstory after
they have made them.
To document a level you have to
take into account what sort of game
you are making and how it is broken up.
For classic role-playing games, large-
scale fantasy maps of the countryside
with detailed blueprints scaled to ten-
foot corridors serve very well. For 3D
games, whether platformer, shooter, or A view of a level in production for Black9
114 Chapter 8: Game Design Document

player proceed through your levels The storyboard is a key frame-by-


along only one path like the increas- frame visual design of the cut scenes
ingly challenging levels of Lemmings, that reads much like a comic strip. This
or can the player wander about without is a critical design document for both
any direct purpose as in Ultima Online? communicating with the artists who
Be sure to diagram this flow. will create the level and for achieving
Declare the purpose of the area; isbuy-in from the project stakeholders.
it a key hub area that the player will The script should follow standard
visit often or is it a bonus area or is it a
movie script formatting guidelines. See
part of the user interface such as the the following script excerpt for an
difficulty selection of Quake I? Discuss example of how to format your script
how this level may be reused like the for voice-over (VO) and off-stage (OS)
reversing of tracks in Gran Turismo or voice work.
going back for six stars in each of the With this section complete, no
worlds of Mario64. reader should have any large questions
or vagueness about the world and cast
Cut Scene Descriptions of characters in your game design. The
If your movie will employ cut scenes, reader should also have a strong under-
then write the scripts for these cut standing of what challenges the players
scenes. While the game industry has no will face as they proceed through the
standard format for the description of a game structure.
cut scene, there are two important
components: a storyboard and a script.

INT. MISSION BRIEFING ROOM (GENESIS HQ-LAX)


Set in the mission briefing room of the Genesis Operations Headquarters in the LAX spaceport metroplex. The mission
briefing is a short cinematic sequence performed in letterbox format using the in-game Matinee feature of the Unreal
engine. The briefing room has four characters: the player character, the Genesis Operations Chief, and two other contract
Genesis agents, one large, physically powerful male and one slim female.

GENESIS OPERATIONS CHIEF (VO)


We have a very serious development with our secure AI labs on the moon. We have had no communication
from the base personnel in 36 hours. While the computer network seems to be functional, we have lost access
to the data arrays—somebody has changed the authorization code. Fly-bys show no actual damage to the
structures and we have sent two regular patrols from Luna II—they have failed to report in after reaching the
lab.
(beat)
It appears that The Tea-Drinking Society is getting desperate now that we are so close to our goal; they must
have launched an assault on the lab and taken physical control—now they’re busy downloading all of our
hard-earned work.
Your mission is to reclaim our labs and eliminate any hostiles that may be present.
You have two support operatives this time.
The Chief gestures towards a slim female in black super-hero spandex
GENESIS OPERATIONS CHIEF (VO)
Cassandra will provide you with infiltration and electronic hacking services. Her job is to get the team in there
as quietly as possible. The goal is to catch The Tea-Drinking Society in the act, get it on film, and eliminate the
suspected TDS agents before they are able to return to their masters with the fruits of our lab work!

Nodding towards a bulky male human with obviously large guns


Chapter 8: Game Design Document 115

GENESIS OPERATIONS CHIEF (VO)


Rojak is a heavy weapons specialist. He’ll back you up in a firefight and ensure that anything hostile becomes
a detail of history in short order.

The Chief points towards the player character


GENESIS OPERATIONS CHIEF (VO)
As our most celebrated agent, you’re in charge. Make contact after you’ve landed and entered the base.
PLAYER CHARACTER (VO)
“Thank you, sir. We will not let you down.”
Cinematic fades to black, the sound of rocket engines throttle up out of the darkness…
A snippet of a design document of Black9 featuring a cinematic sequence

Section Five: Cover Your Assets eye-pleasing pixels. Write up the list
This section’s format really is particular of such assets in a spreadsheet and
to your game’s genre and method of include columns for attributes that are
construction. This last point is so specific to your game’s design and
important I would recommend not technical requirements.
creating asset lists until you are mostly
through the technical design stage. You
should certainly jot down the assets
that come to mind in each section at
the end of your first pass on the game
design document; however, your tech-
nical design document might reveal
that on the platform of your choice and
with your particular set of require- A character model in production from Black9
ments, you are limited to the creation
of just 20 character models rather than Missions, Levels, or Areas
the 100 your initial design called for. Or
List the missions, levels, or areas to be
you might find that the technical format
created for your game. Indicate game-
and specification of your assets goes
specific parameters such as size, prior-
through some bit of exploration during
ity, or placement in a hierarchy of
the elaboration of your game in the
locales.
technical design stage. Nevertheless,
here are some categories of assets you
should list in your game design docu-
ment. These lists will come in handy
when creating the production plan,
which should be created after the tech-
nical design stage has been mostly
completed.

2D Sprites or 3D Models
Whatever your technology, no doubt
your game features moving bits of
The city of Baldur’s Gate
116 Chapter 8: Game Design Document

Voice be detailed early in the project. As pro-


It will be way too early to document duction rolls along, maintain this
this section in the early phases of game section to prevent a panic workload
design; however, strong description of when it comes time to record the voice.
the voice actors required can certainly

Command 190: Basic Controls


Setting: The Neversail NCC-0001 at Treasure Island, San Francisco, Earth
· Helm
· Target
· Phaser Fire (somehow have plenty of phasers to fire)
· Destroy Cargo Boxes

Title: Command 190: Basic Controls


Briefing: This simulation will cover the basic controls of a starship.
Setting Text 1: Aboard the Neversail NCC-0001
Setting Text 2: Starfleet Academy, Home Fleet
Setting Text 3: Treasure Island, San Francisco, Earth

{The Neversail NCC-0001 is a police frigate armed with only Phaser-3s}

{The screen is already set in full screen mode}

{There is no terrain, only a beautiful backdrop}

{The player’s ship is already in motion at a speed of 10}

{The player’s ship is already at Red Alert}

{VOICE TALENT: FED-INSTRUCTOR-EARTH: Scotty? Not Sulu – we will save him for later tutorials.}

FED-INSTRUCTOR-EARTH: “Lieutenant, welcome to Starfleet Command school. To earn the rank of Lieutenant Com-
mander, you must pass both Command 190: Basic Controls and Command 290: Intermediate Helm Controls. Let’s get
started.”

FED-INSTRUCTOR-EARTH: “The basics of starship control are very simple, yet require a lot of training and practice to
master. Let’s begin with basic helm control aboard a small police vessel, the USS Neversail.”

FED-INSTRUCTOR-EARTH: “To turn the Neversail, use the mouse and left-click on the 3D tactical display. This will
issue a helm command to port or starboard.”

FED-INSTRUCTOR-EARTH: “Left-click on the 3D tactical display in the direction you wish to turn. Your helmsman will
choose the appropriate turn, port or starboard.”

{Wait for the user to turn the ship. Add sarcastic/encouraging comments to the player to hurry them along.}

Sarcastic Comments
FED-INSTRUCTOR-EARTH: “Well Lieutenant, what are you waiting for? A Klingon invasion?”

FED-INSTRUCTOR-EARTH: “Lieutenant, when I give an order I expect it to be obeyed.”


FED-INSTRUCTOR-EARTH: “I don't have all day, Lieutenant.”
FED-INSTRUCTOR-EARTH: “[Sigh]. We are all waiting.”
FED-INSTRUCTOR-EARTH: “Lieutenant, make up your mind before I make it up for you – and give you a failing grade.”
Chapter 8: Game Design Document 117

Positive Remarks
FED-INSTRUCTOR-EARTH: “Very good, Lieutenant.”

{Add 1 prestige point for each helm command up to 3 points}

FED-INSTRUCTOR-EARTH: “The farther you wish to go from your current heading, the tighter your turn will be.
Starships are massive vessels, even one such as this quaint police cutter. It takes time to maneuver them. Plan your
turns in advance for maximum advantage.”

FED-INSTRUCTOR-EARTH: “Now let’s talk about phasers. I knew that would pique your interest. To familiarize you with
the trustworthy phasers, I have created replicas of standard Federation cargo containers for you to target and destroy.”

FED-INSTRUCTOR-EARTH: “To target a container, point the mouse at the container that you wish to target and
right-click. This will set the cargo container as your current target. Alternatively you may tap the T key to cycle through
all targets in sensor range.”

{Add 1 prestige point for each targeting command up to 3 points}

{Wait for the user to target a container. Add sarcastic/encouraging comments to the player to hurry them along.}

Sarcastic Comments
FED-INSTRUCTOR-EARTH: “C’mon, Lieutenant. It doesn’t take that long to target a container.”

{Default the weapons to 1 at a time firing}

FED-INSTRUCTOR-EARTH: “To fire a Phaser-3 at the selected cargo container, left-click your mouse on the fire button
in the lower left corner of the display. Alternatively, you can tap the Z key to issue a fire command. Either one will direct
gigawatts of ionized superheated particles at your target. Sounds impressive.”
FED-INSTRUCTOR-EARTH: “Now destroy all three targets.”

{Wait for the user to fire upon a container. Add sarcastic/encouraging comments to the player to hurry them along.}

Sarcastic Comments
FED-INSTRUCTOR-EARTH: “What’s keeping you? Most midshipmen enjoy this part of the tutorial.”

Encouraging Comments (when container destroyed)


FED-INSTRUCTOR-EARTH: “There she goes!”

FED-INSTRUCTOR-EARTH: “Good! Starfleet doesn’t approve of mindless destruction, but phasers do have their uses.”

{Add 2 prestige points for each container destroyed up to 6 points}

FED-INSTRUCTOR-EARTH: “Excellent, Lieutenant, you are coming along very well. Perhaps Command 290 will pro-
vide a greater challenge for your abilities.”

A shooting script for Starfleet Command 3

Key Framing and Motion Capture List your characters and the required
If your game features human characters moves for each character. Maintain this
moving about, then you might require list during production. See the follow-
motion capture or you can use key ing example.
framing to animate your characters.
118 Chapter 8: Game Design Document

Sample Shot List


Confidential

Scene# filename performer character concatenated capture client moves description Loop TrackProp
description
1 "A1-walk-idle" "assassin" (we place a formula here "Assassin looks around, to be shot for looping "rifle"
which "concatenates" all standing in place." (blending) in post
your detailed info into one
item)
2 "A1-walk-idle-fire" "assassin" "Assassin fires assault rifle to be shot for looping "rifle"
straight ahead from standing (blending) in post
position."
3 "A1-walk-forward" "assassin" "Assassin walks forward to be shot for looping "rifle"
carrying assault rifle." (blending) in post
4 "A1-walk-forward-fire" "assassin" "Assassin walks forward firing to be shot for looping "rifle"
assault rifle." (blending) in post
5 "A1-walk-backward" "assassin" "Assassin walks backward to be shot for looping "rifle"
carrying assault rifle." (blending) in post
6 "A1-walk-backward-fire" "assassin" "Assassin walks backward to be shot for looping "rifle"

Y
firing assault rifle." (blending) in post
7 "A1-walk-step-left" "assassin" "Assassin sidesteps to the left to be shot for looping "rifle"

9
"A1-walk-step-left-fire"

"A1-walk-step-right"
FL
"assassin"

"assassin"
carrying assault rifle."
"Assassin sidesteps to the left
firing assault rifle straight
ahead."
"Assassin sidesteps to the
(blending) in post
to be shot for looping
(blending) in post

to be shot for looping


"rifle"

"rifle"
AM
right carrying assault rifle." (blending) in post
10 "A1-walk-step-right-fire" "assassin" "Assassin sidesteps to the to be shot for looping "rifle"
right firing assault rifle (blending) in post
straight ahead."
11 "A1-walk-turn" "assassin" "Assassin turns in place to be shot for looping "rifle"
carrying rifle." (blending) in post
TE

12 "A1-walk-turn-fire" "assassin" "Assassin turns in place firing to be shot for looping "rifle"
rifle." (blending) in post
13 "A1-run-idle" "assassin" "Assassin looks around, to be shot for looping "rifle"
standing in place, heavy (blending) in post
breathing, excited."
14 "A1-run-idle-fire" "assassin" "Assassin fires assault rifle to be shot for looping "rifle"
straight ahead from standing (blending) in post
position, heavy breathing,
excited."
15 "A1-run-forward" "assassin" "Assassin runs forward to be shot for looping "rifle"
carrying assault rifle." (blending) in post
16 "A1-run-forward-fire" "assassin" "Assassin runs forward firing to be shot for looping "rifle"
assault rifle." (blending) in post
17 "A1-run-forward-hurdle" "assassin" "Assassin runs forward to be shot for looping "rifle"
carrying assault rifle, hurdling (blending) in post
low obstacle."
18 "A1-run-forward-hurdle-fire" "assassin" "Assassin runs forward firing to be shot for looping "rifle"
assault rifle, hurdling low (blending) in post
obstacle."
19 "A1-run-backward" "assassin" "Assassin runs backward to be shot for looping "rifle"
carrying assault rifle." (blending) in post
20 "A1-run-backward-fire" "assassin" "Assassin runs backward firing to be shot for looping "rifle"
assault rifle." (blending) in post
21 "A1-run-step-left" "assassin" "Assassin sidesteps quickly to to be shot for looping "rifle"
the left carrying assault rifle." (blending) in post
22 "A1-run-step-left-fire" "assassin" "Assassin sidesteps quickly to to be shot for looping "rifle"
the left firing assault rifle (blending) in post
straight ahead."
23 "A1-run-step-right" "assassin" "Assassin sidesteps quickly to to be shot for looping "rifle"
the right carrying assault rifle." (blending) in post
24 "A1-run-step-right-fire" "assassin" "Assassin sidesteps quickly to to be shot for looping "rifle"
the right firing assault rifle (blending) in post
straight ahead."
25 "A1-sneak-idle" "assassin" "Assassin looks around to be shot for looping "rifle"
cautiously on balls of feet, (blending) in post
standing in place."
26 "A1-sneak-idle-fire" "assassin" "Assassin fires assault rifle to be shot for looping "rifle"
straight ahead from standing (blending) in post
position."
27 "A1-sneak-forward" "assassin" "Assassin sneaks forward to be shot for looping "rifle"
carrying assault rifle." (blending) in post
28 "A1-sneak-forward-fire" "assassin" "Assassin sneaks forward to be shot for looping "rifle"
firing assault rifle." (blending) in post

Team-Fly®
Chapter 8: Game Design Document 119

29 "A1-sneak-backward" "assassin" "Assassin sneaks backward to be shot for looping "rifle"


carrying assault rifle." (blending) in post
30 "A1-sneak-backward-fire" "assassin" "Assassin sneaks backward to be shot for looping "rifle"
firing assault rifle." (blending) in post
31 "A1-sneak-step-left" "assassin" "Assassin gingerly sidesteps to be shot for looping "rifle"
to the left carrying assault (blending) in post
rifle."
32 "A1-sneak-step-left-fire" "assassin" "Assassin gingerly sidesteps to be shot for looping "rifle"
to the left firing assault rifle (blending) in post
straight ahead."
33 "A1-sneak-step-right" "assassin" "Assassin gingerly sidesteps to be shot for looping "rifle"
to the right carrying assault (blending) in post
rifle."
34 "A1-sneak-step-right-fire" "assassin" "Assassin gingerly sidesteps to be shot for looping "rifle"
to the right firing assault rifle (blending) in post
straight ahead."
35 "A1-sneak-turn" "assassin" "Assassin turns in place with to be shot for looping "rifle"
soft steps carrying rifle." (blending) in post
36 "A1-sneak-turn-fire" "assassin" "Assassin turns in place with to be shot for looping "rifle"
soft steps firing rifle." (blending) in post
37 "A1-crouch-idle" "assassin" "Assassin looks around, to be shot for looping "rifle"
crouching in place." (blending) in post
38 "A1-crouch-idle-fire" "assassin" "Assassin fires assault rifle to be shot for looping "rifle"
straight ahead from crouching (blending) in post
position."
39 "A1-crouch-forward" "assassin" "Assassin walks forward to be shot for looping "rifle"
crouching and carrying assault (blending) in post
rifle."
40 "A1-crouch-forward-fire" "assassin" "Assassin walks forward to be shot for looping "rifle"
crouching and firing assault (blending) in post
rifle."
41 "A1-crouch-backward" "assassin" "Assassin walks backward to be shot for looping "rifle"
crouching and carrying assault (blending) in post
rifle."
42 "A1-crouch-backward-fire" "assassin" "Assassin walks backward to be shot for looping "rifle"
crouching and firing assault (blending) in post
rifle."
43 "A1-crouch-step-left" "assassin" "Assassin sidesteps to the left to be shot for looping "rifle"
crouching and carrying assault (blending) in post
rifle."
44 "A1-crouch-step-left-fire" "assassin" "Assassin sidesteps to the left to be shot for looping "rifle"
crouching and firing assault (blending) in post
rifle straight ahead."
45 "A1-crouch-step-right" "assassin" "Assassin sidesteps to the to be shot for looping "rifle"
right crouching and carrying (blending) in post
assault rifle."
46 "A1-crouch-step-right-fire" "assassin" "Assassin sidesteps to the to be shot for looping "rifle"
right crouching and firing (blending) in post
assault rifle straight ahead."
47 "A1-crouch-turn" "assassin" "Assassin turns in place to be shot for looping "rifle"
crouching and carrying rifle." (blending) in post
48 "A1-crouch-turn-fire" "assassin" "Assassin turns in place to be shot for looping "rifle"
crouching and firing rifle." (blending) in post
49 "A1-jump-standing" "assassin" "Assassin jumps straight up, to be shot for looping "rifle"
carrying rifle." (blending) in post
50 "A1-jump-standing-fire" "assassin" "Assassin jumps straight up, to be shot for looping "rifle"
firing rifle." (blending) in post
51 "A1-jump-forward" "assassin" "Assassin leaps forward to be shot for looping "rifle"
carrying assault rifle." (blending) in post
52 "A1-jump-forward-fire" "assassin" "Assassin leaps forward firing to be shot for looping "rifle"
assault rifle." (blending) in post
53 "A1-jump-backward" "assassin" "Assassin jumps backward to be shot for looping "rifle"
carrying assault rifle." (blending) in post
54 "A1-jump-backward-fire" "assassin" "Assassin jumps backward to be shot for looping "rifle"
firing assault rifle." (blending) in post
55 "A1-jump-left" "assassin" "Assassin lunges to the left to be shot for looping "rifle"
carrying assault rifle." (blending) in post
56 "A1-jump-left-fire" "assassin" "Assassin lunges to the left to be shot for looping "rifle"
firing assault rifle straight (blending) in post
ahead."
57 "A1-jump-right" "assassin" "Assassin lunges to the right to be shot for looping "rifle"
carrying assault rifle." (blending) in post
58 "A1-jump-right-fire" "assassin" "Assassin lunges to the right to be shot for looping "rifle"
firing assault rifle straight (blending) in post
ahead."
120 Chapter 8: Game Design Document

59 "A1-chest-hit" "assassin" "Assassin flinches from shot in to be shot for looping "rifle"
chest while carrying assault (blending) in post
rifle."
60 "A1-chest-hit-fire" "assassin" "Assassin flinches from shot in to be shot for looping "rifle"
chest while firing." (blending) in post
61 "A1-gut-hit" "assassin" "Assassin flinches from shot in to be shot for looping "rifle"
stomach while carrying (blending) in post
assault rifle."
62 "A1-gut-hit-fire" "assassin" "Assassin flinches from shot in to be shot for looping "rifle"
stomach while firing." (blending) in post
63 "A1-left-hit" "assassin" "Assassin flinches from being to be shot for looping "rifle"
shot from the left while (blending) in post
carrying assault rifle."
64 "A1-left-hit-fire" "assassin" "Assassin flinches from being to be shot for looping "rifle"
shot from the left while firing." (blending) in post
65 "A1-right-hit" "assassin" "Assassin flinches from being to be shot for looping "rifle"
shot from the right while (blending) in post
carrying assault rifle."
66 "A1-right-hit-fire" "assassin" "Assassin flinches from being to be shot for looping "rifle"
shot from the right while (blending) in post
firing."
67 "A1-knockdown-front" "assassin" "Assassin is knocked down by to be shot for looping "rifle"
force from the front while (blending) in post
carrying assault rifle."
68 "A1-knockdown-front-fire" "assassin" "Assassin is knocked down by to be shot for looping "rifle"
force from the front while (blending) in post
firing."
69 "A1-knockdown-back" "assassin" "Assassin is knocked down by to be shot for looping "rifle"
force from the back while (blending) in post
carrying assault rifle."
70 "A1-knockdown-back-fire" "assassin" "Assassin is knocked down by to be shot for looping "rifle"
force from the back while (blending) in post
firing."
71 "A1-roll-stand-front" "assassin" "From knocked down from blends from "rifle"
front position, assassin rolls "A1-knockdown-front"
up and stands carrying rifle."
72 "A1-roll-stand-back" "assassin" "From knocked down from blends from "rifle"
back position, assassin rolls "A1-knockdown-back"
up and stands carrying rifle."
73 "A1-activate" "assassin" "Assassin activates a wall "rifle"
switch."
74 "A1-crouch-tinker-start" "assassin" "Assassin crouches and begins blends into "A1-tinker" "rifle"
tinkering with gadgetry."
75 "A1-tinker" "assassin" "Assassin tinkers with to be shot for looping "rifle"
gadgetry." (blending) in post
76 "A1-crouch-tinker-stop" "assassin" "Assassin stops tinkering and blends from "A1-tinker" "rifle"
stands."
77 "A1-use-medkit" "assassin" "Assassin presses small object "rifle"
to neck, injecting healing
serum."
78 "A1-pickup-table" "assassin" "Assassin picks up an object "rifle"
from table height."
79 "A1-pickup-floor" "assassin" "Assassin crouches, picks up "rifle"
an object from the ground,
and stands."
80 "A1-stunned-flash" "assassin" "Assassin covers face with "rifle"
arm and cowers for 3 - 5
seconds before returning to a
normal stance."
81 "A1-death-falling" "assassin" "Assassin collapses to ground "rifle"
with some impact."
82 "A1-death-slump" "assassin" "Assassin folds up and slumps "rifle"
to ground."
83 "A1-death-spasms" "assassin" "Assassin has several violent "rifle"
spasms before collapsing to
ground."
***NOTE***
Please refrain from punctuation in your moves description and be as specific and brief as possible.

The list of moves to be motion captured for Black9


Chapter 8: Game Design Document 121

Sound Effects Music


Sound effects are elusive critters to nail Almost all games feature music; the
down early in the game design docu- only exception I can think of is Quake
ment. My best advice is to mentally III, which opted to allow the player to
walk through the mission/level/area play his or her own favorite music. In
section of your game design document this section, list the various tracks you
and listen to what you hear as you walk will require to help set the mood of
through these areas. your game. Some games employ
sophisticated track blending routines to
go smoothly from tense battle music to
celebratory victory tunes. See the
Black9 audio bid on the following page
for an example.
Asset Reference Description Maya Slot Reference Animation Name Animation Sound Name(keyframe) SFX Notes Attribute Volume Status
Notes
5 1
Nevin Combat Custom 14: Time Dilation Slash 1 timeDilationSlash1 SlashSquishDelay1 (5) 5 1
15: Time Dilation Slash 2 timeDilationSlash2 SlashSquishDelay1 (5) 5 1
16: Time Dilation3_ Fierce Slash timeDilationSlash2 SlashSquishDelay1 (5) 5 1
17: Time DilationVictory timeDilationVictory E3 Victory1 SpinSwirl4(3), Landing (17) 5 1
18: TimeDilationTraverse timeDilationTraverse Return Move
19: TimeDilationNormalSpinSlash TimeDilationNewSpinSlash E3 Attack SpinSwirl3 (2), Flangy swipe 5 1
SlashSquishDelay1(5)
20: TimeDilationNormalSpinSlash2 TimeDilationNewSpinSlash E3 Attack SpinSwirl3 (2), 5 1
SlashSquishDelay1(5)
21: TimeDilationThrustySlash timeDilationThrustySlash E3 Attack SpinSwirl3 (2), 5 1
SlashSquishDelay1(5)
22: TimeDilationChoppyFlipslash timeDilationChoppyFlipSlash Final Attack
23: TimeDilationTransPos2toPos3 TimeDilationTrans_Pos2_ Start Stretch4b (1), 5 1
to_Pos3
24: TimeDilationTransPos2toPos1 timeDilation_Pos2_to_Pos1 Start Stretch4b (1), 5 1
25: TimeDilationTransPos4toPos1 timeDilationTrans_Pos4_to_ Start Stretch4b (1), 5 1
Pos1
26: TimeDilationTransPos4toPos3 timeDilationTrans_Pos4_to_ Start Stretch4b (1), 5 2
Pos3
27: TimeDilationVictory Flip timeDilationVictoryFlip SpinSwirl3 (6), Landing (19) 5 2
1 28: TimeDilationVictory Spin TimeDilationVictory2 SpinSwirl3 (3), SpinSwirl2 5
(5), HardKnock2 (15)

Attack 0: fastSlashCombo1 basicFast1 1 thru 8 * SlashChop (2) Leopard Roar 4, Combat 5 3


WB03
1: fastSlashCombo2 basicFast1 9 thru 18 * SlashChop (2) 5 3
2: fastSlashCombo3 basicFast1 19 thru 27 * SlashChop (2) 5 3
3: slowSlashCombo1 basicPower1 SlashHard (1) ComboLibrary, 5 3
SwipesSwingV6
4: slowSlashCombo2 basicPower2 SlashHard (1) 5 3
5: slowSlashCombo3 basicPower3 SlashHard (1) 5 Bad Export

The combat sound effects list for the character Nevin from Outrage’s game Alter Echo
122 Chapter 8: Game Design Document

Black9 Audio Bid


IMPORTANT: PLEASE READ ENTIRE DOCUMENT IN ORDER!

Note: The goal of the budget is to come as close to the final product as possible. In a game of this scope it is impossible
to know the exact amount of minutes of music. Both parties understand that these figures could change slightly either
way but that the figures given should be a very good representation of the budget needed.

MUSIC

In-Game Music: There are 3 different “worlds” in Black9. The music styles would be representative of those worlds but
would follow a sci-fi ambient based vibe (refer to CD). Analog pads, percussion, arpeggiatted synth lines and Enya
themed instrumentation will all be used to accomplish our goal. For certain worlds and levels such as China we can
incorporate ethnic Asian instruments such as Tibetan Bowls, Java Gamelans, Korean Gongs, Chinese Cymbals, Japanese
Kotos and Taiko Drums to give it a certain environmental flavor. Music does not need to be triggered at all times during
the game. In fact a lot of the game should be sci-fi environmental location based ambience. “Sci-fi analog action style”
music can be triggered when certain key events in each level happen (i.e., Canyon Chase sled escape). Refer to last 2
songs on audio CD called “Wild 9” and “Hover Bikes”. The use of short (3-5 second) musical stings can also be used
when certain events happen (i.e., pulls important lever to open important door). There are 3 different “worlds” in Black9.
The music styles would be representative of those worlds but would follow an ambient sci-fi feel/vibe.

Mars World:
6 search/ambient songs (@ 1:30 minutes = 9 minutes)
4 chase/battle/vehicle songs (@ 1:30 minutes = 6 minutes)
5 stings (@ 5 seconds = 25 seconds)

Hong Kong World:


6 search/ambient songs (@ 1:30 minutes = 9 minutes)
4 chase/battle songs (@ 1:30 minutes = 6 minutes)
5 stings (@ 5 seconds = 25 seconds)

Moon/Luna World:
4 search/ambient songs (@ 1:30 minutes = 6 minutes)
2 chase/battle songs (@ 1:30 minutes = 3 minutes)
4 stings (@ 5 seconds = 20 seconds)

Total In-Game music: Approximately 40 minutes

Cinematic Music: Story and cinematics play an important role in Black9. The music for the cinematics should be
extremely subtle so that it adds a layer to the dialogue but does not get in its way. There doesn’t have to be music playing
during every cinematic and some of the in-game music could be used as well.

Mars World: 3 songs @ 1 minute = 3 minutes


Hong Kong World: 3 songs @ 1 minute = 3 minutes
Moon/Luna World: 2 songs @ 1 minute = 2 minutes

Total Cinematic music: 8 minutes

Menu Music: There will need to be menu, sub-menu, and credits music. These can be based off of popular motifs we
would be creating for the game. Until actual screen interfaces are created it is hard to visualize the style and tempo.
Chapter 8: Game Design Document 123

Menu/Sub-Menu theme: 2 minutes


Credits music (variation of menu?): 3 minutes

Total Menu music: 5 minutes

Music Totals
In-Game: 40 minutes
Cinematics: 8 minutes
Menus: 5 minutes
TOTAL: 53 minutes (approx.)

53 minutes x $1,000 per minute = $53,000

SOUND DESIGN
Sound design will be the most important audio element in the game.

In-Game SFX: Big and beefy reverbs, amazing weapons, huge deep doors, frightening alarms, etc. Think of the best
sci-fi movie you’ve ever heard… then double it!
The main character will have common sounds that will always need to be loaded in memory (footsteps, weapons,
getting hit, landing from a jump, etc.). There will be other common sounds as well (pause menu, text messaging,
pick-ups, health, etc.) Each of the 16 levels in the game will have unique sound effects for the enemies, vehicles, objects,
surfaces, elements, etc. I would average about 50 unique sounds per level considering some of the enemies and weap-
ons will be reused throughout the game.

Common sfx: 100


Level sfx: 50 X 16 levels = 800 sfx

Environmental/Ambient SFX: Strange room tones, machinery, equipment, and generators no one has ever heard
before, airy and cosmic tones, deep analog sweeps, dark dramatic atmospheres. Each area may have a different “tone”
which when mixed properly gives the sense of travel and exploration. These ambiences should be looping, streamed, and
about 1 minute each in length. In some areas you would only hear the ambiences with no music. These are very impor-
tant! The player will hear these more than they will the music! Ambiences can be reused for multiple areas. If we budget 3
looping ambiences per level we could mix and match just fine.

16 levels X 3 looping 1-minute ambiences = 48 minutes of ambience

Cinematic Sound Design/FX: The cinematics will be in-game based (not FMV) so technically they will be handled
the same as the in-game sfx (SPU based). I would estimate another 10 unique sfx per level to be used in the cinematics.

Cinematic SFX: 10 sfx X 16 levels = 160 sfx

Menu/Sub Menu SFX: Would depend on the look and style of the menus.

Menu SFX = 10 sfx

Sound Design Totals


In-Game: 800 sfx
Environmental: 48 minutes/sfx
Cinematics: 160 sfx
Menus: 10 sfx
TOTAL: 1000 sfx (approx.)

Sound Design = $30,000


124 Chapter 8: Game Design Document

DIALOGUE/V.O.
Because of the sci-fi nature of the game, effects will play an important role in the creation of the voices. All sorts of
robotic, helmet gear, radio, flange/phaser, strange and unique effects will be used in pre- and post-production. Think Star
Wars.

Cinematic Character voices:


Genesis Contact, Player, Aegis, NPC Buyer, First Guard, Genesis Man, Oberon, Black Dragon Master, Genesis Operations
Officer, Fire Elder, Fire Elemental, Piwan, Dr. Tan, Agent Cassandra, Protagonist, Babbage Entity, Elder, Tea-Drinking
Society Operations Officer, TDS Ops, Hashi, Dr. Kellon, Tran, Automated Receptionist, TDS Shuttle Captain, Charles, TDS
Man, Gardener, Zubrin Marine, Zubrin Operations Officer, Lao, Zubrin Man, Zubrin Merc, Civilian, Zubrin Ops, Ambassa-
dor. (35 total)

Enemy voices: There would also have to be enemy character voices recorded. Screams, yells, hits, jumps, dies, etc.

We would need about 15 actors to record 35 characters. Each professional non-sag actor’s price would vary depending
on experience, how many characters, versatility, etc.
These are not one-liners (like Boxing), this is more serious acting. SAG rate for a 4-hour block-out (3 characters
max.) is $612.00. To get non-SAG actors (who are really in SAG) for a buyout usually costs about $750. Some actors will
charge $1000 and others will cost only $500. $750 I feel is a good average for a non-SAG buyout. It should take 3 studio
days to complete the script. In a script of this nature (characters, acting, size, etc.) it is always smart to put a 10% contin-
gency in the budget for call-backs.

Actors: 15 X $750 = $11,250


Studio: 3 days X $1000 = $3,000
Casting Agent: $1,000
Editing,Mastering: $5,000
Contingency (10%): $2,000
Total: $22,250

This is my recommended buget.

GRAND TOTALS:
Music: $53,000
Sound Design: $30,000
V.O.: $22,000
Total: $105,000

Breathe, David… breeeeeathe….. Now count to 10.


Okay good!
Please realize that this is a huge game and there is a ton of audio here. I have given my $1,000 per minute of music
rate (usually $1,200-$1,500) because there is quantity. Same for the sound design; normally for the amount of sounds
required it would be much higher. If you were to go to any company in the industry and ask them for this amount of work
you’ll get prices that are a little lower and some that are much higher.
The prices I cannot come down on. I cannot go lower than $1,000 per minute and I can’t do 1000 sfx for under 30K.
If we needed the budget to be lower we could do the following…

Music:
Please keep in mind that the recommended budget was NOT a wish list. I had to struggle to get the minutes of music to
where it currently is. Notice that each tune is only approximately 1:30. 2 to 3 minutes is usually the norm, but I feel that
because of the ambient style of music we will be using that if I’m tricky with my loops I can get away with 1:30. We could
easily just take the music figure down to about 40 minutes and just deal with it. It does start to take a quality hit as far as
repetitiveness goes (which I am already assuming in the 53 minutes), but it’s not the complete end of the world. New
total: 40 minutes of music.
Chapter 8: Game Design Document 125

Sound Design:
The sound design is a tough one because there is no getting around it! The game is big and there are tons of SFX. If
worse came to worst and we really had to squeeze it all together we could unhappily shave an extra 5K off the 30K figure
and use less looping ambiences and reuse in-game sfx for the cinematics. Once again, quality would go down because
of repetitiveness. New total: Approximately 800 sfx.

Dialogue/V.O.:
This one is a little easier but the consequences are greater! We could easily get a bunch of actors @ $500 but I can guar-
antee you that the quality WILL NOT be great. Acceptable, but not great. We could also take out the 10% contingency and
just live with what we get in the sessions. New V.O. total with those changes = $16,500

New Grand Totals:

Music: $40,000
SFX: $25,000
V.O.: $16,500
Total: $81,000

If you are thinking of making this game an A or AAA title, the 100K budget is absolutely necessary. For a B title you can
easily get away with the 80K figure. Anything less and you’re headed for the C title blues.

Let’s discuss once you’ve had a chance to digest it all and talk it over with some people.

Thanks,

Tommy

The music requirements for Black9

Special Effects will need to be created. For a first-


This is a sort of catchall category that is person shooter, enumerate the weapon
specific to your game’s genre and tech- effects and explosions. For a plat-
nical implementation. For example, in former, write down the magical effects
Starfleet Command a list of the weapon when the character picks up a power-up
effects, astronomical features, and or gathers another star or crystal.
other system effects like tractor beams
126 Chapter 8: Game Design Document

WEAPONS AND AMMO

WEAPON Cost AMMO Range Damage R-O-F Magazine Magazine Categorization Weapon Type Illuminati Specialty? Threat Mission Comments
Size Cost Level First
Available
9mm Pistol $1,000 Bullets 21 10 5 15 $15 Firearms pistol no (global) 1
Shotgun $800 Shells 10 15 3 5 $20 Firearms rifle no (global) 1
(sawed off)
Shotgun $700 Shells 25 10 3 5 $20 Firearms rifle no (global) 1
Sub-Machine $5,000 Bullets 45 8 9 30 $5 Firearms pistol no (global) 1
Gun
Sniper Rifle $20,000 high-caliber 300 25 1 1 $10 Firearms rifle no (global) 4
rounds
Silenced Pistol $15,000 Bullets 15 5 5 5 $10 Firearms pistol no (global) 4
Crossbow $5,000 Bolts 60 10 1 1 $5 Special rifle Tea-Drinking Society 7
Crossbow $5,000 Poison-Tipped 60 3 1 1 $25 Special rifle Tea-Drinking Society 7
Bolts
Crossbow $5,000 Explosive- 60 25 1 1 $20 Special rifle Tea-Drinking Society 7
Tipped Bolts
Grappling- Special rifle Genesis 1 grapple across
Hook Crossbow open spaces, but
vulnerable to
attack as it
becomes the
equipped
weapon
Magnum Pistol $1,500 high-caliber 24 15 5 5 $10 Firearms pistol no (global) 4
rounds
Suitcase Gun $2,000 Bullets 12 5 1 3 $25 Firearms pistol no (global) 8

Grenade $25 N/A 8 30 1 1 $25 Explosives thrown no (global) 1


explosive
Flashbang $10 N/A 8 5 1 1 $10 Explosives thrown no (global) 4
explosive
Mine $50 N/A n/a 50 1 1 $50 Explosives dropped no (global) 4
explosive
Tripbomb $80 N/A n/a 20 1 1 $80 Explosives mounted Zubrin 12
explosive
Motion-Sensor $120 N/A n/a 40 1 1 $120 Explosives mounted Zubrin 12
Bomb explosive
Satchel Charge $75 N/A n/a 75 1 1 $75 Explosives dropped no (global) 5
explosive
MIRV Grenade $150 N/A 8 15 ea 1 6 $150 Explosives thrown Zubrin 12 explodes into
explosive smaller
grenades
Detonation $100 N/A n/a 100 1 1 $100 Explosives mounted Zubrin 12
Pack explosive
Flare Grenade $30 N/A 8 3 1 1 $30 Explosives thrown Genesis 4 blindness lasts
explosive longer than
flashbang

Rocket $30,000 Rockets, MIRV 200 50 2 5 $180 Heavy launcher Zubrin 12


Launcher Rockets, Weapons
Guided Missiles
Rail Gun $75,000 high-caliber 200 60 3 10 $250 Heavy armature Genesis 5
rounds Weapons
Flamethrower $6,000 fuel 10 40 1 5 $50 Heavy rifle no (global) 5
Weapons
Grenade $4,000 Grenade Shells, 100 30, 15 ea, 1 8 $200 Heavy launcher Zubrin 12
Launcher MIRV Grenade 30 Weapons
Shells, Remote
Detonation
Grenade Shells
(aka Pipe
Bombs)
Rad Flux Rifle $100,000 none 80 25 5 n/a n/a Heavy rifle Genesis 5
(recharges) Weapons
Assault Rifle $10,000 Bullets 90 20 8 30 $50 Firearms rifle no (global) 1
Heavy Machine $25,000 Bullets 200 20 10 100 $75 Heavy armature no (global) 5
Gun Weapons

Katana/ $5,000 N/A 0 30 3 n/a n/a Melee two-handed no (global) 1


Wakizashi pair Weapons melee
Blit Sword $9,000 N/A 0 40 4 n/a n/a Melee one-handed Tea-Drinking Society 7 curved blade
Weapons melee conducts energy
from tip to base
Stun Gun $500 N/A 0 5 1 n/a n/a Melee one-handed no (global) 1
(Tazer) Weapons melee
Blackjack $100 N/A 0 2 1 n/a n/a Melee one-handed no (global) 1
Weapons melee
Dagger $150 N/A 0 5 1 n/a n/a Melee one-handed no (global) 1
Weapons melee
Blit Dagger $250 N/A 0 6 1 n/a n/a Melee one-handed Tea-Drinking Society 7 curved blade
Weapons melee conducts energy
from tip to base
Chapter 8: Game Design Document 127

WEAPONS AND AMMO

WEAPON Cost AMMO Range Damage R-O-F Magazine Magazine Categorization Weapon Type Illuminati Specialty? Threat Mission Comments
Size Cost Level First
Available

All Guns are data linked

Manufacturers: Krupp, Sakamoto Designs, KIM – Kim International Munitions, Mossberg, Specialty Defense Systems, SkullCracker

Note: if Illuminati restrictions are too harsh, could be changed so that buying those weapons when in the employ of that Illuminati is cheaper, and outside the employ the weapons must be secured on the black market, and are thus
more expensive. Restrictions can also be tweaked or dropped based on design analysis and QA gameplay feedback.

Note: mission appearances are subject to change after design analysis and QA gameplay feedback.

The weapons and ammo list for Black9

Stepping Back a Bit


Looks like a bunch of work, huh? Good, engineering, automotive repair—to
that is why it is a job being a game practice the skills involved before mov-
designer and not a hobby. If it seems a ing on to practicing the profession.
bit daunting to undertake this effort in Even novelists can take creative writ-
writing up your game, I have a sugges- ing courses and budding scriptwriters
tion. Practice the skill of game design can take scriptwriting courses. So I
by writing up the game design of an think it is perfectly logical that a game
existing game. Go through this entire designer should practice writing
rigor on a game that is already success- detailed game design documents by
ful! It is perfectly reasonable in any analyzing another game designer’s
other profession—medicine, game.
Y
FL
This page intentionally left blank
AM
TE

Team-Fly®
Chapter 9: The Technical Design Document 129

Chapter 9 > > > > > > > > > > > > > > > >

The Technical Design


Document
This chapter introduces the technical
design document and the work involved
in putting together the technical plans
for creating your game. As an introduc-
tion, this chapter includes the concepts
in a light overview designed to kick-
start your technical design process;
however, it is Chapter 18 that discusses
the technical design stage in detail.

Object-Oriented Design
Modern electronic games are large
software projects that run from hun-
dreds of thousands of lines of code to
millions of lines of code. Object-
oriented design (OOD) was invented to
cope with large software projects. I am
not going to fill up this book with pages
discussing the pros and cons of object-
oriented design versus procedurally
designed software; there are countless
good books discussing object-oriented
design at your favorite bookstore. I am
already sold on OOD, and I approach
the technical design document using
OOD; I am only concerned here with
the application of OOD and UML to
game construction. There is also a bias
towards C++ as the language for
implementation of the game code.
Where the technical design document lies in the
project life cycle
130 Chapter 9: The Technical Design Document

There are a few other important lan- using C, then you have probably made
guages for creating games such as C the determination that C++ is not yet
and Java. I will not evangelize for C++ right for your team or have some other
here either. If you are using Java, then requirement keeping you with C.
you are probably creating a game with- Assembly language is of course used
out significant performance require- when hand optimizing critical sections
ments for graphics and are interested in of code and is not relevant from an
cross-platform distribution. If you are architectural or design point of view.

Purpose of the Technical Design Document


The technical design document is the it turned out that it took three junior
blueprint for the software engineers on developers just three months to flesh
your team to use in the creation of the out the source files as indicated by Jay’s
game. The ideal technical design docu- headers to implement the software Jay
ment will specify to your developers described. It was the fastest any of us
not only what needs to be created but saw software come together.
also how it will be implemented. I was JARGON: A header file or a .H file is a
introduced to strong software architec- file in C or C++ that describes the inter-
ture for the first time in the game face to the software module defined in a
industry when I worked under Jay Lee corresponding source file (.C or .CPP
at Interna (a game company that has file).
since joined the mound of defunct game
Jay Lee demonstrated very strong soft-
companies). When I signed up for the
ware architecture; ever since that
job as a developer at Interna, I was
experience I have been learning more
looking to learn more about C++ and
about creating software better. The
artificial intelligence.
relationship between software architec-
What Jay Lee did was to use strong
ture and the technical design document
encapsulation of the implementation
is that the technical design document is
details by creating a detailed set of
broader in scope and less detailed than
interfaces for the classes of the whole
a software architecture plan. The tech-
game (a massively multiplayer casino
nical design document must synthesize
game). Jay labored for two months writ-
the requirements of the game, develop
ing header files. There was not a bit of
a software design, serve as a testing
working code at the end of his two
plan, and also supply the project man-
months, just header files. I remember
ager with critical information such as
that the members of the team were a
the required developer roles, depend-
bit skeptical about this; we thought
encies between tasks and developers,
while leadership was great and archi-
and an estimate of how long it will take
tecture was probably a good thing,
to perform each of the tasks assigned to
would it not be better if our best pro-
the developers.
grammer were writing some code? Well
Chapter 9: The Technical Design Document 131

in a game’s development.
Often they cannot visual-
ize the game the way the
game designers are able to
and are forced to
green-light a project based
on feelings of trust in the
developer. All executive
management teams would
rather replace this trust
with seeing some cool eye
candy on the screen show-
The conceptual overview of a technical design document
ing that the game is
happily in development
and looks fun. This creates
an unholy tension when
The technical design document has the developer is pressured to not think
other customers besides the develop- about the technical design of the game
ers on your team: The game publishers much in the early stages and must
are becoming savvier in their technical instead play catch-up all project long. It
evaluation of game developers as the is widely known in the software engi-
scope of the projects grows and the neering field that you would much
associated risks with the projects rather identify and fix a defect in your
increase. Most likely you will need to software at the design stage than at the
deliver a technical design document as end of the project. Estimates vary, but
an early milestone to your publisher. the consensus appears to be that it is
The problem with a technical design fifty times more expensive to fix a bug
document is that while most of the at the end of the implementation stage
strong publishers are now asking for than at the design stage. Thus, I
them, there are few senior game devel- encourage you, by whatever means you
opers with the requisite technical can, to take your time on the technical
expertise to perform an adequate design phase of your project and work
review of the developer’s technical closely with your publisher or execu-
preparations. This lack of technical tive management to make the work of
review means the technical design doc- the technical design stage visible and
ument will be poorly reviewed and as reviewed to assure that progress is
such is not a very visible deliverable. occurring on the project. Email me if
This creates another problem; early in you come up with tips on how to get
the project the executive management publishers more excited about the tech-
is almost always eager to see progress nical design document.
132 Chapter 9: The Technical Design Document

Strong process, poor process—relative efficiencies

The later you identify and fix a bug, the more the cost rises.

Why Have a Software Development development process is the method


Process? your team uses to take the game speci-
All development houses have a devel- fications and turn them into a game.
opment process even if they do not Even the solitary game developer
consciously go about creating one. A working on her own private game, iter-
ating each night after working the day
Chapter 9: The Technical Design Document 133

job, still has a development process. software companies are poor at the
This lone developer’s process could be development process by all accounts;
as informal as writing up a sketch of the second, the industry holds creativity
main game interface on a piece of graph sacred (a good thing, but it can be used
paper and then incrementally building as an excuse to avoid professionalism);
the game, a new feature every night, and third, the games themselves are
until the game is playable. Some always becoming larger, faster, and
high-profile game development compa- more complex—about at the rate of
nies also use this method. Moore’s Law. The result is that studio
Steve McConnell’s seminal book heads or publisher executives who
Code Complete is one of the most acces- might have had hands-on experience in
sible works discussing in detail soft- creating a game five years ago now
ware development methods and why have a misguided interpretation of the
organizations resist learning new devel- scope of the project they are responsi-
opment processes. The problem with ble for. Interpreting Moore’s Law
learning a process is that it takes time, liberally, it would suggest that over five
and most organizations are in short years a game would be eight times
supply of time. They are under great larger in complexity and scope than an
pressure to get something visible and equivalent title five years before. This
running as quickly as possible to reas- last point I think is significant and
sure management that the project is rarely discussed; managers are often
well under way (a recurrent theme in walking around with an impression of
this book, I know). A strong software the work to be completed as much
development process will emphasize smaller, like when they were creating
thinking at the beginning of a project games hands-on. They were successful
where a weak development process will then, or they would most likely not
create an even larger burden of wasted have achieved their leadership position.
time at the end of the project. In the That means they must have been suc-
most extreme cases of poor process, cessful with their software development
the projects find themselves in such a process and that the penalties back
hole of despair due to poor decisions then were correspondingly smaller. I
made at the beginning of the project think this is a great source of subtle
that the project itself is cancelled rather evil in the game industry.
than throwing everything out and try-
JARGON: Moore’s Law—computing
ing again. I am firmly convinced that all power will double every 18 months.
of the games in the industry that are
taking 30 to 60 months to complete are So are you ready to hear about a better
being performed at development software development process?
houses with a poor development pro-
The Unified Software Development
cess, which results in a poor
Process
preproduction.
It is understandable why game We at Taldren use a modified, light
development companies are generally version of the Unified Software Devel-
poor at enforcing a strong software opment Process. I will, however, pres-
development process. First of all, most ent an overview of the full Unified
134 Chapter 9: The Technical Design Document

Software Development Process and The Unified Process recognizes that a


then go back and explain what we do. real-world project cannot crisply com-
The core workflows of the Unified plete one workflow and then move to
Process are requirements, analysis, another workflow. To address this, the
design, implementation, and test. Unified Process is an iterative and
Looking over this list of five activities, I incremental workflow method, where
would imagine most people in game each stage of the project is driven
development would be surprised to see through inception, elaboration, construc-
the three preproduction activities: tion, and transition.
requirements, analysis, and design. If I
were to interview game development Phases of a Workflow in the Unified
houses to ask them what core Process
workflows (after explaining what I 1. Inception
meant by the term) they are using in 2. Elaboration
their development, they would probably 3. Construction
say design, implement, and test. This is 4. Transition
one of the key fea-
tures of the Unified
Process; it formally
recognizes that
gathering your
requirements is a
different activity
than analyzing the
requirements,
which is in turn a
wholly different
activity than design- The work flow of the Unified Software Development Process
ing your software to
meet your game’s In the real world you will find yourself
requirements. If you think back towards late in the project, perhaps near alpha,
an earlier chapter on gathering your when you realize that your game inven-
key business parameters before creat- tory system is broken and not fun (it
ing your game design document, you turns out tracking the adventuring gear
will notice that I added a bit of material to the nearest gram was not a great
from the game development domain to idea), so now you need to go back and
the requirements capture stage. design a new inventory system. The
Core Workflows of the Unified Unified Process would have you stop
Process and think about your new inventory
1. Requirements system, review your requirements, ana-
2. Analysis lyze what impact the new inventory
3. Design system requirements will impose on
4. Implementation the existing game, design the new
5. Test
Chapter 9: The Technical Design Document 135

The various models of the Unified Software Development Process

inventory system, implement it, and When Should the Technical Design
test the inventory system. Document Be Written?
Perhaps at this point you may be The technical design document should
getting bored and rolling your eyes and be developed in preproduction along
thinking to yourself, “This is just a with the game design document but
bunch of fancy multisyllabic names; of perhaps staggered back a bit to allow
course I think about my stuff before I the game design document time to
code it.” While it is true that these form up. The technical design docu-
terms are just a bunch of jargon, if you ment needs to be developed with a
actually consciously name what activity thorough set of plans and time esti-
you are performing, you will have a mates before the schedule and the
much greater awareness of what you project plan (discussed in the next
are doing. This awareness will translate chapter) can be completed.
directly into being more purposeful During production it sometimes
about collecting your requirements becomes necessary to change the
when the sign over your head says you direction of some features in response
are in requirements capture; you will be to technical research, focus group test-
a far more effective analyzer of the ing, market research, or an awareness
requirements when you are not obli- of a lack of thorough design in the
gated to think about how you are going preproduction stage. In response to any
to code the rasterizer. Your designs will change in the game, a fast response
be much stronger when you have all of mini-technical design stage should be
the requirements and their impact laid initiated before any new development
out in front of you. of these changes is undertaken. In
other words, don’t allow your deeply
thought-out technical designs to be
136 Chapter 9: The Technical Design Document

held up like stone tablets that must be design during implementation if you
followed. By all means, change your identify a better design.

What Goes into the Technical Design


Document?
Now that I have established that a tech- being part of the engine development.
nical design and architecture are good The goal is to write down every single
things to have, it is time to define what expectation the team, the executive
goes into the technical design docu- manager, the designers, and the fans
ment. The technical design document have for the game. Note that this stage
acts as a plan of attack on the require- is named simply requirements capture;
ments of the game: a plan for whom, there should be no efforts to cull, prior-
when, and how these requirements will itize, or otherwise analyze the require-
be accomplished. This technical design ments and make any decisions. The
document is a miniature project itself goal is to just cast the net as wide and
going through several stages: require- as far as possible and be very thorough
ments capture, requirements analysis, in collecting all of the fine details. Any
high-level architecture, mid-level software premature efforts to analyze the incom-
design, deployment design, a testing plan, ing requirements will bog down the
and a transition plan. Each of these process and create decisions that are
stages will be chock full of documents, made on less than the full set of infor-
diagrams, and time estimates to com- mation available to make these
plete the tasks described within. decisions.
Requirements
Capture
Requirements capture
is the process of iden-
tifying all the require-
ments the game as a
piece of software must
satisfy to meet the
goals and expectations
for the game. Require-
ments can take a myr-
iad of forms from a
frame rate require-
ment of 60 frames per
second, to fitting on a Capturing use cases
single CD, to not tak-
ing more than 80 pro-
grammer-months to complete, to The requirements capture stage is the
having very few defects, to having 3D most critical to a successful project and
sound or 10,000 polygon characters, to in many ways is the most difficult. It is
Chapter 9: The Technical Design Document 137

difficult to decide when you have identi- shell screens, the game mechanics, the
fied all your requirements, and it is also art design, and the content such as mis-
sometimes difficult to describe them sions, levels, and puzzles.
clearly, such as when you are trying to The Unified Modeling Language
push your graphics to the “next level,” has the use case diagram, which is
whatever that might be. most helpful in the requirements cap-
Let us tackle it in order of easiest ture stage. The idea behind the use
to most difficult. The easiest require- case diagram is to note the actors
ments to capture are the requirements (users and other discrete systems such
described in the game design docu- as a CD authentication server) and the
ment! This document should have a interactions these actors have with the
design for the main game interface, the software system.

The use cases of the officer menu in Starfleet Command 3


138 Chapter 9: The Technical Design Document

Y
FL
AM
TE

The mocked-up officer screen early in production

The nearly final officer screen

Team-Fly®
Chapter 9: The Technical Design Document 139

The above use case diagram is from to collect every single action the player
Starfleet Command: The Next Genera- would have with this menu and arrange
tion. The function of this menu is to act it graphically to aid in the technical
as a vending machine, “selling” new analysis of what needs to be done.
officers for the players to use on their Accompanying this diagram is a regular
starship and allowing the players to document detailing these individual
“sell” back the officers they already interactions or use cases.
have. The purpose of this diagram was

Officer Menu Use Cases


Displays or Player Views
These are just views; there are no player interactions in these use cases.
View Ship Name
This is a simple text display of the player’s ship’s name.
View Current Prestige
This is a simple text displayer of the player’s current display. Display these prestige points in normal text output color if
they have enough prestige to buy the least expensive officer in the base; if not display this prestige as red text.
View Starbase Name
This is a simple text display of the name of the starbase or location that the player is performing officer selection. In the
case of multiplayer or skirmish games, display the name of the mission type.
View Current Officer Assignments
This is a complex display combining the following elements:
• Officer Name
• Station Name and/or Station Icon
• Officer Trade-In Value
This display displays six such officers; there is no scroll bar.
At all times there is to be an officer displayed here; even when the player transfers out an officer, a flunky ensign with
basic skills throughout will be displayed. We need a long list of potential officer names that is race specific and easy to
add to.
View Officer Profile
This is a complex display combining the following elements A and B:
A. Officer Attributes
• Officer Name
• Officer Intelligence
• Officer Toughness
• Officer Health
• Officer Cost to Buy / Officer Trade-In Value
B. Officer Skills
Each of the skills is broken down into three sub-skills and a display of skill rank. The skill rank should have a header of
skill rank rather than the vague info as depicted in the current interface diagram. The skill rank should be a word
description:
• Basic [Green Text]: A basic understanding of the skill category. The officer can perform the skills in this category,
but with a negative impact on ship performance.
• Trained [Blue Text]: Trained. The officer’s performance has no effect on gameplay and is altogether neutral.
140 Chapter 9: The Technical Design Document

• Skilled [White Text]: Skilled. The officer will impart some slight improvements in game effects to the performance
of ship operations in this skill category.
• Veteran [Yellow Text]: Veteran. The officer will bestow modest improvements to ship performance in this skill
category.
• Expert [Orange Text]: The officer has attained a skill that few others can compare; the gameplay effects are fairly
strong as an officer effect.
• Legendary [Red Text]: The officer has attained a level of skill that is unearthly. They are miracle workers.
Helm Skills
• Thruster Control: Improve acceleration
• Piloting: Turn radius
• Emergency Procedures: High energy turns (HET) breakdown adjustment
Engineering
• Thruster Efficiency: Improves maximum speed
• Warp Technology: Reduces vulnerability time before and after warp
• Inertial Dampener Technology: Reduces the effects (recovery time and regeneration) of breakdown
OPS
• Scanner Technology: Improves the range and effectiveness of the scanner systems
• Cloak Counter Measures: Decreases enemy cloaking effectiveness
• Find Weakness: Finds weak spots in the enemy’s defenses, which in turn increases weapon effectiveness
against targeted ships
Security
• Close Quarters Combat: Increases combat effectiveness of Marines
• Defensive Planning: Increases ships’ natural resistance to raids and boarding
• Fitness Program: Decreases likelihood of officers getting injured, including damage from any assassins
Medical
• Psychology: Sustains crew morale across missions
• First Aid: Increases the likelihood that an officer who is stunned recovers quickly
• Surgery and Recovery: Increases the likelihood severely injured officers survive
Tactical
• Targeting: Increases weapon efficacy
• Troubleshooting: Reduces the effects of weapon degradation due to damage
• Counter Measures Training: Reduces the effectiveness of both natural and artificial ECM
View Available Officers
This is a complex display combining the following elements:
• Officer Name
• Officer Cost to Buy
• Best Officer Sub-Skill
• The Skill Rank in this Sub-Skill
If there are no officers available at this starbase, display this text:
• “No officers available”
• This display is a scrolling display with no limit to the number of entries.
• The cost of the officer should be displayed in red if the player does not have enough prestige to buy the officer.
• The skill rank of the best sub-skill for the officer should be colored by the schedule of colors from the previous
section.
Chapter 9: The Technical Design Document 141

Player Activities
Cancel
All transfers in and out and auto-assignments of the player’s officers are thrown out and the officers the player had in
place when entering the menu are restored as well as the prestige the player had at the start. The player is then returned
to the source menu or activity from where they came from.
An “Are you sure?” modal dialog might be a good addition to this choice.
Accept
All transfers of officers in and out of the ship and auto-assignment of officer stations are committed as well as the pres-
tige changes. The shadow copy of the officer assignments from the beginning is thrown out. The player is then returned
to the source menu or activity from where they came from.
An “Are you sure?” modal dialog might be a good addition to this choice.
Transfer Out
The officer that is currently selected on the side of the player’s ship—the crew manifest—is transferred off of the player’s
ship and is placed in the starbase (and is viewable there). When the player transfers an officer out they only receive a K
constant on the trade-in value for the officer. I would like to initially set this value to 1.0 so that the player has no inhibi-
tion on transferring their officers from station to station. However, I would like to be able to change this value later, for
balance or difficulty settings.
It should always be successful to transfer an officer out.
The transfer out button is always available.
If the player selects one of those basic ensigns with no skill, it just disappears into the ether and cannot be effectively
transferred to a new station. This is to prevent the player from transferring out their infinite supply of ensigns and filling
up the starbase.
Transfer In
The transfer in button will take the officer currently selected on the starbase side and swap places with the officer cur-
rently selected on the player’s ship side (effectively performing a transfer out of this officer at the same time).
If the player does not have enough prestige to transfer in the selected officer from the starbase, then the color of the cost
of that officer is red and the transfer in button is not enabled.
Auto Assign
By a simple algorithm the officers on the player’s ship will shuffle about to have the officer with the best skill for each
station. The algorithm should be something like this:
Take an officer and average the officer’s Medical sub-skills to compute an average Medical skill rank; repeat this with all
major skills and all six officers.
Now sort the officers in order of who has the highest major-skill value from largest to smallest.
Whomever is at the top, assign them to the station that corresponds to the skill that has the highest major-skill rank.
Keep going down the list until all six stations are filled.

The use cases of the officer screen

A fundamental tenet of the Unified activity diagram, the sequence diagram,


Modeling Language (UML) is that you the class diagram, the package diagram,
should never create documents and dia- and the deployment diagram. This could
grams just for documentation’s sake. be a bewildering array of diagrams if
You should use your own judgment on you went about every menu with nine
how much rigor you should apply to the different diagrams and 50 pages of sup-
problem. That is because beyond the plemental text. You would quite clearly
use case diagram, UML offers eight never make a game, but you might
more diagrams such as the test case, the make a bureaucrat proud.
142 Chapter 9: The Technical Design Document

With that cautionary statement The main display of your game,


about not going overboard, I think it is whether it is an isometric role-playing
well worth your time to collect all the game, a starfighter game, or a racing
use cases that directly involve the game, should be where you put in most
player. Unlike most business applica- of your use case analysis time. Take the
tions, we game makers have the player time to mock up the display in Adobe
perform many interactions, and some Photoshop or some other layout tool.
are quite complex. Take the time to Then carefully hunt and peck for every
create a use case diagram for each shell interaction and requirement you have
screen. Most of these you will not need for the main display. I would recom-
to document much, just some notes mend using a whiteboard or a piece of
here and there about how many charac- graph paper to collect this first pass of
ters that text entry should take, how interactions and use cases.
many digits that display should pro- Next, rearrange your use cases to
duce, and so on. It is absolutely factor out common functionality or
required that you create a menu flow behavior from your various interactions
(my term) diagram to chart the flow and create your use case diagram in a
between your shell screens. tool such as Visio. As a last step, adorn

The menu flow diagram for Black9


Chapter 9: The Technical Design Document 143

your use cases that have certain describe the existing engine. Last year
requirements, like a frame rate of 60 at Taldren, when I hired Ken Yeast to
seconds, that are not direct interac- take over maintenance programming
tions. This can be articulated as a note for my area of SFC: Empires at War, he
on the view main display use case. had a little trouble wrapping his mind
around the sequence of events and
interactions involved in the matching of
humans and AIs in the online gameplay
for SFC: EAW. Ken not only came up
to speed with my code in an efficient
manner, but was actually fixing subtle
and complex bugs with the ability to
“see” what is expected of the system.
An example of adornment No matter how hard you look, you
will never uncover all the use cases and
system requirements for your game
To be productive with interactions, do project during the technical design por-
not attempt to analyze the use cases tion of preproduction. Don’t worry
into anything that resembles imple- about it; anytime you discover a new
mentation. At this point you do not care use case, just figure out where it is fac-
how the interactions will be handled; tored into existing behaviors, if any, and
rather you just want to know what the update the use case diagram and sup-
interactions are. plemental text.
Reverse Engineering Nonobvious Requirements
Now all this is just fine when you are Here are some other nonobvious
working from a clean slate, but in this requirements that your game may
world of licenses and franchises you have:
will often find yourself working on a Design requirements—you want the
sequel or port of a previously released game to support user extensibility, such
game. Use case diagrams are a valuable as a map editor or a scripting language,
tool for performing reverse engineering, or use an existing code base.
that is, taking a system that is already Interface requirements—similar to a
built and working backward to under- design requirement but closer to the
stand how it works. Understanding how code, such as using OpenGL over
the existing system works is a key step DirectX for portability.
to successfully taking over someone Implementation requirements—
else’s code base. Here all of the use these are unusual coding standards
cases are already functional in an exist- such as the commerce level of transac-
ing game. Your job is to play the game tions and database storage when
and take note of every interaction the implementing your own billing system
player is having with the game and for an online massively multiplayer
every requirement expressed in the game. A simple example is the platform
previous game and produce use case for your game—PS2, PC, GBA, etc.
diagrams and use case documents to
144 Chapter 9: The Technical Design Document

Performance requirements—exam- the collection of diagrams, text, and


ples of these requirements are the designs that lie between the require-
all-important high frame rate or a toler- ments capture stage and the deeper
ance to a specified level Internet design stage. It will be in the design
latency. stage that you make your final plans for
the construction of the software. In
Requirements Analysis short, the analysis model is perhaps a
The purpose of the requirements analy- fancy name for your first pass at the
sis stage of the technical design rest of your technical design. You can
document is to take the use case model create a package diagram recast in the
of the game, which describes the game analysis model, a sequence diagram,
in terms of player interaction, and cre- or a collaboration diagram. What you
ate an analysis model of the game in the are seeking to do is iteratively move
highest level of technical design for the towards the deeper, more specific con-
developer. The following table enumer- structs. The goal is to avoid creating
ates the purpose of the analysis model. bugs and defects in the game’s design
and architecture that could be fixed
Use Case Model Analysis Model
now just by rearranging some symbols
Described using the Described using the in Visio rather than rewriting a tree of
language of the player language of the game
developer classes near the shipping of your game
due to a subtle bug. You must use your
External view of the Internal view of the
judgment here to decide how far to
game game
push the analysis model. Getting the
External structure by Internal structure by client-server interactions of a mas-
use cases use of stereotypical
classes and packages sively multiplayer game is a place I
would feel comfortable taking my time.
Used primarily to build Used by the game
a contract between the developers to
Looking over the previous table, it
development team and understand how the is clear that no matter what software
the publisher (executive game should be development process or lack of one is
management, i.e., designed and employed, you will always end up
customer) to articulate implemented
what requirements the
analyzing your requirements and imple-
game must fulfill menting the requirements. What is to
be accomplished in the requirements
Captures the Outlines how to create
functionality of the the game including a analysis stage is to pause and take
game including high-level architecture; stock of the use case model and “parse”
nonobvious this is the first pass at it into developer language by taking the
requirements formal design
use cases that have been grouped
Defines use cases that Defines use case together by factoring common behavior
are further analyzed realizations, each one and come up with proto-classes and
during the rest of the the result of the
design through to the analysis of a use case basic sequences of events. The idea is
test cases to start jelling the technical design
without committing to final class dia-
The analysis model is not the name of a grams; this will prevent you from
diagram, rather it is the name given to following what may be the wrong path
Chapter 9: The Technical Design Document 145

of implementation. In other words, if oriented design will discover the class


you start producing final class diagrams diagram on their own. Either they were
in response to the first use case you faced with a tangled set of code in a
see, then you will produce a system maintenance job and started scratching
that best answers that first use case. In sense out on a graph pad, or perhaps
any area of the game where you have a they are facing a complex new system
complexity of use cases, all of them they have been tasked to create, and
vying for your attention, you should they want to nail it so they reach for
probably take the time to stop and pro- the whiteboard to consider a few differ-
duce an analysis model of the aggregate ent class hierarchies.
use cases. As the following diagram shows,
As always, use your judgment; the class diagram is a simple collection
there will be many times parts of your of boxes, each representing a class, and
game will not require the rigor of an lines between the boxes showing how
interim analysis model to be developed the classes are related to each other.
before going ahead and creating your There are many bits of detail and for-
final technical design. For example, the mal notation we could add to the class
menu presenting two buttons to the diagram such as descriptors declaring a
players requesting them to choose method to be public, private, or pro-
between single player and multiplayer tected, and whether a class is a tem-
game mode will not require deep plate class or whether we are referring
thought, and you should just go ahead to an instance of a class—an object.
and take the use case diagrams as the These additional bits of notation are a
analysis model—with a mockup of the part of the UML I will introduce later,
screen and its place in the menu flow, I but for the moment let us just consider
would call it a final design! the essence of the class diagram:
classes and relationships.
Class Diagram
The class diagram describes the static
relationships and roles of the classes
that comprise your game’s software.
The class diagram can be exhaustive
and detail every class and relationship
and be printed out on several hundred
sheets of paper and pasted to a wall (we
have a couple of walls at Taldren serv-
ing this purpose for fun), or your class
diagram could be focused on a narrow
portion of the game such as the classes
driving the AI of the starships in your
game.
The class diagram is the work-
A basic class diagram
horse of technical design. Most
programmers along the road of object-
146 Chapter 9: The Technical Design Document

Relationships type. Drawing every single dependency


The class diagram models the static relationship between a class and all of
relationships between the classes. It the other types that are employed in
does not model any dynamic behavior methods of our class under study would
of the classes such as when they are only create a very hairy diagram sport-
instantiated or destroyed, and it does ing way too many lines to be useful.
not describe the message flow between That is why the dependency relation-
the classes. It is the relationships ship is a kind of third cousin to the
between the classes that make a class more important “is a” and “has a”
diagram a picture of value rather than relationships.
just a collection of boxes on a piece of Drawing “is a” and “has a”
paper. These relationship lines describe Relationships and Ordinalities
the dependencies between the classes,
and these dependencies define the The “is a” relationship is denoted by a
architecture of your game. There are line between two classes with an arrow
several vocabulary words that are on one side pointing to the parent class.
employed in formal OOD to describe The “has a” relationship is just a line.
the relations between classes, however The “has a” relationship line is often
they are all variations of three possible adorned with the cardinality of the rela-
relationships. The “is a” relationship is tionship on either or both sides. An
used when one class is derived from example: The “has a” relationship
another class. An example of this is: a between the textbook and the page
textbook is a child class that “is a” class would have the Arabic numeral
book. The “has a” relationship denotes “1” on the side of the textbook and an
the relationship between a class that asterisk “*” on the side of the page
uses another class in its composition. class. This shows an indeterminate
The textbook class could have a “has a” number of pages contained in the text-
relationship with the page class. Very book. It is also quite possible to be
neat and tidy, eh? Well, I have a loose more specific. The relationship
end. There is one more relationship between the die class and the face
that occurs between classes; it is the class could be adorned with a “1” on
compile time dependency in which one the side of the die class and a “6” on
class uses another class in the imple- the side of a face class unless you are
mentation of a method (also known as a playing third edition Dungeons and
function). Any module that manipulates Dragons as I like to do from time to
strings is quite likely to include the time; in that case the relationship
header file string.h from the Standard between die and face would need that
Library. Each type used as a parameter asterisk back again to account for your
in a function creates a dependency pile of 20-sided, 12-sided, 10-sided,
between that class and the invoked 8-sided, and 4-sided dice.
Chapter 9: The Technical Design Document 147

The class diagram is one of the dia-


grams used to perform structural
modeling. Two other UML diagrams for
structural modeling are the object dia-
gram and the package diagram. The
object diagram is a variation of the
class diagram where the instanced
objects and the relationships between
Focusing on the difference between “is a” and “has these instanced objects are the focus of
a” relationships the diagram. The class that the object
is an instance of is semantically desig-
nated by naming the object box like
Adding Annotation
this: Goblin: Monster. Important attrib-
Quite often you will want to add impor- utes and values of the object are listed
tant information and details to a class below a dividing line in the box as seen
diagram that is not a class or a relation- in the accompanying diagram.
ship but a note. To add a note to
your diagram, simply draw a rect-
angle and dog-ear a corner, then
draw a line to the class, object, or
relationship that you want to clar-
ify. Adding performance require-
ments such as “must render a
steady 30 frames per second to
the 3D view class” is a good
example of a relevant notation.
An example of an object diagram
Other UML Diagram Types
The Unified Modeling Language
provides a number of diagrams that Package diagrams are used to organize
support different areas of technical your class diagrams. Once you have
design and software architecture. In a about a dozen or so classes on a sheet
later section I will cover in greater of paper, they will start to blur together
detail the diagrams I find useful. Here I and lose their meaning. A package dia-
will present the briefest of introduc- gram looks a lot like a collection of file
tions to the rest of the UML diagram folders where the interesting bits of
family. class are listed inside the file.
148 Chapter 9: The Technical Design Document

An example of a package diagram

Y
Dynamic Modeling
FL
AM
Structural modeling is the modeling of
how the software will be constructed
from a static point of view—in short,
the activity you would imagine when
TE

setting out to architect your game.


However, your game also has dynamic
functionality, and UML has diagrams to
handle this activity. Remember flow
charts? UML has polished up the flow
chart and now calls it the activity dia-
gram. The activity diagram models the
logic flow from start states to end
states.
Sometimes a simple state diagram
cannot model the complex message An example of an activity diagram
flow between various objects perform-
ing interesting tasks in your game. For
example, in a client-server game there displays. A very useful diagram to
is often a complex flow of data going model this detailed, complex behavior
back and forth from the clients initiat- is the UML sequence diagram.
ing requests and providing user input A few more esoteric elements of
and the server taking all of this infor- dynamic modeling remain behind the
mation in, resolving the game actions, curtains, and I will leave them there for
and sending out packets to cause the the time being; see me again in Part III.
clients to correctly update their

Team-Fly®
Chapter 9: The Technical Design Document 149

Architectural Diagrams
Modern games are becoming large
pieces of software that need to be
designed and orchestrated on a macro
scale. The UML provides component
diagrams to illustrate the relationships
between modules, libraries, dynami-
cally linked libraries, databases, and
other significant chunks of your whole
game’s software composition.
UML also provides a deployment
diagram that appears to be useful only
for massively multiplayer client-server
games. The deployment diagram
describes where all the pieces of the
software are going to reside at run
time.
An example of a sequence diagram

An example of a deployment diagram


150 Chapter 9: The Technical Design Document

For most games, especially console must be touched. If only a couple of


games, the deployment of the game files include this header file, no wor-
software is well understood and a ries, but if dozens and dozens of files
deployment diagram would only be include this header file, look out—you
another diagram in your technical might as well just do a rebuild all.
design document suitable only for The trick to good large-scale pro-
impressing Dilbert’s boss. ject making is to consistently practice
good OO and keep your code modu-
Large-Scale Planning and the Evil larized. Very crudely speaking, do not
of a Long Build Time get in the habit of copying the include
There are a few tricky parts of building directives from one file to another like
large software projects that all of this a huge fishing net, hoping to catch the
solid planning aims to keep in check. right file. Take the time to verify that
The largest bugaboo of large projects is each and every include directive needs
large build times. With computers to be at the top of the file you are
already amazingly fast and only getting working on. This has been a constant
faster every month, it is easy to not struggle with our Starfleet Command
care about build times. When your pro- series. When I took over the project in
ject builds and runs in five to fifteen 1998 it was my largest project to date
seconds after making a change to your and I had a lot of challenges. (I will skip
code, you never break your concentra- boring whining comments.) Too far
tion. When the build times grow to down the list of priorities was writing
about a minute or two in duration, the code with a fast build time. At the time
build time might be just long enough we were under heavy pressure to make
for you to reflect on what you are doing a date, and all of us thought this game
and perhaps be able to perform useful would be it and we would be on to other
thinking. Once build times grow to five projects. We had no idea our game
minutes or more, you have a serious would be such a success as to merit
productivity leak. When build times working with the same code four years
reach twenty minutes or more, people later. Our project builds slowly due to
will naturally take a walk down the hall its size, but it is a crime that relatively
to chat with neighbors, hit the rest- minor architectural changes cause sig-
room, gulp some water, or get invited nificant build times (30 minutes or
out for lunch, and two hours may elapse more!). We would love to rewrite the
before they settle down again at their entire Starfleet Command code base
workstation. from the ground up—that would be the
A full rebuild of any large project way to go! However, with tight budgets
will take a long time, but a small change we must use as much of the animal as
to the implementation of a single func- possible with each release. In this real-
tion in a file will be a snap for the world example we have chosen to go
compiler to change and the linker to the route of incremental refactoring.
come up with a new executable for you.
However, the gray area is where you Refactoring
realize you must change the interface Refactoring is the art and science of
to one of your classes and a header file making the code better without adding
Chapter 9: The Technical Design Document 151

new features. A smart maintenance discussing your coding practices and


programmer will take time to not only software design approaches, including a
understand the code but also to clean section on build times, could only earn
up OO foulings and other architectural you a nod of approval from the folks
errors in the code. who are to review your technical design
Refactoring can be applied to clean- document as well as acting as the most
ing up any aspect of how your code is clear piece of communication to your
created. For the latest version of Star- team about how you intend for build
fleet Command we have separated the times to be managed.
3D rendering engine into a separate Besides just practicing good OO
DLL, and we have vastly decreased the there is another technique your pro-
labor involved in sending messages grammers can employ tactically to
back and forth between the client and sections of the game to dramatically
server. The multiplayer code base both insulate portions of the code from each
at the application level and the UI level other. It goes by different names such
were refactored. And the disappointing as Interface-Impl and Insulation. The
UI engine that we inherited from basic idea is to create an interface class
1998—Quill—we have wrapped a safe that contains an implementation class.
and sane coding condom around that The role of the implementation class is
performs as advertised while leaving the traditional role of getting the job
the underlying Quill alone. Refactoring done, and the role of the interface class
is a pragmatic practice, and I am a prac- is to be the only public access to the
tical person. So we are rewriting and rest of the project. This permits the
polishing up significant chunks of the developer of the implementation class
code as we go, creating better software to change the attributes and members
as we maintain a regular release of the implementation class all day long
schedule. without needing any other modules to
Please see the excellent book on be recompiled!
refactoring, Refactoring: Improving the A classic example of the use of
Design of Existing Code by Martin insulation is a class that is a stack. The
Fowler, Kent Beck, John Brant, William stack could be written using an array or
Opdyke, and Don Roberts for a full dis- a linked list (or quite a few other data
cussion on techniques of refactoring. structures) to push and pop data onto
the stack. You write this class as clean
Insulation as you want, but you will always give
I fear I may be straying a little off the away your implementation details in
path of the technical design document. the header file. Sure, that information is
However, I defend myself by wanting to privately declared, but it is still publicly
convey to you not only passion for viewable and, more germane to this
reducing build times, but also some point, any changes to the stack classes
practical advice on achieving faster implementation, say from an array to an
build times. I also argue that a section STL list, will cause a rebuild of all mod-
in your technical design document ules that ever used your stack class.
152 Chapter 9: The Technical Design Document

// stack.h - implented as an array


#if ! defined ( stack.h )
#define stack.h

class cStack
{
private:
int* pStack;
int size;
int length;

public:
cStack();
cStack( const cStack &stack );
~cStack();

Stack& operator= (const Stack &stack );


void mPush( int value );
int mPop();
int mTop() const;
bool mIsEmpty();
}
#endif

A stack written as an array

// stack.h - implented as a linked list


#if ! defined ( stack.h )
#define stack.h

class cStackLink;

class cStack
{
private:
cStackLink* pStack;

public:
cStack();
cStack( const cStack &stack );
~cStack();

Stack& operator= (const Stack &stack );


void mPush( int value );
int mPop();
int mTop() const;
bool mIsEmpty();
}
#endif

A stack written as a linked list


Chapter 9: The Technical Design Document 153

// stack.h - fully insulated we do not need to know the implementation


#if ! defined ( stack.h )
#define stack.h

class cStackIter;
class cStackImpl;

class cStack
{
private:
cStackImpl*pStackImpl;
friend cStackIter;

public:
cStack();
cStack( const cStack &stack );
~cStack();

Stack& operator= (const cStack &stack );


void mPush( int value );
int mPop();
int mTop() const;
bool mIsEmpty();
};

bool operator== ( const cStack& left, const cStack& right );


bool operator!= ( const cStack& left, const cStack& right );

class cStackIterImpl;

class cStackIter
{
private:
cStackIterImpl* pStackIterImpl;
cStackIter( const cStackIter& );
cStackIter& operator= ( const cStackIter& );

public:
cStackIter( const cStackIter& stack );
~cStackIter();
void operator++();
operator const void* () const;
int operator()() const;
};
#endif

A stack fully insulated from implementation details

In practice there are many variations throughout the project, and after dis-
you can take to elide your implementa- cussing it in depth with my teammates,
tion details, with the wholesale privat- in the end we disagreed with the wide-
ization of the implementation class spread use of insulation. In particular it
being the most aggressive and achiev- makes inheriting a class a pain, and
ing the highest degree of insulation. I while it does save a lot of mind space
have worked on a project that used this by hiding the implementation details
method of insulation aggressively from the rest of the team, it also places
154 Chapter 9: The Technical Design Document

an extra duty upon the developers who The reverse engineering part can
have to write the interface and imple- come in handy when you need to digest
mentation classes. In the end, we a whole mess of code. It really is quite
decided it is most useful in larger fun and educational to generate large
classes like game manager classes, class diagrams and spend an afternoon
which are likely to undergo a lot of pasting them to a wall and reading over
revision in development while at the them to get a feel for the lay of the land.
same time are unlikely to ever have There are several tools to choose
anything derived from them. from for the creation of UML diagrams,
Please read the detailed and well- including Rational’s Rose and Together
written book on a relatively unexciting from Together Soft. We have even been
topic, Large-Scale C++ Software teased by Microsoft that Visual Studio 7
Design by John Lakos. will come with a new version of Rose
bundled into the development
Forward and Backward Code environment.
Generation with a Modeling Tool So yes, you can use your own
So why do I advocate UML’s particular boxes and lines, but why not use the
set of boxes and lines for describing boxes and lines that have software out
software? Well, any set of lines and there that can help you?
boxes will do, as long as you think
through the stuff you need to think Testing Plan
through and communicate it well to Towards the end of your technical
your teammates and project stake- design document you must have a sec-
holders. That being said, UML is tion on your testing plan. How will you
making rapid progress in being test your game? Toss it to the publisher
accepted as the industry standard for and fix what they ask? Beta testing,
describing and documenting software. unit testing, black box testing, or white
By becoming an industry standard box testing—which will you employ?
we are now seeing several products on
the market that will perform both for- Unit Testing and White Box Testing
ward code generation from your Unit testing is the most straightforward
diagrams and reverse engineering on of testing procedures. As you finish a
existing code. I should let that settle piece of your software, write a testing
with you for a moment. suite to exercise your new piece across
Think about it; your programmers all ranges of valid and invalid input and
can link a bunch of boxes together in a see what breaks. This is the sort of
class diagram describing the relation- activity developers of the piece of code
ships between the classes, attributes, should implement as a matter of course
members, parameters, public, private, in the development of their work.
protected—quite a few details—hit a Also note that unit testing will not
button, and bam—the files are created work with poorly architected code as
and the skeleton code is written! All you will have few truly modular parts of
that is left for the programmers to do is your game that can be tested independ-
program. That makes UML cool. ently from the rest of the game.
Chapter 9: The Technical Design Document 155

The best kind of unit and white box Beta Testing


testing is automated. For example, Beta testing is great; it is putting the
some developers of 3D games have a game in the hands of people who will
test where a computer constantly gen- buy your game. Fix all of the bugs they
erates random locations and directions identify and you know for sure you are
for the camera to look at to see if any spending your time on bugs that need
positions and/or views cause a crash. In to be fixed. The problem with beta test-
the development of Excel, Microsoft ing is that it is an exaggerated form of
employs three or more redundant, inde- black box testing, where you have fans
pendent algorithms for the calculation just playing the game and reporting
of the worksheets and compares the what they feel like reporting. Beta test-
values across them all to identify errors ers also consume great amounts of the
in the algorithm that is being optimized development team’s attention, as they
for shipping with Excel. are real people who will express their
Black Box Testing feelings and need continuous feedback
and direction to keep them happy and
This is the type of testing most publish- productive. However, every game (and
ers will perform on your game. They product for that matter) should undergo
may have organized checklists to fol- beta testing, as it is the only way to
low, but in the end it will be a bunch of determine if you really are making
young folks early in their careers play- something people will enjoy.
ing your game in a relatively unstruc-
tured manner, looking for things that From Use Cases to Test Cases
are broken. The advantage black box How do you organize your black box
testing has over white box testing is and beta testing? Again, UML offers an
that since the testing is performed from aid, the test case diagram. The great
the user’s perspective with no knowl- thing about this diagram is that it is just
edge of the implementation details, the use case diagrams from the start of
black box testing will often find bugs our project being dusted off and getting
that a white box testing plan was not a shiny new label. Remember all of the
even looking for. The flip side is that use cases you worked up to describe all
since the testing is not based on any the interactions between the player and
knowledge of the implementation of the the game? Those interactions are pre-
game, the testing can become rather cisely what you want to test during
unfocused and can consume quite a lot your black box and beta testing efforts.
of man-hours in the pursuit of bugs. Just collect all of your use cases and
convert them into a checklist of a test-
ing plan for the black box testing team
and the beta testers to test.
This page intentionally left blank
Chapter 10: The Project Plan 157

Chapter 10 > > > > > > > > > > > > > > >

The Project Plan


What Is the Project Plan?
The project plan is the culmination of plan is published to both the executive
the planning articulated in the game management for progress reports and
design, technical design, and other to team members in the form of task-
design documents such as an art style ing. It is also used by the project
guide. The heart of the project plan is a manager to level tasks between
schedule that describes what will be resources, identify critical paths, and
accomplished, how long the tasks will develop contingency plans. A good pro-
take, and who will perform these tasks. ject plan will act as a major tool to avoid
The project plan contains other infor- surprises. All this seems like good
mation such as milestone dates, task stuff, so let us get on with making a
dependencies, and a risk management project plan.
plan. The information in the project

Components of a project plan: estimates, resources, tools, tracking, dependencies, risks, and alternate plans

How Do We Create the Project Plan?


To create the project plan we will need are between the tasks. The list of tasks,
a list of tasks to be completed, who is the estimates of how long it will take to
available to perform those tasks, when perform these tasks, and their depend-
the critical project dates are such as encies will come directly out of the
milestones, and what the relationships
158 Chapter 10: The Project Plan

game design document and technical Developers Conference I discovered


design documents. there was a fairly wide range of project
Critical project dates such as mile- management rigor applied to game
stone and release dates should be development. Some shops considered
iteratively arrived at with the executive themselves too small to plan their
management team as the project plan is work; they just worked on whatever
compiled. Many projects are schedule was the most pressing task at the time.
driven; however, the most common for Many developers just used simple
the game industry is the holiday shop- spreadsheets in Excel to plan their pro-
ping season from Thanksgiving to jects; some folks used Microsoft
Christmas every year. Often projects Project to plan their tasks and then fol-

Y
will be planned by walking backwards lowed up in Excel to perform their task
in time from November to discover the tracking; the more determined develop-
FL
critical dates like beta, alpha feature
lock, first playable. With these projects
ers used Project for both planning and
tracking; and one large French devel-
AM
it will be the project plan that adapts to oper that was part of a construction
the critical dates. This is discussed firm used Project to plan and Microsoft
later in this chapter. Team Manager for task tracking.
TE

The project plan pipeline

All of this project information will Gantt and PERT Charts for
need to be compiled into a usable for- Organizing Project Tasks
mat for project analysis and report There are many reports, graphs, and
generation. With tools such as Micro- charts used in project planning and
soft Project or Primavera’s SureTrak tracking. The two most commonly used
products, a myriad of reports and charts are the PERT and Gantt charts.
graphs can be generated to review the The acronym PERT stands for Program
workload across team members, under- Evaluation Review Technique, a method-
stand what the critical path is, measure ology developed by the U.S. Navy in
project progress, and a whole host of the 1950s to manage the Polaris subma-
other views of your project status. rine missile program. The PERT chart
Many people are intimidated by project places each task in a rectangular box
planning, or they have seen project with a line drawn to the predecessor
planning only partially implemented task and a line to the next task; thus
that failed to work. From my round- the whole diagram looks like some sort
tables on game production at the Game of tree. The PERT chart’s key feature

Team-Fly®
Chapter 10: The Project Plan 159

is the visual ease in identifying the rela- excels in data entry, as there is no end
tionship between tasks and the critical to fussing about where to put the boxes
path of the project as a whole. The as in a PERT chart. The project man-
drawback of a PERT chart is that its ager usually just needs to enter the
utility is limited to just the higher-level task name, estimated time to complete,
view of a project. When individual tasks and a resource to complete the job. A
of any nontrivial project are displayed, tool like Microsoft Project will auto-
the resulting chart is crisscrossed with mate the graph side of the chart. The
lines and is too unwieldy for the viewer Gantt chart will also accept task
to absorb. dependency information like the PERT

A PERT chart from Microsoft Project

The Gantt chart turns out to be the chart and draw arrows between tasks to
most generally useful of the project show what order the tasks must be cre-
planning and tasking charts. It features ated in; however, the Gantt chart pro-
a spreadsheet-like data entry on the duces a more flat graph that does not
left-hand side of the chart with any show off the dependencies of tasks as
number of columns, the minimum being well as the PERT chart. The visual
task name, task start date, task dura- clutter of a Gantt chart can be mini-
tion, and resource name. On the right- mized to a great extent by nesting the
hand side of the chart is a modified bar tasks into a hierarchy of task, subtask,
graph where each task is a horizontal sub-subtask, etc. Microsoft Project
bar organized in a cascading hierarchy allows for a total of nine levels of task
as time progress. The Gantt chart nesting.
160 Chapter 10: The Project Plan

A Gantt chart from Microsoft Project

In my experience in game production I (debate rages but aim for between .25
have found the Gantt chart to be crucial day to 3 days in your task resolution).
and the PERT chart fun. By fun I mean An example of a poor entry would be
that the PERT chart is so easy to digest 3D engine, 4 months, Bob. This task is
visually that seeing the key tasks get- poorly described for two reasons: The
ting completed and checked off as the first is the name itself, 3D engine. What
project heads towards completion is a does that mean? Test it? Design it?
visual treat. The problem with the Debug it? Implement it? Review it?
PERT chart is again you must reduce Break it? Fix it? Vague project task
the task resolution to just the highest names must be attacked ruthlessly and
level tasks. This results in relatively reduced to a lean, aggressive name like
chunky task descriptions like “imple- Create static design of the core 3D
ment 3D engine,” “script campaign engine. The second thing wrong with
one,” and “alpha test,” and these rela- this task is that it is four months long!
tively chunky tasks are actually Good grief, why are we even putting
composed of many tasks spread over a together a schedule? How will it serve
great deal of time. The PERT chart to measure progress when we can only
becomes dissatisfying when you want look Bob up after 15 weeks and ask if
to mark off a PERT box when some- he thinks he will make it next week?
thing is 90 percent complete even With such coarse resolution we are
though the final 10 percent will not be simply not getting enough incremental
completed for some time. For this rea- task progression data to have a mean-
son I do not use PERT charts for my ingful analysis of whether the project is
own projects. tracking. For if we are not tracking,
NOTE: Please see Chapter 20 for a
maybe we should cut features in the 3D
quick survival guide to Microsoft Project. engine, or maybe we need to add
another programmer to work on the
Focusing on the Gantt Chart custom shaders, or maybe we should
So how exactly do we create a Gantt kill the new 3D engine altogether and
chart? Obviously we need to know make do with the previous engine or
what the tasks are, who is going to do integrate a commercial 3D engine. All
them, and how long they will take. The of these tough choices can be uncom-
ideal Gantt chart entry is a single, clear, fortable or even impractical for you and
discrete task with a short duration your project, but these choices are
Chapter 10: The Project Plan 161

certainly not more comfortable when Using the Technical Design


Bob has been working for 15 weeks and Document
then admits that the 3D engine turned The technical design document is sup-
out to be tougher than he thought and posed to have the information for the
that in four more weeks he will know technical tasks. Depending on how you
more! organize your team members, the game
There is a time and place for design document, the technical design
coarsely defined Gantt charts—very document, or a stand-alone art asset
early in the project when you are defin- document will describe the art tasks.
ing your business parameters. At this Wherever the information is coming
time it is useful to block out your pro- from, as you sit down to enter these
ject with these coarse task granularities tasks and time estimates into Project,
to get an idea of how many people you you will discover that these tasks are
will need and about how long it will not ready for immediate entry. For
take to get the job done. This proto- instance, the 30 luminosity maps
Gantt chart can then be used iteratively needed for your starships will be listed
to help define the costs of the project as 45 man-days from your art director.
while they are still fairly malleable in Should you enter that as a single task
the early project negotiation phase. In named luminosity mapping, 45 days, art-
the ideal world a publisher would sign ists? No you should not; that would be
up a project and pay for three months of creating a vague task entry like the
preproduction to determine the detailed previous 3D engine example. Will you
project schedule; this rarely happens. have all of your artists working on this
Instead, you often work on the rough for 45 days? Will you burn one of your
size and scope of a project and then use artists on this tedious task? Do you
the early milestones to refine your need all of the luminosity maps done at
schedule and kill features to make the the same time? These are the ques-
project fit into the negotiated costs. I tions you need to ask yourself as you
have to warn you, creating these translate the task estimates from your
proto-schedules is not a substitute for leads into your schedule. For a task like
going through with your full prepro- this I would write up 30 1.5-day tasks
duction phases and determining your and distribute them evenly across the
task estimates in detail! You should also artists I had available to perform these
avoid creating a proto-schedule if you tasks (in my management style, if there
have little experience in project plan- is something boring and repetitious, I
ning, or where the game has not yet generally distribute the tasks evenly,
jelled into a clear vision, or where there perhaps a bit heavier on the junior team
are a lot of associated technical risks member). Getting ahead of myself into
because you or your team have not a discussion of risk management and
developed a similar game. task dependencies, I would schedule
WARNING!—Creating proto-schedules these repetitious, low-risk tasks
should only be done by experienced towards the end of the project with
project planners who have managed perhaps some sample luminosity maps
similar projects and where the game done early on to verify we understood
scope is well understood.
162 Chapter 10: The Project Plan

the production path and time estimate It will be difficult to always break down
to create the maps. These 30 1.5-day tasks into their proper subtasks. For
tasks would be an eyesore to look at if example many times you will get a rea-
we were to enter them flat into the sonable-sounding task like investigate
schedule. To handle that bit of dust, pixel shaders, 3 days, Tom. It has a fairly
sweep these 30 entries into a super- clear verb—investigate—right? Well,
task named create luminosity maps. does it mean Tom will spend three days
This way we can view this individual on learning what is going on with pixel
information easily by expanding the shaders and then move on? What is the
super task create luminosity maps and deliverable for this task? Will Tom
hide it when it is not of immediate merely know more about pixel shaders
interest. Each of the 30 subtasks or are you expecting to implement pixel
should also refer to the specific starship shaders? Will the artists need to per-
that the map is for or at the very least form additional work to support the
be uniquely identified as in create lumi- pixel shaders if Tom gets them done? I
nosity map for Federation Enterprise-E, recommend this task be broken down
1.5 days, Ed. into the following tasks: Investigate the

A poorly broken down task—too long

The previous task


broken down into
30 bite-sized
1.5-day tasks
distributed to two
artists, with an
early phase to
determine the
validity of the task
estimate for both
artists, rolled up
under a super-task.
Chapter 10: The Project Plan 163

feasibility of pixel shaders, 1 day, Tom; previous section I stressed breaking


Implement core support for shaders, 1 down large, vague tasks into clear,
day, Tom; Implement simple shader for crisp, small tasks; it turns out that
ripple effect, 1 day, Tom; Determine what breaking tasks up into crisp bite-size
additional work the Artists must perform, chunks is also critical for effective task
.25 day, Tom; and then wrap up all of leveling. By breaking up the tasks into
these tasks under a super-task named their smaller pieces you will not only
implement ripple shader. Picture in your see more clearly just how much work
mind that it is your job to view each and you have to do, but you will also be able
every incoming task as a crystalline to better analyze how to distribute your
rock that you examine closely, looking tasks across your company.
for the fissures that represent the
subtasks inside of the project. Then How Long Will That Task Take?
you grasp the task firmly in your hands As you enter the data you will not only
and break it up along these fissures. need to break up the tasks into smaller
tasks, but you will also need to spend a
moment chewing on the time estimates
being reported by your team members.
There is a lot of debate in the commu-
nity about padding tasks by two times
or three times to count for the chronic
underestimation that developers are
prone to make. I fundamentally dis-
agree. I think it is a very bad thing for
the development team to think in terms
Breakin’ down tasks of “programmer-hours” and feel
assured that their management lead
Task Granularity and Task Leveling will take responsibility for padding the
schedule to accommodate their opti-
Task leveling is the act of distributing
mism. If you think about this for a
the workload across your developers so
moment, it does seem ludicrous to take
that no one developer is stuck holding
the developer’s estimate and institu-
up the show while the rest kick back at
tionally lie and come up with another
the beach. Task leveling is a difficult
number. I believe the reason organiza-
and imprecise business. No two devel-
tions do this multiplying technique is
opers on your team will produce code,
they have found that taking the devel-
art, or other game development bits at
opers estimates has resulted in
the same rate and with the same level
previous projects slipping and going
of initiative and independence. Task
over budget. The answer is the devel-
tracking is such a central activity of
opment process is flawed, and that is
game production that the next chapter
why the project is late, not because a
is dedicated to its discussion. However,
developer makes poor estimates. How
here in the planning stage we can set
can a project succeed when such arbi-
ourselves up for success later by plan-
trary estimates are tossed around?
ning our task leveling now. In the
164 Chapter 10: The Project Plan

So how do you get good time esti- want you to think about what it is going
mates? First of all I do not make creat- to take to get the mission editor done;
ing the time estimates my responsibility specifically, I want you to review the
as the project manager; I make that the technical and game designs for the mis-
developers’ responsibility. Is this just a sion editor and break it down into a
semantic nuance? No, the way to suc- task resolution of one to three days
cess is to push down to them the each and enter your tasks into
responsibility, the authority, and the Microsoft Project. Would Friday be
accountability to create their own time okay with you to review your sched-
estimates. I will not be performing the ule?” This is much stronger because
work; they will. Your team members you gave a clear task of getting her area
are not just coders or pixel pushers; estimated and put into a schedule, and
they are game developers. Grow your you told her how to get it down with
organization so they understand that the comments on the time resolution
creating quality estimates is part of and Project. You also gave a firm date
their job and that they need to make an and gave every indication that it is her
estimate they can live with. responsibility.
Will pushing estimating down to So what do you do when developer
the team members work? What about estimates are too short or too long? You
the new artist; does he know how long are the project manager, and you have
it will take to texture the level? How responsibility for running the project.
about the AI programmer; now that he While the buck stops with you, your job
has been tasked to create the network- is to get the right people matched to
ing code, how will he come up with a the right tasks with the proper tools
quality estimate? I am not saying that and resources to get the job done. It is
the senior team members such as the the artists and the art director who are
art director and the lead programmer as responsible for the art estimates. You
well as the project manager should not said that before, Erik, but what do I do
participate and help develop the esti- with a time estimate that is clearly too
mates. What I am saying is that my short? I want you to review every time
team performs best when they are estimate for a reality check, a second
working under a schedule they drafted. opinion, and for your own benefit to
It may look like I have not solved the build up a better mental map of how
time estimate problem; it may look like long the myriad of development tasks
I just moved it down to the developer, take. What I suggest you do with a
but that is too casual a statement. short time estimate is interview the
When you walk up to Sally and ask her developer and/or lead for that section
how long it will take to create a mission and ask them why they thought they
editor for the game, she might reply could accomplish it so quickly. Maybe
with a shrug and a soul-searching you will find out something you did not
glance at the ceiling and come back know; that would be a good thing.
with an estimate of two months. This is Maybe they will shrug and admit they
a low-quality estimate. Much better is didn’t give it enough thought. Or maybe
to walk up to Sally and say to her, “I it is a feature they very much want to
Chapter 10: The Project Plan 165

see get done and do not want to see it Estimating Research Tasks
cut so they are “selling you” the How do you estimate how long it will
feature. take to get something done that no one
Short Time Estimate Possibilities has done before, or no one in your orga-
nization has done before? Perhaps there
If the developer did not give the esti- is little in the way of journal articles or
mate enough thought, then simply kick books to give direction. How do you
it back for a revision. If you simply estimate how long one of these tasks
were not aware of something that will will take? The first step is to break
make the task quicker to complete— down the research task into as many
no problem, accept the estimate. How- small, discrete tasks as possible as we
ever, when it turns out they are selling discussed previously. An example:
you on a feature, this could be a prob- Elaborate on a task named research
lem. First of all, this means you have a pixel shaders and modify the task to a
flaw in your schedule that needs to be series of tasks like the following:
corrected or the rest of your schedule 1. Install video card with pixel shader
will be affected. The hard part is that support
your developer is selling you this fea- 2. Install DirectX 8.0
ture because she really wants to see it 3. Review DirectX 8.0 sample shader
get in the schedule and she felt she code
needed to underestimate the task to get 4. Create stand-alone test bed to
it on the schedule. You have three explore pixel shaders
choices: Kill the feature, allow the fea- 5. Create water effect through pixel
ture, or allow a fixed amount of time to shaders
work on the feature. Each situation is 6. Create fire effect through pixel
unique, but I tend to ask the developer shaders
why she thought it was so important to 7. Design architecture for the 3D
implement the feature. If she does a engine to utilize pixel shaders
reasonable job convincing me it is a 8. Implement pixel shader
desirable feature but I cannot afford to architecture
rearrange the schedule to fit in the true 9. Unit test the pixel shader code
time for this task, then I will encourage 10. Implement fire effect—attach to
the developer to drop the feature. Many fireball spell
times the developers will be passionate 11. Implement water effect—attach to
about getting it done and will propose water blast spell
to keep the time estimate to what the 12. Test the fireball spell
schedule can afford, and they will work 13. Test the water blast spell
hard to squeeze it in. This I feel is fair;
the manager should not create sched- By breaking down research pixel shaders
ules that require overtime, but I do feel into 13 subtasks, we can put good esti-
comfortable with developers working mates on most of the tasks. Only task
as many hours as they like to create the number four, Create stand-alone test bed
highest quality game they can. to explore pixel shaders, looks like a type
166 Chapter 10: The Project Plan

of research that resists being nailed to a whether the competition has it, in the
firm time. The solution here is to set a end deciding to implement the feature
time box, a fixed period of time you will for a number of compelling reasons.
allocate to the task. At the end of the Remind yourself that the great games
time box you will either be done with all have a slim feature set that was exe-
the research or it will have turned out cuted with excellence. Think about that
to be too expensive to continue. Mm, cool research-intense feature; do you
yes, what is that? How can you walk really need it? Only a project with
away from something not done? Well unlimited financing and no requirement
you might have to. Say you have 15 for shipping can afford to implement
months to get your game done with ten features without asking the cost. Think
developers, five of them programmers. of time boxes as stones in a stream
Allowing three months for preproduc- where the rest of the tasks flow around
tion and three more months for testing these blocks of time; a few rocks are
and transition leaves nine production cool, many rocks is a stretch of rapids,
months or a total of 45 programmer and a wall of rocks is a dam. Deter-
months. This is your time budget; if the mining a task’s priority deserves its
rest of your project is looking like 44 own subsection.
programmer months, then you have
just one month left over to play around Task Prioritization
with your pixel shader. Put a time box Assuming you and your team are cre-
of one month around the pixel shader ative folks and that you are making a
work. These are the types of hard deci- game with a budget of time and money,
sions you will have to make if you are you will always face a situation where
going to run your project on budget. you have too many ideas for cool fea-
Oh, so the pixel shaded spell tures and not enough time to imple-
effects were a core feature? Everyone ment them. You are then faced with the
thinks that is what it will take for your job of prioritizing your features to be
Diablo killer to make it over the top? sure you get the critical features
After the one month passes and you are accomplished at the right expense of
still not done, would you feel it is still the less important features.
so important a task that you would allo- I have a reliable method for task
cate more time to get it done? If so, prioritization: First discover all the
then your original time box was not absolutely required overhead tasks
honest by taking into account your pri- your team must accomplish or you will
orities. Time boxes only work if you not even have a shipping game. These
stick to them. If the feature is really tasks include preproduction, beta test-
that important, then you should have ing, getting hardware manufacturer
allocated two months or three months. approval, getting licensor approval, cre-
When setting a time box, set the maxi- ating milestones, and responding to
mum amount of time you are willing to milestone feedback. These are what I
spend on a feature of that priority level. call zero-level tasks. Also do not forget
Too many times when we are deciding to estimate the number of holidays,
whether or not to implement a feature, vacation, and sick time your team
we just ask how cool it will be or members will take, and make a
Chapter 10: The Project Plan 167

reasonable provision for turnover (I use JARGON: Leveling is the term in project
one developer for every ten developers management for the related tasks of
per year). Subtract all of this seeing how the tasks will lay out over
time and how loaded each of your
nonproduction time from your overall
resources are, and the process of dis-
schedule; this will leave you with the tributing tasks across your team to
real production time you have to work achieve a more even workload.
with. Enter all of the zero-level tasks
into your Microsoft Project Gantt chart. How do you prioritize the core tasks
(See Chapter 20 for a quick overview of when you already consider them core?
Project and such tips as customizing First realize they cannot all be core. A
your team’s calendar.) rigorous development process requires
The next step is to take your developing good time estimates, and
design documents and toss every task you have done that; now you are look-
into one of three buckets: core tasks, ing at a body of tasks that are core and
secondary tasks, and tertiary tasks. features you really want but do not have
Take your time with this. I highly sug- the budget for. Perhaps you can make a
gest discussing the relative priority of strong enough case for these features
the tasks with various team members to get approval to expand your project’s
to build consensus and to have some budget. If you can do that, great—prob-
solid feedback. lem solved. If you are still holding to
Now that you have your three your original budget, then let me show
buckets, lay out all your core tasks in you how I do low-level task prioritiza-
Microsoft Project using good task artic- tion. It’s a crude method really, but it is
ulation techniques, and assign the tasks effective: Take all your core tasks and
to the resources on your team. Now enter them into a spreadsheet (use
that you have your zero-level tasks and Excel) with a column labeled priority
your core tasks entered into your Pro- next to each task and a task time esti-
ject file, use the project-leveling tool to mate. Now quickly run down your
see how the zero-level and core-level tasks, reading the task names and say-
tasks will lay out over time. If you were ing out loud the first gut-level priority
conservative with what you labeled as a that occurs to you for that task such as
core task, then you should have some 7 or 3 or 10 if it is really critical. Go
extra time left over to start plugging in down your whole column of tasks
your secondary tasks. However, if the whether it is ten core tasks or 200. Do
buckets ended up with too much to do this first pass quickly; taking longer will
for even your core tasks on the first only make it harder. Now you will have
pass through, then you have to priori- a first pass priority for all of your core
tize your core tasks and convert tasks. Have the spreadsheet software
enough of them to secondary to make sort the core tasks from most impor-
up the difference. This means that the tant descending to least important. If
secondary and certainly the tertiary you are like me, then you will see that
tasks are unlikely to be completed if you have stubbornly labeled too many
you are having trouble accommodating tasks with a 10 or 9, and too few tasks
even the core tasks. have earned the label of 3 or 2. The
way to solve this is to allow yourself
168 Chapter 10: The Project Plan

only three level 10 tasks, three level 9 these prioritization choices. You could
tasks, and so on. Start at the first item use the numbers 999 to 0, you could
labeled 10 and take your time thinking use the alphabet, or you could use a
deeply about the feature, discuss it with three-letter alphabetic core like AAA to
your team if you have to, but one by DDD; whatever you use just leave
one you are going to demote your 10s yourself a set of three tasks at each pri-
to 9s until you are left with just three oritization level. The size of your task
must-do 10s. Repeat this process all set should be roughly one-tenth of the
the way down your list. The mathemat- overall numbers of tasks to be priori-
ically astute will notice that this specific tized. Now just draw a line where you
labeling system will fail if you have run out of time for core tasks, and toss

Y
over 30 tasks. The exact labeling the lower priority tasks in with your
scheme is not important; it is just secondary tasks.
important to force yourself to make FL
AM
Bug ID Bug Title Priority
2929 CD-Key
2953 SP - Klingon Campaign - Beginning Stardate is 112400.1, twice what it should be
2979 Dynaverse - Fleets do not have accept / forfeit options in mission panel
TE

2987 Dynaverse - Hex changed color to red when Fed was leader and Kling was member
3031 Dynaverse - Romulans can transfer in Borg officers
2561 Global - Freighter Convoys do not have escorts
2607 Campaign Screen - Player's ship gets stuck in Hex
2609 Tactical Sim - Fed vs Fed fights
2617 Dynaverse - Jumped from Lt. Commander ranking to a Fleet Admiral ranking
3110 Dynaverse - Ten turn countdown results in stuck in Hexes
2624 Dynaverse Campaign Screen - Fleet leader is not clear
2632 Dynaverse - Can make movement bar disappear when leaving a Hex with refit
2633 Dynaverse - While being attacked, attacking another will teleport player
2637 DYNA - Map Screen not refreshing on completion of Mission
2641 Campaign Screen - Ships inconsistent for Convoy between Attacking or Defending
609 SP - Campaign Screen - States we are partners with the Contested Sector
2058 Dynaverse - Cause of numbers appearing after player names in the chat box
2119 New Conquest - Music stutters and pointer freezes loading new Conquest
2701 Global - When AI forfeits it stays in the Hex
2763 Dynaverse - Role of convoys
2765 Access Server not using list of IP addresses
2780 SP - General - Player can initiate a battle then auto move kicks in
2784 SP - General - Player can be attacked when auto move kicks in
2797 Hex information should appear in game display
2799 SP - General - There needs to be a message when auto move is enacted
2817 Dynaverse - "Stand by for mission briefing" panel repeats text
2826 Dynaverse - Spectate does not work
2841 Campaign Screen - All races should begin equally allied to Neutral Hexes
2868 Dynaverse - Able to access buttons (campaign screen) anywhere on Hex map
2869 Dynaverse - Enemy AI kills fleet member AI - Defeat with prestige
2880 Dynaverse - Borg cubes appear very infrequently in Shipyard
2309 Dynaverse - Destroyed enemy ship reappears on Hex map immediately

Team-Fly®
Chapter 10: The Project Plan 169

2318 Tactical Sim - Visioneer opinion on buying Starbases


1681 Dynaverse - Officer advancement text cut off in message board
2452 AI doesn't know to go back to a repair station to repair hull
2981 Dynaverse - Severely damaged AI attacks healthy players
951 Dynaverse - AI does not team up properly in a Hex
2023 Dynaverse - Able to join missions in old Hex after leaving for new Hex
1790 SP - Tactical Sim - Able to click on map behind "Campaign Over" screen

The list of bugs and issues unprioritized

Bug ID Bug Title Priority


2929 CD-Key A
2953 SP - Klingon Campaign - Beginning Stardate is 112400.1, twice what it should be C
2979 Dynaverse - Fleets do not have accept / forfeit options in mission panel B
2987 Dynaverse - Hex changed color to red when Fed was leader and Kling was member C
3031 Dynaverse - Romulans can transfer in Borg officers B
2561 Global - Freighter Convoys do not have escorts B
2607 Campaign Screen - Player's ship gets stuck in Hex A
2609 Tactical Sim - Fed vs Fed fights B
2617 Dynaverse - Jumped from Lt. Commander ranking to a Fleet Admiral ranking C
3110 Dynaverse - Ten turn countdown results in stuck in Hexes A
2624 Dynaverse Campaign Screen - Fleet leader is not clear C
2632 Dynaverse - Can make movement bar disappear when leaving a Hex with refit C
2633 Dynaverse - While being attacked, attacking another will teleport player
2637 DYNA - Map Screen not refreshing on completion of Mission
2641 Campaign Screen - Ships inconsistent for Convoy between Attacking or Defending
609 SP - Campaign Screen - States we are partners with the Contested Sector
2058 Dynaverse - Cause of numbers appearing after player names in the chat box
2119 New Conquest - Music stutters and pointer freezes loading new Conquest
2701 Global - When AI forfeits it stays in the Hex
2763 Dynaverse - Role of convoys
2765 Access Server not using list of IP addresses
2780 SP - General - Player can initiate a battle then auto move kicks in
2784 SP - General - Player can be attacked when auto move kicks in
2797 Hex information should appear in game display
2799 SP - General - There needs to be a message when auto move is enacted
2817 Dynaverse - "Stand by for mission briefing" panel repeats text
2826 Dynaverse - Spectate does not work
2841 Campaign Screen - All races should begin equally allied to Neutral Hexes
2868 Dynaverse - Able to access buttons (campaign screen) anywhere on Hex map
2869 Dynaverse - Enemy AI kills fleet member AI - Defeat with prestige
2880 Dynaverse - Borg cubes appear very infrequently in Shipyard
2309 Dynaverse - Destroyed enemy ship reappears on Hex map immediately
2318 Tactical Sim - Visioneer opinion on buying Starbases
1681 Dynaverse - Officer advancement text cut off in message board
2452 AI doesn't know to go back to a repair station to repair hull
2981 Dynaverse - Severely damaged AI attacks healthy players
951 Dynaverse - AI does not team up properly in a Hex
2023 Dynaverse - Able to join missions in old Hex after leaving for new Hex
1790 SP - Tactical Sim - Able to click on map behind "Campaign Over" screen

Prioritization starting (use A, B, C or 1, 2, 3)


170 Chapter 10: The Project Plan

Bug ID Bug Title Priority


2929 CD-Key A
2953 SP - Klingon Campaign: Beginning Stardate is 112400.1, twice what it should be C
2979 Dynaverse - Fleets do not have accept / forfeit options in mission panel B
2987 Dynaverse - Hex changed color to red when Fed was leader and Kling was member C
3031 Dynaverse - Romulans can transfer in Borg officers B
2561 Global - Freighter Convoys do not have escorts B
2607 Campaign Screen - Player's ship gets stuck in Hex A
2609 Tactical Sim - Fed vs Fed fights B
2617 Dynaverse - Jumped from Lt. Commander ranking to a Fleet Admiral ranking C
3110 Dynaverse - Ten turn countdown results in stuck in Hexes A
2624 Dynaverse Campaign Screen - Fleet leader is not clear C
2632 Dynaverse - Can make movement bar disappear when leaving a Hex with refit C
2633 Dynaverse - While being attacked, attacking another will teleport player B
2637 DYNA - Map Screen not refreshing on completion of Mission A
2641 Campaign Screen - Ships inconsistent for Convoy between Attacking or Defending A
609 SP - Campaign Screen - States we are partners with the Contested Sector B
2058 Dynaverse - Cause of numbers appearing after player names in the chat box C
2119 New Conquest - Music stutters and pointer freezes loading new Conquest C
2701 Global - When AI forfeits it stays in the Hex C
2763 Dynaverse - Role of convoys B
2765 Access Server not using list of IP addresses A
2780 SP - General - Player can initiate a battle then auto move kicks in A
2784 SP - General - Player can be attacked when auto move kicks in A
2797 Hex information should appear in game display C
2799 SP - General - There needs to be a message when auto move is enacted B
2817 Dynaverse - "Stand by for mission briefing" panel repeats text A
2826 Dynaverse - Spectate does not work B
2841 Campaign Screen - All races should begin equally allied to Neutral Hexes B
2868 Dynaverse - Able to access buttons (campaign screen) anywhere on Hex map B
2869 Dynaverse - Enemy AI kills fleet member AI - Defeat with prestige B
2880 Dynaverse - Borg cubes appear very infrequently in Shipyard C
2309 Dynaverse - Destroyed enemy ship reappears on Hex map immediately A
2318 Tactical Sim - Visioneer opinion on buying Starbases C
1681 Dynaverse - Officer advancement text cut off in message board C
2452 AI doesn't know to go back to a repair station to repair hull C
2981 Dynaverse - Severely damaged AI attacks healthy players C
951 Dynaverse - AI does not team up properly in a Hex B
2023 Dynaverse - Able to join missions in old Hex after leaving for new Hex B
1790 SP - Tactical Sim - Able to click on map behind "Campaign Over" screen C

All tasks have received a priority.


Chapter 10: The Project Plan 171

Bug ID Bug Title Priority


2929 CD-Key A
2607 Campaign Screen - Player's ship gets stuck in Hex A
3110 Dynaverse - Ten turn countdown results in stuck in Hexes A
2637 DYNA - Map Screen not refreshing on completion of Mission A
2641 Campaign Screen - Ships inconsistent for Convoy between Attacking or Defending A
2765 Access Server not using list of IP addresses A
2780 SP - General - Player can initiate a battle then auto move kicks in A
2784 SP - General - Player can be attacked when auto move kicks in A
2817 Dynaverse - "Stand by for mission briefing" panel repeats text A
2309 Dynaverse - Destroyed enemy ship reappears on Hex map immediately A
2979 Dynaverse - Fleets do not have accept / forfeit options in mission panel B
3031 Dynaverse - Romulans can transfer in Borg officers B
2561 Global - Freighter Convoys do not have escorts B
2609 Tactical Sim - Fed vs Fed fights B
2633 Dynaverse - While being attacked, attacking another will teleport player B
609 SP - Campaign Screen - States we are partners with the Contested Sector B
2763 Dynaverse - Role of convoys B
2799 SP - General - There needs to be a message when auto move is enacted B
2826 Dynaverse - Spectate does not work B
2841 Campaign Screen - All races should begin equally allied to Neutral Hexes B
2868 Dynaverse - Able to access buttons (campaign screen) anywhere on Hex map B
2869 Dynaverse - Enemy AI kills fleet member AI - Defeat with prestige B
951 Dynaverse - AI does not team up properly in a Hex B
2023 Dynaverse - Able to join missions in old Hex after leaving for new Hex B
2953 SP - Klingon Campaign - Beginning Stardate is 112400.1, twice what it should be C
2987 Dynaverse - Hex changed color to red when Fed was leader and Kling was member C
2617 Dynaverse - Jumped from Lt. Commander ranking to a Fleet Admiral ranking C
2624 Dynaverse Campaign Screen - Fleet leader is not clear C
2632 Dynaverse - Can make movement bar disappear when leaving a Hex with refit C
2058 Dynaverse - Cause of numbers appearing after player names in the chat box C
2119 New Conquest - Music stutters and pointer freezes loading new Conquest C
2701 Global - When AI forfeits it stays in the Hex C
2797 Hex information should appear in game display C
2880 Dynaverse - Borg cubes appear very infrequently in Shipyard C
2318 Tactical Sim - Visioneer opinion on buying Starbases C
1681 Dynaverse - Officer advancement text cut off in message board C
2452 AI doesn't know to go back to a repair station to repair hull C
2981 Dynaverse - Severely damaged AI attacks healthy players C
1790 SP - Tactical Sim - Able to click on map behind "Campaign Over" screen C

And now they are sorted.

Resource Leveling left with an overloaded resource, then


In a real schedule it will be much more you will have to take their tasks and
likely that the bulk of your core tasks run them through a rigorous task prior-
will fit in your schedule but one or two itization session with the spreadsheet
of your developers have been as I described above. Find the true core
overscheduled. tasks and relegate the rest to a second-
If at the end you have leveled the ary phase.
tasks the best you can and you are still
172 Chapter 10: The Project Plan

Hold on to your secondary and difficult job. A rather tedious job, I


tertiary task lists. When you create admit, entering tasks into Project, but
schedules that your developers can mechanical and straightforward. Project
accomplish, they will appreciate it and planning enters a new level of complex-
respond with timely execution. It is ity when task dependencies are taken
common for them to be excited and into account. Task dependencies
push themselves to see how many of develop when one task depends on the
the secondary and tertiary tasks they completion of another task. A great
can pick up. See the next chapter on example is all of your production tasks
task tracking for more tips on how to should be dependent on the completion
keep your team humming along. of the preproduction milestone. After
If you were conservative with your you have entered all your zero-level
original labeling of core and secondary and core-level tasks (as well as any sec-
tasks and you did have a surplus of ondary tasks you found time for) you
time, or if you had a surplus of time will now need to draw dependency lines
with part of your development team, between tasks that are truly dependent
then now is the fun time of piling on on each other. In Microsoft Project
your secondary tasks until you are out there are two easy ways to link tasks:
of time with your resources. Use the One is to draw a link between two
detailed task prioritization method on tasks by simply left-clicking on one
the secondary tasks if you are having task and dragging the pointer to
trouble deciding which of the secondary another task and letting go. The other
features you will implement. method is to simply type in the task ID
number in the Predecessors column.
Task Dependencies
JARGON: Dependent tasks are two
Creating the schedule is not too bad so tasks that are linked such that work on
far, is it? Painful decisions about what task B cannot start without the comple-
will be a core task and what will be a tion of task A. This makes task and
secondary task is about the only resource leveling more complicated.

An example of linking tasks


Chapter 10: The Project Plan 173

Try not to link too many tasks; specifi-


cally, link only tasks that are dependent
on each other. Some people, out of
frustration with Project’s leveling algo-
rithm, start linking all kinds of unre-
lated tasks to get their project to flow
in time the way they plan for produc- The resource usage screen; the red numbers indicate an
tion to follow. In other words, do not overallocated resource.
use the task dependency links to estab-
lish task priorities. Microsoft Project apply to your specific overallocations
has a field for task priority for every due to dependencies.
task entry. Now run the Project level- You first need to study the Gantt
ing tool; if you are very lucky, all of chart and the resource usage charts to
your tasks will politely level out and understand what your dependency
none of your developers will be over- problem is all about. In all cases your
scheduled due to the task dependencies developer was okay before the depend-
you entered. encies were drawn in from the earlier
stage where you determined the
zero-level and core tasks. So looking
back up the chain of tasks you will see
one or more tasks that are holding up
the show for your overscheduled devel-
oper. This will create a pocket of free
time for this same developer earlier in
the schedule as he is stalled waiting for
work. Now the most elegant solution
Setting the priority level of a task from 0 to 999 would be if the work he is waiting for is
something he could do himself; then
you can simply assign it to him and fix
Most of the time, however, entering the dependency problem. And in turn
task dependencies will cause one or you will need to take some other work
more of your developers to go over off this developer and exchange it with
schedule. Now you will earn some of the original developer who was the bot-
your salt; this is an area where it is dif- tleneck before.
ficult to give general advice that will

The resource usage report shows holes and gaps indicating a problem of one resource waiting on another.

The gaps filled by task reassignment


174 Chapter 10: The Project Plan

The Gantt chart of the fixed schedule

If exchanging and rearranging tasks positive solution to each of your risks;


still leaves you with a pocket of dead however, that is not a requirement.
time and a later overallocation of one of The important thing is to create a
your developers, then you will have to short, focused document with one
trim off the overallocation and bring up through ten of your risks that you can
a secondary task to fill the void. That share with your executive management
will be the best you can do if all other and with your development team.
efforts to exchange, rearrange, and dis- This document should be main-
tribute the overallocated tasks fails. tained with delivery of each of your
development milestones from
The Top Ten Risks Document preproduction to the game’s release.
By far the schedule is the major deliv- You will then see a much greater
erable of the project plan, but there is awareness from your executive man-
one more document that is critical: the agement of the risks, and you should be
top ten risks document. For this docu- able to address these risks with more
ment enumerate the ten most signifi- energy. In fact, these short top ten risk
cant risks to the project. Choose only documents are the most effective way I
ten items; a longer list will lose its have found to communicate to my
focus. With each of the risk items also executive management just how much
list what actions you have taken or will I need something: another programmer,
take to contain or address the risk. two more artists, or timely audio asset
Hopefully you will be able to create a delivery.
DATE: 3/1/02

Rank Risk Effect Solution


1 Mission design slips slip Finalize Missions ASAP
2 User interface design slips slip Finalize UI ASAP
3 QA resources added late to the project low quality, slip More QA Resources earlier
4 Voice-over assets delivered late slip Finalize dialogue ASAP
5 Feature creep slip Stop adding features
6 Late solicitation to beta testers slip Submit to beta testers earlier
7 Server stability low quality Create testing tools
8 Design process overly distributed washed out quality Reduce number of authorized designers
9 Overextended use of overtime slip, low quality Address slip issues
10 UI overcorrected for mass appeal lack of distinction Fewer designers

A top ten risks document


Chapter 10: The Project Plan 175

The Non-Zero Chance of Delivery


At the end of the day your job as the done, not the earliest possible date with a
project planner is to create a plan for non-zero chance of delivery.
how long it will take to get the job
This page intentionally left blank
Chapter 11: Task Tracking 177

Chapter 11 > > > > > > > > > > > > > > >

Task Tracking
Production Begins—Now What?
Congratulations! You have made it your killer game! This is a short chap-
through preproduction, your project is ter on how to track the completion of
approved and funded, now all you have tasks and how to get the most produc-
to do is follow your plans and make tivity out of your team.

Task Visibility
You cannot just print out copies of your on what tasks are most interesting to
Gantt chart then surf the web for a year them unless they are reminded of
while your people make the game. This where they are on the schedule and
will not work. Even if you made the where everyone else is on the
most professional Gantt chart ever, schedule.
printed out in color and spiral bound. The key is to make the tasks visi-
Passing out these project binders to ble. Team members need to know in
everyone is an excellent idea, but if that detail what they should be doing, and
is all you do to make your developers they need to know how the work they
aware of their tasks and their team’s are doing correlates with others on the
tasks, then you will fail to get anywhere team. They need to feel a part of the
near your team’s full production poten- team and share a sense of urgency to
tial. I am not saying people are inher- get the job done. As tasks are com-
ently slothful, no, quite the opposite— pleted it should be communicated as
almost everyone I have met in the quickly as possible to the rest of the
industry prides himself on his ability to team to give them a sense of the pulse
work hard under a crunch to produce a of the project. I have some specific
hit game. It is just that left to their own techniques to share with you to achieve
devices, your folks will probably work strong task visibility.

The Wall
I have an effective, low-tech way of get- central wall in our workspace. Software
ting task visibility out to the team solutions such as Microsoft Team Man-
members: I print out the Gantt chart ager and intranets to publish your
and/or task lists and pin them up on a schedules and tasks are distinctly
178 Chapter 11: Task Tracking

unsatisfactory for two reasons: One, on my team is a professional, and even


your developers need to remember to on an off day all would want to be
even open up the document or visit the treated as professionals. Why would
site, and two, monitors are too small to protecting their comfort be of higher
show a whole Gantt chart, denying your importance than getting our tasks done
team the appreciation of the project in a timely manner? If people are task-
progress as a whole. ing late, they must have a reason. Was
It is easy to print out your schedule it illness? Jury duty? Task underesti-
and pin it up. I recommend just display- mation? Were they distracted helping
ing task name and ID, start time, end another team member on another prob-
time, who is assigned to it, and any pre- lem? All of these are legitimate reasons

Y
decessor tasks on the left-hand side for being late and certainly nothing to
and the Gantt chart on the right-hand cause embarrassment or discomfort.
FL
side. You should use the widest time
setting you have wall space for; when a
On the other hand, if they are late
because they were just goofing off, then
AM
schedule is scrunched up into just dis- I feel comfortable making them squirm
playing quarters or months on the in front of their other team members
Gantt window, you are not getting any and letting them know they have let the
real-time information. team down. Knowing that the whole
TE

Now I make a requirement to my team is aware of what they are and are
developers that they come out to the not getting done goes a long way to
Gantt chart and mark the tasks off inhibit goofing off.
themselves. I do not mark them off A healthy bit of competition devel-
even if I know they have been com- ops with a good wall. Assuming your
pleted. This is to get the developers to schedule was a sane schedule and man-
come out and find their place in the ifestly fair in the time allocated to the
schedule, mark off with a bit of pride tasks to be completed, your team will
what they have finished, and then look be in a high morale state to begin with.
ahead to see what is coming up. Devel- I use brightly colored highlighting mar-
opers will almost always take the time kers to mark off the tasks. Your devel-
to then look over the whole schedule to opers will come out at the end of the
gauge how are they doing compared to day to mark off what they got done then
other team members. look ahead for something simple to do
When I first started using this before they go home—bam! Another
method of task tracking it was consid- task is taken care of! This competition
ered somewhat controversial. Some effect will give extra momentum to
people asked me privately if this was a your whole project. It will give your
good idea. If someone were not accom- developers a meta-game to push them-
plishing his tasks on time, would it not selves, and they will enjoy it.
be demoralizing for him if this were Another benefit of the wall is that it
made public knowledge? Would not that makes a great piece of visual feedback
developer feel more comfortable stay- to the executive management team.
ing in his office and explaining privately They look over the wall and see all the
why he is behind in the schedule? Bah! marked-off tasks spanning 25 square
My first assumption is that everyone feet of wall space and nod to them-

Team-Fly®
Chapter 11: Task Tracking 179

selves and move along. Do not under- members who might be falling behind
estimate the importance of reassuring in tracking due to being sidetracked by
your management that you are respect- tasks that were not originally on the
ing their time and money and are mak- schedule. While it may seem crude to
ing measurable, steady progress. If you scrawl new tasks on the list, it is legiti-
are working in a large studio or in a mate. You are after the maximum
publishing house, the other teams will visibility for all tasks, not just the ones
see what you are doing and think you you were smart enough to think of
are obviously trying to get attention. So earlier.
what—you are trying to grab manage- When the time comes to update
ment’s attention. There is no glory in the schedule, the wall charts with the
obscurity. new tasks written on it and the com-
Encourage your team members to pleted tasks marked off will come in
go ahead and write any unanticipated handy. Just tear it off the wall and bring
tasks they had to complete onto the it to your workstation where you have
wall’s task lists. This will help team Microsoft Project.

Journals
I have a background in engineering, and notebook open as I work, taking notes
while in school we were introduced to whether I am working at my worksta-
the value of a journal to record actions, tion in Photoshop, MS VC++, Project,
observations, and data from the lab. Visio, Excel, or simply Word. I also
The idea is that no effort you make take my journal with me to every meet-
should be unworthy of record. While I ing to record what I need to do and
admit that when we make a game we what I need to follow up with. On a
are not building a skyscraper or a shelf in my office are the 40 or so note-
transorbital spaceship, we are still cre- books I have filled so far in my career.
ating something important and we These yellow notebooks are a staple
should take every care we can on the that we purchase for all of the employ-
execution of our game projects. ees at Taldren, and we have an ample
stock for when people fill theirs up.
The Cult of the Yellow Notebook I am passionate about these note-
For the last seven years I have been books because I have seen countless
using yellow notebooks that are about small tasks fall through the cracks in
5" by 8" inches and feature lined paper our overburdened minds—such a waste
on one side and quad-ruled paper on that the simple act of note taking can
the reverse. This format allows me to fix! About once every two to four
track micro-tasks and thoughts on the weeks I go back through my pages to
lined side, and use the graph paper for search for tasks I might have failed to
game designs, user interface layouts, address, and I pull them forward into a
and technical designs. I have this new checklist.
180 Chapter 11: Task Tracking

Walk Around
There is no older and simpler method personalities that you enjoy spending
of task tracking than simply walking more time with than others. Some peo-
around and seeing how people are ple might feel slighted so be sure to
doing. I try to carve out an hour or two visit all of your team members, not just
every day to walk around and meet the ones you like to talk to.
with the individual team members to Often it is by walking around that
see how things are going. At this pace I you discover that tasks you thought
would visit everyone in the company were the clear responsibility of one
two to four times a month. This lets developer have been conveniently rele-
people know their work is important, gated to the no-man’s land between two
and the human connection really shows developers and have dropped to the
you care about getting a great game floor. This is a great time to clear up
done. When the project hits a tough such misunderstandings and get these
spot you will find that you want to stay tasks properly assigned. If you ask the
in your office and focus on the burning right questions and remain approach-
fires. But it is when the times are able, these walkabouts will also turn up
smoky that you should make the extra the deeper concerns your team mem-
special effort of visiting with your team bers might have felt too uncomfortable
members. Also be aware that no matter bringing up in some other forum or
how much you like everyone on your method. Keep your ears and eyes open
team, there will naturally be some and talk to your team members.

Milestone Orientation Meetings


Another useful technique I have found give them a chance to request clarifica-
is to kick off each milestone iteration tion. They will also get full visibility for
with a milestone meeting to review what they need to accomplish in front
what everyone is tasked with and what of the whole team; this goes a long way
the associated expectations are for to fight the impression that so and so
their work. I did not start this cere- does not have much work to do.
mony until just this year; however, each
time I run the meeting I am amazed at Praise People Publicly
how many misunderstandings we are I also take the time to praise individual
actually carrying around, and this is on team members at each of these meet-
a project that has received our most ings—not necessarily everyone—but I
detailed preproduction to date! do try to keep a running tab of who is
At these meetings I simply keep due for some recognition. While no one
everyone in the room as I go through I know would admit it, I think receiving
the features and tasks one by one and praise and recognition from your team
get a verbal discourse back from the and supervisor is a great morale boost,
responsible developer to be sure they and the lack of praise and recognition
understand what they need to do and to can be a significant drain on morale.
Chapter 11: Task Tracking 181

There are good books devoted to how nameplates to holiday turkeys, but I
best to reward your employees with all think the best is a public thank you.
sorts of clever ideas from silver

Maintain the Gantt Chart


By far the least fun part of project man- tasks that are refusing to complete
agement is updating the Gantt chart. despite one of your developers working
As you sit in front of Microsoft Project, hard on the task. My bet is that if you
none of the tasks will seem to have look under the hood of that task, you
been completed on the days you will discover it is composed of multiple
planned. And so if you simply check off tasks, some of which have been com-
tasks as they are completed, you will pleted. Take the time to break up this
be left with a schedule that is full of task into its component parts and give
hard-to-move completed tasks that your developer credit for what has been
indicate they were completed on the accomplished. Quite often your devel-
wrong day. These blocked off dates will opers will tell you that this or that fea-
not be used in subsequent leveling ture is 90 percent done and that they
operations, and soon your schedule will clearly had to move on to more press-
look like a mess. ing tasks for fear of causing stalls in the
No matter how tedious it is, do not project. Their judgment is almost
put off maintaining your schedule for always correct in that there was little
longer than a month. I have slacked profit in having them polish up some
myself and have regretted it every feature to true shipping quality when
time. It just takes too much time to there are others waiting for them to
repair a badly out-of-date schedule. finish something else. This is the same
When a schedule is really in bad shape I as a task that is really composed of
sometimes just start a fresh Project subtasks. In this case the subtask is
file. that final 10 percent of polish on the
The latest version of Microsoft radar, which is unimportant to solve
Project does have one simple new fea- now. Take that 10 percent polish task
ture: It lets you move completed tasks and enter it into the schedule; just put
back and forth in time! A minor mira- it further down in time to when you
cle, I tell you. In the older versions you really will take care of the polish task.
would have to unmark a completed For larger projects I strongly sug-
task, move it to the time it was com- gest you delegate to your section leads
pleted (or at least out of the way of the the input and maintenance of their part
current task leveling concern), and of the schedule. This will help them
then remark it as complete. This only grow a valuable task, and it will help
made a tedious job twice as hard as it you keep your job sane. To facilitate
needed to be. this I favor using a tree of inserted
Take the time to enter in com- Microsoft Project files so that each
pletely new tasks that your developers developer can work on his section of
have taken the time to write on the the schedule. I discuss this in detail in
wall. Also take a close look at any open Chapter 20.
182 Chapter 11: Task Tracking

Update the Risks Chart


Rounding out the task tracking set of what you are expecting from your
duties is to update the risks chart: Take third-party vendors. Are they on time?
the time to review your Gantt chart; is The true impact of a risks document
it indicating a new problem down the only comes into play when it is main-
road? Are the artificial intelligence tained like the project schedule. Be
tasks tracking? How is the mission sure to visit with your executive man-
editor? How are the art assets coming agement and apprise them of the latest
along? How is the testing of the multi- risks. Post these risks in a public place
player code coming along? Ask yourself so that all of your team can review
these types of questions as you review them and have an opportunity to
the Gantt chart to see if a new risk has respond to them. After all, taking the
developed or perhaps an older risk has time to discover your risks is a good
risen in priority. Also take a look at the idea, but sharing your risks with the
old risks; have some of then lessened rest of the team and management is
in importance or have they faded away key to getting focus on the problems.
altogether? Some new risks may be Of course occasionally you may develop
introduced from your walks around the a risk that is personal in nature and is
team or from a daily journal type mech- not fit for wide dissemination. Use your
anism or simple email from your team common sense and discretion when
members. Also take the time to review choosing what to post on a wall.
Chapter 12: Outsourcing Strategies 183

Chapter 12 > > > > > > > > > > > > > > >

Outsourcing
Strategies
Why Outsource?
Many talented folks can be involved in specialized tasks do not occur as a
medium to large game projects from steady task across the whole project.
the obvious artists and programmers to This means that to be efficient in the
writers dedicated to dialogue, to motion employment of these folks with special-
capture actors, to voice-over directors, ized game development talents, we
to quality assurance leads. Artists and need to either be a large development
programmers perform the bulk of the house with many game projects in
labor on a game project, with these simultaneous production, or we need to
other specialized tasks occurring for outsource this work to third-party ven-
relatively short blocks of time in dors who will execute these production
midproduction. tasks under our direction. Otherwise,
audio and other specialists who cannot
be gainfully employed across the dura-
tion of a single project would cause a
financial burden on our projects.
Most game developers would much
prefer to have generous budgets in
order to hire in-house all of these
experts and be able to work more
closely with them to achieve the high-
est level of quality possible. There are a
Layers of game production—games are software couple of problems with this approach:
with toppings. First of all you are burning prodigious
cash whenever you cannot task them
As can be seen readily in this diagram, directly to your game project; when
a single game project team requires they are independent contractors you
full-time work from the artists, pro- only pay for the work you need to get
grammers, design, and management; done. Second, it is difficult to find
however, the audio, dialogue, voice- excellent people to fill these positions.
over, motion capture, and other The higher the quality you are looking
184 Chapter 12: Outsourcing Strategies

for, the more likely the individuals Almost all organizations outsource
would have risen to a key position at to some degree; most publishers out-
another developer or third-party pro- source game development to developers,
duction house or may even be the and even those that internally produce
owners of their own production house. their own titles outsource a multitude
In short, it will take your organization a of tasks such as disk manufacturing and
long time to build up the financial payroll management. Now, what are
strength to employ multiple teams and some good strategies and tasks to keep
find and retain excellent people for the in mind when weighing outsourcing?
non-core tasks.

When to Think About Outsourcing


Your outsourcing plan, which describes project will cost. It is this tension that
what work will be outsourced, by what is a major source of business frustration
contractor, by what date, and for how in the industry and is the root of a con-
much money, should be determined in siderable lack of profit for all
the earliest parts of preproduction, ide- concerned.
ally before the final budget of the That is why I have dedicated such a
project is decided. There is a natural large portion of this book to introducing
tension here. The project needs an hon- outsourcing in all of its various forms.
est preproduction phase to figure out Experienced game developers make
what tasks need to be performed and better educated guesses on the costs of
who can perform them. Many times we various features and assets due to hav-
are creating new technology, and it will ing been there before. Too often a
take a bit of experimentation to figure project manager will arbitrarily budget
out how a particular kind of asset will X dollars for voice-over work and Y dol-
need to be created. All of this planning lars for music, only to find that music
will take a few people a couple of requires more money and that the
months—varying widely depending on voice-over could get by with less
the size of the project—which means money. This is fine if you catch this dis-
this will take money. However, the way crepancy before you approach either
game projects work is that the pub- the music contractor or the voice-over
lisher and developer have to come to director, but it is awkward indeed if you
agreement on what the final budget will have already signed a contract with the
be before any money is spent on the voice-over director! This chapter only
project. This requires an unpleasant introduces outsourcing; several chap-
choice for the developer: Either work ters in Part IV are each devoted to a
without compensation during the particular type of asset for outsourcing.
preproduction phase to be able to rigor- I hope to provide material for you to
ously determine the costs or enter into take advantage of so that you can begin
a fixed bid agreement with the pub- planning your music needs as soon as
lisher and then figure out how much the possible on your project—before the
entire budget parameters are fixed.
Chapter 12: Outsourcing Strategies 185

What to Outsource
In short, you should outsource tasks ples I can think of where the multi-
that are not your core competency player was outsourced all ended with
and/or are needed for a short period of abysmal failure due to a lack of commu-
time in your project. In other words, if nication between the core team and the
your organization is weak at something, multiplayer team, as there are just too
hire someone good to do it for you. many interdependencies between
multiplayer and single player to suc-
Do Not Outsource Programming— cessfully outsource this area. The only
Exceptions Noted exception that comes to mind is the
A big exception to this rule is the pro- case of Return to Castle Wolfenstein,
gramming. You should never outsource an amazing game produced by id Soft-
your programming tasks on a game pro- ware and developed by Grey Matter
ject. A game is software and if you do with the multiplayer portion of the pro-
not have the expertise to create the ject developed by Nerve Software. This
software, then you should hire the pro- worked well because Grey Matter was
grammers for in-house production. If working with id Software’s solid Quake
you do not have programmers on staff, III engine and could focus on the con-
you should not be making a game; make tent creation. Likewise, Nerve had the
what you are good at. This is why a lot same solid engine to work with and
of publishers have outsourced game could work on multiplayer parts of the
development; it is the most difficult and game without needing constant com-
risky part of publishing games, and so munication with Grey Matter. Thus,
they have externalized those risks to the work was modular and there were
game developers. Almost all organiza- no awkward dependencies between the
tions can find a bucket of useful work two projects.
for programmers to perform year Taldren has outsourced a couple of
round. programming projects: We have had
Occasionally I have heard of pro- external folks create missions for
jects where the map editor, the video Starfleet Command II, and we have had
compressor, or some other modular folks create a ship editor for SFC II. For
tool-like portion of the project was the missions, it did not work out well
outsourced to an independent program- because the scripting API was still
mer. This may work and is more likely being developed internally when we
to succeed the closer this task is to had to get started making scripts (a
being modular and having few interde- dependency). For internal teams this is
pendencies with the game’s develop- not that big an inconvenience and hap-
ment. This works especially well when pens on most projects; the engine
you are not prepared to staff up and development and content creation
increase head count to perform this stages are often overlapping (it is, of
minor amount of programming. course, much better to complete your
Much more controversial is the engine before content creation starts).
outsourcing of the multiplayer portion In the case of missions, we had to have
of a game project. The several exam- more communication with the external
186 Chapter 12: Outsourcing Strategies

mission programmers than was effi- development houses such as Blizzard


cient, and we had to perform significant and Square have developed very large
maintenance on the scripts later in the and internationally recognized movie
development cycle. The ship editor making teams.
project worked out better because the Sideways Comment on Large Movie
folks came forward with a functional Teams
prototype of what they wanted to do
Again, you should outsource when you
and just wanted an okay to move for- are contemplating work that is beyond
ward on what was essentially their own your core competency or it would be an
independent project. overall financial burden to staff up for
this work. In the case of Blizzard and
On Outsourcing Art Square, both organizations have
Art would have to be the next area I enjoyed so much historical success that
would be reluctant to outsource from they could easily afford to employ
my core development team. The out- in-house movie teams. This allowed
them to create movies that the rest of
sourcing of art is probably the oldest
the game industry can only envy. There
and most well understood of the tasks is a significant drawback to having a
to outsource. In the days when a single killer in-house movie team of such
programmer was all that was needed to power—it needs something to do.
challenge the modest hardware, it was
common to find an artist buddy and buy How do you outsource a movie? This is
a month or two of art from him. Now discussed in detail in Chapter 32. I will
most games have their own internal art merely outline the process here. To
teams to produce the required art for prepare for outsourcing a movie it is
the game. There are, however, common best if your team has a competent
exceptions. storyboard artist who can communicate
all of the scenes, actions, and assets
Movies, Cut Scenes, or Full Motion that will be required in making the
Video movie. If you lack a sketched story-
The most commonly outsourced art board, create one with just words.
tasks are movies in a game. These Take your storyboard to a number
movies are sometimes called cut of movie houses and ask them to
scenes, in-game cinematics, or full respond with a fixed bid to perform the
motion video (FMV), depending on the work. Be sure to define clearly what
technique used to create the movies work you want them to perform. For
and the role they play in the game. The example, if you want them to create a
reason movies are most commonly silent movie that you will later take to
outsourced is that movies are a labor- an audio house, specify that, or they
intensive process that generally might include audio in the quote. Also
requires building assets in a format and explicitly indicate if you will supply any
of a higher quality than the game’s of the models or other assets featured
engine and using tools and techniques in the storyboard; otherwise they will
that are not applied in the production of assume they are to create these
assets for the game itself. Large models.
Chapter 12: Outsourcing Strategies 187

As the movie houses are respond- How do you outsource a model?


ing to your bid request, follow up with Models tend to outsource well because
their supplied references and ask peo- it is relatively easy to specify what you
ple who have worked with them before are looking for by way of a sketch and
if they are satisfied with the work some technical details like poly count,
performed. and models are modular and largely
In the end you will need to choose have no dependencies on any other
the movie house based on your own aspect of the project. Finally, it is fairly
business parameters: fast, cheap, or painless to inspect a model for
high quality (which two of the three do completeness.
you want?). Maybe one of the movie Approach several art houses with
houses can do the work for you in a concept sketches of your model—
rush as you need, but at a steep price. spaceship, racecar, or whatever you
Perhaps another has a key art director need modeled—and provide a complete
that you know will nail the movie and technical description of the format you
you are willing to pay her fee. Or per- need your model delivered in. Consult
haps there is a movie house with a your own art director and graphics lead
substantial hole in their revenue stream to determine if your models can have
and they are willing to offer a deep dis- only triangles or if quads are okay.
count to keep things flowing. In the Determine poly count, and in addition
end, never grind so hard that you only to being textured, specify any other
force them to come back and ask for assets such as a damage layer, luminos-
more money or to underperform the ity, or specularity. What file format—
work to get by. 3D Studio Max or other? Write all of
this up and include other parameters
3D Models—Modeling such as required delivery date and send
Almost all modern AAA games are 3D it out to the art houses you have
games: shooters, strategy games, role- prescreened based on the portfolios and
playing games, and adventure games. references they have sent you.
The hardware is just so capable that it Finally, as stated above, you must
is pretty much uncompetitive not to be select your modeling team based on
a 3D game. Most game development who is the best fit to your business
companies will have their own internal parameters: fast, cheap, or high quality.
staff of 3D modeling artists. However, In Chapter 32 I will go over this in
your project may be particularly 3D detail and provide a list of modeling
model intensive and you prefer to houses for you to contact.
outsource than staff up, or you may
simply be late and you need some extra Animation and Motion Capture
modeling bandwidth to accomplish your What good would having a fleet of static
project’s goals. Or perhaps your devel- character models be? Not much—that
opment organization is relatively young is why we invented character anima-
and does not yet have 3D modelers in tion. Roughly speaking, characters can
house; in any of these cases outsourc- either be animated by hand, using what
ing your models would be a good idea. is called key framing, or the motion can
be captured from the movements of a
188 Chapter 12: Outsourcing Strategies

live human, called motion capture. In work practical. It takes game program-
practice, almost all motion capture mers, game artists, a designer, and a
involves manual animation techniques producer to call yourself a game devel-
to smooth out the noise in the data cap- opment team. Without someone
ture to achieve final quality motion as representing all four of these key posi-
well as to create secondary motions tions, you should not make games.
such as facial expressions and hand All of these warnings aside, I did
gestures. successfully outsource the UI art on a
A key decision to make is whether gambling game that I ran back in 1997
you are exclusively key framing or are when our game development house
using motion capture. Motion capture lacked art bandwidth. To address this

Y
will tend to produce more natural look- we created what is fondly referred to as
ing, realistic movement, usually also at “programmer art” throughout the
FL
a greater cost than key framing. Key
framing, on the other hand, may be
industry and kept on tweaking that art
until we had exactly the functionality
AM
better for your game if you are looking we needed. Then I turned that over to a
for unrealistic movements such as a great guy, Bradley W. Schenck, who I
game featuring cartoon characters or a am happy to say is now one of my
game about non-human animating char- employees.
TE

acters. I provide a deeper discussion


on the pros and cons of outsourcing Audio
motion capture in Chapter 33. Audio assets, on the other hand, are an
excellent and time-honored set of
User Interface Art assets to be outsourced. Audio does not
How about outsourcing your user inter- take as long as programming and art to
face art? I have strong feelings about complete. Each of the three major
outsourcing your UI art. In short, don’t types of audio assets—music, sound
do it! UI art is one of the most intimate effects, and voice-over work—require
bits of your game’s art. It is the UI art considerable talent, experience, a spe-
that will need to be tweaked many cialized toolset, and often contacts with
times all the way through alpha and other talented folk such as cello players
beta to get it just right and to accommo- that the rest of us do not regularly
date new features and changes to maintain (or at least I do not).
existing features. There is almost no
way I can see a contract to outsource Music
this work; it is simply unfair to keep Music is almost always outsourced, and
asking an artist contractor to revise only the largest of studios choose to
over and over again the UI as the game keep a staff composer on hand. Keeping
progresses. Also, the changes in UI a composer year round would take an
tend to be small and incremental and extraordinarily versatile composer as
require an inordinate amount of com- well as at least six major concurrent
munication between the programmers, projects. Highly talented and skilled
designers, and artists to get right. An composers are readily available, and all
out-of-house artist would have to make the composers I have met are rather
far too many visits onsite to make this technical people quite interested in

Team-Fly®
Chapter 12: Outsourcing Strategies 189

game work and willing to deliver their electronic form; second, he might pro-
best to make the gaming experience pose that a palette of new sounds be
the strongest possible. created before any actual composition
The first step is to contact a few work is performed.
reputable composers and discuss the Review the proposals and go with
vision for the game project with them. the composer you feel has been most
Usually, people look into music for their responsive to your game. This is all dis-
game after a lot of work for the game cussed in detail in Chapter 28.
has been completed. When that is true,
it is useful to provide a tape of the game Sound Effects
to the composer for review. You have to Sound effects are another excellent set
outline to the composer your total bud- of assets to outsource. To effectively
get for music including post (unless you outsource this work, you must have a
are taking care of postproduction your- very good idea of the number of sound
self). Detail how many minutes of effects you are looking for and a strong
music you are looking for and how you description of each sound. The game
would like to break down the music in developer creates a cue list of all of the
terms of themes. For example, in Star sounds, indicating which ones loop and
Trek games we often create a Federa- which do not, stereo or mono, bit-
tion theme for when the player is depth, and sample frequency.
playing as the Federation as well as Ideally, all of the in-game animation
themes for the other playable empires that corresponds to the sound effects
such as Klingon and Romulan. Themes should be complete (or complete as far
are also broken into victory, defeat, bat- as timing) with videotape of each of
tle, and suspense music. If you can, these animations available for the
supply your candidate composers with sound effects engineer to review while
some CDs of music that illustrate what making the sounds. If you do not have
you are looking for; this is as effective the animations, then there will be a
as providing a storyboard to illustrate a needless amount of revisions and the
proposed movie. sounds will ultimately never quite fit
Your candidate composers should the animation.
then go away for a week or two and With your cue list and animation
give your project some deep thought. clippings in hand, select three different
They should then come back to you and sounds that should test the range and
give you their proposal of how they will versatility of the sound engineers. Send
approach the project: number of min- out the business parameters, time of
utes and whether or not they will per- delivery, budget, and delivery format as
form the music electronically or have well as the entire cue list, and highlight
live players. If they will have live play- the three sample test sounds you would
ers, they should articulate how many, like to hear from the sound engineers.
the instruments, and the proposed If you send it out to half a dozen folks,
venue for the live performance. As for you will probably end up with one or
providing a demonstration of the work, two who perform two of the sounds
it could go two ways: First, the com- well and two or so who perform one of
poser could deliver a small snippet in the sounds really well, and the rest just
190 Chapter 12: Outsourcing Strategies

miss. Now comes judgment time. After the right facilities or the job you need
getting it down to three or so choices, I done is so small that it makes sense to
go with professionalism: Which engi- do it yourself. (I just have not seen a
neer made the best impression to work job too small to have it done right.)
with? And finally, I get whomever I Chapter 29 discusses voice-over pro-
select to listen to the sounds another duction in detail.
engineer might have done better in a
particular case to better illustrate what What Else to Outsource
I was looking for. The process of Of course there are a few other types of
acquiring sound effects is detailed in work that could be outsourced. For
Chapter 30. example, if you are self-publishing
something and want to sell direct to
Voice-Over consumers, you should look into elec-
Almost all voice-over work is out- tronic software distributors and
sourced to some degree as very few of outsourcing your credit-card-taking
us make strong voice actors. Most top activities.
games these days employ SAG talent, Outsourcing web site design makes
and often quite high-profile stars are sense only if your team lacks both art
used. Voice-over work involves six and web skills; however, a web site
roles: the talent, the director, the stu- design is usually well within the grasp
dio, postproduction, the producer of the of a game development team. Out-
voice-over work, and the game design- sourcing the web site hosting makes
ers who specify what lines are needed good sense, and there is a wide variety
in the game. of vendors available; the services are so
I recommend using a full-service standardized that it has become a
voice-over house. The game designer commodity.
wants to focus on designing the game, I have seen a few businesses
not filling out SAG union paperwork, advertise themselves as software test-
finding studio time, and organizing the ing labs. While I do believe they will
VO sessions. perform very rigorous testing, I do not
Your job, in my opinion, is to design believe there is a good market for these
the game and come up with a VO script folks to exist in—the ones I know of
for all the actors in your game, not han- have failed. I believe you as a developer
dle all of the mundane tasks associated will need the facilities to test your own
with VO production. However, there game, and any strong publisher will be
could be the odd case where you have sure to test your game.
Chapter 13: Shipping Your Game 191

Chapter 13 > > > > > > > > > > > > > > >

Shipping Your Game


Shipping Is a Phase
Shipping a game is not a point in time Great games truly become great in
where the game goes instantly from the shipping phase, and the masses of
production to a shrink-wrapped product mediocre and almost-great games settle
on a shelf at Electronics Boutique; into mediocrity in the shipping phase.
rather it is a process and a phase of the Sometimes the challenges are just too
project. Arguably all of the game devel- great to save a mediocre game in the
opment process is in support of ship- shipping phase: too many bugs, devel-
ping the game, so shipping starts at the opment overran its time budget, the
achievement of alpha with the team game’s vision has been misplaced.
taking a feature-complete game and Indeed all of the previous material in
trying to make it the most polished this book was set down in the earnest
game they can before the last final can- hopes of setting your game up for the
didate is burned and turned into a glass greatest degree of success.
master.

How Do You Ship a Great Game?


There is one way I know to guarantee people will not be able to sell your
shipping a great game: Simply play your game into stores with early strength,
game (and have others play your game) fans will become frustrated waiting for
and keep fixing bugs, correcting flaws, the game, the game magazine cover
tweaking balance, and performing that was so precious a year earlier is
wholesale changes to your game until it forgotten, the publisher may choose not
is the most fun, addicting game avail- to have an open checkbook, and finally,
able. You will see your total dedication the ultimate sales of the late but great
to gameplay and quality well rewarded game may not support the additional
with appreciation from your fans, criti- time and money spent on the project.
cal acclaim, and probably strong sales. In short, working on a game
There is a large downside to this incrementally and without a plan until it
method though: You have no way of is well done is a risky method of devel-
anticipating how long it will take to fin- opment, and only the top developers in
ish your game. Without that knowledge, the industry are such bankable game
marketing will not be able to put makers that they can routinely get
together a marketing plan, the sales- away with this strategy.
192 Chapter 13: Shipping Your Game

The solution to the dilemma of be successfully engineered. I do not


quality versus timeliness can be solved claim that you will be able to fix all your
by continuously focusing your whole bugs, correct all the flaws in your user
team’s efforts and all of the resources interface, or actually be brilliant in your
available to you to achieving the widest game design and balance. I just claim
bandwidth of play testing, balancing, that I have some good suggestions for
bug detection and correction, and being using your shipping phase time to max-
as organized as possible in utilizing the imum effect. This chapter acts as an
time you have to make a great game. introduction to QA on game projects
While a game is a work of art, the test- while Chapter 18 discusses QA meth-
ing and tweaking part of the project can ods in depth.

Alpha—Feature Complete
The industry standards for alpha, beta, the complete game is together in one
final candidate, first playable, and demo place and is available to be played;
vary from publisher to publisher, year should we not feel comfortable adding
to year, and project to project. My defi- content to make the game fuller
nition of when a game achieves alpha is between alpha and beta? I think the
when it is feature complete. answer to this question is feature spe-
cific; however, I have my own rule of
What Is Feature Complete? thumb: If the potential post-alpha con-
It can often be painstakingly difficult to tent feature is very modular with no
decide if a game is feature complete. It dependencies on other members of the
is easy to say that a first-person development team, if the game could
shooter is not complete when the char- ship without the additional content, and
acters are not yet taking damage, but I this additional content will have only a
would argue that if the texture artists minimal need for testing, then I feel
want to keep improving the look of a comfortable allowing this content after
level but the level is otherwise com- alpha. If this additional content would
plete and playable, then you have a require significant testing or creates
feature-complete level. dependencies with other tasks, I then
have to determine whether it is a core
Additional Content feature or should be cut.
The gray area in my mind is what to do
when you have the game feature com- Feature Trimming
plete, but you have some folks with If you are not quite done with your fea-
extra time on their hands who could be ture list but the anticipated date of
used to make additional levels, models, alpha is looming close at hand, you
or missions for your game—pure con- should seriously consider changing the
tent. Do you go ahead and create this rules and cutting features. How much
work after alpha, cut this content from do you cut and how much do you move
the final game, or delay alpha? After all, your alpha date out? Answering this
alpha means that this is the first time question is why you are in charge. This
Chapter 13: Shipping Your Game 193

is an exquisite balancing act where you face. My team has worked with me long
measure input and influence from your enough to speak up for a feature that I
executive management, your team, have killed and attempt to make a res-
your fans, and most importantly your urrection. If they can make compelling
inner voice and choose a path to alpha. enough arguments to me and the team
It is easy to say cut the features that to resurrect a dead feature, then they
are secondary and trivial and push for must identify a feature I have desig-
the features that are primary. How you nated to live as a lesser priority than
make these choices is the hard part. the feature they are arguing for and I
For myself I line up all of the open fea- swap them. By coming to the meeting
tures in Excel (I seem to take comfort well prepared, I am making an uncom-
in lining up features for the cutting fortable meeting—a meeting where the
block when they are neatly laid out in topic is a group failure to realize fea-
Excel) and just start calling out loud to tures—as comfortable as possible with
myself “core” or “kill.” After I have strength and direction. This is tem-
made my list of cut features, I print it pered with the purpose of the meeting
out and take it to a team meeting. where the team members review my
There I announce the fate of the fea- decisions and ratify the feature-cut
tures one by one with a stony, poker plan.

Testing Plan
Now that alpha has been achieved and enjoy the attention of a dozen or so
we have all of our features, it is time totesters for a week or two to verify the
test the game. At the beginning of the readiness of the game.
project we created a set of test cases These dedicated QA teams are
from our use cases and requirements; usually the only folks who are
now is the time to finalize the testing employed full-time to test the game.
plan. They should be the major source for
bug detection and sometimes are
Publisher QA invaluable in getting deep coverage on
For almost all major releases the pub- an elusive problem. These publisher
lishers assume formal responsibility for QA teams will develop their own fea-
the quality assurance of a game before ture checklist for your game, and they
it is released. Some very small projects will move around the feature list, test-
have just a single tester, others have a ing as they receive builds, and perform
team of six testers led by a lead tester, full verification sweeps at a lesser fre-
and some larger projects have dedi- quency. The list that this QA team
cated single-player and multiplayer compiles will be considered the bug list
testing teams. Occasionally close to the that the other sources of bugs and flaws
final push new testers will be rotated in are added to. This bug list will be main-
on a project to give the game some tained in a database. Some publishers
fresh minds. Other significant mile- roll their own solutions, and others
stones such as alpha and beta may such as Activision employ a web-based
194 Chapter 13: Shipping Your Game

bug tracking solution called PVCS The idea is to get everybody on the
Tracker. This QA team or a dedicated team to stop implementing new fea-
team will also perform compatibility tures and fixing bugs and take a fresh
testing for PC games to ensure that the and hard look at what they have cre-
game runs well across the spectrum of ated. The development team will be the
PCs from the minimum requirements game’s harshest critics; no one outside
to the latest hardware. of the team knows the full potential of
These QA teams sometimes do a the team and the game, and the game’s
great job, and sometimes they are unin- shortcomings will stand out sharply in
spired in their testing of the game for a their own eyes.
variety of reasons. My complaint with It is commonly advocated to play
publisher QA is that as an industry, the the game for 30 to 60 minutes two or
publishers consider the testing posi- three times a week. In my opinion it is
tions to be low skilled and low paying. costly to ask people to switch tasks, no
Of course, I understand how the execu- matter the task, and to ask them to play
tives at a publishing house would be the game for such a short period. I
hard-pressed to have a more enlight- don’t think you get a lot of quality infor-
ened view of their QA when a casual mation from that effort. Instead, I
analysis would show that you are look- advocate a full four hours spent on
ing at people who are very young, at gameplaying as often as your project
the beginning of their careers, who are can tolerate the distraction—once
getting paid to sit around all day playing every 10 to 20 business days at the lon-
the latest games and occasionally gest interval. With these longer play
writing down their observations on the sessions your team will be able to
game. What skills could be involved in really wrap their minds around the
playing a game that you are selling to game and dig deep to get real feedback.
the masses? Why should you pay a pre- Some of these sessions can be aborted
mium wage for a position that has after a relatively quick hour or two if
endless applicants? you come across a fatal flaw that pre-
If you were the manager of a pro- vents the rest of the game from being
fessional baseball team, I doubt the appreciated. Also, it is not critical that
thought to fill some open positions on every single team member participates
the team’s roster from the pick of in every play session; it is just impor-
Krispy Kreme’s employee softball team tant that the whole team feels a sense
would ever cross your mind. Hey, there of ownership and pride in the game
are millions of softball players who through direct play experience.
would love to play ball professionally, Often great leaps of inspiration will
and you could get them cheap too, but come out of these sessions, especially
then they would not be professional ball in the areas of usability and user inter-
players, would they? face. This is when the team is most
likely to have an objective eye and look
Team Testing at a feature and say, “That sucks, let’s
Team testing is critical to the polish and do this instead.” Having a festive atmo-
balance of a game, and it is also one of sphere at these times, such as ordering
the most difficult tasks to schedule. pizza, will go a long way to making
Chapter 13: Shipping Your Game 195

these sessions a loose, fun, and produc- automated camera test routine by ran-
tive method of testing. domly placing the camera in any valid
point in the 3D level pointed in a ran-
Project Leader Testing dom direction. Any resulting crashes,
Following the trend inward, from pub- assert, or any other detectable fault can
lisher QA through team testing, we be trapped, and all of the relevant con-
arrive at project leader testing. The ditions such as the stack are saved off
project leader, lead designer, project for a programmer to follow up with.
visionary, or whatever name you Thinking of portions of your game that
choose, is the one who is ultimately lend themselves to automated review is
accountable to the gamers for the over- a great task for the programming staff
all quality of the game—whether it is to brainstorm about. For example, in
fun. The project leader should play the Starfleet Command we have a mode I
game thoroughly and often—more thor- call Popcorn where we have AI con-
oughly than often. In a game such as trolled ships fighting each other in a
Starfleet Command, I don’t necessarily random free-for-all, and when a ship is
play every mission in depth before destroyed another is created to fill its
release; rather I play with all of the place. Over time, most of the tactical
user interface and a lot of multiplayer, game space is covered by these AIs
and I spend a lot of time thinking about smashing each other, automatically
how the game could be made better. uncovering bugs in the tactical game as
The project leader is the person we go.
who has to simultaneously decide what
goes in and what is cut in the quest for Focus Group Testing
fun. All the while the project leader Focus group testing is a quasi-science
must maintain the schedule. Only by unto itself. Anyone can perform focus
playing the game directly will the pro- group testing; however, there is a grow-
ject leader have a proper appreciation ing industry of professional focus group
for relative importance of the change testing folks. The idea is to put the pro-
requests being showered at the game spective consumers in front of your
from all directions. It is also the project software and watch everything they do.
leader who must bear the responsibility Observe every difficulty, every missed
for acknowledging critical weaknesses click, every indication of being lost
in the game that can only be corrected through the use of cameras and direct
by large efforts. These weaknesses observation. The idea is that anyone
must be confirmed through the project who is on the team or on the pub-
leader’s own experience with the game lisher’s QA team is too familiar with
and must not fall into a trap of just the game to give true objective feed-
responding to the latest cry for change. back. The focus group testing can
result in your strongest ego-busting
Automated Testing feedback (as in “this game sucks” or
Almost all games would lend them- “this is stupid”). However much your
selves to automated testing for at least pride might be damaged by the experi-
a portion of the game. For example, ence (many publishers do not let the
many 3D shooters employ an development team observe the focus
196 Chapter 13: Shipping Your Game

group testing), you must look hard and out to a few hundred beta testers is
deep past their initial complaint and get now a fairly reasonable cost as there
to the root of their difficulties and has been tremendous competition
address them. among CD duplication houses. Last I
We must remember we are making checked, you could deliver a master
consumer software that people do not CD-R to a duplication house and get
need to buy. Consumer software must them duplicated with four-color
work well right out of the box, and thus silk-screening for less than 40 cents
it is the first 15 minutes of use of your each.
software that you want to nail. Recent Unfortunately for console titles,
mega-hits are known to craft the open- beta testing is impractical as currently
ing 30 to 120 minutes of gameplay to a it would be far too expensive to get
much higher level than the rest of the your beta test build duplicated by the
game. This is where focus group test- hardware manufacturers to send out to
ing shines; this is the best method to the beta testers. With duplication fees
discover the flaws that your game is at $10 and more per unit this could
presenting to the new user right out of quickly get out of hand. Also, I am
the box. unaware of any console game that has
The most important task involved ever had a beta test, and it may prove
in a focus group test is to sort out all of impractical to obtain the permission of
the comments and throw away those the hardware manufacturer. I believe
that are purely frivolous, outrageous, or with the advent of the hard drive and
impossible to accommodate and then built-in broadband access in the Xbox,
carefully review the more reasonable we will see an electronically distributed
comments and develop a strong set of beta test of the online games for the
new directives to fix the user interface, Xbox in 2003.
usability, or other first-impression
problems the focus group testers Open or Closed Beta Test?
experienced. A large danger exists, The decision of whether your beta test
however, of overreacting to the input should be open or closed is somewhat
from the focus group testers and creat- project specific. For example, if your
ing flaws that will be apparent to the game is a tightly scripted narrative
players of your game who are hooked. game that may only be played once,
such as Myst, I suggest that you do not
Beta Testing employ an open beta test, as too many
Beta testing should be a big part of the potential customers would see how to
QA process on a strong PC title; it is win the game and would not perceive
probably the most rigorous way to the released version as having signifi-
identify design flaws, compatibility cant value.
problems, and outright bugs. With a Any kind of multiplayer game lends
beta test, the developer or publisher itself to open beta testing, with perhaps
distributes either the full game or more the Quake tests and Counter-Strike
commonly a portion of the game via CD being the two strongest examples of an
or electronically to either a closed or open beta test. In the Quake tests, id
open set of beta testers. Mailing CDs Software releases a demonstration/beta
Chapter 13: Shipping Your Game 197

test of the game well before actual In Chapter 23 I present methods


release, often longer than six months for organizing your beta testers, solicit-
before release. These tests may have ing and collecting bug reports, and
content that will not ship in the final communication strategies not only from
game, and most certainly the game bal- development to beta testers but also
ance will change. What id is primarily between beta testers.
looking for is feedback from the hun-
dreds of thousands of users of their Manufacturer Testing
Quake tests for compatibility reports. In the console world, the manufacturer
As id games are creating the bleeding will test your game thoroughly against
edge of games, id is very careful to their quality standards before allowing
have robust and reliable software so as the game to be duplicated. This is prob-
to not alienate consumers. So despite ably the single strongest reason why
having arguably the most advanced console games generally ship in better
graphic engines in the game industry, condition than PC games. The hard-
id games run well on machines that ware manufacturers are not nearly as
meet the minimum specification with motivated as the developer and the
very few complaints at the final release. publisher to ship a game and thus can
Also it acts as an early adopter, word- afford to be much more critical about
of-mouth marketing mechanism by the quality of the game. The reason for
appealing to the hardcore gamer’s this is two-fold: There are at any given
sense of being “elite” by getting in on time scores to hundreds of games being
the ground floor of a new game. produced for their platforms, so send-
Of course another reason not to ing any one game in particular back to
perform an open beta test is because development is unlikely to materially
your game is not up to widespread affect their short-term cash position;
scrutiny. You are showing the world and two, it is in their best interest to
what your game is made of, and if it is maintain the quality levels of games on
not compelling, it would probably be their platform; otherwise the consumer
better not to do an open beta test. Con- could quickly become disillusioned and
sider holding a closed beta test before wander off to another game console.
an open test. The closed beta test may The manufacturer’s quality stan-
be performed with as few players as dards are typically written up at an
you like (I suggest between 50 and 500 early stage of the platform’s life cycle
people). This way you will receive and updated from time to time, with a
reports on your most egregious flaws certain amount of the rules being an
before the rest of the world sees them. oral history. Also note that between
The best way to conduct a beta test is large territories such as Japan and
to go in stages from 50 to 150 to 500 North America, the standards on some-
and then open. Then, at each stage you thing as basic as the common accept
have fresh people looking at the game button on the controller differs from the
(and fresh systems to run your game X button and the O button.
on) while each time fixing the largest The great thing about a console of
bugs before going forward. course is that compatibility testing is
not a large task. Rather, the game must
198 Chapter 13: Shipping Your Game

be eminently playable, with short load liberties you will likely need to take to
times, high frame rates, and very for- create a great game.
giving gameplay relative to a PC game.
In Chapter 23 I discuss how to better How Do You Balance a Game?
prepare your game for the hardware Game balance is the finest art in game
manufacturer’s testing process. making. It is painstakingly difficult to
analytically describe what a balanced
Licensor Testing game is or present a method for devel-
When you create a game based on a oping balance in your own games.
licensed property such as our Starfleet The simpler the game and its game
Command series based upon Star Trek, mechanics, the closer to perfection

Y
the licensor (the folks who own the your balance will need to be. For exam-
intellectual property) will usually enjoy ple, the game chess has had its rules
FL
some sort of signoff authority on the
game’s look, feel, and content to be
tweaked and refined over the centuries.
Many years ago, the rules changed
AM
sure your work supports the license from the queen being able to move only
and does not infringe upon other a single square of distance like the king
properties. to her present powers of destruction.
Typically the licensor will be Later, pawns were given the ability to
TE

involved at the game’s conception and move one or two squares on their first
take deeper looks from time to time move. In response, the move en
during the project, especially paying passant was created to rebalance the
attention to the finished game design game after the pawn was given this
document, the first playable build, the two-square option for first move. With
beta build, and the final release the advent of powerful computers, pre-
candidate. vious end games that were thought to
Occasionally you will work with be theoretical draws have been won by
licensed material where the licensor computers that found winning
does not have any approval rights over sequences—some after more than 200
your work. That was the case also in non-capture moves! The purpose of
Starfleet Command for the Star Fleet these rule changes has been to achieve
Battles material developed by Arma- a perfectly balanced game. At the pro-
dillo Design Bureau, which we used to fessional level, there are scores of rules
base our core game mechanics upon. It involving adjournment, time controls,
was critical in the case of Starfleet and a host of other details that are
Command that we have only one licen- adjusted as we strive to create the per-
sor with final design approval (I fect game of chess. This refinement is
shudder at the nightmare of having also occurring in professional sports
two!). It is very important to maintain a where many minor rules are made or
great relationship with your licensor as adjusted that are not apparent to main-
most often they are not in the game stream viewers.
business and they may not immediately The general idea with game bal-
appreciate what you are trying to ance is to start with the most dominant
achieve with their property. You do not rules and balance those first and work
want them to be close minded about the your way out slowly to refine the

Team-Fly®
Chapter 13: Shipping Your Game 199

secondary and tertiary rules. The fol- humans, not against the computer, that
lowing diagram illustrates how we you will have a strong enough opponent
prioritized game balance in Starfleet to develop true balance.
Command 3. I have discussed how to achieve
For example, in a first-person balance but not what balance is. I
shooter, first determine how fast you regard a well-balanced game as one that
want the characters to run, turn, and delays as long as possible the point at
jump before you determine the damage which it is apparent to the loser that he
and rate of fire of the plasma rifle. In a will lose the game. As soon as the loser
real-time strategy game, determine is certain of his doom, the game
how much the basic grunt units will becomes uninteresting and the loser
cost to build in time and resources will want to quit. You want this realiza-
before you determine what the zeppelin tion to be as close as possible to the
brigade will cost. Work your way last moment in a game. Storytellers
outward. know this intuitively, as every time a
For PC games, the beta testing chess game is used as a prop in a movie
cycle will provide you with plenty of or a book, the winner cleverly check-
feedback about game balance, espe- mates his opponent in some surprising
cially if there is a multiplayer option to manner that the loser was not
your game. I believe it is between anticipating.

Balancing Starfleet Command 3 from the inside outward


200 Chapter 13: Shipping Your Game

For many games there is not a Legos building upon each other. The
clear winner or loser. In games such as goal is to create an apparent endless
SimCity, you play as you do with a toy amount of replay through different sce-
rather than play a game. It is still narios. In SimCity a friend of mine
important to balance these games wanted to find out what it took to map
though. Here again, the goal is to pro- the entire city with Arcologies, and I
long the moment of manifest ending. would build my cities up into greatness
Instead of losing the game, a play- only to wreak devastation and let the
oriented game must provide a lot of simulation run overnight to see if the
simple game mechanics that interrelate city would recover without my
with each other, like Play-Doh and guidance.

Final Candidate Cycle


The final candidate cycle is where Command. During the final two weeks
everything comes together to make a before we shipped we fixed probably
game. The final candidate cycle pro- 100 bugs. As soon as the final candidate
duces many war stories of not going was off to duplication we began to find
home, missing FedEx deadlines, and more bugs in the game. The bugs we
finding obvious bugs that have some- found in the first week after having the
how escaped every form of testing to game sent off to duplication were all
date. Strong development teams bond bugs that were created by fixing other
even closer during the final candidate bugs late in the final candidate cycle. I
cycle, and unhealthy teams sometimes now believe that when you are
turn on each other with team members approaching that final two weeks, you
scattering to the four corners of the should document all of the bugs you
globe as soon as the game ships. find in the second to last week and not
It is extremely important in your change a single line of code (maybe
final candidate cycle to make as few data-only fixes, but no code fixes).
changes as possible to your game. This Then take a long hard look at that bug
means that you should fix very few list. If there are any bugs that you can-
bugs during your final candidate cycle if not live with, you need to alter the
you have a fixed ship date that cannot schedule to provide not only time to fix
move. I learned just how important this the bugs, but also time to have a clear
is with the first version of Starfleet two-week buffer to retest the entire
game.

Transition, Ship, and Point Release


This chapter illustrates that shipping a final candidate, and on into commercial
game is not a single event in time release. For PC games there is often
where the gold master is handed over the compelling need to patch and bal-
for duplication; rather it is a phase that ance your game post-release. The
starts as far back as first playable, largest PC games in the industry, the
through alpha and beta testing, through massively multiplayer games, perform
Chapter 13: Shipping Your Game 201

the greatest amounts of post-release content, fine-tuned balance based on


work. That is why they have not only customer feedback, and the occasional
what are called transition plans to go bug fix for a particular piece of hard-
from development to release, but they ware incompatibility. Increasingly, as
have transition teams to hand off the PC games incorporate more multi-
project to a live team. player and online gameplay, the post-
Console games have had to live up release patches are often required to
to a much higher standard of quality in perform critical cheat-prevention mea-
the late 1990s as compared to PC sures. Now that consoles such as the
games, as there was no opportunity to Xbox are shipping with hard drives, it
patch a game after release. The stron- will be interesting to see if publishers
gest PC developers and publishers have the stamina to remain as rigorous
release games of the same or even as they have in the past or if they start
higher quality standards of a console to slip and offer post-release support
game and do not rely on post-release that starts off with additional content
patching. Rather, companies like Bliz- and later degrades into mere patches.
zard and id Software use point releases In Chapter 24 I discuss how to best
as an opportunity to offer additional manage your point release efforts.
This page intentionally left blank
Part III > > > > > > > > > > > > > > > >

Game Development
This page intentionally left blank
Chapter 14: The Vision Document 205

Chapter 14 > > > > > > > > > > > > > > >

The Vision Document


All games need to be sponsored by a noble purpose in keeping the game’s
some sort of bankroll. It might be Lara focus clear to all stakeholders in the
Croft’s money at Eidos, or it might be game including the development team.
some sweat capital from some young
guys in Texas. At any rate, all games Write the Vision Document Twice
will need that signoff before they are This chapter on creating the vision doc-
able to proceed. For modern games ument has been placed before the main
capable of competing with the main chapter on creating a design document
field this is a tidy sum indeed. Many on purpose. The writing of the vision
aspiring game developers have asked document begins the moment a game is
me and others in the game industry conceived. Lawrence Block, a very suc-
this question: “Hey, um. So I have this cessful mystery writer, advises in his
great idea for a game, how do I get it book Telling Lies for Fun and Profit that
funded?” The truth of the matter is inexperienced writers should actually
there is no magical formula; each and start off writing novels instead of short
every game project has had its own stories. The reason is that it is much
path to funding. That being said, all more difficult to find just the right
games need some sort of outline or words and say something important in a
vision document that explains to an few words than it is to stumble around
executive team why this game, of all of and write a few hundred thousand
the hundreds of game proposals they words and hope that your readers will
have received, needs their support and entertain themselves on the way.
attention. Your vision document, you hope,
The vision document (also known will win the equivalent of the year’s
as the concept document) is an execu- best sci-fi short story award and be
tive summary of the game design picked up by a major publisher and help
document that touches upon all the key motivate your team to its best efforts.
features of the game in such a manner The only way to make this docu-
to grab them and get them to request to ment tight and strong is to write it,
see the game demo and move forward seek out criticism, and revise the vision
with a deal. Despite this rather prag- document. You will learn a ton about
matic use for the vision document (I the game you are proposing to make as
know, I know—you are a creative sort you perform your game design and
and are not really interested in the dirty technical design processes. So I
details of raising money), it does serve
206 Chapter 14: The Vision Document

advocate revising your vision document developer, but rather about a team.
again at the end of the design phase. This document will come in handy to
pass out to other potential partners of
So Is the Vision Document a your team that are not necessarily pub-
Proposal? lishers looking to pick up a new title;
A formal proposal would contain the for example, you may want to pass it
vision document plus a schedule, a bud- over to your local NVIDIA developer
get, the team bio, and the company’s relations representative.
history. Some folks put their proposed Instead of placing the schedule and
budget and schedules straight into their budget information with the vision doc-
vision documents. I think it is better ument, focus on getting the publisher
instead to keep the budget as a sepa- to visit your shop and meet your team
rate document, the schedule as a and firm up interest. When your pro-
separate document, and your team spective publisher is ready to know
bio/company history as another sepa- about the budget, don’t worry, they will
rate document. The reason for this is ask.
that it usually takes a long time to sell a
game project, and you will most likely Only 1 Percent Catch the Eye
learn important new facts about your When I was working at Interplay as a
game that will materially affect your senior group producer, my boss at the
budget and schedule as you are circulat- time resigned and was so distracted by
ing the vision document. What usually his new prospects that he forgot to
happens is that you mail out or drop off come back and clean out his office. His
your vision document (possibly with a office sat that way for two weeks while
VHS of gameplay) with a publisher’s I wondered what should become of his
business development person, and your office. Is there not some sort of stan-
proposal sits on their desk for a while dard plan for cleaning up an executive’s
until they call you up and want to learn office? Presumably there are contracts
more. I have had publishers call me six and stuff in there, right? Well, being the
months to a year after I passed them a temporary senior guy in the division, I
proposal, and I have had publishers visit shrugged and went in there with a few
my studio without having yet seen the boxes to start cleaning it out. The most
vision document. Each relationship is interesting thing about the abandoned
unique, and you should hold onto the office was the more than 200 game
schedule and budget information until proposals/concept documents/vision
you have firmed up interest from the documents that were lying about in
publisher and your facts are as current stacks. I boxed these up and took them
as possible. to my office and looked at them for a
Thus I recommend you prepare a while. Then one night Sean Dumas
separate document that features your (one of my two partners at Taldren) and
company, discusses the management I sat down and looked through all of
team, highlights the strengths of the them critically as if it were our own
key employees, and indeed discusses money we were looking to invest and
all of your employees and resources. A wondering which games we would pick
game company is not about a single star up. After leafing through the more than
Chapter 14: The Vision Document 207

200, it came down to just two vision Visuals


documents; only 1 percent looked like The vision document must be liberally
they were potentially worth backing to illustrated with images—both concept
us. Why these two vision documents? art and screen shots—to accurately
Both were carefully prepared with convey the gameplay as well as give the
oversized paper, liberal use of colorful game life in the hands of the reader.
graphics, and unusual bindings, and Select one single image, most
from page 1 we understood what the likely a concept image, to grace the
proposed game was about and were cover of your vision document. This
compelled to keep leafing through the one image alone should convey the
vision document learning more about game.
the game. We found that we wished we Throughout the rest of the vision
could go and meet the guys who put document be sure to place a striking
together these two vision documents. visual on each page that helps reinforce
That is what a good vision document the topic of the pages. For instance, if
will do for you; it will attract people to you were making an RPG, the section
come and meet you and see what you on backstory should feature an outdoor
are all about. shot giving the reader an impression of
What About the Precious Game what the world is about and another
Secrets? drawing of perhaps a character in full
gear on the section on character
Some people might wonder about pass- creation.
ing out their game’s secrets to people The document as a whole should
they have never met. Even worse, be somewhere between 5 and 20 pages.
some big publisher might just steal Most people would suggest keeping it
their idea! I have never seen or heard at the lower end of the range, and I
of this actually happening. The industry would instead say keep it at the longer
is full of game concepts; virtually every end of the range if you have strong
developer I know of has his own pet visuals to carry the extra material.
game project, and some have cabinets Another idea for visuals is to use a
full of them. Very few people in the full page to illustrate the controls in
industry want to use someone else’s your game proposal. Use a picture of
idea in place of their own. If your vision the controller itself with annotations
document is compelling, they will want describing the function various controls
to meet your team. Making a great perform.
game is far more work then coming up Another striking use of visuals is to
with a strong idea, and all of the pub- illustrate your proposal with logos—
lishers know that. your company’s logo of course, the
In fact, after a publisher develops game title’s logo, but also include the
interest in your vision document, the PS2, Xbox, or GameCube logo if you
most likely game deal will be that they are proposing a game for those plat-
meet the team and place one of their forms. If you are licensing an engine
ideas in your team’s hands to execute. such as Unreal, Quake, LithTech, or
208 Chapter 14: The Vision Document

NetImmerse, then by all means place


their logos on the page where you dis-
cuss your approach to developing the
game.

Tactile
The actual physical binding of your
vision document is very important. At
Taldren, each of our proposals has been
bound in a unique manner: a wooden
and brass screw setup for a hor-
The physical presentation of the Black9 vision

Y
ror-western game, an American Indian document
inspired design featuring beads and
FL
feathers (our most impressive), and
Black9’s metal binding. These bindings What About the Words?
AM
do not need to cost a lot; the metal Yes, of course your vision document
bindings for our Black9 proposal were should include a carefully selected set
made from two 90-cent steel joist of words to communicate the game’s
straps bound together with two 10-cent vision. What are these words?
TE

bolts! Use oversized paper and con- The hook: In just one to three sen-
sider using a landscape format instead tences describe the hook of your game.
of the normal portrait layout for your I personally cringe every time I hear a
vision document. movie-type person say something like
Most of those 200 vision docu- “It’s Shrek meets Fast and Furious.”
ments that I dismissed were presented Your mission: Say why the world needs
in regular report covers that one might your game for its unique offerings, yet
use for a freshman English composition simultaneously reassure the funding
class, some were just stapled pages source that it is substantially derivative
without any formal binding, and one in either gameplay or licensed content
was submitted in a peach folder! You to assure certain success. Yep, that is
might accuse me of being shallow; how- why it is unique, compelling, and more
ever, Sean and I read every single of yesterday’s hit at the same time.
vision document, and there was a rigid That last bit might sound a little cyni-
one-to-one correlation between the cal, but I am very sympathetic to the
quality of the game concept and the problem; regardless of the size of the
presentation of the game concept. If risk it is just common sense to make a
you do not care enough to make your piece of entertainment software that
best impression, why should anyone many people will actually “get.” No
else care enough to fund your project? points are awarded for eclectic artistic
expression in the game industry; save
that material for the National Endow-
ment for the Arts.

Team-Fly®
Chapter 14: The Vision Document 209

Touch upon every major feature in carefully. If he starts leafing through it


your game. Think about the back of the and comes back to you saying, “Whoa,
box and what the marketing messages this is cool, so are you guys making
will be for this game. You must be the games or what?” then you know you
champion for your game at this point are on the right track. If he could not be
and put on your marketer’s hat. Don’t bothered to leaf through it, then you
be modest; now is the time to be the should consider taking it back to the
confident showman. Marketing is all conference room table and discussing
about the art and science of getting with your teammates how to spice it
people to buy what they are told, and up. (You can see that I like to beta test
you must be the one to start the sales everything!)
pitch. I would actually say very little
After you write up the first pass of about the development team inside the
the vision document, I recommend tak- vision document; that is what the team
ing it down to your local copy shop or bio and company history are for, and
coffee shop or anywhere your target you would be handing them out simul-
audience may be hanging out. Let them taneously. Instead, have the vision
casually leaf through the vision docu- document focus just on the game.
ment and see if they like it. My favorite
is the copy club where we sometimes Contact Information
get stuff copied and bound. I put an Always place your contact information
extremely deadpan look on my face as on the last page of the proposal. List
if I were an overworked office drone, phone numbers, email, fax, street
and I plop the vision document down on address, and phone extensions. Don’t
the counter and ask for it to be bound. put any barriers in the way of a pro-
Then I watch the clerk’s eyes very spective nibble on your vision
document!
This page intentionally left blank
Chapter 15: Requirements Gathering 211

Chapter 15 > > > > > > > > > > > > > > >

Requirements
Gathering
The key to successful game develop- such as creative, functional, technical,
ment is planning, and you cannot create fiscal, licensee, and temporal require-
a good plan without understanding what ments. Perhaps LucasArts has
goals or requirements your plan must approached your team and has
fulfill. requested a proposal for a Star Wars
Where requirements gathering Episode I-II RTS exploiting your game
stops and requirements analysis and engine to be delivered by Q4 of the fol-
game design begins is in reality a bunch lowing year. This request for a proposal
of fuzzy borders, and you may certainly has touched upon a great variety of
consider the requirements capture requirements, and you must build these
stage the first step towards creating a requirements out before you are able to
game design document. submit a bid of any confidence.
In traditional software develop-
ment you have customers that have a Creative/License Requirements
need fulfilled, for example, ATM or With our hypothetical example of a Star
inventory control software. In games Wars Episode I-II real-time strategy
we of course have customers, and when game, we are able to rapidly understand
working on sequels there is usually no the creative space to build the proposal
shortage of customers expressing around: The ground assault mechanized
desired features. But for original games units should not be the AT-AT walkers
your customers do not yet exist. This from Episode V, the game should not
makes it a bit more challenging to feature Star Trek Enterprise E’s float-
determine your customers’ needs. ing about, etc. Now this is a fairly easy
Instead, as a game development team example to understand; however, take
you will need to look into your creative the Star Trek license. In the years that
minds and work with your publisher’s my company has worked on the Star-
executive and marketing teams to fleet Command series, Viacom has seen
develop the requirements for the game. fit to license out portions of the Star
Trek universe to Interplay, Simon
The Flavors of Requirements
Schuster, Hasbro, and Activision. The
There are many types of requirements licensees of the modern eras like Voy-
that are routinely placed on a game ager and Deep Space 9 could and would
212 Chapter 15: Requirements Gathering

sometimes feature material from the independent Lord of the Rings licenses:
original series via some sort of time one license derived from the book and
travel mechanisms. This would of the other from the movie! Goodness
course irritate Interplay, which held the grief! Regular folks like us would not
TOS license, as it waters down their think to cut a cake so cleverly!
“exclusive” license. Even more wild is Take your time and understand
that the Star Trek universe features exactly what license you have in your
forward time travel, and indeed Harry hands. Find out if you are able to kill
Lang at Paramount’s licensing group major characters in your game. This is
agreed that it was certainly plausible an important feature for many games as
for Interplay to request to use Next they are not a linear medium; you must
Generation material! allow the player to explore different
Even more complications arose options whether it is a role-playing,
with the fractured licenses; Interplay strategy, or action game. Games must
was the oldest licensee at the time with almost always allow for alternate possi-
the most vaguely written license. For ble histories. Determine whether or
Starfleet Command 2 we proposed to not you are allowed to create new
create the online Dynaverse with sub- material for the license, and how the
stantially the gameplay of a massively approval process works for adding this
multiplayer game. Activision at the new material (forget about owning the
same time had spent quite a large sum new material; no license holder of any
of money to wrap up all of the licenses property with value would allow the
under their banner and demanded to ownership to become fractured).
have the exclusive license on massively
multiplayer games. So who had the Technical Requirements
rights—Activision or Interplay? It The technical requirements are mun-
looked like Paramount briefly sold the dane requirements such as the pub-
same thing twice inadvertently due to lisher requiring that the game ship on
the age of the Interplay contract. The one CD or one DVD as that will signifi-
frustrating thing about it was during cantly lower the cost of goods sold.
the development of SFC2 we were The hardware manufacturers of the
required to never refer to SFC2 having consoles have many dozens of individ-
any kind of massively multiplayer ual technical requirements like how
gameplay. We struggled for months to long you are allowed to load a mission
help Paramount find the language that or level, and what buttons on the con-
would best market our game yet at the troller may be used for what purposes.
same time not require Activision to By and large these console require-
more actively defend their license. ments are born from many years of
So you can see from the example of experience that aim to provide the play-
Star Trek above, that licensing require- ers with the best gaming experiences.
ments may sometimes be difficult to The nice thing about these require-
understand and document clearly. I ments is that you will not be given any
understand that the game industry is opportunity to negotiate these items so
currently entertaining two entirely you may free yourself from that
Chapter 15: Requirements Gathering 213

responsibility and just get on with


designing your game to fulfill these
console requirements!
Other technical requirements
include minimum frame rates, and for
the PC game market you will need to
identify your system requirements:

System Requirements for BioWare’s Neverwinter Nights:


Required Recommended
Operating System: Win 98/ME/2000SP2/XP Win 98/ME/2000SP2/XP
CPU: Pentium II 450 MHZ or Pentium III 800 MHZ or
AMD K6-450 MHZ Athlon 800 MHZ
Memory 98/ME: 96 MB 128 MB
Memory 2000/XP: 128 MB 256 MB
Hard Disk Space: 1.2 GB
CD ROM: 8x
Audio System: DirectX certified
Video System: 16 MB TNT2-class OpenGL NVIDIA GeForce 2/ATI Radeon
1.2 compliant video card
DirectX: version 8.1

Of course, the lower your system Fiscal and Temporal Requirements


requirements, the broader the base of Know what your budget of money and
consumers’ machines your game will time is and be prepared to design your
run on. However, the broader your game around these parameters. Much
requirements, the tougher it will be on discussion earlier in the book has been
the programming team to develop an devoted to this subject. I feel comfort-
engine that will simultaneously take full able sharing with my team members
advantage of the higher end of the the overall budget numbers we have to
machines available and not leave behind work with as I find it empowers them
the machines that just barely meet the to make stronger contributions to the
minimum spec. The decision on where design and overall production of our
to set the minimum specification is games.
usually a negotiated discussion involv-
ing the marketing and development Use Case Diagrams
teams, and both sides need to keep in Traditional software development
mind what the targeted market is for would interview the future customers
the game. First-person shooters from id of the software and create use case dia-
Software generally push the world’s grams to document these interactions
computers into the future, and Sesame between the user of the system and the
Street games for kids need to work on software. That would indeed be a
pretty much any machine out there! requirements gathering activity; how-
ever, that is essentially impractical in
games. The game designer must step
forward and lend his magic to the
214 Chapter 15: Requirements Gathering

process and design these player (user) requirements gathering process, I have
and game (system) interactions. As this placed the discussion of the use case
process is more of a creative design diagrams in the next chapter on the
activity rather than a formal game design document.
Chapter 16: The Design Document 215

Chapter 16 > > > > > > > > > > > > > > >

The Design Document


The design document is the soul of the emphasis on rigor and process through-
game. Some design documents exist out this book, I still feel that the true
only as visions in their designer’s head, game design process is an art form that
and others consist of hundreds of is difficult to put on paper. How does an
HTML linked pages complete with a artist decide what will be a moving
version control system tracking the piece before he creates it? I do not
changes to the design document. Most know, and I would be very depressed to
other game design documents lie in learn that someone has figured out the
between these two extremes. emotional magic to art and has devel-
My goal in this book has always oped a formula that someone else could
been to focus on sharing what I know follow.
about the production and development Thus, I will focus on how best to
of games and to shy away from being a articulate your game design document
book about game design. There are and only touch upon some of the cre-
already several of those at your local ative processes that might be involved
bookstore, and despite the heavy in developing the game design ideas.

What Does the Game Design Document Do?


Obviously it communicates what the the scope of the art assets involved
game should be to the development in creating the game.
team, but let’s take a closer look and 3. The game designers on the team
examine what that implies: must understand what areas of the
1. The programming staff must be game require their detailed hand in
able to pick up the game design fleshing out such as 3D levels, dia-
document and efficiently develop log, and scripting.
the technical requirements and 4. The audio designers must under-
technical design for the software stand what sound effects, voice-
that is needed to be developed for overs, and music need to be
the game. created for the game.
2. The art team led by the art director 5. The marketing folks should under-
must be able to read through the stand what themes and messages
game design document and under- they need to use to build the mar-
stand the look and feel as well as keting plan around.
216 Chapter 16: The Design Document

6. The producers must understand That is certainly a heavy list of custom-


the various components of the ers for this game design document! Not
game so they are able to break the just a sketch of the game world and
game down into a production plan. some descriptions of the monsters,
7. The executive management team huh? To deliver on all of the above
must be able to read through the effectively, we should be organized
game design document and develop about the task.
all of the required warm and fuzzy
feelings it would take for funding.

The Game Design Document as a Process


The game design document is not conference room with a whiteboard and
something you simply dash off over the stacks and stacks of different colored
weekend. Instead, it is a process that Post-it notes. What, didn’t you know
must be carried out over time by a that Post-it notes stick well on
team of game developers for a game of whiteboards?
modern complexity and scope.
Brainstorm
Game Concept I have designed games by myself and
This is the classic step of imagining a with others. Games that are designed
game that you would love to create, a by committee are usually horribly
game so compelling that you wish you muted game designs and games that
could play it yourself, right now! This is are designed by solo individuals often
the sort of task you could accomplish contain spikes of “game design noise.”
over the weekend or just an evening. At Think of all of the minds churning out
Taldren this usually occurs late at night game design thoughts as sound sources
after some milestone has been accom- making sounds of all different shapes,
plished through a non-trivial amount of intensities, and durations. And now
blood and sweat, and we lie there in think of the process of culling these
exhaustion and begin to have glimmer- design thoughts down into a design
ings of what we would love to create document. It’s easy to see each individ-
next. This magical process I cannot ual will bring his own bias, perspective,
help you with; you either have it in you wishes, and agenda to the design. If you
or one of your team members has this allow a solitary individual to make the
juice. The next step is to document the game, you have the purest expression
vision. of art in a game, and the game will sim-
Write out just two or three pages ply hit or miss upon this one person’s
that describe the game to your most vision. The trouble with this approach
intimate development team members. is that games are now very large pro-
Don’t take the time to justify anything jects. The Interplay game Planescape
—just write. After you have nailed the had over one million words of dialogue;
core idea and the excitement behind that is enough for ten novels! It takes
your game, gather your team into a an exceedingly talented, skilled, and
Chapter 16: The Design Document 217

hardworking designer to perform the Anything goes; stand up there with a


design solo. On the other hand, think of good fat felt tip pen and dash off the
a committee of designers where each notes with only one concept per sticky
member has the ability to censor an and put it on the board. Continually
idea. This will act as a low-pass and rearrange your stickies for better logi-
high-pass filter allowing only the ideas cal grouping of the ideas. Here is a
that everyone may agree on to pass stream of possible ideas: power-ups,
through. The result will be insipid, level designers, hire lead animator, 3D
derivative games without any reason engine, user extensibility, new chat
for being created. system, dark color schemes, transpar-
The game design process requires ent menus, Chinatown, Old West,
a lead designer with a team of design- steam locomotives, lip-synching, use
ers below contributing to the overall Patrick Stewart for voice, finish by Q4
design. Let me show you how this 2008, and so on. Litter your whiteboard
would work in the initial brainstorm with concepts.
session: I have found this whiteboard brain-
Open the brainstorm meeting, hav- storm method to be a powerfully
ing already passed out the game design effective method for rapidly digging up
document some 2 to 24 hours before- tons of new issues that I and other
hand so that the game concept is fresh members of the development team
in everyone’s mind. Next, take your must follow up on in the course of the
stack of colored Post-it notes and create design process.
a colored key of topics along one of the
lower corners of the whiteboard. (By Delegate Design
the way, did I tell you to get a large After about one to two hours of brain-
whiteboard? We have found a great deal storming, the quality of ideas will start
at the local Home Depot hardware to diminish; watch it carefully, allow
store: 4-foot by 8-foot whiteboards in some humor of course, but be careful
the raw without a border or frame for not to allow it to devolve into a sillyfest.
$11! Compare this to hundreds of dol- When it is time to wrap it up, delegate
lars for a whiteboard of comparable size groupings of stickies to be followed up
at the local office superstore.) This key by individuals and subgroups. Make
of colors should include a color for sure every single sticky has an owner
audio, technical, art, game design, who is responsible for carrying out the
level/mission design, backstory, user idea or issue to resolution.
interface, controls, marketing, and mis- Be sure each individual under-
cellaneous issues. stands what specific deliverables he or
Now with your color key on the she must produce for the design docu-
whiteboard, open the floor. You are now ment, from staffing plans to memory
soliciting ideas, concerns, areas of dis- tests on the PlayStation2. Each of these
cussion, notes, tasks, anything worth design tasks must be scheduled and
noting belonging to any of these catego- have a due date. It may be useful to lay
ries. If you find there is no appropriate all of these design tasks out in Micro-
category available, use the miscella- soft Project or some other project
neous category or create a new one. planning software if the number of
218 Chapter 16: The Design Document

design tasks is large or represents for individual interpretations of what


more than three to six man-months of the game could be about. I remember
effort. reading the postmortem of Tropico in
Game Developer magazine. The author
Managing the Design Document of the postmortem was courageous
The design document is referred to in enough to admit that after one full year
the singular as if it were a massive of development on Tropico it became
tome only suitable for the largest evident that the development team was
three-ring binders your office super- not working together to create a game
store carries. I think it is wrong to keep of a single shared design, but rather
the design document as one massive individual members were pursuing

Y
document. As such it is much harder to their own game design for Tropico and
delegate sections to be worked on by were actively and passively campaign-
FL
various team members. Break the doc-
ument up into as many discrete
ing for features and assets that would
support their vision of the game! I have
AM
building blocks as possible. never seen this written down in print
Place your design documents into a anywhere else, but I have seen this
version control system such as Per- wholly unproductive behavior in action
force or Visual Source Safe from the on several teams. I think of it almost
TE

very first iteration. This of course pre- like the quantum description of elec-
vents losses and allows you to go back trons flying about the nucleus of an
and understand what the changes have atom, each electron representing a
been and perhaps revert to an older member of the team and his personal
document if you find yourself in a design for the game, and factoring in
design cul-de-sac. the Heisenberg uncertainty principle,
Consider connecting all your docu- no one really knows where anyone else
ments, spreadsheets, diagrams, is and what their velocity is at the same
sketches, and notes into a web of docu- time. Obviously this is a misunder-
ments using HTML (after all, HTML standing at best and a dysfunctional
was designed to assist scientists in con- team at worst.
necting their research papers). It is up With dysfunctional teams, the pro-
to you and your organization to deter- ducer and management must be merely
mine what the overhead costs are for hoping the team will accidentally come
connecting all the documents through together and produce a commercial
web links. game. And for teams suffering from
For each individual document I rec- misunderstanding, think of all the
ommend listing the controlling author wasted effort pursuing bits of games
and one-line descriptions of the revi- that almost were. The 60 seconds of
sion history including dates. gameplay document will nip these scat-
tered games before they start growing
60 Seconds of Gameplay by making the actual gameplay clear.
A defining document of the game detail- This sort of document is a little difficult
ing 60 full seconds of every bit of to write with certainty from day one,
gameplay and response crystallizes the and it may take many iterations before
game experience and leaves no room

Team-Fly®
Chapter 16: The Design Document 219

the 60 seconds of gameplay settles time to detail all of these activities to


down to its final form. the finest detail; create separate docu-
As a side benefit to the marketing ments for each of these. For example,
team, console manufacturers and the after listing that the player is able to
executive management team will be buy weapons, armor, and magical items
grateful for (or sometimes demand) the in the town in Diablo, create separate
60 seconds of gameplay, and you will documents that list the details for each
have it on hand to pass out to these of these items and the vendors for each
stakeholders. of these subtypes of equipment.
Now you have a high-level design
Core Gameplay document describing all of the core
Building upon the 60 seconds of game- gameplay for the game. This high-level
play, create a document to flesh out the design document will then act as a find-
core gameplay with a complete descrip- ing guide to the rest of the subgame
tion of all of the interactions, behaviors, design documents.
and controls for the game. Take a car I highly recommend using UML
racing game for example; describe all of use case diagrams to document each
the controls for maneuvering the car, and every one of these core interac-
and describe all of the interactions with tions with the game. These use cases
the environment such as bumping into are readily usable by the programming
other cars and walls and traveling team to flesh out a technical design, and
across gravel, sand, and wet pavement. the use cases will also serve as the
Perhaps the game will feature time of platform for developing the QA plan for
day, weather, and glare from the sun. the game.
For a role-playing game note melee, Note just by looking at the follow-
ranged, and spell attacks, healing ing use case diagrams for the three
spells, information gathering spells, genres of real-time strategy, role-
walking, running, speaking to non- playing, and first-person shooter, we
player characters, traveling to new cit- are able to discern at an analytic level
ies, gaining experience, allocating what these genres are about and the
experience points, buying new armor, gameplay experience delivered by
buying food, and so on. Don’t take the these three genres.

The core use cases of Doom


220 Chapter 16: The Design Document

The core use cases of Gran Turismo 3

The core use cases of Diablo

The Walkthrough encounter through one pass through


One of the most valuable parts of the the whole game. Commonly this would
game design document will be the asset be the documentation of the single-
lists, which I cover in the next section. player campaign for games that feature
However, to create comprehensive campaigns. For our Black9 action-RPG
asset lists you will need an understand- game we took the time to detail every
ing of the complete gameplay experi- line of dialogue and every trap and chal-
ence. This is the walkthrough for the lenge the player would face during each
entire game. of the 16 missions that occurred during
The walkthrough covers all of the the single-player game.
gameplay experience the player would
Chapter 16: The Design Document 221

JARGON: Walkthrough—the complete to maintaining a tight schedule. With-


documentation of the player’s experi- out having all the information in front of
ence from the start of the game to the you when making the development
end of the game.
plan, you will inadvertently allocate too
The exact format or type of walk- many resources for the creation of
through would differ dramatically some secondary or even tertiary assets
between different genres of games. For and only later find in the schedule that
the racing game of Gran Turismo, the you have run out of time to complete
walkthrough would consist of describ- some truly primary assets. This is one
ing all the races, race series, champion- way game projects slip.
ships, and licensing courses. The Here is a short list of some of the
walkthrough would cover all the ene- asset lists you should have (note that
mies encountered during the game: some of these may not be appropriate
enemy cars, enemy superheroes, to the title you are creating):
enemy goblins, or enemy disasters, 1. Sound effect list
such as in your SimCity game. 2. Voice-over list
The completed walkthrough is a 3. Music theme list
major accomplishment deserving of a 4. Weapon list
fine meal! This walkthrough acts as a 5. Gear list
travel guide for the rest of the team 6. Spell list
with the very first application of the 7. Character model list
walkthrough being the asset list 8. Environment model list
compilations. 9. Animation matrix
10. AI behaviors
Asset Lists
11. Mission list
Asset lists are the spreadsheet lists of 12. Cut scene list
all the little bits that comprise the game 13. Physics scripting list
such as spell effects, characters, race- 14. Power-ups list
cars, car parts, crowd cheers, tiles, 15. Car parts list
movies, music, animations, AI behav- 16. NPC list
iors, weapons, and so on. These asset
After you compile your asset list, the
lists are fun to pore over and dream
producers and section leads can start to
about as the game takes shape. The
fill in time estimates and dependency
walkthrough from above makes it easy
information used later to build the pro-
to produce these asset lists as the AI
duction plan. Remember that so far in
programmer only needs to read through
the process you have not formally sat
the walkthrough, highlighting AI behav-
down and cut any features or assets
iors as he comes across them. The lead
yet, and you don’t do that on your first
animator will build the animation
pass with the walkthrough and asset
matrix from seeing the character list
lists. Instead of cutting right away, I
and examining all the moves that each
recommend you get on with other areas
of the characters must come up with.
of design while the asset lists stew for a
Without a walkthrough you will be lim-
bit, gathering flavor. After at least two
ited in your ability to list all of the
weeks and preferably four, go back with
required assets. This is quite dangerous
222 Chapter 16: The Design Document

a fresh eye and start to remove tions, and peddling it around town as if
requested assets, both from the asset it is something new. Many publishers
lists and the walkthrough, that are are guilty of opening up their latest
clearly superfluous and will have no copy of PC Data or TRST sales data
meaningful impact on the game. There and looking at what the number one
is a fine line between detailing a game selling game is and then promptly set-
world and creating asset verbiage that ting off to green-light a new game pro-
never needed to be created in the first ject that is a clone of one that is already
place. a major hit. Think about the poor tim-
ing: The hit game was conceived at
Use of Other Games least 24 months ago, and now the pub-
Using other games for inspiration and lisher will play catch-up and fund a new
as guidance for the implementation of title that will take another 24 months to
specific features is a good practice. For reach the market. Meanwhile, the guys
example, since Diablo the industry is who made the original are wrapping up
pretty much settled on red-colored their sequel and securing their position
health meters and blue-colored mana on the franchise. This seems dumb to
meters. Don’t make yellow-colored me; I would rather be making the hit
health meters and brown mana meters, game that others are chasing.
not even if you use nanotech, quintes-
sence, spell points, or any other magic Menu Design
system—just use blue. For first-person All games have some sort of menu sys-
shooters, default the left mouse button tem, and in general the fewer menus
to fire the main weapon in normal the better. The trend nowadays is to
mode; no one will appreciate the right embed as much of the menu system as
mouse button being the default possible into the actual game. I remem-
behavior. ber how brilliant it was in Quake I
If you are designing a role-playing where id had the player choose his diffi-
game with an inventory system and you culty level by running through a small
like the paper-doll mechanics of Diablo, level and jumping through a teleporter.
take a screen shot from Diablo and It was interesting to note that the
annotate what specific features will insane difficulty setting was hidden by
remain the same and what you are the use of a traditional secret along the
modifying. Referencing other games path of choosing hard.
and taking the game industry forward is By current tastes the Quake I
not plagiarism; it is just practical use of method of choosing a difficulty level
time. Some other aspects of game would probably be considered labori-
mechanics may not lend themselves to ous; however, it is even more popular
a screen shot. In that case, make a writ- to use the 3D engine of the game to
ten reference in your design document render the menu interfaces. Dungeon
about a feature such as “the player Siege from Gas Powered Games fea-
should be able to lasso his units as in tured animating chains and gears
Warcraft III.” pushing and pulling the menus around,
Plagiarism is copying another and many games now have the player
game, making a few minor modifica- choose their character model only after
Chapter 16: The Design Document 223

seeing the character models on display hear game design document. This
in their “living” format with sample ani- document details all of the itty-bitty
mations and facial expressions. In mechanics of your combat system, your
Grand Theft Auto 3 the player bought sell system, or your racing model. All
weapons not through a 2D menu like games are a simulation of some sort of
the weapon dealer in Diablo, but rather activity, and the game mechanics detail
by entering Amunation in Liberty City is the formal analysis of that simulation
and simply walking through and collid- and the description of how that model
ing with the object of their choice. will be realized in your game. The
The design of the menu system game mechanics are much too specific
might be a drag, but it is very important to a particular game for me to be able to
to creating a clean, professional game- develop a generalized plan or format for
play experience for the player. Creating its presentation.
slick menuing systems is more difficult
than one would first think. The process Write the Manual?
I employ is to enlist my trusty friend One interesting suggestion from Steve
the use case diagram and note all of the McConnell that I have yet to try out on
steps involved in getting the player a project is to write the manual for the
from startup to all of the various modes game during the game design process!
of play and options. If I were to try that, I think the best
place is after the core gameplay,
Game Mechanics Detail walkthrough, asset lists, game mechan-
The game mechanics detail is probably ics, and menu designs have been laid to
what most people think of when they paper.

The use cases of Gran Turismo 3’s menu system


224 Chapter 16: The Design Document

Concept Sketches and Art Style The twin brother of incomplete


Guide work is uncertain work. Games are art
The art director should be leading the forms realized in a piece of engineering
art team through a series of sketching, brought forth by team effort. There is
prototyping, and visual design tasks no way anyone has ever written down
while assisting in the overall production at the start of the project every detail
planning process. The sketches will about a game without changing his
help all involved understand the look mind on the way to making a great
and feel of the game. The user-inter- game. It’s fine to note straightaway in
face prototypes dramatically assist in the game design document areas that
the communication of the core you feel need further examination or
gameplay. are dependent on learning new facts
that will be unveiled at a later point in
On Completeness and Uncertainty the project. As with incomplete work,
As the author of a book on how to go be sure this area of uncertainty has an
about doing something, I am obliged to owner and a suggested date when the
assume the role of someone pontificat- issue will be reexamined.
ing. As a pontificator on performing a Cut Features Even Before
rigorous game design process, I will Considering the Schedule
freely admit here that in my profes-
sional career I have yet to create a After laying out all this game design
game design document that lives up to material on paper, most people would
what I have described not only in this go straight to time estimates and pro-
chapter, but in the rest of the book. In ject planning without considering
the real world you will have many com- cutting features. I hold a fervent con-
peting time pressures. Instead of viction that the world’s great games do
carrying everything out to full comple- not have an abundance of features,
tion, you must use your judgment and rather they have just the right amount of
determine what areas of the design features polished to an uncommonly
require the most game design high standard! To help make your game
resources. If you are making a sequel a great game, rather than just plugging
to a game that your team has already in every single feature you and your
made, then you should not spend time team can think of, instead consider
creating documentation for the parts of your process to be like sculpting the
the game that are not changing; perfect game out of game developer
instead, focus on the creative differ- mind-stone. As these extraneous fea-
ences the new version is bringing to tures are cut from the project, the true
play. In areas of the game design docu- beauty of a great game will shine. By
ment that still need more design effort cutting now, without any pressure from
but that you don’t have time to address a time resource point of view, your
at the present time, simply note the feature cuts will be more pure and
incompleteness, assign it to a member objective. Go ahead and cut big features
of the team, and suggest a date for as well as small features. No worries if
completion. you cannot bring yourself to make per-
manent cuts; simply designate truly
Chapter 16: The Design Document 225

great features as primary, the lesser it up to date. This can be difficult,


ideas as secondary, and the most obvi- tedious busywork for a team, and you
ously weak features as tertiary. must decide what level of formality and
You will no doubt have to repeat rigor must be applied to maintain your
this process of prioritizing and cutting own game design document. However,
features later in the production process, the moment a game design document is
but that task will be much easier with saved and checked into the source con-
all of this thinking about what really trol system it starts to diverge. This is
needs to be in the game already due to people finding their own
completed. improvements to the design. Perhaps
the design was vague, or perhaps the
Maintain the Game Design developer learned of a better technique,
Document or perhaps someone ran low on time
Ah, so you are all done; HTML every- and cut some features. All of this activ-
where, no one has ever pushed UML ity should be documented to assist
use cases to the limits you have, and developers downstream. Think of the
you are prepared to have an auditing QA team that must update the testing
company review your asset lists. Fan- plan, the manual writer, the voice
tastic! Congratulate your team and director who must plan the dialogue
have a beer. Now get on with the rest of sessions; there are a good many people
the production plan and production in who need an up-to-date design
general. Oh, wait, there is one thing left document.
to do with the design document: Keep

On Fulfilled Expectations
Great games create expectations in fulfilling these expectations. Also look
the player’s mind, and you should for features that are listed in the game
deliver fully on these expectations. design document that are not appar-
Take your time as the game design doc- ently fulfilling any expectations. This
ument is being wrapped up to ask would be another clue for some feature
yourself what expectations the game trimming. If after searching your soul
design suggests to the player. Brain- your game design creates a nice set of
storm a bit and compile a list of these expectations and delivers fully with no
expectations and then go back and excess fat, then you may safely declare
review your game design document to that the game design document is
determine if you are truly delivering complete.
the best gameplay experience for
This page intentionally left blank
Chapter 17: Unified Modeling Language Survival Guide 227

Chapter 17 > > > > > > > > > > > > > > >

Unified Modeling
Language Survival
Guide
The Unified Modeling Language (UML) single sitting, a quick and dirty guide to
is referenced frequently throughout UML so that you may focus immedi-
this book, and the reasons for the use of ately on the requirements and technical
UML are amply supplied in the text. design of your game.
This chapter aims to provide you, in a

Use Cases Deliver Requirements


The use case in UML is the conveyor
of requirements, and it is requirements
gathering that is the cornerstone of
technical design. The use case is a
standardized method of documenting a
scenario or an interaction between the
user and the software—in short, a use.
An interaction could be to withdraw
money from an ATM or to send the
document to the printer or to cause the
player character to jump, pick up an
object, or swing a sword. A collection
of shapes and notations featuring stick The simplest use case diagram
figure actors, ellipsoid uses, and line
relationships comprise the visual com-
ponents of a use case diagram.
228 Chapter 17: Unified Modeling Language Survival Guide

Collections of interactions may be plot- 2. Extends—the insertion of addi-


ted together in the same diagram to tional behavior into a base use case
help organize and prepare for the for- that does not know about it, drawn
mal design process. as a dashed line with an arrowhead
with the tag <<extends>>
accompanying the line.
3. Generalization—a relationship
between a general use case and a
more specific use case that inherits
and adds features to it, drawn as a
solid line with a triangular arrow-

Y
head.
4. Inclusion—the insertion of addi-
FL
A use case diagram featuring the automatic teller
machine
tional behavior into a base use case
that explicitly describes the inser-
AM
tion, drawn as a dashed line with
Use case diagrams cannot get too com- an arrowhead with the tag
plicated. They are designed to allow the <<include>> accompanying the
software developer to quickly write line.
TE

down an interaction between the user


and the software with a verb-like label,
wrap an ellipse around the label, and
draw some relationship lines.
For those of you who are curious,
formal UML includes varying types of
line shapes to describe different types
of relationships:
1. Association—the basic relationship
representing the communication
path between an actor and a use A use case diagram featuring various relationships
case, drawn as a simple line.

Class Diagrams Are the Keystone of Design


A class diagram describes the static design: Conceptual, Specification, and
design of your software, the associa- Implementation.
tions between your classes, and the Conceptual design happens as you
subtypes of your classes; it is the work- are starting to sort out the implications
horse software design. from your use cases and are laying out
Taking the lead from Martin proto-classes to help organize and see
Fowler’s UML Distilled is the concept the behaviors start to take shape. It is
of design perspectives. When designing not necessary that all of the conceptual
software the modeler will be engaged classes map directly at a later stage to
in one of three distinct phases of classes that will end up being imple-

Team-Fly®
Chapter 17: Unified Modeling Language Survival Guide 229

bits of your classes are documented and


displayed like a dissected frog in a biol-
ogy class.
Like all aspects of UML, you do not
need to doggedly pass through these
modeling stages before you write code.
If the domain you need to model is
something you are familiar with and it
is not too complicated, maybe dashing
off the implementation model is the
most efficient for your task. Perhaps
your task is so straightforward that
absolutely no design work is required,
and you may start tapping out code
right off. However, if you are at the
start of your project and you are
A basic class diagram
designing a complex system, go ahead
and work through the phases.
mented. Rather the purpose is to get It is fairly important to identify
all of your class-like thoughts down on what specific stage of technical design
paper for study and review before com- you are in. For example, you might
mitting to the next phase of understand one part of the domain
construction: Specification. fairly well and start right in at the
Specification design occurs after Implementation design and then
you have used your use case diagrams wander out of this area of deep under-
to describe requirements and have standing and still attempt to design at
developed your requirements with the the Implementation view. This is likely
use of the Conceptual model. The most to create bugs in your software at
important benefit of object-oriented design time. If you need Conceptual or
programming is to separate the inter- Specification work but you stubbornly
face to a class (or package, library, etc.) try to force an Implementation model
from the implementation of the class. on the less well understood parts just
The goal of Specification is to nail down out of momentum, you are bound to
the interface of the object; the imple- create errors. A more specific example:
mentation details are kept out of the Suppose you licensed Epic’s Unreal
Specification model, and what is left is a Technology engine and decided to use
clean view of how that portion of the GameSpy’s multiplayer libraries. You
software you propose to create inter- already understand the GameSpy librar-
acts with the rest of the software. ies from earlier games, so you start
Implementation design may pro- dashing out Implementation diagrams
ceed after the Specification phase has but end up creating a poor design
been completed. The Implementation because you did not take the time to
design is what most people think of understand how the Unreal engine han-
when they think of object modeling. At dles starting up a multiplayer game.
this stage all of the glorious detailed
230 Chapter 17: Unified Modeling Language Survival Guide

Detailed Syntax of the Class Diagram

A class diagram with multiplicities marked

A class diagram with all the fixins’


Chapter 17: Unified Modeling Language Survival Guide 231

Associations describes how many instances of the


Associations are the connections targeted class may be connected to the
between the classes in your class dia- class at the other end of the associa-
gram, represented by lines attaching tion. The notation for multiplicity is
the classes (boxes) to each other. writen as the number of instances of
These associations represent the rela- the class, such as simply a 1 for one
tionships between the classes: The instance, 6 for a half dozen, 1..6 for the
cPlayerCharacter class may have a range of possibilities from one to six,
cInventory container class. UML deco- 0..1 when there can be only one or
rates these simple association lines none, and finally an asterisk to repre-
with symbols and text to fully describe sent an infinite quantity, such as 2..* for
the nature of the association. at least two and upwards to infinity. To
Role names are text labels that are describe the number of legs an animal
placed at either end of the association has, use the notation of a comma sepa-
line to describe what role this class rating the discrete values the number
portrays. of instances may take on such as 1, 2, 4,
6, 8, 30, 750 for clams, tur-
keys, salamanders, lobsters,
house centipedes, and the
millipede species of Illacme
plenipes of California,
respectively.
Navigability and general-
ization are the last bits of
adornment that occur at the
ends of association lines,
drawn simply as open
A class diagram with roles marked
arrows with just lines (navi-
gability) or as arrowheads
Multiplicity is another detail of the (generalization). These two arrows
association that is described at either depict the two broadest relationships
end of the association line. Multiplicity possible between classes: the “has a”
and the “is a” relationships. General-
ization is the “is a” relationship where
one class that is more specialized in
function is derived from another class
that is more generalized in function.
Navigability would then of course be
the “has a” relationship; the direction
of the arrow in a “has a” relationship
illustrates which class is the container
class.
Focusing on the use of multiplicity markings
232 Chapter 17: Unified Modeling Language Survival Guide

cPlayerCharacter that is of type int,


which is instantiated with a default
value of 100.
Visibility describes how this attrib-
ute is seen in the interface: public,
protected, or private.
Focusing on the difference between an “is a” and a Table 1—UML Symbols for Visibility
“has a” relationship
public +
protected #
If navigability occurs in only one direc-
tion (the usual case), it is called unidi- private –
rectional; if both objects point to each
other, it is called bidirectional. In the Operations
case of an association line without Operations are the activities defined in
arrows, UML says the association is individual methods that a class con-
either unknown or bidirectional. We tains. For Specification modeling we are
think this ambiguity in the language is only concerned with the public meth-
a flaw and recommend treating lines ods defined in a class; when Implemen-
without the arrows as unknown rather tation modeling, we are of course
than imply a bidirectional behavior. concerned with all of the member func-
tions: public, private, and protected.
Attributes
The full UML syntax for describing
Attributes may be thought of as simple an operation is:
fields in a class. At the conceptual level
visibility name (parameter list):
an attribute is just a “has a” association.
return-type-expression {property-
An example of an attribute is the name
string}
of the player in the cPlayerCharacter
class. Class boxes are subdivided into For example: +GetAmbientLightLevel
three sections: class name, attributes, (in timeOfDay: Date) : float
and operations. The full syntax for an
attribute is:
visibility name: type =
A class with some operations marked
defaultValue
For example: + mplayerHealth: int =
This describes a query operation avail-
100
able on cEnviroment by the name of
GetAmbientLightLevel that given the
timeOfDay of type Date will return a
float that represents the fraction of
ambient light to be used for the render-
A class with some attributes indicated ing engine.
There, that is what it takes to pro-
This declares a public member data duce a class diagram—the keystone of
with the name mplayerHealth on the UML and object modeling!
Chapter 17: Unified Modeling Language Survival Guide 233

Forward and Reverse Engineering of the


Class Diagram
The coolest aspect (not necessarily the of code for you. Here, let me walk you
most beneficial) of UML in my opinion through a sample with our friend the
is the ability to have software applica- Ogre:
tions such as Rational Rose, Together, For this set of examples I decided
or even Visio create code from your to try a UML modeling product that I
diagrams (forward engineering) and/or had not tried before, Embarcadero’s
create diagrams from your code Describe (http://www.embarcadero.com/prod-
(reverse engineering). There are at ucts/describe/index.asp). While I have barely
least 75 UML modeling tools (most of scratched the surface, I was able to
them perform forward engineering and download the product, install, and start
a smaller set perform reverse engi- modeling straightaway without using
neering) for sale as of this writing the help system at all. Fairly impressive
(summer 2002). One list of these prod- endorsement if you ask me. Now on
ucts is maintained at Objects By with the example:
Design: http://www.objectsbydesign.com/tools/
umltools_byCompany.html.
At first thought it may seem like
magic that a computer could read a dia-
gram. What these tools do is act like
the parser in your compiler to explore
the interface and composition of your
classes and draw the corresponding
UML diagrams with the correct syntax.
In the forward engineering direction,
these tools generate skeleton code in a A basic class diagram for Ogre, an NPC derived from
number of different programming lan- MonsterNPC
guages (e.g., C++, Java, SmallTalk,
C#, VB, Eiffel) with C++ and Java First we create a basic class diagram
being the two most commonly sup- with our Ogre derived from the base
ported languages. Common sense class MonsterNPC.
would tell you that adding the member MonsterNPC has two public attrib-
function huntForFood() on your Ogre utes, mName of type string and
class will not cause any software in the mHunger of type bool (although I am
world to be able to figure out what you sure you would not make your attrib-
meant by huntForFood and flesh out the utes public). Ogre has been fleshed out
code for you (explanation follows).1 with the public member function
Rather, it will just create the template huntForFood().

1 Of course, that sentence should be read with the connotation of “currently.” No doubt computers will
continue to grow in power exponentially and someday neural nets, expert systems, and probably a
hodge-podge of AI techniques will allow a computer to guess at the implementation for huntForFood(). It
is interesting to note that computers and software are already designing integrated circuit chips at the
lowest level and performing the majority of stock trades automatically.
234 Chapter 17: Unified Modeling Language Survival Guide

Now all I need to do is press the Describe UI that are not directly rele-
code generation button (while I am vant to this overview of UML. One of
using Describe, other tools like Ratio- these options is to proceed with the
nal Rose and Together also have code making! Here is what Describe
buttons to generate code). At this point generated:
I am given many options in the

//**********************************************************
// C++ Class Name : MonsterNPC
// ---------------------------------------------------------
// Filetype: (HEADER)
// Filepath: C:/Program Files/Embarcadero/Describe/GDTemp/MonsterNPC.h
//
//
// Describe Properties
// ---------------------------------------------------
// - Symbol Type : CLD_Class
// - Method : UML ( 5.6.1 )
// - System Name : Ogre
// - Diagram Type : Class Diagram
// - Diagram Name : MonsterNPC
// ---------------------------------------------------
// Author : Administrator
// Creation Date : Sun - Jul 7, 2002
//
// Change Log :
//
//**********************************************************
#ifndef MONSTERNPC_H
#define MONSTERNPC_H

class MonsterNPC
{

public:
string mName;
bool mHunger;
MonsterNPC () ;
virtual ~MonsterNPC () ;
MonsterNPC (const MonsterNPC &x) ;

};
#endif

Code generated for MonsterNPC.h

The first file is MonsterNPC.h, defining The next file created was Mons-
the interface to the base class that Ogre terNPC.cpp; notice how it has done a
is derived from. Notice all the nice lot of typing drudgery for us, and now
comment work supplied by Describe; all we have to do is fill in the body of
just think how envious your fellow the functions. Again, there are many
teammates will be with your diligent nice bits of commenting that one should
code style! really get around to filling out.
Chapter 17: Unified Modeling Language Survival Guide 235

//**********************************************************
// C++ Class Name : MonsterNPC
// ---------------------------------------------------------
// Filetype: (SOURCE)
// Filepath: C:/Program Files/Embarcadero/Describe/GDTemp/MonsterNPC.cpp
//
//
// Describe Properties
// ---------------------------------------------------
// - Symbol Type : CLD_Class
// - Method : UML ( 5.6.1 )
// - System Name : Ogre
// - Diagram Type : Class Diagram
// - Diagram Name : MonsterNPC
// ---------------------------------------------------
// Author : Administrator
// Creation Date : Sun - Jul 7, 2002
//
// Change Log :
//
//**********************************************************
#include "MonsterNPC.h"
//--------------------------------------------------------
// Constructor/Destructor
//--------------------------------------------------------
MonsterNPC::MonsterNPC ()
{
}
MonsterNPC::MonsterNPC (const MonsterNPC &x)
{
}
MonsterNPC::~MonsterNPC ()
{
}

Code generated for MonsterNPC.cpp

Now here is Ogre.h; notice how syntax for deriving Ogre from
Describe knows to write the correct MonsterNPC. Neat, huh? I think so.

//**********************************************************
// C++ Class Name : Ogre
// ---------------------------------------------------------
// Filetype: (HEADER)
// Filepath: C:/Program Files/Embarcadero/Describe/GDTemp/Ogre.h
//
//
// Describe Properties
// ---------------------------------------------------
// - Symbol Type : CLD_Class
// - Method : UML ( 5.6.1 )
// - System Name : Ogre
// - Diagram Type : Class Diagram
// - Diagram Name : MonsterNPC
// ---------------------------------------------------
// Author : Administrator
// Creation Date : Sun - Jul 7, 2002
//
236 Chapter 17: Unified Modeling Language Survival Guide

// Change Log :
//
//**********************************************************
#ifndef OGRE_H
#define OGRE_H

#include "MonsterNPC.h"

class Ogre : public MonsterNPC


{

public:
huntForFood () ;
Ogre () ;
~Ogre () ;
Ogre (const Ogre &x) ;

};
#endif

Code generated by Describe for Ogre.h

Finally Ogre.cpp shows the skeleton


constructor, copy constructor, destruc-
tor, and huntForFood().
//**********************************************************
// C++ Class Name : Ogre
// ---------------------------------------------------------
// Filetype: (SOURCE)
// Filepath: C:/Program Files/Embarcadero/Describe/GDTemp/Ogre.cpp
//
//
// Describe Properties
// ---------------------------------------------------
// - Symbol Type : CLD_Class
// - Method : UML ( 5.6.1 )
// - System Name : Ogre
// - Diagram Type : Class Diagram
// - Diagram Name : MonsterNPC
// ---------------------------------------------------
// Author : Administrator
// Creation Date : Sun - Jul 7, 2002
//
// Change Log :
//
//**********************************************************
#include "Ogre.h"
//--------------------------------------------------------
// Constructor/Destructor
//--------------------------------------------------------
Ogre::Ogre ()
{
}
Ogre::Ogre (const Ogre &x)
{
}
Ogre::~Ogre ()
{
Chapter 17: Unified Modeling Language Survival Guide 237

}
//--------------------------------------------------------
// huntForFood
//--------------------------------------------------------
Ogre::huntForFood ()
{

Code generated for Ogre.cpp

Describe, like all other good forward To accomplish this I opened up the
code generating tools, automatically code generated by Describe in a simple
updates its own diagrams to reflect the editor like Windows Notepad and added
additional functions such as the con- the declaration of pickTeethWithElf-
structor, copy constructor, and destruc- Bones() to the public members section
tor that have been added to the classes. of the Ogre class in Ogre.h. (I omit this
This is very neat as well. painfully dull figure illustrating a one-
line change to Ogre.h.) I then told
Describe to reverse engineer the dia-
gram from the source code:

The class diagram has been updated after the code


generation.

What just happened might have been The new function pickTeethWithElfBones() has been
reverse generation of the diagram automatically generated.
update with the constructor, destructor,
and copy constructor by writing the Bam, there is the pickTeethWithElf-
code first and then updating the dia- Bones() member function in the Ogre
gram, or it could have been forward box including the + symbol indicating it
generation by modifying the diagram is a public function. As a final step I
and then proceeding with the code gen- then directed Describe to perform
eration. I could not tell you since it all some forward engineering magic by
happened within a blink of the eye. again generating code from the dia-
To test the reverse engineering gram. What is there to generate? The
capabilities of Describe, I added a new skeleton of the function pickTeeth-
member function to Ogre: pickTeeth- WithElfBones() in the Ogre.cpp file of
WithElfBones(). It seemed like a fun course!
thing for our Ogre to do on occasion.
238 Chapter 17: Unified Modeling Language Survival Guide

This brings me to a very important all of these magical benefits of whole-


point to keep in mind about UML. some software engineering, but as a
While I have been advocating a method- side effect or bonus your team will save
ology that is likely to be a more itself from the tedium of making header
extensive process than you are cur- files and stubbing in their functions.
rently using, by going with UML and Using UML with a good UML tool such
with the flow of the industry standard, as Describe, Together, or Rational
not only will your team be creating Rose will save your team time.
higher quality software on time through

The Other Seven Diagrams of UML

Y
The use case and class diagrams from variations upon the theme of a class
UML are the two most useful diagrams
for any software engineering project,
especially game projects where the
FL diagram.
Static Diagrams
AM
technical design phase must often be The object diagram depicts the static
conducted under constant pressure to behavior of a set of instantiated objects
get on with it and start some gameplay and the relationships between these
TE

action. The use case diagram exists to objects. This is useful for illustrating
collect behavior and requirements, and tables in a database in relation to spe-
the phases of class diagrams (concep- cific objects elsewhere in the system.
tual, specification, and implementation) Again, an object diagram is very similar
exist to design the software. That is a to a class diagram but is instead focused
whole lot of functionality in just two on the perspective of allocated, instan-
diagrams; however the UML provides tiated, real objects. This diagram is not
seven more diagrams. needed for all modeling jobs; however,
Table 2—The Nine Diagrams of the UML it is useful when examining the static
relationship behavior of a system of
Static Design Dynamic Behavior objects that can vary quite a bit under
Diagrams Diagrams
different scenarios.
Class diagram Use case diagram
Object diagram Sequence diagram
Component diagram Collaboration diagram
Deployment diagram State diagram
Activity diagram

As you can see, there are four diagram


types listed as static design diagrams.
Besides the class diagram there are the
An example of an object diagram
object, component, and deployment
diagrams. Honestly, these types of
static design diagrams are merely

Team-Fly®
Chapter 17: Unified Modeling Language Survival Guide 239

Indicating a function with class scope versus


instance scope

The syntax for the object diagram is to


declare the name of the object as
instance name: class name. Attributes
of an object are often shown in an
object diagram as it is the varying val- A sample package diagram based on a simple 2D
game
ues of the attributes in a class that
compose an instantiated object.
The underline notation for the dependencies between the classes
instance name should not be confused across your project may guide you to
with the underline notation used on perform some surgical refactoring to
attributes and operations. An under- bring your builds back under control. A
lined attribute or operation indicates an great book on the problem of depend-
attribute or operation that is of class encies and build times is Large-Scale
scope rather than limited in scope to C++ Software Design by John Lakos.
the instance. Component diagrams do not need
The component diagram, also to be fancy; however, inside the folder
known as a package diagram, is simply icons for a component, you may list the
building upon the concept of a class dia- important parts that comprise the com-
gram but with larger chunks of your ponent as well as the UML standard
software system besides single classes. visibility symbols such as +, –, and #.
For example, component diagrams are In fact, the class, component, and
well suited for depicting the connec- deployment diagrams share the follow-
tions between the 3D rendering engine, ing UML structures: stereotypes, gen-
the AI subsystem, and the network eralizations, and associations.
layer. Each component may be drawn as The deployment diagram acts as the
a simple box or more ornately as a most natural extension of the compo-
file-folder-like icon or a box with two nent diagram, the physical arrangement
tabs on the left-hand side as if it were of your software system and subsys-
to plug into something. Draw simple tems with a pictorial description of the
lined arrows between the components delivery platform and where the major
to indicate dependencies. components live on the delivery
The component diagram is a great platform.
tool for developing a road map for main- For many games, especially con-
taining a body of code and for working sole games, the deployment diagram
with a team of developers in general. would be a simple diagram with just a
Also, if your body of code is becoming single machine being the platform.
tangled and your build times are grow- However, in the case of very fast hard-
ing out of control, mapping the ware video and hardware audio, it may
240 Chapter 17: Unified Modeling Language Survival Guide

still be useful to depict what subsys- use a cloud to represent the Internet,
tems of the hardware the various bits of different server icons, modems, satel-
your game engine are running on. lite dishes, whatever you want; the
Deployment diagrams are an excel- deployment diagram is the diagram that
lent opportunity to use all of the Visio expresses the software in its most
stencils that are lying about. You can physical terms.

A sample deployment diagram based on SFC3 and D3 with clients, servers, and web site

Dynamic Diagrams
The class, object, component/package, bottom or left to right. That may be one
and deployment diagrams comprise the reason the UML has defined more
four static design diagrams of the UML. (five) diagram types for the dynamic
As shown in Table 2, there are five behavior of software compared to the
diagrams to assist in describing the four diagram types of static behavior.
dynamic behavior of software. It is an You are already familiar with the
inherently flawed process to render handiest of the dynamic behavior dia-
onto a 2D plane the time-dependent grams, the use case, but what are the
dynamic behavior of software. There is rest of the dynamic diagrams about?
no guarantee that the software should Activity diagrams are useful for
not rightly take up more than two documenting the behavior of objects
dimensions in representation and no that have complex state-changing
guarantee that it will lay its time com- behavior. A programmer I knew from
ponent out nicely to be read top to my earliest game programming job
Chapter 17: Unified Modeling Language Survival Guide 241

used to exhort rather menacingly about utility of the state diagram to visualize
the lack of appreciation we younger and model objects with complex state
programmers had for the state behavior.
machine. I have to admit that while I The first bit of notation you will
had a general idea what the guy was immediately pick up on is that the
talking about at the time, I did not boxes in an activity diagram are round
understand exactly why state machines edged; these are the states that your
are a panacea to programming. Now object transitions between. Martin
that I know more, I know the state Fowler uses the terms “activity” for
machine is not the panacea to strong the round-edged box states and
programming; instead, the state “actions” for the transitional arrows
machine is just another good tool in the drawn between the states. The idea is
programmer’s box. I believe what the that actions would be quick (how quick
older programmer was trying to say depends on the nature of the problem
was that the failure of younger pro- you are modeling) and that activities
grammers to visualize and understand happen “for a while” (how long again
the state machines we were already depends on your problem).
creating caused a lot of bugs. Thus, the

A sample activity diagram of state behavior of the ghost NPC class in Pac-Man
242 Chapter 17: Unified Modeling Language Survival Guide

Each of the transitions in your It is common for an object to tran-


object should be documented with the sition among a set of related activities
guard condition, which is a boolean con- (states) while at the same time open to
dition that when met allows the object being interrupted and transitioning to
to pass to the new state. For example, another state that is connected to all of
when Pac-Man eats the power-up, the these related states.
Ghosts then start to flee from Pac-Man. Sequence diagrams are designed to
There are also two predefined address the need to model the dynamic
states for all objects in the UML nota- behavior between objects. Again, the
tion: the start state and the end state, state chart tracks the changing of state
represented by solid filled circles, with internally in an object, while the
start usually placed at the top of the sequence diagram tracks the communi-
diagram and end at the bottom. cation occurring between a number of
objects.

A sample sequence diagram depicting a simplified logon sequence


Chapter 17: Unified Modeling Language Survival Guide 243

The sequence diagram is useful for bottom of the diagram. From the time
designing how your components and the object is actually created until it is
packages will interact at the specifica- deleted, the timeline has an open rect-
tion stage and assists you in designing angle on top of the dashed line. At the
the message traffic in your objects in bottom of the rectangle, if the object is
the implementation design stage. A deleted in this scenario, a large, bold X
sequence diagram documents a single is placed to clearly indicate when the
scenario or course of events. In fact, a object was destroyed.
sequence diagram maps well to a use The messages themselves are
case diagram. You should certainly lines with solid filled arrowheads that
spend more energy on collecting your lead from the calling object to the called
requirements into use cases rather than object. This message line is always
rigorously ensuring that you have a labeled with the name of the calling
documented sequence diagram for each object’s member function that is mak-
of your use cases. ing the function call or asynchronous
The main benefit of sequence message (or by whatever messaging
diagrams in game development is in vehicle you are using). Additional con-
multiplayer code technical design. ditions may wrap the message label to
Multiplayer code tends to need a lot document what conditions would have
of asynchronous callbacks, multi- to be met for the message to fire off.
threading, blocking calls, or combina- Objects may send messages to
tions of all of these. You also have themselves; this is documented by hav-
peer-to-peer or client-server communi- ing the object point an arrow back to
cation. There is usually a lot of compli- itself. Messages that are simple returns
cated messaging going on. Zachary are drawn by using a dashed line with a
Drummond and I independently devel- solid arrow back to the calling object.
oped sequence diagrams on our own Like many bits of the UML, you
while working on a client-server game may choose to use additional symbol
in 1997. Later we found out there is a types to add clarity to a diagram. For
standardized language for expressing example, UML uses half-filled arrow-
this messaging behavior! heads to represent asynchronous
Now a quick overview of the syn- messages.
tax behind the sequence diagram: First, The collaboration diagram in my
all of the objects that are part of the opinion is just not useful or at best can
scenario to be designed are listed only be useful in odd cases. Maybe I
across the diagram from left to right, have failed to appreciate the use of a
with the leftmost object being the insti- collaboration diagram; like anything I
gator of all of the action and the put forth in this book, if you take issue
rightmost object generally being the or have a suggestion, please drop me a
last object to be instantiated in the line at erik@taldren.com.
scenario. The basic syntax of the collabora-
Below each object is the object’s tion diagram is to basically smash
timeline represented by a vertical together a class diagram and a
dashed line, starting at the bottom of sequence diagram and end up with a
the object’s box and extending to the diagram that does a worse job at
244 Chapter 17: Unified Modeling Language Survival Guide

modeling dynamic behavior than the State diagrams are the last bit of
sequence diagram and a worse job at the UML to discuss, and as with the
static modeling than the class diagram. collaboration diagram, I do not think
That is, it uses boxes for objects and the state diagram is useful. The state
message arrows to indicate calls diagram is essentially a flow chart using
between the objects. UML notational bits. Sure, flow charts
Essentially this diagram is an infor- are useful and they had their day, but I
mal sequence diagram where object feel the trio of use case, class, and
lifetime is not required to be drawn and sequence diagrams are the different
you feel the need to sprawl about your views to use, representing require-
drawing surface. I have so much disdain ments, and static and dynamic
for these collaboration diagrams that I behaviors. The odd state diagram will
am not even going to include an exam- also help you out with particularly
ple. I highly recommend UML Distilled state-driven complex objects.
by Fowler and Scott, and if you are mor- Here again, to sabotage the state
bidly curious, you can check out the diagram I omit a diagram for it; see
collaboration diagram in that book! UML Distilled if you remain interested.
Collectively, the sequence and col- Email me if you’re passionate about the
laboration diagrams are called UML’s state diagram; I see it only useful for
interaction diagrams. Use the sequence the high ceremony shops that would
diagrams. like to make an easy-to-read flow chart.
Chapter 18: Technical Design 245

Chapter 18 > > > > > > > > > > > > > > >

Technical Design
The technical design document is sec- design/architectural phases overlap
ond only to the game design document each other, and no technical design doc-
in importance for a successfully ument is 100 percent complete before
planned project. The technical design starting formal production of your
document is the reflection of the game game. In fact, attempting to achieve
design document and a blueprint for perfection in the technical design phase
your development team. is not keeping your eye on the true
Every organization has a different goal: creating a great game. Instead
format for technical design documents your group should achieve a good
and depending on the size of the organi- design that meets your requirements
zation, its experience, and the size of and goals for the project. In other
the game project and the goals for the words, I will be spelling out a whole
game, the level of effort that is spent bunch of detail that could possibly go
creating this document varies wildly. into a technical design document, and
First off, it should be noted that you will need to use your own judg-
even with business software, the ment of what is appropriate for your
design phases and the technical team and your project.

Nominate Functional Leads


At Taldren we have found that modern single developer, we find that we create
games have grown too large in scope a lot more energy and buy-in from our
and complexity for a single lead pro- programmers if they have specific sub-
grammer to know everything important systems that they own. Also, this is a
across the whole of the project. And necessary exercise if you want to grow
even if one programmer could keep it your programmers into stronger pro-
all in his head, that would not be best grammers. In my opinion, growing your
for your team or the project. folks into stronger developers should
Instead of the lead programmer or be a goal as important as making a
technical director designing all soft- great game, possibly even more impor-
ware, we nominate functional leads for tant than a solitary game. Your games
each subsystem of our games. This has must be the strongest you can create in
been common practice at other game order to ensure the success of your
development houses for some time business; however, never forget that
now. Besides not overwhelming a your games are created by people
246 Chapter 18: Technical Design

thinking, and structuring the challenges programmer or technical director


in your projects that cause each of your makes a conscious decision to parcel
programmers to stretch and grow is out information to his leads. This par-
how to truly make a great company. celing out ensures that the leads will
This goal of developing your more actually read their area of the game
junior people into stronger developers design document and not get lost trying
and taking your strongest programmers to get through the whole pile of docu-
to new levels may find heavy resistance ments. I have discovered through
from some who prefer (subconsciously experience that some folks enjoy read-
or consciously) to remain a hero pro- ing whole design documents and others
grammer who calls all the shots in a do not. For the latter types you must
given area and feels indispensable. This pull out what you want them to read.
is negative to the ultimate health and (For our latest project, in addition to
performance of your team. At Taldren having all of the design documents in
we consciously cross-train at least two the version control system with easy
developers, and ideally three, in each access to all of the development team, I
major area of expertise, such as graph- burned a CD with all of the documents
ics, AI, and networking, to ensure that at the end of the game design phase and
we do not have any indispensable hero handed it out to every member of the
programmers. It sounds like we are cal- development team so that they would
lous of people’s egos, and in a way we have the convenience of not having to
are. I am not interested in protecting an look for the documents on SourceSafe
ego that depends on hoarding technical and could also conveniently take a copy
knowledge. Instead, I want to grow of the game design material home with
healthy egos that discuss their techni- them. I will let you know how this
cal challenges and proactively share turns out.)
their knowledge with each other. Some of the leads we have on
After nominating each of your func- Black9:
tional leads, it is time to parcel out the 1. Artificial Intelligence
game’s requirements and game design 2. Unreal Warfare
document to each of the technical leads. 3. Xbox
Of course the entirety of the game 4. PS2
design documents and other documen- 5. Networking
tation should be readily accessible to all 6. Quality Assurance
developers, but here is where the lead 7. Level Design
Chapter 18: Technical Design 247

Synthesize Use Cases and Nonvisible


Requirements
How do your developers actually create missing tasks that fall between two
a technical design for their areas of developers when no one claims respon-
responsibility from the design sibility for that area.
documents?
Start with the Use Cases
Those use case diagrams that illustrate
the game design document are excel-
lent collections of the behavior of the
various subsystems in the game. The
technical leads should take the use case
diagram to a whiteboard (or paper or
modeling software such as Describe)
and start to annotate it with questions
that will lead to further refinement of
the design and notes suggesting the
technical design of the system. Two developers rejecting a task—it falls through the
Over time these annotated use cracks.
case diagrams should be used as the
raw material to develop the static
design of the software. In some areas it This is an amazingly important process,
might be appropriate to start right out and it is the main reason you co-locate
with class diagrams, and in other areas your developers in an office so that
it might be better to start at a higher they can communicate with each other.
level such as a package or component Hundreds of minor decisions will be
diagram. ferreted out with this discussion pro-
cess that were never identified as
Casual, Frequent Design Review
needed.
As the functional leads are performing
the analysis of the requirements, they Nonvisible Requirements
should meet with each other at irregu- Use case diagrams are only able to doc-
lar points when they have reached ument the interaction of the game with
some intermediate stage of design and the player and in some cases between
discuss their proposed design with the client and the server or other play-
those who have areas of responsibility ers. There are a great many require-
that border on the work of the first ments that games need to meet that are
developer. This is an activity that the not interactions with the player. I lump
lead programmer or technical director all of these together as nonvisible
should be actively monitoring and push- requirements.
ing to happen. This will help ensure All games have a minimum frame-
that all of the game is designed as a rate requirement, with strategy and
coherent whole and that there are no puzzle games being able to get away
248 Chapter 18: Technical Design

with as few as 10 or 15 frames per sec- n For PCs, develop a technical plan
ond and most console games using 30 to meet the specified minimum
frames per second. The highest per- system requirements such as the
forming action games are 60 frames per memory on video cards.
second. In the requirements gathering n Specify what SDKs and APIs the
document, the designer merely wrote game will use and declare at what
down what his frame rate requirement point you will lock down these
was. Now the technical leads must third-party software libraries and
work together to develop a technical what your risk plan is if they fail to
plan to meet these requirements. The deliver on all of their promises.
technical design document is not n Detail how the game will be local-

Y
merely an echo of what another guy ized, how the game’s strings will
said earlier when the requirements
FL
were identified; now the requirements
must be analyzed, and a plan of attack
be organized, and how the font will
be swapped out for other lan-
guages’ fonts. Make sure your
AM
must be articulated. It is fine if the strings are stored as double-byte
issue is not fully understood yet. For strings to facilitate worldwide
example, if a wholly new 3D engine localization.
technology must be created, it would be
Security —what is your strategy to
TE

n
fine if the technical design discussed a
prevent copying? CD-keys or some
strategy called frame-locking to keep
sort of CD encrypting software?
the frame-rate smooth and if the docu-
ment spelled out various ways that
n Security/cheating—if your game
performance will be optimized or met features online gameplay, then you
through modifying assets such as poly- must address cheating or popular
gon and texture map reductions. games will die a sudden death.
Other nonvisible requirements n Portability—is it a goal to move the
should or may include the following: code over to Linux? Mac? PS2?
n Maximum run-time memory foot- GameCube? Xbox? Plan ahead to
print (this is especially important isolate platform-specific code.
with console games) n Database usage—you may not have
n The layout of the data structures a full-blown use for SQL in your
on the physical media such as CD, game, but you certainly have art
cartridge, or DVD and audio assets that must be effi-
ciently organized and referenced
n The maximum bandwidth allowed
both during production and at run
per player per second
time.
n The customer support and release n Concurrency and threads limita-
quality requirements
tions—for example, virtually all
n All of the console manufacturer’s consoles do not support the use of
requirements (there are dozens of threaded programming; your plan
them)—I recommend creating a must explicitly detail the use or
little distilled checklist of require- non-use of threads.
ments that is used to generate
specific tasks.

Team-Fly®
Chapter 18: Technical Design 249

These are just some of the nonvisible was called for, and we soon learned that
requirements that your game could be indeed Unreal used the much lower
holding on to; your team has the amount of memory as predicted by the
responsibility to look for the rest of calculation and that there was an error
these not-so-easy-to-spot in the first estimate.
requirements. I remember being taught this les-
son when in graduate school at USC’s
Measure Twice, Cut Once Aerospace department when one of the
As your team prepares the technical youngest professors there, Dr. Irwin,
design document, it should also be challenged a highly respected older
performing tests and experiments to graduate student to calculate the orbital
establish reasonable confidence in the velocity of the KH11 spy satellite on
performance of the game software. the spot. The student said he would
Some concrete examples are in order. need to know how much mass the sat-
Suppose you are licensing the Unreal ellite had before he would be able to
engine from Epic to make your game proceed with the calculation. Dr. Irwin
(as we are). What are the performance responded harshly, “Guess!” The stu-
parameters of the engine? If you load in dent surprised himself by being able to
a character model with 5,000 polygons, come up with a decent number for the
20 animations, and one 512 by 512 by mass. Then the student said he was not
24-bit texture map, how much run-time familiar with the radius of the orbit the
memory does the geometry require? KH11 used. Dr. Irwin responded again
How much for the texture map? Which harshly, “It is a damn spy satel-
compression algorithms are you using lite—guess!” This of course was a
for the texture map? How about that strong clue that the spy satellite orbited
animation data? How much memory at a very low altitude and that the stu-
will that take up? How does key-framed dent knew that already. From there it
animation data compare to motion cap- was a simple equation that the student
tured data from a memory footprint? had worked through probably a hundred
It is critical to both measure the times before in the regular coursework.
actual values observed as well as pre- The moral of the story is that fragile,
dict what the values ought to be, based worthless engineers are handicapped
on simple calculations of the data by documentation and textbooks, and
involved. For example, we ran a set of thinking, useful engineers have some
tests on Unreal’s performance with ani- idea of what is reasonable (with the
mation data, and the results we got accuracy of the guesstimate ranging
back from the first test indicated that widely depending on the problem to
Unreal used an outrageous amount of within an order of magnitude or ± 25
memory for each animation. This outra- percent). Your developers should know
geous value was presented at a team how many bits it should take to repre-
meeting, which I interrupted to do a sent a 5,000-polygon model and should
back-of-the-envelope guesstimate of be ready to interpret the actual results
the order of magnitude the data should measured. Raw measurements without
require. It turned out to be roughly 12 any thought behind them are even
times less memory. So a deeper test more dangerous than no numbers; at
250 Chapter 18: Technical Design

least with no numbers you know what results to actual measured results. This
you don’t know. is basic scientific procedure taught in
Another simple example of this is physics labs in all college physics
that very quickly your developers courses. I repeat it here as so many of
should spot the impractical requirement us in the game programming craft are
that a PS2 game support 1024x1024x32 self-taught.
texture maps for the characters. It is
easy to calculate that this one texture Specify Tools, Languages, and
map takes up 4 megabytes of mem- Processes
ory—the exact size of the PS2’s video Your technical design document should
buffer! specify what programming languages
Another solid example of the use- will be used, such as C++, SQL,
fulness of looking at the whole UnrealScript. If the language choice is
enchilada and making sense of your important, then the technical design
numbers occurred in an episode of document should elaborate on why
clever task estimating for a Game Boy each of the languages are the best
Advance project we were considering. choice for their jobs.
The question at the time was how SIDEBAR: On scripting languages, I
many artists the project required. We have worked my way up in the game
knew that GBA teams required very industry from being a scripter on an
few team members; however, this adventure game, through game pro-
side-scroller would require the best of grammer, to producer, and now CEO of
our artists and quite a bit of art. This Taldren. I have a love/hate relationship
last requirement, quite a bit of art, trig- with scripting languages and it is mostly
gered the question in my mind of on the hate side. It is entirely influenced
by my first experience with a scripting
“Never mind how many artists do we
language (a proprietary language
need for the project, instead how much named SAGA II developed by my first
art can we possibly cram into the game industry employer, The Dreamer’s
GBA?” Taking the largest cartridge size Guild). This language was designed to
that Nintendo uses for the GBA we be C-like yet supposedly made crash-
were able to quickly calculate that two proof by ignorant scripters such as
of our artists working full time on the myself. I think the very goal of this
project for six months would produce scripting language was the flaw: to
more art than the GBA could even han- reduce the amount of serious bugs
caused by scripters. Instead of the rela-
dle! Two artists by six months was the
tively short time it would have taken to
upper limit of our budget, and we hap- train good scripters to avoid producing
pily penciled it in on the schedule as array-bounds, memory leaks, and other
one of the rare cases when you know crash bugs, many man-months were
without a doubt that your time estimate devoted to the creation and the mainte-
is as strong as possible. nance of a mediocre language with
Even when the final draft of the crude debugging tools. Essentially
technical design document has been SAGA never fully worked as advertised,
completed and the team is ready to and we scripters still created bugs that
required the attention of more senior
move on to production, it is important
programmers to solve. Recently at
to keep monitoring your expected
Chapter 18: Technical Design 251

Taldren we have been introduced to the


these APIs the game is going to be
UnrealScript language. This one I highly made with. Many PC games have been
approve of, as it has a much nobler delayed a year or more after switching
goal: to be able to be used by consumer to the latest version of DirectX due to
end users for user extensibility. With this the overwhelming desire to take advan-
requirement Epic was forced to push tage of a feature that only the latest
the quality level of UnrealScript far DirectX supported. Sometimes teams
above what most internal tools in the upgrade their APIs and SDKs late in
game industry would achieve. Unreal-
the development cycle only to find that
Script is an object-oriented scripting
language somewhat like Java that pro-
the new stuff is not fully backwardly
duces decent code. In the end, I prefer compatible with the older stuff—big
that teams develop APIs in C++ that bummer. Identify as early as possible if
other team members are able to use to there is a likely need to upgrade during
more effectively grow their core pro- the production of the game and if so,
gramming skill set instead of developing take stock of the risks involved early
throwaway knowledge in a proprietary on. If possible commit to rigid cutoff
scripting language. For the truly robust dates where the project will no longer
projects that may benefit from a script-
tolerate upgrades and revisions to
ing language, by all means use or
develop one. This area of the technical
these APIs and SDKs.
design document should fully articulate Goals for the Architecture
the reasons for using or not using a
scripting language. Besides merely satisfying the immedi-
ate needs of this particular game
How about if you are using a new pro- project, many projects have implied
cess such as taking advantage of requirements that would move much
Unified Modeling Language as sug- more rapidly towards being realized if
gested in this book? Or will your team these requirements were articulated
be using a software-modeling tool such and planned for during the technical
as Rational’s Rose for the first time? design phase.
What about on the art side; will you Are you building up the code base
switch from 3D Studio Max to Maya for your company? Is it intended to
and if so, why? build a robust 3D engine that may be
Decide which components for the reused in a future project? How about
game may be reused from existing soft- portability? Will this reusable 3D
ware or be licensed from third parties. engine you are proposing to engineer
Solid third-party software is almost always run on the PlayStation2 or do
always less expensive than building you intend to port to the GameCube or
your own. However, you may have Xbox?
strategic goals for creating your own How about user extensibility? Do
software that is a requirement your you want your gamers to be able to
team is preparing to meet. modify or create new content for your
When using APIs and SDKs such game?
as the Miles sound libraries or DirectX, Any and all of the above must be
it is important to articulate at the tech- explicitly planned for during the techni-
nical design stage which version of cal design phase, as it will materially
252 Chapter 18: Technical Design

affect how the technical leads go aboutin the game. The level designers are
designing the game’s software. likely to make hundreds of adjustments
Identify what sort of code and tech-
and tweaks to a level. This implies
nical design reviews your team will strongly that a robust and easy-to-use
utilize during the course of productionlevel-building tool is a key requirement
for the game. for the successful production of the
game. Something less obvious may be
Identify Areas of Likely Change the numbers behind the game mechan-
The game design document and/or the ics in a game, such as weapon damage
technical design document may identify tables. Put these tables into easy-to-
areas of the game that are likely to modify text files so that the designers
undergo significant change during the are able to modify these directly with-
development of the game. An obvious out the aid of a programmer.
example would be the design of a level

The Quality Assurance Plan


Quality assurance on a game project include in your bug reports; listed
deserves its own book; however, I will below is a good set of fields to track in
use the remainder of this chapter to your bug database:
outline how the quality assurance plan n Bug ID—a unique identifier for a
is really a part of the technical design bug; never recycle bug IDs in the
document that your programmers are course of a project.
creating and offer some suggestions for n Title—a one-line description of the
your quality assurance plan. bug
Your quality assurance plan should n Submitter—the name of the tester
discuss a number of topics including
who entered the bug
the defect tracking system, automated
testing sweeps, focus group, and beta
n Description—a complete descrip-
testing. One of your programmers tion of the bug including steps
should be assigned to develop or help required to reproduce. Optionally,
develop the QA plan with the lead QA attached files such as screen shots
team member. Often the lead QA guy or debug dumps may be included to
over at the publisher is unavailable at help describe the bug’s behavior.
project green-light and your team is on n Date Submitted—the date this bug
its own in the planning stages for the was born
QA plan. n Build Number—this is a critical
piece of information as you do not
Defect Tracking want your programmers chasing
Tracking bugs is the central activity for down bugs that have already been
the QA plan. If you do not actively iden- fixed or have been made obsolete
tify and record your bugs, not much is in more recent builds or were
going to get fixed. There are quite a understood to be nonfunctional
number of details you might want to with the build identified.
Chapter 18: Technical Design 253

n Production Status—this records n Notes—a free-form text area


the development team’s status where the developers and QA folks
with the bug—Unassigned, In may write short notes to each
Work, Request Verify Fixed, other in the pursuit of bug closure
Request Not A Bug, Cannot Dupli- n Bug Fixer—simply the person who
cate, Need More Info, etc. There corrected the bug
are a good many potential states n Bug Change History—a little his-
that production could be in. tory noting the changes that a bug
n QA Status—Is the bug open or goes through in its lifetime
closed? Perhaps your organization
needs more resolution than that Defect Tracking Software
such as Closed—Verified Fixed, or You will definitely want to track your
Closed—Resolved. bugs in a database of some kind. Many
n Platform—if your game is multi- organizations build their own bug track-
platform, it is critical to state which ing databases using tools such as
platform the bug was identified on. Microsoft Access, or you could use a
n System Specs—for PC games it professional quality tool like Merant’s
might be quite handy to have the Tracker (http://www.merant.com/PVCS/prod-
submitter’s system specs readily ucts/tracker/index.html) or Mozilla’s Bugzilla
accessible straight from the bug (http://bugzilla.mozilla.org).
database. Activision uses Tracker exclusively,
n Owner—who is the current owner and we have found it to be very produc-
of the bug? Bugs without owners tive with both a Windows client and a
simply will not be addressed. simple web browser client. The web
Assign a bug back to the QA lead browser client is relatively slow to use,
after development has fixed it so but it does have the huge advantage of
that it is now QA’s job to verify the being able to check on the progress of
fixed bug. SFC3 from my home or anywhere.
Bugzilla also has a web interface.
n Severity—use numbers or descrip-
tive words such as High, Medium, The Testing Plan
Low, and Suggestion or Critical,
The testing plan should detail what,
Important, Moderate, and
how, who, and when the game will be
Cosmetic.
tested. As for what to test, dust off the
n Area—use a field to note in what use case diagrams as they make an
portion of the game this bug was excellent checklist of the functionality
identified, such as mission 1, or the the game is supposed to perform.
main menu, or during multiplayer Additionally, set up lists to review
skirmish. each and every button for spelling and
n Closed Date—note when the bug tool-tips, and check the alignment and
died. positioning of all of your graphical
n Verified By—the name of the assets. Check to be sure all of the
tester who verified the bug fixed assets are in the correct and final
254 Chapter 18: Technical Design

format. Be sure there are no extrane- is a good thing? Yes. A simple pair of
ous files in the release build such as equations will illustrate how:
debug helper files and your lead artist’s Bugs Unique Identified Bugs = Bugs Pool A +
favorite MP3s! Bugs Pool B – Bugs Pool A & B
The QA lead should build a large Bugs Total Unique Bugs That Exist = (Bugs Pool A *
spreadsheet in Excel or some other Bugs Pool B ) / Bugs Unique Identified Bugs
handy application to track all the neces-
sary tests that should be performed
many times during the course of
production.
Every button should be clicked,
right-clicked, and double-clicked, the
game should be run for days on end,
the keyboard keys should all be mashed
at once, and all of the controller buttons
mashed. Now this sort of button smash- Using pools of bugs to estimate remaining bugs
ing does not need to be tested often—
at least one sweep after alpha or beta.
To do this right the two QA pools must
How Many Bugs Are Left to Find? not become aware of the bugs already
An extremely intriguing pair of ideas found by the other pool; otherwise you
to estimate the number of bugs in will not have an accurate count of the
your game can be found in Steve duplicate bug reports. It is common
McConnell’s Software Project Survival sense that this would work; imagine
Guide. One is called defect pooling and two end users who play your game for a
the other is defect seeding; despite year and they both find the same three
reading about these techniques in 1998, bugs in the game. You would then be
I have not yet been able to find a pub- extremely confident that if you fix
lisher’s QA team willing to let me try these three bugs, the game would be
them out on them! Read on to find out darn near bug-free. On the other hand,
why. if these two players were finding about
50 new bugs a month in your game and
Defect Pooling there was absolutely zero overlap in
The way defect pooling works is by tak- their bug reports, then you should
ing your QA resources and dividing develop a deep and foreboding sense of
them into two separate pools—pool A apprehension as there appears to be no
and pool B. Pool A and pool B are then limit to the number of bugs in your
to go about their QA business as if the game.
other team did not exist. All of the bugs The reason why defect pooling has
pool A finds should be plugged into the never worked for me is that no pub-
bug database, and every bug pool B lisher was willing to double the size of
finds should be plugged into the data- the QA team for us. I am convinced this
base. Hopefully, hopefully, a great technique does not cost more; indeed I
number of duplicate bug entries will believe it would save the publishers a
show up in the bug database; and that ton of money if they would test areas of
Chapter 18: Technical Design 255

the game until they met a certain over- Now as QA discovers bugs in the game,
lap requirement of, say, 75 percent the producer or lead programmer
bugs common to the two pools before should track which of the seeded bugs
shifting the attention of the QA team to have been identified by the QA team
another area of the game. To be han- and which have yet to be identified. A
dled efficiently, one would need to look simple equation shows how to use this
into the feature set of the bug tracking information:
software to set it up so that the testers Bugs Total Unique That Exist = (Bugs Seeded Planted
in pool A would not be able to see the * Bugs Seeded Found ) * Bugs All Reported So Far
bugs in pool B, and some tool is needed
A quick review of the seeded defects
to facilitate the marking of duplicate
that have yet to be identified by the QA
bugs between the pools (I am imagining
team will reveal a gap in their QA pro-
some sort of neat 3D operating system
cess, and the development team may
where the QA lead could quickly draw
then gently suggest focusing more time
spider-web-like connections between
in the area of light coverage.
bugs).
Notice that by carefully keeping
Defect Seeding track of the categorization of both the
seeded and normal bugs you will be
Defect seeding is much easier to set up
able to build estimates for the number
than defect pooling; in fact it does not
of bugs total in portions of the game
require any work from the QA team to
such as mission 1 vs. mission 10 or sin-
set up and monitor. Similar to defect
gle-player versus multiplayer. This also
pooling, the idea is to use a simple sta-
is an excellent tool for guiding QA to
tistical modeling tool to estimate how
areas that need more attention and for
many bugs could possibly be left to
developing confidence that an area has
identify in the game.
received enough QA attention.
To use defect seeding the develop-
ment team must consciously put bugs Political Resistance
into the game. All sorts of bugs: crash
Too many times on my game projects
bugs, spelling errors, poor balance, etc.
the QA team spends an inordinate
The more bugs placed throughout the
amount of time testing the areas of the
game and at all levels of severity, the
game they want to test and not enough
better the estimate it will produce.
time on this little corner here or over
there. As I said earlier, I have yet to be
able to get the QA teams I work with
excited about either of these methods.
It is just like trying to introduce UML
or C++ to developers who do not use
the tool currently; the resistance is
caused by the perceived loss of time
involved in learning the new method
and some degree of fear that any for-
Using seeded bugs (dark boxes); the white boxes
indicate normal bugs.
malized method of measuring the QA
team’s performance would reflect
256 Chapter 18: Technical Design

poorly on them. On the whole I find Beta Testing


this ironic, as the QA team should be You must have a plan for beta testing,
the most enthusiastic about identifying not merely throw it out to whoever
flaws in the process and wanting to wants it, listen to the complaints, and
improve them. fix the complaints until they stop. To
At Taldren we have occasionally use beta testers effectively you must be
placed a few seeded bugs, and we have deliberate and spend a lot of time com-
informally tracked the overlap between municating with them.
our own QA folks and the publisher’s Why are you using beta testers?
folks and even compared that to the Are you looking for free publicity for
beta testers. Each of these casual the game? Or are you looking for great
efforts provided us with more informa- compatibility testing? Or is your game a
tion, and we felt that given time we massively multiplayer game that simply
should do this more rigorously. Of must be beta tested by a great number
course it should be said that you must of consumers? Are you looking for a
have a handy way of removing these second opinion on the interface or the
seeded bugs from the game before game’s balance? All of these are good
release! This need to make the bugs reasons to use beta testers, and your
easy to remove causes a slight distor- plan for the beta testers must reflect
tion as regular bugs do not have this the reason.
limitation, and thus the seeded bugs are You should have at least one per-
not exactly statistically equivalent. son who is given the responsibility of
Automated Testing coordinating the activities with the beta
testers and sorting through their com-
Seeded defects are essentially tracking plaints. (Note that this might be a sec-
testing coverage. An efficient and reli- ond pool to use in a defect pooling
able method of achieving testing system.) A web site should be set up
coverage is to have a computer find the with bug forms and other information
bugs automatically! such as a requested time to play the
Various 3D first-person shooters game online to get the player count on
have used this method by having the the servers up higher.
camera randomly teleport to a point in Essentially beta testers are
the level and pick a random direction to untrained testers who want to be enter-
point at. This camera should just keep tained and cannot be told to do anything
jumping around continuously looking specific as you are able to with a QA
for crash bugs. employee.
There is also commercial testing I may sound negative on beta test-
software you can purchase that will do ing but I am not! Taldren would not
all of the random mouse clicking and have enjoyed the success it has without
button mashing you could hope for. To the tremendous input from our beta
use automated testing well, you must testers at every step of the way.
challenge the creativity of your pro-
grammers to come up with scenarios
that will tax your game’s subsystems.
Chapter 18: Technical Design