T

E A M

F L Y

Team-Fly® 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

10987654321 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 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 ? ...... 40 Who Are the 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 ArtParts...... 45 Art Director ...... 46 Concept Artist...... 46 2D Artist/Interface Designer ...... 47 3D Modeler ...... 47 Character Modeler ...... 47 Texture Artist ...... 48 Animator/ 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 QALead...... 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 WalkAway...... 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 Document ...... 101 What Is a 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 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- Chance of Delivery ...... 175 Chapter 11 Task Tracking ...... 177 Production Begins—Now What? ...... 177 Task Visibility ...... 177 TheWall...... 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 ...... 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 What About the Precious Game Secrets? ...... 207 Visuals ...... 207 Tactile ...... 208 What About the Words? ...... 208 Contact Information ...... 209 Chapter 15 Requirements Gathering ...... 211 The Flavors of Requirements ...... 211 Creative/License Requirements ...... 211 Technical Requirements ...... 212 Fiscal and Temporal Requirements ...... 213 Use Case DiagramsT...... 213

Chapter 16 The Design DocumentE ...... 215 What Does the Game DesignA Document Do? ...... 215 The Game Design Document as a Process...... 216 Game Concept ...... 216M Brainstorm ...... 216 Delegate Design ...... 217F Managing the Design Document ...... 218L 60 Seconds of Gameplay...... 218Y 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 TheWall...... 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 .....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 FindaPath...... 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 intention ally 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, , and 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. 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 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 calls are still yours.

T

E A M

F L Y

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, , Ken Levine, James Masters, Lorne Lanning, David Perry, Nate Skinner, Nigel Chanter, Steve Perkins, Chris Taylor, Trish Wright, Beth Drummond, and . I would like to thank Chris Borders for his lengthy interview on voice in games; Adam Levenson and 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 intention ally left blank Part I >>>>>>>>>>>>>>>>> Introduction to Game Development This page intention ally 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 , Warcraft, Literally every day new features will , 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, ’s Doom and support your game. This is especially 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- 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 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 described by their genre—strat- egy, adventure, role-playing, action, and simulation. These genres are a direct reflection of the material for the game. Military and sports simulations; gambling, parlor, and puzzle games; storytelling; toys; and children’s games comprise some of the major branches of influ- ence for the creation of T electronic games. Modern computer games E have a rich history; some of the A earliest games (1970s) were text adventure games such as Adven- M ture, crude arcade games like Pong, and a little later, multi- F player games such as NetTrek. L These early games explored sto- Y 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 : 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- , 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 . 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 - 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 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, , 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.

Why Your Game Should Profit

Part II, How to Make a Game, will show unforeseen events. Profit allows you how we take these baselines and more tactical and strategic maneuver- 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, 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,T workplace for greater efficiency. Too and/or your team. The dot-com era has many game developers pour their heart distorted many people’s expectationsE of and soul into game projects that have what it takes to make a business. Too Ano 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 MaybeM 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 yourF game project with the rigor were made, so this style of business and the earnestnessL of a small business creation certainly worked for some, but that needs to deliverY 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 massively multiplayer, with magic, mar- to store up capital to handle the period 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 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 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 4 years of Weak sales that have run horribly over budget, and development, only two games on that list have made fantastic cost significant money: The Sims and overruns Baldur’s Gate. The best-selling game Messiah 5 years of Weak sales on the list, The Sims, has made and is development continuing to make a huge fortune for Max Payne 5 years of Just released development Electronic Arts. Why is it that The Sims has made the most money on that The Sims 5 years of Amazing sales 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 Yettobe 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 , 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 , 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 original series’ Star Trek The vessel library screen from Starfleet Command 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:Agreen-light meeting is a look for in a developer. Microsoft, for meeting at which a body of decision 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 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 proactive, forward-looking approach to document. game development. Chapters 8 and 9 Technical design is presented in detail the role of the game design and Chapter 18, a thick chapter with a lot 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 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 anT 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 theyE views of activity and sequence are used to perform your requirements Adiagrams. capture. Developing accurate time esti- Chapter 16 discusses how critical matesM 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 padF or whether one should one everyone knows what the game is sup- pad at all. L posed to be like, they will make it a lot Wrestling allY 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 , 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

This page intention ally left blank

T

E A M

F L Y

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 a other 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 , 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 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 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 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 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 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. Key framing excels at animating car- your art team. Games are almost 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 your project will involve characters that actual building of the model. The tex- ture artist is a 2D artist who can “skin” need to be animated, be sure your team has enough competent animators to get an object in his mind and create a com- pelling set of textures to “paint” that the job done; animation can be a slow skin on the 3D model. art. 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 a motion-captured movement will ent categories: character/animal/mon- ster animation and everything else. reveal how much the whole body moves during the walk or the swing of Rotating antennas, windmills, and radar dishes are good examples of theT every- a bat. Motion capture’s largest draw- thing else category. Animating a wind-E 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 Adata into usable form. This field is con- on a goblin’s face is an entirely different stantlyM 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 needF 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- L There is quite a bit of technical late between. Y 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- Some studios divide this work between jects that use motion capture also use 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 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 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 . 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 later in the project, and interest in your measure of how many units of 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 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 second most important contingent of press an E3 package a couple of weeks VIPs to grace the floor. These folks before the show. This package always 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 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 willT 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 timeE publish that in lieu of an original opin- more efficiently for those precious Aion on the game. three days of E3; they wanted to be OtherM Trade Shows and Events sure they looked at every hot game. It 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,F it is hard to get your message major title that you failed to see at the across to theL buyers, press, and fans show. So the publishers and the press when there are 3,000Y 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, 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 &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 ) 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, , 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 intention ally 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 down to the business context of the A project where being on time and having high 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 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 about 200 full-time staff for a publisher not flexible. SFC was produced inter- of two concurrent titles), and take as nally at Interplay during a time of great 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 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 mostT 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 thatE if underdog as our game focused on the Blizzard ever needed cash in a hurry, Areal-time tactical simulation of naval they could print a box called StarCraft starshipsM 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 spaceF shooter featuring over repaid Blizzard (and its owners) hand- 110 minutes ofL live footage with star somely. So Blizzard’s answer to the tri- talent like ChristopherY 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 featuring whole warship—the electronic warfare, a football helmet-wearing child protago- the shuttles, tractors, transporters, nist. It was Castle 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 , 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 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 , 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 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 do. Tomb Raider was so successful that ugly internal email. John Romero was Eidos needed to get into a number of forced to hand over the company to 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- 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 goodT 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 createE Deus Ex, is now looking for a shiny an environment that would be condu- Anew name to operate under to distance cive to game development, one would thatM 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 canF design games; just play Even this is not a bad idea; treated Doom any dayL and you will see how properly this would mean that Ion amazing a game itY 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 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. (, 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 , 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 the software be robust enough for the be fun or to run at 30 frames per 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 your game, who are interacting with diagram showing the relationship of this 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:Anactor is a user, either of these use cases into a functioning human or another external system, that is interacting with the system under software system. Now, what exactly analysis. does a use case look like? JARGON:Arelationship is a line drawn between actors and use cases, some- times with extra notation that further describes the type of relationship, such as <> and <>. 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 descriptor between the less than and automatic teller machine greater than symbols. Common exam- ples are the relationship descriptor of It turns out one of the fundamental ten- <>, <>, 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 a Indeed, the mouse controls were a common thread between these games? stunning left-click on monsters to Did the developers in each case just get attack, 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 do itself 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.

Display System Terrain: Draw floors. Terrain: Draw isometric walls. Terrain: Color cycling special effects for water and lava (tiles do not animate). Terrain: Ghost walls when a character is located behind the wall. Characters: Render and animate characters (2D sprites composed from 3D rendered models). Game Objects: Colored outlines for interactiveT objects such as treasure chests, magical rings, monsters, and non-player characters in the townE center. Spell Effects: Display any one of a couple of A dozen spell effects with dazzling animations and cool sound effects. M

Menus: Display menu choices. F Movies: Display the intro and exit movies to the player. L Audio: Hear sound effects. The view related use casesY 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’suse 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 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 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 was cumbersome in three ways: First, The Key Design Elements of 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 out the mission to such a degree that being very irritated with how difficult it 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 mates, whom you gave instructions to play the game. 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 . 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 menting with genre crossing and blend- shooters—is what held Elite Force ing, be sure you are creating a union back. between the two or more sets of play- Let us first take a look at Elite ers you are marketing to, and not creat- Force from the perspective of a Star ing the intersection between these Trek gamer. Star Trek is about a markets. starship named Enterprise exploring the galaxy on romantic adventures that are RAY SPEAKS: This certainly is an art form, but I think it can be done; it’s just solved through cleverness, diplomacy, or the gunboat diplomacy that the difficult. Creating the correct impression on the fans of both genres and making Enterprise can deliver with photons and the parts that don’t appeal to theT 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,E the television episodes and movies. but this is critical to achieving main- AThese episodes feature fantastic sci- stream success through selling to a few ence, starship combat, and exploring hard-core genres in a cross-genre variousM social themes in a futuristic game. context. Star Trek does feature combat The two markets for Elite Force were between individualsF in the form of the the Star Trek gamers and the first- hand-held ,L a device that you just person shooter gamers. Activision has point and shoot toY 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 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,soifyou 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 plans self 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 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 interior engine type game, or do you require exterior environments? If it is an exterior engine, how far does the view need to extend? Is it primarily 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 full-color mockup of the view. Working outward from the view and the MUST DO!—The main game viewT 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 conveyE to play? Health? Time? Mana? Distance to the reader what the game will look like. Atarget? Radar? Map? Now is the time to Core Player Activity detail the rest of these user interface itemsM 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 forF each of these display items starship? Drive a racecar? Organize an and update yourL use case hierarchy to army? Maneuver a character through a track these interactions (even if they 3D space? This is where you detail the Y 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 reinforce taneous, concurrent players as in a what the player is taught to make for a Quake 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 get to 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 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 , 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 , 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 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; is buy-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 . 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" firing assault rifle." (blending) in post 7 "A1-walk-step-left" "assassin" "Assassin sidesteps to the left to be shot for looping "rifle" carrying assault rifle." (blending) in post 8 "A1-walk-step-left-fire" "assassin" "Assassin sidesteps to the left to be shot for looping "rifle" firing assault rifle straight (blending) in post ahead." 9 "A1-walk-step-right" "assassin" "Assassin sidesteps to the to be shot for looping "rifle" 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 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 T 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 E position, heavy breathing, excited." 15 "A1-run-forward" "assassin" "Assassin runs forward to be shot for looping "rifle" A carrying assault rifle." (blending) in post 16 "A1-run-forward-fire" "assassin" "Assassin runs forward firing to be shot for looping "rifle" Massault 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" "AssassinF runs forward firing to be shot for looping "rifle" assault rifle, hurdling low (blending) in post obstacle." L 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 backwardY 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 for3-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 51 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), 51 SlashSquishDelay1(5) 21: TimeDilationThrustySlash timeDilationThrustySlash E3 Attack SpinSwirl3 (2), 51 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, 53 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 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.

This page intention ally left blank

T

E A M

F L Y

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:Aheader 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- ing that the game is The conceptual overview of a technical design document 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

The mocked-up officer screen early in production

T

E A M

F L Y

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 Looking over the previous table, it a contract between the developers to 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

Dynamic Modeling 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 setting out to architect your game. However, your game also has dynamic functionality, and UML has diagramsT to handle this activity. Remember flow E charts? UML has polished up the flow chart and now calls it the activity dia- A gram. The activity diagram models the M logic flow from start states to end states. Sometimes a simple state diagram F cannot model the complex message L An example of an activity diagram flow between various objects perform- Y 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. A few more esoteric elements of ing requests and providing user input 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’sparticular 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 intention ally 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- 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- critical dates like beta, alpha feature ers used Project for both planning and lock, first playable. With these projects tracking; and one large French devel- 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.

T

E A

The project plan pipeline M

All of this project information will Gantt andF PERT Charts for need to be compiled into a usable for- Organizing ProjectL Tasks mat for project analysis and report There are many reports,Y 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, maybe we should cut features in the 3D NOTE: Please see Chapter 20 for a 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 , 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 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 nonproduction time from your overall time and how loaded each of your 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 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

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 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 getsT stuck in Hex 2609 Tactical Sim - Fed vs Fed fights 2617 Dynaverse - Jumped from Lt. CommanderE ranking to a Fleet Admiral ranking 3110 Dynaverse - Ten turn countdown results in stuckA in Hexes 2624 Dynaverse Campaign Screen - Fleet leader is not clear 2632 Dynaverse - Can make movement bar disappear whenM 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 AttackingF or Defending 609 SP - Campaign Screen - States we are partners with the Contested SectorL 2058 Dynaverse - Cause of numbers appearing after player names in the chat box 2119 New Conquest - Music stutters and pointer freezes loading new Conquest Y 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 intention ally 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 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. side. You should use the widest time On the other hand, if they are late setting you have wall space for; when a because they were just goofing off, then 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

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 offT inhibit goofing off. themselves. I do not mark them off A healthy bit of competition devel- even if I know they have been com- E ops with a good wall. Assuming your pleted. This is to get the developers to Aschedule was a sane schedule and man- come out and find their place in the ifestlyM 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 brightlyF colored highlighting mar- opers will almost always take the time kers to mark offL the tasks. Your devel- to then look over the whole schedule to opers will come outY 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 sourcing of art is probably the oldest them to create movies that the rest of 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 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 a greater cost than key framing. Key industry and kept on tweaking that art framing, on the other hand, may be until we had exactly the functionality 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 employees. game about non-human animating char- acters. I provide a deeper discussion on the pros and cons of outsourcing Audio motion capture in Chapter 33. T Audio assets, on the other hand, are an excellent and time-honored set of User Interface Art E assets to be outsourced. Audio does not How about outsourcing your user inter- Atake as long as programming and art to face art? I have strong feelings about complete. Each of the three major typesM of audio assets—music, sound outsourcing your UI art. In short, don’t 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 considerableF talent, experience, a spe- that will need to be tweaked many cialized toolset,L and often contacts with times all the way through alpha and other talented folkY 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 Music way I can see a contract to outsource 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 composers are readily available, and all designers, and artists to get right. An 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 to testers 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 -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 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 some sort of signoff authority on the tweaked and refined over the centuries. game’s look, feel, and content to be Many years ago, the rules changed 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 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 payingT passant was created to rebalance the attention to the finished game design game after the pawn was given this document, the first playable build, theE two-square option for first move. With beta build, and the final release Athe advent of powerful computers, pre- candidate. vious end games that were thought to Occasionally you will work with be theoreticalM draws have been won by licensed material where the licensor computers that found winning does not have any approval rights over sequences—someF after more than 200 your work. That was the case also in non-capture moves!L The purpose of Starfleet Command for the Star Fleet these rule changesY 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 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 intention ally left blank Part III >>>>>>>>>>>>>>>> Game Development This page intention ally 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 ror-western game, an American Indian document inspired design featuring beads and feathers (our most impressive), and Black9’s metal binding. These bindings What About the Words? 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? 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 forT your I personally cringe every time I hear a vision document. E 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 AYour mission: Say why the world needs in regular report covers that one might yourM 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 F in either gameplay or licensed content was submitted in a peach folder! You to assure certainL success. Yep, that is might accuse me of being shallow; how- why it is unique, compelling,Y 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 intention ally 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- 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 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- various team members. Break the doc- ing for features and assets that would ument up into as many discrete support their vision of the game! I have 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 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 changesT 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 E design for the game, and factoring in design cul-de-sac. Athe Heisenberg uncertainty principle, Consider connecting all your docu- no oneM 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 atF best and a dysfunctional was designed to assist scientists in con- team at worst.L necting their research papers). It is up With dysfunctionalY 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 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 intention ally 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 <> 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- head. 4. Inclusion—the insertion of addi-

A use case diagram featuring the automatic teller tional behavior into a base use case machine that explicitly describes the inser- 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 <> accompanying the line. software developer to quickly write down an interaction between the user and the software with a verb-like label, wrap an ellipse around the label,T and draw some relationship lines. E For those of you who are curious, formal UML includes varying types of A line shapes to describe different types M of relationships: 1. Association—the basic relationship F representing the communication path between an actor and a use L A use case diagram featuring various relationships case, drawn as a simple line. Y

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 = defaultValue A class with some operations marked 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 The use case and class diagrams from variations upon the theme of a class UML are the two most useful diagrams diagram. for any software engineering project, Static Diagrams especially game projects where the The object diagram depicts the static technical design phase must often be 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 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-T cific objects elsewhere in the system. tual, specification, and implementation) Again, an object diagram is very similar exist to design the software. That isE a to a class diagram but is instead focused on the perspective of allocated, instan- whole lot of functionality in just two A diagrams; however the UML provides tiated, real objects. This diagram is not seven more diagrams. neededM for all modeling jobs; however,

Table 2—The Nine Diagrams of the UML it is useful when examining the static relationshipF behavior of a system of Static Design Dynamic Behavior objects that can vary quite a bit under Diagrams Diagrams L different scenarios. Class diagram Use case diagram Y

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 object, component, and deployment An example of an object diagram 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 [email protected]. 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- merely an echo of what another guy ized, how the game’s strings will said earlier when the requirements be organized, and how the font will were identified; now the requirements be swapped out for other lan- must be analyzed, and a plan of attack guages’ fonts. Make sure your 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 n Security —what is your strategy to 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 theT docu- n ment spelled out various ways that Security/cheating—if your game performance will be optimized or metE features online gameplay, then you through modifying assets such as poly- A must address cheating or popular games will die a sudden death. gon and texture map reductions. n MPortability—is it a goal to move the Other nonvisible requirements should or may include the following: code over to ? Mac? PS2?

n Maximum run-time memory foot- GameCube?F Xbox? Plan ahead to print (this is especially important isolate platform-specificL code. with console games) n Database usage—youY 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

these APIs the game is going to be Taldren we have been introduced to the 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 the new stuff is not fully backwardly language somewhat like Java that pro- 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 these APIs and SDKs. develop one. This area of the technical 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 about in 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 production level-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 n testing sweeps, focus group, and beta 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 257

When to Release the Game errors? Or perhaps ship with a mean The whole point of the QA plan is to gameplay time of six hours before a develop an organized method for test- beta tester notices a bug? Or all high ing the game so that QA is able to give bugs fixed and 80 percent of the the thumbs-up to the rest of the team medium bugs fixed? All software and all when the game is ready to be released, games ship with bugs; knowing this, right? No. The QA plan and QA team your QA plan cannot be to simply test exist only to identify flaws in the game and fix the game forever until someone and keep accurate records of the status feels enough pressure to ship the game of each bug. Too many games find (this is of course the normal method of themselves in an ugly period of war determining when to ship a game). By between the development team and the making this an objective, measurable QA team. Sometimes games will sput- goal, the development and QA teams ter and stall while QA demands certain will be much more likely to work har- defects to be fixed and the development moniously together as they now have a team practices some kind of passive- common enemy: the release quality aggressive behavior and works on goal. something else. The most critical ele- In the end do not let executive ment of the QA plan must be to management shirk their duty. They are articulate very clearly what objective, the ones who release software; devel- measurable quality goal the game must opment teams create software and QA achieve before it is ready to be teams test software. It is the executive released. management that is responsible for the For example, is the goal to ship the business, and deciding when to release game with no known crash bugs, or no a game is as important a decision as known crash bugs and no known text they come.

This page intention ally left blank

T

E A M

F L Y

Team-Fly® Chapter 19: Time Estimates 259

Chapter 19 >>>>>>>>>>>>>>> Time Estimates

The requirements analysis, game business model more mature than the design, and technical design phases typical game developer. I am sure it is have us cover the most difficult part of true that he does not know if it will project planning: identifying the tasks take 20 hours, 40, or somewhere in we must perform. Second to identifying between to perform this accounting the tasks is estimating how long it will work. However, I could not help being take to complete them. offended since the business model we All great games are unique works game developers use is a fixed bid. I of engineering and art carried out pas- told the accountant that we must agree sionately by a team of game developers to a fixed price for projects between for an extended length of time. It is 30,000 and 60,000 man-hours! It should impossible at the start of the project to be common sense that it is far easier to identify all the tasks that must be per- estimate a task that a single person will formed, and it is more than impossible be charged with and is expected to last to estimate exactly how long it will take less than a week compared to a project to finish a creative effort that involves requiring two dozen developers for new bits of engineering and inspiration. nearly two years. Yet if I used the same Despite this challenge, if you walk into range as the accountant, I would quote a publisher’s office and announce at the our publisher’s advances (fees) like end of your presentation that your pro- this: ject will take as long as it takes until Publisher: “Congratulations, I the game is done, you will find yourself believe in your game, and we will pick ushered out of the office after the pub- it up. But first, how long will it take to lisher picks himself up off the ground. complete and how much in terms of This calls for a story: advances will you require?” Recently Taldren required the ser- Erik: “We have given it consider- vices of an outside accounting firm; able thought and planning and have they quoted a price for their services settled on a $2.6 million budget and that was a range, not a fixed bid. I dug a ready in 18 months at the low end and little deeper and it turned out they did $5.2 million and three years at the not know if it was going to take them upper end; we will let you know as we 20 or 40 hours to complete this progress.” accounting task for us. I gave it a And that is when the publisher falls moment’s thought and realized that the off his chair laughing and I am ushered accounting folks sure have their out of the building. 260 Chapter 19: Time Estimates

The funny thing is that in reality I now realize why independent many, many game projects are actually game companies are so much more effi- run as in the scenario above. More cient than the military and TV and often than not developers find out movie industries—we have to be! That mid-project that they can no longer is something I am genuinely proud ignore the underbid, and the release of—how much work we all get done date is looming near and the game is with relatively modest resources. That not ready. It is not uncommon for some being said we do need to do a better job games to receive multiple new infu- of estimating our projects and slowly sions of time and cash. These failures weaning our publishers off of time and to accurately bid a project force publish- money budgets that estimate the few- ers to be even more defensive in their est dollars and have a non-zero positions and demand even more profit probability of creating the game. from future game development deals. Now let us get on with the estimating.

Two Ways to Estimate a Task I have a very simple view when esti- your time budget, you must abandon mating the time required for a task to the task: Cut the feature, fall back to a be completed; it is always one of two less exciting version of the feature, or answers: How much time will it take to make some other cut to compensate for complete the task or how long do we the loss. If you determine that you can- have to complete the task. not perform a satisfactory cut and you are out of time, then you are stuck with Time Boxing going to your executive management I find that in practice it is a lot easier to team and advising them of your deal with tasks that simply have to be dilemma and requesting additional time executed by a certain time. I first heard and money, an activity you should the term “time boxing” from a technical avoid. director at Electronic Arts Sports when The elegant thing about time box- I asked him how he estimates how long ing is that you do not need to get it will take to do something that is tech- bogged down in estimating something nically very challenging when there is that is fundamentally unestimatable, not a standard reference for how long it and at the same time you have a power- will take to complete. He replied that ful motivational tool for the devel- when you simply do not know how long oper(s) who must carry out the work. If a task will take, spend your estimating someone knows that their work will time figuring out how long you could simply be thrown away unless they afford to be working on the problem. complete it by a certain date, and that That becomes your time estimate that certain date is backed up by a rationally you later plug into your Gantt chart. If developed project plan, then they dig you run out of time and the task is still deep into themselves, concentrate, and not complete and you intend to honor usually find great satisfaction by Chapter 19: Time Estimates 261

pushing themselves to new levels of go back and iterate on specific areas of personal achievement to meet the the game when an area is undergoing deadline. design drift or rapid technological development. JARGON: Time boxing—placing a rigid time constraint around a task that is Design based on the project not being able to afford more time on that particular task. My weakest area of task estimation is design. I have always led the design Task Estimating efforts at Taldren, and I am constantly The core of the chapter is estimating undervaluing my time. As an entrepre- how long it will take to implement neur I think it is perfectly normal to some software or create some artwork. add another 10 hours of tasks to a The artwork side is considerably more 70-hour workweek. I say this glibly, reliable in predicting than the software without boasting, but it is the truth. side. This makes it difficult for the designers and producers below me, as I expect Art from them the same unflagging devo- Typically your game’s art assets can be tion to the company, and I feel I am not broken down into a certain number of currently allocating enough time for models, textures, animations, rooms, design and production management. I levels, sprites, tiles, and so on. Esti- recently returned from a visit to South mating is then very straightforward; Korea where I spent several days learn- create one or two of these assets and ing about how a game developer there, assume that the rest will take as long or Makkoya, goes about its business of even a bit shorter as the team develops making games. One of the most strik- more experience with the tools and the ing impressions I had was that fully desired artistic direction. one-fourth of the company was devoted Have your artists keep careful to game design! At Taldren, I am sure records of how long it is actually taking that one-fourth or more of the person- to create the art assets. After about one nel enjoy significant responsibilities and month of production, stop and hold a authority in game design, but until this meeting and review their data on how summer we never had a full-time long it is taking them. Also follow up on employee exclusively devoted to game anything that appears to be taking lon- design. Game design is iterative and ger than expected and ask if there is creative; this conspires to make it diffi- anything that could be done to make cult to estimate how long it will take to them more productive. Usually at this complete a task. I generally allow point I find that the estimates are approximately one man-day for the trending downward. It is vitally impor- design of a screen or panel depending tant to task the artists, like all develop- on its complexity. For larger systems ers, at less than 100 percent capacity to such as how the combat system of an allow for the usual time loss of illness, RPG system might work, a week might vacation, system upgrades, and unusual be appropriate to rough out the entire family events. In the artists’ case, how- system and perhaps another two to ever, there is also the inevitable need to three weeks to flesh out all of the 262 Chapter 19: Time Estimates

details. In the end, you should have the they might as well be sloppy and collect designer responsible for the design the bug fixing awards at the end of the task estimate how long it will take to month. complete the task. If game design is Hire the best folks you can and somewhat analogous to writing, then avoid using incentive programs that you should expect your designer to be motivate your programmers to go into able to generate three to ten pages of another direction besides making the design a day. I feel uncomfortable best game possible, on time and on attempting to distill the efforts of game budget. design into too simplistic a metric. There are roughly four categories Please contact me if you have some of programming tasks: better methods of estimating design 1. Difficult, due to the design being tasks. vague, a time risk 2. Tedious but not a time risk Programming 3. Simple and not a time risk Programming tasks are notoriously dif- 4. Difficult and a time risk ficult to estimate; in fact, it could be Category number one: tasks are diffi- argued that the theme of this book cult and time-consuming because they revolves around the difficulty of plan- are vague. In my opinion, this is the ning software. There is no standardized number one reason why schedules method for predicting how long some break in my firm opinion. Schedules do programming task ought to take. There not break because the developer is is no standard such as the number of pushing the envelope too hard or lines of code per day per developer. because the developer has explicitly For example, if you create an agreed to too many features. Rather, incentive for programmers based on the schedule breaks when the devel- the number of lines of code, they will oper agrees to perform a task at a high simply write more lines of code. This level without digging deep enough to happened when Apple and IBM worked find all of the required subtasks. together on the Taligent operating sys- This is also by far the most difficult tem. The IBM engineers had labored process to consistently master: task under a number-of-lines-produced-per- identification. That is why so much of day incentive program, while the Apple this book focuses on raising the formal- engineers were new to the system. The ism of the game development process Apple engineers, being superb problem by involving a separate requirements solvers and optimizers, realized they gathering phase and Unified Modeling would be paid more money to write Language for specifying software more lines of code, so they did—to the requirements—tasks. detriment to the project. Similar prob- So how do you know if a task has lems occur at the close of a project if been broken down enough? My simple management proposes bonuses based rule is to ask the programmer, “How on the number of bugs closed per are you going do X?” developer. Consciously or subcon- The response “I don’t know; when sciously, folks will realize that quality is I get there I will figure it out,” is an not sought during development and Chapter 19: Time Estimates 263

easy red flag to spot. This task requires danger that lies in these sorts of tasks immediate attention to break it down is that due to their tedious, inglorious into smaller tasks. nature, the folks assigned to perform Better is this response: “Um, I will them will settle into a lower energy start with looking at Y for inspiration state, as their area is apparently not and then I will plug away for a while critical. This attitude could cause these until I am confident that this is the best tasks to go over budget, and again the method for performing X in a separate resource assigned to the task may not test-bed framework. Then I will inte- understand the impact of running over grate the new code.” That response schedule. There is not much trick in may well be detailed enough to feel estimating these tasks; rather the chal- comfortable depending on that task’s lenge is maintaining a sense of unique circumstances. You will need to importance and urgency in these tasks make the call if it requires deeper as the developer is working on them. analysis. You will need to show them what they Of course the reply “Oh that’s easy. will be working on next or how they I wrote up my attack plan earlier in the could be helping out in other more day and sent it to you in an email; didn’t exciting areas if they push through you get it?” makes me feel all warm their slogful of tasks. and fuzzy inside like a good beer. Category three tasks are simple Often the real difficulty is that the and are not a time risk. Not much to be project is not far enough along to break said here; these are straightforward. down a task into finer resolution. To However, I do encourage you to load up address this I demand much more reso- your project with as many of these lution for the tasks upcoming in the types of tasks as possible! As with long, next 60 days or so than I require of tedious tasks, there is a minor danger tasks much later in the schedule. I of small, simple tasks seeming unim- highly recommend meeting at the portant, and some time loss could occur beginning of each milestone to assess here. However, I find this to be a rela- the quality and depth of your game and tively rare occurrence as most people technical design material for the derive pleasure from closing out their upcoming milestone and quickly assign tasks, and the smaller tasks give them someone to drive to the required reso- more apparent velocity on their task lution in advance of the rest of the closure rate. development team. In this manner your Category four tasks are the diffi- technical directors and art directors cult, time-risk tasks that we touched on should act like scouts for an army earlier with time boxing. These are the scouring the future and reporting back glory tasks usually assigned to your and suggesting course changes. most senior programmers: create a new Category two tasks are tedious and 3D engine, create a physics engine, time consuming but low risk. These reverse engineer something obscure, tasks are not especially difficult to esti- create a technique for doing anything mate nor do they create much worry no one has done before. The first thing that something unexpected will occur to do with these types of tasks is be to everyone’s unpleasant surprise. The sure they are not masquerading as 264 Chapter 19: Time Estimates

category one tasks, where the goals programmers estimate their own tasks. and design have been vaguely defined This has several powerful benefits. The and that the current task appears diffi- most powerful is that you have full cult due to the breadth of the task. For buy-in from the developer that they example, “create a new 3D engine” is have a reasonable schedule to follow. grossly vague as a task and could Another benefit is that you are growing involve anywhere from the efforts of a your employee’s strength in project few months to many man-years planning and management by having depending on the sophistication of the them participate or, even better, shape 3D engine requirements. This is clearly the final game development schedule. a candidate for breaking down into How will they derive their own smaller steps. A better example of a time estimates? At the end it will come category four task would be when John down to a very subjective calculation Carmack set out to put curved surfaces that distinguishes humans from com- in Quake III. That would be an excel- puters. We are able to soak in data from lent task to wrap a time box around. a myriad of sources—past performance, (However, in John Carmack’s case I expected performance, level of interest, would guess he just worked on it until motivation, and guesses—and in a rela- he was satisfied with his efforts.) tively short period of time estimate At the end of the day you really how long it will take to perform a task. want to eliminate as many of these Yep, that’s it; at the end of the day types of tasks as possible from your it will come down to just a gut estimate. game project. They act like festering Of course the simpler the item is, such boils on an otherwise healthy game as implementing a dialog box, the more project plan. Be sure each of these cat- straightforward the estimating process egory four tasks that remain in your is. However, I do not know of anyone project are key features both in game- who has a software-project-estimator- play and in a marketing sense. If there o-matic device for coming up with is significant doubt that anyone will estimates. miss this particular feature, you should probably cut it and save yourself the Save Your Plans and Compare schedule pressure. To improve your developers’ skill at estimating, take care not to throw away Each Shall Estimate Thy Own their original estimates, and take the Tasks time to compare them with the actual A key rule that I follow under all practi- results achieved during production. cal circumstances is to have my This should always be educational no matter how senior the programmer.

Making the Plan Now that we have identified all of our next chapter and roll all of this data into tasks and have generated time esti- a plan! mates for them, it is time to flip to the Chapter 20: Putting It All Together into a Plan 265

Chapter 20 >>>>>>>>>>>>>>> Putting It All Together into a Plan

A lot of game companies use Microsoft The larger game development Project to plan their game project teams schedule maintenance that is so schedules. MS Project is decidedly time consuming they have a dedicated stronger at planning schedules than human on their team updating the maintaining schedules. There are many schedule full time! Part of the problem annoying difficulties getting a workable is that game projects with 100 to 800 schedule out of MS Project, and it man-months lie somewhere between seems that maintaining the tasks is the two classes of project management certainly the most time-consuming software: the dozen or so man-months chore a producer will face. of effort for a marketing campaign There are a host of other project (which MS Project is excellent for) and planning products that you may use, but the hundreds of man-year efforts for from running my “Real Methods of major construction projects (for which Game Production” roundtables at the you need very expensive software such Game Developers Conference in 1999 as Primavera and a small group of dedi- and 2002, I have found there is no cated project managers). clearly superior tool to MS Project. Okay, now on with the overview of Project planning and task tracking MS Project. are two separate activities in my mind, The goal of a schedule is to orga- and all of the project planning software nize all of the project’s tasks, illustrate packages including MS Project purport the dependencies between tasks, track to do both tasks well. The real truth is progress, level tasks, and assist in sce- these software packages do a decent nario planning. job at planning a project, but when it Dependencies need special care as comes time to update the schedule by you do not want some of your develop- closing tasks and inserting new tasks, ment team to stall for lack of art, for the process is slow and tedious. Many example, nor do you want a critical fea- times I have simply started new sched- ture to fail to be completed on time for ules to plan out from that current point a given milestone because the key com- to the end of the project. Mind you, it is ponent of this critical feature must be not impossible; it just takes a lot of completed by just one programmer who time. 266 Chapter 20: Putting It All Together into a Plan

task. Scenario planning is using the soft- Tracking progress is simply marking ware to analyze different “what-if” off tasks that have been completed. scenarios such as “What if we cut the map editor altogether?”

another critical Let’s Create a Schedule for FishFood! Go ahead and fire up your copy of MS Project. A wizard tool will pop up sug- gesting that you take up the wizard’s offer; decline the offer, close, and close the window. Create a New Project File A blank project will be staring at you; dismiss this project and select File | New to create a new project file. A pro- ject information pop-up dialog will solicit either a start date or end date. Choose a start date to schedule from rather than an end date to schedule back from.

MS Project’s File | Properties dialog

What Is a PERT/Gantt Chart Anyway? There are a myriad of diagrams, charts, and reports you are able to generate with Project. A good-sized project will be composed of thousands of bits of information from task names to assigned resources, start dates, Properties for an MS project priorities, and dependencies. The view you choose will reflect what you are Project, like all Office products, offers trying to get a good look at. The two a properties dialog that you may fill most common types of charts are Gantt out with a bunch of dull details such and PERT. These were introduced in as author name, manager, company, etc. Chapter 10. If you feel the need to decorate your To review, the PERT chart is the files with such details, choose File | visually simpler chart with boxes for Properties. tasks that are drawn left to right with Chapter 20: Putting It All Together into a Plan 267

dependency links between the boxes. manager might get distracted for an The boxes may be detailed with dura- inordinate amount of time fiddling with tion and resource name. the boxes and getting the layout of the The advantage of the PERT chart boxes to look good. (This apparently is that it displays the critical path of a remains a minor AI problem to solve project very well. It stands out like the someday: well-laid-out PERT charts.) trunk of a tree with non-critical path Bottom line: PERT is good for over- tasks stemming from the trunk as views and easily constructed from the branches or sometimes as solitary Gantt chart. boxes. PERT charts are fun to fill in as The Gantt chart consists of a tasks are completed. The disadvantage spreadsheet of data on the left-hand to a PERT chart comes when you are side such as task ID, task name, start charting more than just the high-level date, end date, duration, and resource tasks, say fifty to a thousand tasks. name (who is going to do the job). On When the number of tasks reaches that the right-hand side are the tasks graph- size, it takes a lot of paper to print out ically portrayed as bars of varying the chart, and the dependency lines length proportional to their duration may become too tangled to make much laid out left to right underneath the visual sense. Another minor disadvan- project calendar displayed at the top of tage of the PERT chart is that since it the chart. is such a graphical layout, the project

A sample PERT chart

268 Chapter 20: Putting It All Together into a Plan

A sample Gantt chart for a simple game called FishFood!

The main advantage of the Gantt chart is that it is good for displaying up to several hundred tasks resulting in a finer granulation in your schedule. (The finer the granulation in your schedule, the more likely you are plan- ning all of the required tasks, and thus the more likely you will be on time.) Dependencies between tasks are Focusing on a task name and duration drawn as simple arrows between the tasks. The Gantt chart is easy toT read both from top to bottom, with the con- Now let’s talk about task names. It is vention of the earlier tasks at the top, E important to be sure the name of a task and from left to right as time passes. Aincludes a strong verb like “purchase The main disadvantage to the workstations” or “test logon protocol” Gantt chart is, of course, the key or “implementM save game” rather than strength of the PERT chart: that it is the vague “workstations,” “logon pro- difficult to see at a glance the critical tocol,” andF “save game.” The strong path of the project. Fortunately, with verb makes theL difference between a Project it is simple to enter your task task and a topic. I still make the mis- information under the Gantt chart and Y take of using topic names rather than later choose to view your scheduling task names; this is usually a strong hint information from any number of views from my subconscious that this topic such as the PERT chart. has not been thought out enough for Start Entering Tasks me to feel comfortable articulating dis- crete tasks. Entering task information in Project Another common mistake I see in really could not be easier. Pick a row game project schedules, including my and start by simply typing in the name own, is that the schedule is composed of the task in the Task Name column, of only features to be implemented and and enter the estimated time for dura- assets to be created. You may be won- tion. Bam, you have entered a basic dering what else there is to game task. production. Well, it does take actual

Team-Fly® Chapter 20: Putting It All Together into a Plan 269

time to test all of the deliverables in the deciding, guess, flip a coin, or choose milestone before you send it off to the somebody at this point. We will use publisher. It takes time to respond to Project’s task leveling tool later to help the publisher’s feedback, it takes time us sort out who should be doing what to go to E3, and it certainly takes loads for maximum productivity. of time creating the E3 build! It takes time to train developers on new tools Where Does All of This Task such as when you switch from Charac- Information Come From? ter Studio to Maya. It takes time to An excellent question to ask at this create all of the documentation at the point is where these task names, time start of the project. It takes time to rec- estimates, and durations are coming oncile the schedule with reality. It from. takes time to submit a build to the Experienced game developers who license manager and get feedback. It have led large portions of games and takes time to plug in the sound effects who are tasked with creating a schedule and voice-overs. And it certainly takes for a type of game project they are time to balance and tweak your games. familiar with will be able to sit down with Project and immediately dash off a Tasks Are Performed by few dozen tasks before pausing to Resources think. However, at some point both the The final key bit of information that you experienced project manager and the need to add to your task besides task less experienced project manager will name and duration is who will do the need to come up with tasks in a more work—the resource. Enter the first formal manner. By far the best (and name, last name, initials, job title, or only) way to come up with the tasks is alphanumeric string you want in the to get them from the people who will be resource column. carrying out the work, or at the very least the leads of each of the portions of the game project. For example, your lead animator should come up with estimates for all of your animation. I would advise against your lead pro- grammer, who might specialize in graphics, coming up with the online multiplayer tasks; those should come from the multiplayer programmer herself. You may choose to collect these tasks from a rather informal brain- Adding a human resource to a project storming session, or you might send an email out to everyone to review the If you do not know at this time who will design documents (game and technical) be performing the task, as you want to and come up with the tasks for their see how things will stack up before area of the project. The size and scope 270 Chapter 20: Putting It All Together into a Plan

of your project will determine what for small projects with half a dozen of works best for your project. In general, my guys riding shotgun over my shoul- if I am trying to execute a mini-project der, shouting out tasks and time like getting a build ready for E3 or estimates, and am able to keep up and developing a demo for a brand-new cook a schedule together. Some people game we will be pitching to publishers, might shudder at the apparent lack of the informal brainstorming approach thought put into a schedule crafted in works most efficiently for me. I reserve that manner; however, I have found the more formal approach, where each that all schedules are merely estimates resource is given perhaps a week to of what needs to happen. Also, most break down his area of the schedule people’s guesstimates of how long a into composite components, for the task will take to complete will not be beginning of full production. far off from a more carefully crafted The reason it is so important to get estimate (both of which are bound to the developers themselves to come up differ more relative to the actual time it with the tasks is threefold: First, they took to complete the task compared to are the experts in that field, and they the difference between the two tasks). will be better able to break the problem Draw dependencies between tasks down into smaller pieces. Second, you with reluctance; do not think that the want them to participate in the schedul- more lines you draw on the Gantt chart ing so that they understand better what the more accurate your schedule will they need to accomplish, why, and by become. Rather, group related tasks when. Finally, by giving the developer under super-tasks and draw dependen- the authority to set the time estimates cies between these chunkier bits. you will achieve a far greater “buy-in” and sense of obligation to get the job Task Granularity done in a reasonable amount of time How fine in time resolution should your compared to when the schedule is task estimations be—a day or a week passed down by a heavy (and often less or some other time? I have been back knowledgeable) hand from above. and forth across the issue and yes, the finer the resolution the more accurate Organizing Tasks and reliable the project is likely to be. If I have to admit I like building MS Pro- you could measure every task down to ject Gantt charts (it is a good thing to a quarter of a day, you would have tre- like your job), and Project makes it easy mendous resolution to work with, and to organize the tasks in your Gantt you would have a Gantt chart that chart. There are nine levels of indenta- would impress the most jaded of execu- tion to facilitate the logical grouping of tive management teams. The problem tasks. As the tasks are coming in from with schedules with ultra-fine task res- your various team members, plug them olution is that they invariably become into the chart, push them around, and wrong quite quickly and require a tre- indent them; have fun. Now is the time mendous amount of producer time to to make the schedule logical and clean. fix: Delete these 10 tasks, add these 20 In fact, this aspect of project making is tasks, modify the duration of these two so easy I am able to do it in real time dozen tasks, and so on. Chapter 20: Putting It All Together into a Plan 271

Thus, my new philosophy on task and down to suit your tastes (I recom- resolution for schedules is to cut the mend going a little bit conservative). tasks into pieces as small as possible I like this method for handling but no smaller than the producer has unschedulable tasks so much I might time to maintain. This is really just start writing off part of Mondays for being honest with yourself and knowing project maintenance, system upgrades, what your time limitations are for main- interviews, dog and pony shows, and taining the project plan. I would say other unplanned tasks that tend to that a schedule that has 15 developers affect everyone in the company at one working on a game for 15 months time or another. By keeping these tasks should have somewhere between 300 separated on Mondays vs. Fridays, I and 600 tasks in the project plan. will be able to adjust either one up or down as I develop more accurate his- How to Account for Vacation and torical data. Sick Time When creating your schedule you must Remember Odd Tasks account for vacation and sick time. I Scour your collective brains to identify have to admit I was vexed for quite a weird or odd tasks like trade shows, while on how to best manage the plan- submission to hardware manufacturers, ning for vacation and sick time. I mean, the installer, the auto-patcher, customer how would you know that your lead service, fan interaction, and so on. This programmer would come down with is one area where experienced organi- bronchitis and lose seven days 13 zations have an edge on start-ups; the months from now? If you try to stick start-ups generally only plan for the tasks in the project plan called “vaca- absolute minimum of tasks yet still tion” or “sick days,” you are creating a have to complete all the tasks that bunch of little falsehoods that will everyone else does as well. annoy you as you try to perform project leveling. Project will toss these tasks Time Leveling in Project about all over the place, and you will The main advantage of a project track- start placing dependency lines or spe- ing package such as MS Project over a cial instructions for the timing of each task tracking database is the ability to and every one of these tasks. analyze the loads between the various After thinking about the sick and team members and perform task vacation day problem for a long time, I leveling. have finally developed an elegant and There are two principal tools for easy solution: I modify the working performing task leveling in MS Project calendar for all of the developers at that complement each other in your Taldren and change Fridays to half- quest for a clean, balanced schedule days. This effectively places two full across your team: the automated level- days of fluff per month into the sched- ing tool and the resource usage view. ule, leaving 24 working days a year for After you plug in all of the tasks sick and vacation time. Take whatever with the required bits of info of who and your company manual says about days how long, click on Tools | Resource off and adjust your Friday time off up Leveling | Level Now…. 272 Chapter 20: Putting It All Together into a Plan

cies between the tasks across all resources and lay them out in time in order to best accommodate a smooth path to completion. As you know, com- puters are not intelligent; as such, MS Project will make a finite number of dumb placements of tasks. Your job is to look over these errors and correct them through adding dependency lines, priority weightings, or time constraints such as “start no earlier than X date.” After iterating for a while you will end up with a schedule that makes sense. The Resource Leveling dialog in MS Project All done? No. If you click on the Resource Usage View button, you will Despite the intimidating number of discover that your task assignments choices on this dialog box, there are have caused an uneven allocation of really only two meaningful options: to time across your team, as shown in the level by ID or to level by Priority, Stan- following figure.

The resource usage view before leveling

dard. For simple schedules with less You will see that some of your develop- than 300 tasks, I find that leveling by ers have large gaps of idle time in their ID tends to work well as the Gantt schedule, and others are acting as the chart will most likely be laid out with long pole and causing the game to early tasks at the top of the chart and sprawl out past the final delivery date. later tasks at the bottom of the chart. How do you fix this? You have to under- The Priority sort is useful when you stand what MS Project is telling you. It have truly large project files and you is saying that the long pole folks have have attached priority weighting to been assigned too many critical path each of your tasks (if you do not weight tasks and the others with gaps in their individual tasks, then the leveling will schedules are twiddling their thumbs behave as if you had chosen the ID while waiting for the critical path folks sort). to deliver the goods. The solution is to What MS Project does during the look for tasks belonging to the critical leveling is look at all of the dependen- path folks that may be transferred to Chapter 20: Putting It All Together into a Plan 273

the people with gaps. This is very much critical eye. Take the time to do this an iterative process as you are looking and you will make a schedule at least for clever bits of reassignment that will twice as strong as it was just a week neatly cover the gaps in some folks’ previously. Novelists must do this with schedules while eliminating the spikes finished manuscripts; producers should in the critical path folks’ schedules. also set aside their schedule for a time To solve the difference between and revise. developer A with a gap and developer B with a spike, you might have to rotate a How to Distribute the Schedule to subset of tasks through developer B the Team and developer D to make it all work A fine schedule that is locked up and out. The goal is to massage your sched- kept in the oracle’s tower is not very ule until your resource usage view useful. A project plan must be a com- looks like a nice clean brick of time munication device used by the whole with all gaps filled and the whole team team. Every time I think of producers finishing up at the roughly the same who keep the schedule information time. secret, I squint like Clint Eastwood and

After leveling

Let it Jell my fingers looking for a gun. All freshly minted project plans are full Managing a team is not a management of errors, inconsistencies, and omis- vs. the developers contest! Take the sions. All of my project plans needed schedule and paste it up on the wall! As several passes to get into shape, and the team members get tasks accom- the difference from the first draft to the plished, have them go up and highlight first revision is always the most dra- completed tasks (more on measuring matic. You will not be able to fix these progress in the next chapter). flaws the same day that you create the Take the time to create customized schedule. Instead you must let it jell for reports for each of your team members. at least a week and then come back and MS Project boasts a number of reports read through the schedule carefully including To Do Lists and a Who Does with the leads of your team with a What list, as shown on the following page. 274 Chapter 20: Putting It All Together into a Plan

A sample To Do List report for the Black9 project

Also, you can sort the main Gantt chart mini Gantt charts for each team mem- by resource name and print out just ber to stick up on their own walls— that section of the schedule. Print out they’ll love it! Chapter 21: Measuring Progress 275

Chapter 21 >>>>>>>>>>>>>>> Measuring Progress

On Leadership There are many books you could buy on certain set of tasks only to learn later leadership, and I am sure many of them that he has not made good progress due are worthwhile to read. In this section to his claim of insufficient information of the chapter I am putting down what I to get the tasks completed. Your emo- think leadership in game development tional reaction is to be defensive and is all about. point out all of the instruction you have already provided on the set of tasks and Know What Your Goal Is at All express your frustration that the Times employee is not telling the truth. Com- As a leader your job is to be out in front pounding this frustration, the conversa- and guide your troops to some goal. You tion is taking place in front of other will likely do a good job of leading team members. You assert clearly that towards the goal if you keep it in mind, the employee is fibbing and is not rec- and correspondingly you will do a ognizing the sufficient information you crappy job if you cannot figure it out. have provided to get the job done. Here This painfully straightforward fact is you have blown it. The other employ- the number one responsibility of the ees are being presented with a choice leader. of whom to believe—you or the Despite how obvious this rule is, it employee in question. Is the employee is all too easy to forget what the goal is. lazy and not only shirking his work but For the great majority of game projects lying and trying to shift blame to his it is to create a great game on time and supervisor? Or, are you being an arbi- on budget (three goals combined actu- trary manager so insecure about your- ally). I discussed in earlier chapters self that you resort to being harsh on how to use your business parameters your employees in front of other team and how to shape these goals to reflect members? Either outcome is bad for your specific goals. Here are a few the company; the employees lose a lot examples of how the goal is sometimes of respect for either you the manager forgotten: or for their teammate. See? The leader As a leader you will sometimes in this case forgot the goal is to be sure come across employee behavior that is the employee has all of the information underwhelming. Specifically, you might and resources he needs to accomplish have tasked an employee to perform a his task and was instead focused on 276 Chapter 21: Measuring Progress

defending himself at a considerable loss What do you do if the employee is to the company. truly lying and he is shirking his work What should the leader do? In most and trying to blame it on you? This is a of the cases where employees are serious problem, and the best way to claiming that they are confused and do deal with this problem is to wait 24 not have enough information to get the hours to cool off and ask yourself again job done, the best policy is to provide if his claim of not having enough infor- them with more information until they mation could be valid. If it still seems understand what they need to do. If you like an outright lie to you, then you are pressed for time and are unable to must confront this employee and nip help them get this information, simply this bad behavior in the bud before it delegate the task directly to them! Ask grows out of control. Specifically, do not them to figure out what the issues/ dress him down in front of his team- goals/requirements for the task are and mates; instead, after the cooling-off after they have figured out the task of period, take him into a private office what they are supposed to do, only and let him know that you are not los- then carry out the work. By far, most ing your mind and that he is lying to employees will respond well to this you. Make this a verbal or written direction. If you have hired well (and I warning at your discretion and then be assume you have or you will have too consistent. If he persists in this malev- many problems to be successful), then olent behavior, you will need to let him in the overwhelming majority of cases go before he corrupts the rest of your your employee is genuinely confused team. and it is indeed your fault that he does There is a class of management not know enough to make strong prog- problems similar to this I call task rejec- ress on the task. tion. Naturally, you will want to mini- In the game industry it is mize task rejection on your project, as extremely common for most members it is extremely unproductive. of the development team to wear multi- JARGON: Task rejection—the author’s ple hats and have quite a lot of respon- term for the behavior of developers to sibility. This is even truer of the sometimes carry out a task with some managers on a game project. Most form of passive-aggressive behavior. game industry managers must perform their management duties as well as a Employees practice task rejection due considerable amount of production to a limited number of reasons: work depending on the skill set of the 1. They are simply employees with a manager and the needs of the project. I poor work ethic. have seen several instances where the 2. They do not have enough informa- leader was overtasked and due to time tion to carry out the task. pressure provided minimal guidance to 3. They feel that the goal as outlined his staff. In the end he got into a defen- to them is unattainable. sive argument with the staff over 4. The employee is facing a problem whether or not the employee had in her personal life that is causing enough information to get the job done. her a significant distraction. Chapter 21: Measuring Progress 277

I hesitated to list problem #4, because should be relatively straightforward to in my experience an otherwise compe- fix that impression. On the other hand, tent employee even while faced with if the goal is truly unattainable, then significant personal problems continues you have a problem. to perform her duties in good speed Why is the goal unattainable? Is it while under this distraction. because you scheduled overaggres- If you have an employee with a sively in the desperate hope that your poor work ethic, I suggest you simply developers will chase your impossible let him go. I find it impossible to instill deadline and will in turn be less late? a sense of work ethic in those who lack Or is the goal simply unattainable? If one. I believe that letting this type of you are between a rock and a hard place worker go is honestly the best action and you have no options, then I suggest you can take on behalf of the employee. you be open and honest and acknowl- Problem #2 should be the easiest edge to your employees that you know to solve and is by far the most common. the goal is unattainable but you wish to I always find it amazing when I walk press forward for some good reason. If into an employee’s office and ask what you are a manager with a fake deadline is going on with some task he is not approach, I implore you not to do this; it getting done, and he pauses and thinks only burns out the development talent. about the task, almost as if it was the Put more work into your scheduling first time he has given it deep thought. and planning, and your projects should Then I discover that he does not have a run smoother. key piece of information to get over some of hump. Your job is to simply Set Goals, Not Hours supply the information or supply him I got ahead of myself; why do I stress with the path to the information and goals? Give your people specific targets then he will be able to cheerfully carry such as “finish three character models on with the work. by the end of the month” rather than The employee who feels he is fac- set arbitrary hours. The reason is peo- ing an impossible task will usually feel ple pretty much finish what they are defeat and will somewhat shut down. supposed to, whether that means fin- Some of your stronger employees will ishing the character models or finishing almost perversely focus in on a very their hours, and they optimize their narrow problem and solving that prob- work behavior to meet their goals. lem with superior quality. This is an Which goal is more important to you: issue you must resolve quickly. A key achieving some sort of milestone or management task to keep your people being sure your team spends X number happy and humming with bite-size of hours working on your project? achievable goals. It could be that the Lately, I have been fond of setting employee is correct and the goals you achievable but difficult goals for my have outlined are too difficult to team such as “Clear 200 bugs from the achieve, or it could be simply that he database this week and you can all take perceives that they are too much. In the Friday off.” They enjoy the empower- case of the perception problem, it ment and dig in and focus.

278 Chapter 21: Measuring Progress

Task Tracking To measure project progress you must folks use MS Project to plan their game track the tasks that have been com- projects and use either Excel, a data- pleted, the remaining tasks, and the base application, or a bug tracking newly identified tasks. Microsoft Pro- application to track their project tasks. ject as a project management software All three of these treat a task as a solution, you would think, would be record in a simple database, allowing great for tracking what has been com- the manager to quickly add records and pleted, what remains, and what is new. modify existing records. It is easy to It turns out that it is fairly tedious to do sort the records both in a spreadsheet all these activities. I swear I think and in a bug tracking system (note that Taldren could make a bunch of money database applications like FileMaker by creating a truly easy-to-use and Pro and Access are used to create effective project tracking software rough, internal bug/task tracking data- package. In MS Project, tasks that are base applications). completed are difficult to move around; The ease of use of these systems as soon as you mark them 100 percent blows away MS Project in raw speed for complete, they are frozen in the sched- the manager. The great negative of dis- ule like boulders in the stream. If you pensing with MS Project is that you will are using the automated leveling tool not be able to identify critical paths, (one of the main reasons to be usingT overloaded resources, or task depend- Project in the first place), these boul- encies. Those are powerful project ders act as annoying nuisances that E management tools to set aside. In the must be manually moved about. If a Areal world it seems that all of the best- task is marked completed but lies in the laid plans fall victim to the Pile-Of- future, I think Project should shift Stuff-We-Must-Do-So-Why-Bother-M it back in time behind “now,” adjusting With-Project philosophy. This is a duration if need be; the task is done! heavy problemF on my heart, and I have So Project does not help much when it not yet figuredL out how to best solve comes time to mark tasks complete. this problem otherY than have better Entering new tasks is actually easier in project management tools. Some teams my opinion than marking tasks com- literally have a full-time human devoted plete. It still requires adjusting the to updating MS Project files for large dependencies between tasks and proba- teams of 25+ developers; other smaller bly re-leveling work between teams of 10 or fewer simply keep lists resources. However, that work is of things to do from high to low and appropriate and necessary as you want work on the highs until they are all to understand the impact of the new gone and then the mediums and then tasks on the rest of the schedule. the lows. You need to measure the size What is the alternative to tracking of your team and figure out what level a project in MS Project? From running of methodology you require. my roundtable “Real Methods of Game I do have a specific recommenda- Production” at the Game Developers tion though: Use MS Project to create a Conference, I have found that most skeleton of real, measurable tasks that

Team-Fly® Chapter 21: Measuring Progress 279

are almost like a continuous string of Only Visible Tasks Are Completed micro-milestones each of your team It might be a little extreme, but I feel it members must achieve for the game to is a useful axiom of project manage- ship on time. Then use a spreadsheet ment to assume that only visible tasks or database application to track the will be completed by the development thousands of minor bugs and tasks that team. I have a bagful of techniques that come up during actual production of the I use to make tasks visible. game. This allows you to maintain an MS Project plan to do high-level project The Daily Journal planning tasks like deciding you cannot Games are built a day at a time, and afford to take the time to create the there are a surprising few number of map editor so all of the tasks associated days to complete a game. If you are with the map editor should be pruned slated to make a game in 18 months, from the plan. Or you see that the ani- then from a Wednesday to a Friday each mation work is falling behind and that of your developers must complete a full you need to hire another animator. 1 percent of all they are going to put As for specific bug tracking soft- into the game. Each day counts. That is ware to use, see the section on quality why I force my guys to figure out what assurance in Chapter 18, “Technical they are going to get accomplished each Design.” day when they arrive in the morning and publish that information on our intranet application we call the Daily Journal. Below is a screen shot from one of my entries.

September 4, 2002, of my Daily Journal entry 280 Chapter 21: Measuring Progress

The Daily Journal is a simple applica- Where the task visibility shows is in tion that stores your journal entries day the view where each person’s daily by day. As you can see, it displays my journal is automatically scanned for the name as a link so that anyone can click first line and compiled into a what- on it and go back and view the whole everyone-is-doing-at-a-glance view, history of my daily entries as shown in shown in the figure on the following the following screen shot: page.

The Daily Journal provides a long history of activities. Chapter 21: Measuring Progress 281

The what-everyone-is-doing-at-a-glance mode of the Daily Journal

You may notice that we are able to cus- The whole team-at-a-glance mode tomize it at will and place such informa- has vastly increased the efficacy of my tion as the SFC3 build number, which is managers as well as myself for collect- automatically generated by our build ing the information about what every- machine. This assists people entering one is working on that day. When I was and reviewing bugs to be able to know working at the Dreamer’s Guild they the current build. Another custom we once tried a system where a producer have is to note what time we came in with a clipboard would walk through, that day and what time we left. We also asking each person what he or she had use the notation of an X next to a task accomplished that day or week. I that has been completed and an O next remember how we resented that per- to a task that is in progress (sometimes son and the clipboard as a waste of time I only give myself the credit of a lower- and wondered why someone could not case o if I do not feel that I have made find a workstation for them and put significant progress on a task). them to work! Now with the Daily 282 Chapter 21: Measuring Progress

Journal not only have we saved a tre- I noticed that game developers mendous amount of precious human love to compete. A healthy team loves to time, but we have also opened up the kick ass with the tasks and wants to Daily Journal to every single person in clear them off and move on. Typically the company! You would be surprised this exhibits itself with some members what a morale booster it is for everyone of the team checking off all their tasks to be able to check up on me or anyone and checking out early while other poor else in the company and see what is souls have their weekend doomed to going on. Some people are naturally finish up their tasks. positive and others are naturally suspi- I started by extracting from MS cious. With full visibility up and down Project or the bug list the tasks that the chain, everyone is reassured what had to be completed by the next mile- the rest are doing. Similarly, the Daily stone. I wrote them out on a white- Journal acts as a polite forum for show- board in my office with a column for ing off what you have accomplished to each member of the team and asked my the whole company without drawing team members to come in and check off undue attention to yourself. their tasks the moment they were com- Finally, the Daily Journal acts as a pleted—not in batches! The effect was just-in-time troubleshooting device, as to create a little game where people many times you will see someone would come in and check off their tasks working on task X that reminds you and simultaneously see how they stood that you need task Y from him or her, compared to the others on the team. If or that, whoa, task X shouldn’t start they were “ahead” they would feel yet; work on task Z instead! I also good, and if they were “behind” they encourage people to write in concerns would feel the pressure to focus and get that need airing team-wide to get multi- stuff checked off. ple people’s attention on solving This competition bit works really difficult or vague problems. well. However, as every manager In principle many of these func- should admit, when the tasks were tions could be accomplished by sending assigned they were only estimated to be an email to the whole team; however, leveled out between the developers; that would end up being more stuff in many surprises and details occur during my email box for me to sort through development. I have always maintained compared to the elegant web display. that game development is a team effort, and I do not like people to gloat that The Wall they are way ahead of everyone else. The wall is in reference to a number of Instead of allowing ugly disparities ways I plaster our walls with task lists. between team members, I continuously I discovered when I first started leading adjust task assignments to do real-time teams that people have a very flexible leveling. This relieves the pressure on amount of energy and focus that they the folks who were behind and were bring to their development day, and it is feeling that their load was unachiev- up to you as the project leader to har- able, and it puts healthy pressure on ness the full value of their day. the guys who were ahead to get back and put their shoulder into the problem. Chapter 21: Measuring Progress 283

This is the key to the management not to be a real problem in practice, as style I have used throughout my career we only hire excellent people. in leading games, and I feel it is the I do not use whiteboards anymore only fair way to manage the team. Of as my handwriting is not very good and course this real-time task leveling it is too slow to update. Instead, I use requires a lot of judgment to be sure MS Excel to create lists in a spread- that all of the team members will not sheet to create punch lists of tasks that task reject and not take advantage of need rapid execution. See the following the “free leveling.” This I have found for a real example of a list of tasks on SFC3 during mid-production:

Status Who Art? Priority Est Where What MH 10 E Skirmish If I am the only human and I click start - auto ready all players and begin the game MH 10 E Skirmish All ships should default to higher officers MH 10 E Skirmish Need to supply the mission objectives for a skirmish game MH 6 E Supply Ship Do not display Trade-In or Cost of ship in a non-campaign game MH 7 M Skirmish Removing frustrating highlighting mechanic as per Scott's comment on the different player lines MH 7 M Skirmish Hang in skirmish setup when I was doing free-for-all between a Fed DN and a Kli DN and I clicked on all sub panels like Officers, Refit, Supply for both ships MH Yes 3 M Skirmish Where do we put mission descriptions? Or just have longer more descriptive mission names MH Yes 10 H Skirmish The clickable options need to be visibly clickable - suggest a shadow box or something???? DF 10 E Battlefest Always default newly spawned ships in skirmish to Red Alert DF 10 E Battlefest Delay after the player dies before spawning new ship to savor the explosion DF 10 E Battlefest Battlefest ships should be created with good tractors, anti-cloak device, etc… DF 8 E Tactical Rear-firing torpedo arcs are too narrow Art Yes 10 E Everywhere All weapon arc pie charts should have a bright color for the actual arc and darkness for out of arc. Art Yes 10 E Everywhere Cloaking Devices need an icon Art Yes 10 E Tactical Remove the target speed indicator hole in the bottom bar Art Yes 10 E Tactical Weapon arc button needs to be reversed Art Yes 10 E Vessel Library / Refit Weapon arc button needs to be reveresed Art Yes 8 E Everywhere Warp system icon needs to be revisited Art Yes 6 E Tactical Remove metal border around the tactical map Art Yes 9 M Vessel Library / Refit Move the variant choose to just under the ship description at the top of the screen Art Yes 8 M Tactical Open up the shield reinforcement click area Art Yes 6 M Tactical Speed text at the bottom bar hole needs to stop jumping around SB 10 E Reticule Move all of the target related text under the tactical map SB 10 E Reticule Remove target name from the reticule SB 10 E Reticule Remove speed and range from the reticule 284 Chapter 21: Measuring Progress

Status Who Art? Priority Est Where What SB 10 E Reticule Change the reticule art to the art explored in Photoshop by Erik and Scott SB 10 E Tactical Firing probes will uncover cloaked ships within a radius of 5 around the probe SB 10 E Weapon Text Weapon text on the HUD screen should be separated for each weapon SB 10 E Weapon Text Weapon text shall be colored Green for Charged & in arc, Yellow for Charged and out of arc, and Red for uncharged, offline, or destroyed SB 10 E Weapon Text Weapon text status text should be "Ready", "No Arc", "No Charge", "Offline" and "Destroyed" with Offline, No Charge and Destroyed all sharing the red color state SB 9 E Tactical All ships' basic scanners should have a weak anti-cloak ability SB 9 E Tactical Verify that the battle report stats are accurate SB 9 E Tactical Remove player fleet loss stat from battle report SB 8 E Tactical Do not draw the multiple tube bar below weapon icons SB 8 E Tactical Have a greater penalty for losing cloak status if fly too close or too fast SB 8 E Tactical High forward speed and reverse need more penalties SB 8 E Tactical When tapping the Z key and you have no target or a friendly selected have an officer say "No enemy targeted, sir." SB 8 E Tactical Display the mission title SB 7 E Tactical Have an Officer warn the player that a ship has uncloaked nearby SB Yes 7 E Tactical Add to the enemy schematic area the current subsystem target SB 7 E Tactical Torpedoes should explode on your hull SB 7 E Tactical Ship explosions should be less lethal, but do damage out to a farther range as per the effect SB 6 E Debug Add the ability to jump into an AI ship to see what is going on SB 5 E Tactical Remain targeted on the enemy while cloaked even if the player taps away on T and doesn't actually target anything else SB Yes 4 E Tactical Chop up the bottom bar indicator lights into three states reflected no charge, charge, and finally when in arc, light the other two buttons SB 4 E Tactical Display the player's race logo when no target selected SB 10 M Tactical The weapon & systems icons shall go from Green to Yellow to Red and then to Black when destroyed SB 8 M Multiplayer Add a "shot-clock" to the game to prevent non-engaging idiots from delaying the game. After 10 turns of no activity a cloak appears and counts down 3 turns. If this timer passes without DAMAGE being scored the game is ruled a draw SB 8 M Tactical Everyone gets basic mines, use the mine layer device for big mines SB 8 M Vessel Library / Refit Reorganize the ship class as per Scott's recommendation SB 7 M Tactical Tone down the cloak effect for larger ships SB 7 M Tactical Tone down the warp effect for larger ships A bit of this real-world spreadsheet Chapter 21: Measuring Progress 285

These spreadsheets I then post in a heavily marked up lists of stuff, and the centralized hallway near my office and individual team members take pride in have the development team come by as a pile of checked off tasks. tasks are completed and check them off. This creates the same visibility and Team Meetings competitiveness effect as with the Another necessary aspect of task visi- whiteboard but with the added benefit bility is to hold team meetings. I am on that I am able to print out individual record for hating meetings. I hate see- copies so the guys are able to have ing people stare at the ceiling and drool their own copy of what they are and the inevitable silly developer jokes assigned at their desk. that crop up in a meeting that is poorly On Starfleet Command 1 I took this focused and whose only purpose to an extreme and prepared daily appears to be to steal everyone’s life. I spreadsheets for each one of the team have been at my share of stupid meet- members and left their task lists on ings—Dilbert stuff. At Taldren we have their keyboards like some sort of evil no standing scheduled meetings; project tooth fairy. This worked out instead we have core hours, and other great for everyone and we had tremen- managers and I call meetings at will dous efficiency, but at a great cost of my when required. Most of these meetings time. Today I feel it is better to create focus on a narrow problem that crosses lists once a week and update as the border between several team mem- required. The closer you are to final bers. The type of meeting that is candidate, then of course you will need relevant for this discussion is the team to update the lists more often. meeting. Lately we have been calling Many of you might be surprised meetings right after delivering a mile- that we have this nifty web solution for stone for Black9 with the rough agenda our daily journal and at the same time of “What exactly are we going to accom- use the relatively crude spreadsheet plish for the upcoming milestone,” method of delivering tasks. Why do we followed a couple of weeks later with a not use a bug tracking application or meeting discussing “How are we going some other web application? The to finish up this milestone?” Despite answer is that we do use a bug tracking the Daily Journal, email, the wall, and application, and it does that job very management by walking around, there well. However, those bug tracking seems to be some magical energy about applications do not focus people on the the team meeting where people really tasks they must get accomplished and do open up and share their problems in what order. and concerns and seek out help from To avoid the Sisyphus effect of the other team members. constantly taking away people’s accom- I simply cannot count how many plishments and replacing them with new tasks are discovered during a team fresh new lists of stuff to finish, I sim- meeting. I now have a ritual of asking ply leave on the spreadsheets a fair each person to declare out loud how amount of what they have already they interpret their milestone obliga- accomplished. This looks great when tions and discuss in general terms how visitors come by and look over these they are going to go about completing 286 Chapter 21: Measuring Progress

these obligations. This seems to have harness the effect of change, every tremendous power in creating these once in a while I will come in on a Mon- verbal contracts between team mem- day morning and tell everyone, “Okay, bers as I cannot ever recall hearing one this week I want every one of the text of my guys express verbally what he errors and stupid little bugs cleaned out will get accomplished and see him fail of the bug database. Finish them and to finish it (maybe late, but always take Friday off!” The team loves the accomplished). It seems that folks in change of pace from working on tough general are more worried about letting bugs to tearing through a bunch of down their team members in a public small stuff and seeing the overall bug forum than facing their manager in a count come down. As a manager you private meeting in an office. I am sure can feel good about this, for no matter some productivity consultant some- how trivial a bug is, it takes time to fix. where has a good explanation; please And you cannot allow the game to ship forward it to me if you come across with easy-to-fix bugs, so you might as one. well clean them up. I would much rather fix 10 to 20 easy bugs than fix Of Leaves and Gutters one medium bug that is obscure and The final word I would like to say about difficult to fix. I call these bugs leaves, measuring progress is that sometimes and I think of this switching of focus as change for change’s sake will increase clearing out the leaves from the gutters. your team’s productivity. The way If you are having trouble with your change can usefully be applied to task publisher asking for an unending tracking is to sometimes change the stream of new features and feature focus of the team. Let me provide a revisions, I feel it is entirely healthy for healthy example: a project to stop and take measure of I have noticed that game projects the true progress of the project by collect a great number of small and focusing the team on clearing the gut- easy tasks that are clearly of less ters of these leaves and seeing how importance than the high-priority stuff much time is left for addressing new the team has been grinding through. To features and feature revisions. Chapter 22: Controlling Feature Creep 287

Chapter 22 >>>>>>>>>>>>>>> Controlling Feature Creep

Making games well would be hard game better by adding something to the enough if we were challenged with just game. I will be the first to say that no identifying the tasks and estimating game design ever laid to paper was ever them well at the outset of a project; complete before production began and however, it is made nearly impossible that all games need to have their feature (and impossible for the cancelled pro- set tweaked, expanded, reduced, folded, jects) when someone goes about adding and spindled during the course of pro- features during production of a game. duction. That being said, this chapter Now why would anyone do such an focuses on how to best direct this cre- evil act? ative energy to being more creative than The answer is they are not being destructive to your game project. evil, they are just trying to make the

Great Games Satisfy Player Expectations Careful analysis of all great games will explore. Yet the Bethesda games are show that they fully delivered on all distinctly weaker in execution than the expectations that the game developers Blizzard games. This weakness I feel is planted in the minds of the players and directly attributable to the sheer amount then brought these expectations full cir- of expectations that the Bethesda games cle with excellent implementation of open up. For example, Bethesda games these features. For example, Blizzard’s pride themselves on having huge worlds Diablo is one of the more simple games where you can step off the story path ever created in the RPG genre, arguably and explore anywhere you want. Well, I only a slightly more sophisticated cousin go exploring off the beaten path and of the arcade game Gauntlet, yet Diablo quickly find the nonscripted fare to be has enjoyed far more commercial suc- pretty tame, canned, repetitive encoun- cess than the mega-RPGs that Bethesda ters that due to the complexity of the has put out in the Elder Scrolls series. I software are relatively buggy. Diablo, on have to admit, I love the Bethesda the other hand, features one of the games and long to lose myself in game smallest game worlds in modern games worlds that are larger than I am able to that still somehow gets you from a

288 Chapter 22: Controlling Feature Creep

quaint medieval village through 15 lay- Primary, Secondary, and Tertiary ers of underground dungeons complete Right at the outset a lot of your fea- with exploring hell itself! tures really are not as central and core id’s games are the finest examples to the game as other features. Aggres- of small, tight feature sets that fully sively push to move as many features deliver. The reason feature creep into secondary and tertiary positions as happens is that while a game is in pro- you can, right up to the point where duction it is often difficult to imagine you feel you are compromising the how the final gameplay will feel, and game, and then push just a tad more. In out of anxiety or lack of confidence peo- Microsoft Project you will be able to ple start to suggest more and more make notes on the tasks and track the stuff to throw into the pot. If you think lower priority tasks by assigning them about excellent cooking, it too tends to a low-priority weighting. For visual be simple in ingredients when the chef clarity consider using different colors is confident about his craft, and tends to for primary, secondary, and tertiary. have the flavors and spices all run Some managers feel this is the wrong together in a muddy mess when the framework for getting the most work chef is lacking confidence. out of their developers. They would My basic belief is that feature instead rather consider every possible creep is bad and that every new feature task a must-do task and reluctantly cut proposed should have to claw its way tasks when forced by reality at the end through a gantlet of interrogationT and of the project. I have found through examination before allowing the pro-E direct, hands-on management of my posed feature to take its place upon the folks (of which there is a wide personal- sacred schedule. Aity spectrum) that they relish checking Feature Creep Occurs During off theirM primary task lists and love to Design then tear through their secondary and tertiary tasks rather than plug away at Feature creep actually starts during the F an impossibly long task list where the earliest parts of the project: require- producer comesL along every so often ments gathering and game design. Here and cuts away tasksY that are clearly low it is quite easy to lose track of the core priority when there is no more over- game you are making (because it is still time to give. so fresh and new) and start sprawling a bit and tossing in ill-considered, dis- Feature Walking tracting features. The solution to this Feature walking is where a single problem is to let the game design docu- instance of feature creep sprawls into a ment jell for a few days and then crack whole new series of feature requests it back open and consciously mark each and bugs to be fixed. I find these situa- and every task as primary, secondary, tions to be the most frustrating. Here or tertiary. you are, successfully carving time out of the schedule to complete a feature

Team-Fly® Chapter 22: Controlling Feature Creep 289

request only to find out you are further (the suggestion may be of such low pri- behind than if you had never agreed to ority it does not merit the distraction of the feature in the first place. Be espe- your team members to estimate how cially alert when you accept a new long it will take to complete). feature, and try as hard as possible to As these publisher suggestions identify where this new feature may begin to pile up, your publisher will take you. likely begin to develop a sensitivity to the pile of work they have been sug- Publisher-Suggested Features gesting and will likely become sympa- The most difficult features to cut are thetic and roll up their sleeves and the features suggested by your pub- participate with the feature cutting as lisher. These may come from their well as the feature creeping. executive management, from their QA No matter how the publisher tries staff, or directly from your producer at to position their suggestions construc- the publisher. Most of these folks to tively, push back and do not allow them some degree or another wish they were to develop the assertion that their sug- the designers on the game. This is gestions (or QA’s or the beta tester’s) actually a good thing; you want the are somehow more objective than your folks working at the publisher’s place to own team’s suggestions. In my opinion be passionate about the game and to all of this game creation work is pretty have enough interest in games in gen- messy gut-call decisions when you look eral to execute their actual job closely. descriptions. The side effect of this In fact, the ugly truth of the matter required skill set and passion is an is that many of these publisher (or QA ongoing list of feature suggestions and or beta test) ideas are in fact simply bad revisions from these publisher folks. ideas. This too will be politically diffi- Publishers hold the great majority of cult for the game developer to respond power in the game developer-game to. I do, however, have a technique I publisher relationship due to being the use that I feel works best for everyone source of capital as well as access to and of course requires the most work. market. This steady imbibing of sub- Instead of dismissing poor suggestions conscious power often makes it difficult out of hand and getting into a shouting for the publisher to constructively match with your publisher, stop and accept rejection of a feature suggestion think to yourself why they made that they have made to the developer. As a particular suggestion. The suggestion publisher they feel it is morally within itself may be crummy, but what you their right to request these changes. should be interested in discovering is My advice is to avoid outright why they made the suggestion in the rejection of these publisher feature first place. What was bothering them requests. Instead, you should track that they are trying to fix? Focus on them: Immediately tag a feature sug- that and develop a conversation with gestion with a priority label of primary, the publisher. This is good game design secondary, or tertiary and also develop and excellent customer service. The a time estimate for the suggestion if publisher should respond to your genu- your resources have time to look into it ine efforts to solve their identified 290 Chapter 22: Controlling Feature Creep

problem and should be more than will- (unless they are trivial to execute), and ing to drop their poor suggestion if you use the secondary features as a source are able to mutually develop a truer of morale and personal accomplishment solution to the problem they identified. for your developers to chew through as the schedule allows. In other words, as Push Independent Tasks to the soon as you mark something as tertiary End you are emotionally accepting it to be No matter what the priority a given cancelled without further ado. task may be assigned, strive to push The producer should either call a newly suggested features as far back in meeting or just handle the feature the schedule as possible. Any new fea- cutting herself. I recommend at the ture suggestion task that might be beginning of the milestone phase that independently completed (and no other the producer review all of the outstand- task would be dependent on that task ing secondary suggestions and being completed) should be pushed determine if any of these need to back. The reason for this is that so become tertiary, and if the schedule is many suggested features tagged with a under pressure, determine which of the high priority under the relatively primary tasks must be converted to rosy-tinted glasses worn at the pro- secondary for the project to remain on ject’s beginning phases will undergo time. Remember, it is always far easier rapid transformation into not-so- to resurrect a task if you find yourself important tasks when it is closer to the running ahead again compared to sav- end and time is running short. This ing the project after it has already run critical hard tack must be held through significantly over budget due to distrac- development; otherwise the addition of tions of minor tasks. these “high-priority” new features will If your tertiary task bucket is get- cause the schedule to break and possi- ting too full, I suggest the elegant bly jeopardize a planned, truly core fea- solution of opening up a spreadsheet or ture later in the schedule. These database to track suggested features for dropped core features create the jarring version 2.0 of the game you have in lapses between creating player expec- production. This has the double effect tations and failing to fulfill these expec- of easing ugly pressure on the current tations. This is where great game ideas game as well as creating the positive are turned into mediocre released feeling of a sequel to the current work games. being planned. I call this activity flush- ing ideas to the dream pile. Regularly Practice Feature Cutting How far should you cut back? If I have talked a lot so far about how to you are ahead of schedule, obviously manage the feature creeping phenom- the pressure to cut will not be that ena, however I have not really provided great. However, do not get too cocky as any specific advice as to what to do with something down the road could always your secondary and tertiary features. pop up and chew through your time My rule of thumb: Be sure to surplus and more in short order. I rec- implement fully all primary features, ommend completing each milestone pretty much cut all tertiary features Chapter 22: Controlling Feature Creep 291

two to four weeks before it is due if at the feature suggestions down to a more all possible. reasonable size. Your developers are If you are just on time, I would rec- actually performing below their best, as ommend being a bit more aggressive as they feel like losers for allowing the your developers will actually work project to get behind schedule. You harder and with higher quality if you must remove this ugly feeling by push- ease the schedule pressure on them ing enough primary features to and turn them into heroes. secondary to put you immediately back Finally, if you are running late, you on schedule without any use of 80-hour must act quickly and decisively to cut workweeks. This page intention ally left blank Chapter 23: Alpha, Beta, Go Final! 293

Chapter 23 >>>>>>>>>>>>>>> Alpha, Beta, Go Final!

The Test of Well-Laid Plans Requirements, planning, time esti- project. At first playable either you will mates, Gantt charts, state diagrams, see a fun game that simply needs more vectors, models, voice-over files, stuff or you will have engine technology menus, meetings, staffing up, cutting bits that are poorly bolted together (and features, adding features; all of these everyone is being polite and not dis- activities need to come together and cussing the obvious lack of a game). produce a game starting with the alpha The concept of first playable and build. alpha used to blend together; however, Back up. There is a build before as the size of projects increases it is alpha called first playable, which is becoming clear that we need an earlier where the home stretch to making a stage than feature complete to gauge game really kicks off. The game should the progress of a game project. Sure, at this time be essentially fun. It should there should be milestones all along the be easy for any member of the team to way that have specific deliverables, but play the latest build and immediately there is a night and day difference start rattling off features they would between a milestone that has a laundry like to see in the game. The producer list of things that need to be accom- should be smiling at this point because plished versus being able to pick up a the vast majority of these suggestions controller and play a game. should be planned for content and fea- JARGON: First playable—the first time tures that are just around the corner all of the major gameplay elements are before alpha is reached. functional and playable. So your primary target during pro- duction should be to reach first playable Review your schedule and prune off all as soon as possible but no sooner than the “leaf tasks” that do not have any it takes to create robust, healthy soft- important dependencies and depriori- ware along the way. Once you reach tize them relative to any task that first playable, almost all “big scary delivers core gameplay functionality. risks” should be dealt with and you An easy example of this is to verify that should be at mostly content creation your basic localization pathways are in and relatively well-contained program- place, but delay the actual localization ming tasks. I believe that first playable of your game as long as possible. is the most important milestone in a 294 Chapter 23: Alpha, Beta, Go Final!

On Alpha testing on your alpha build. Reportedly Reaching alpha is the second most Microsoft is the king of focus groups important milestone in my opinion (do with specialized focus group testing you see a trend here?). The idea behind experts who use rooms with one-way alpha is that your programmers should mirrors and many other sophisticated no longer be actively breaking the code techniques to ferret out the true opin- base with new features but rather ions of the unbiased alpha testers. shifting their focus to cleaning up the Another group of alpha testers code base. should be the marketing team. I know, I To allow yourself to reach alpha know, great salespeople are able to sell you must have the courage to announce snow to Eskimos, but I always feel to the team and to executive manage- better when the marketing folks under- ment that you are feature complete. stand my games and really get behind Announcing it really is not difficult; them. more difficult is resisting the urges On to Beta from the team, beta testers, and execu- tive management to add more features Between alpha and beta your team will to the game. The only fair thing to do if focus on making the game stable, fixing a game reaches alpha and then new fea- crash bugs, cleaning out text bugs, and tures are implemented is to drive the balancing the game. The classic high game back to alpha again before moving standard for beta is a feature-complete on and attempting to reach beta. That game with no known bugs (more com- is, after adding a bunch of new features, monly, no known show-stoppers or no you should ask out loud, “Are we good known shippable bugs). now? Feature lock?” Different groups and different pro- jects have their customized version of JARGON: Alpha—the point at which a beta, and I suggest you use the strictest game is feature complete. measure of beta your group will toler- To determine whether or not you are at ate. Any relaxing of the standards at feature lock, you will need to do two beta only invite more feature creep and tasks: Compare the alpha candidate feature revision as folks think, oh well, build to the maintained design docu- we will fix the bugs post-beta. ments and determine if all of the JARGON: Beta—the point at which a planned features have been imple- game contains no known bugs (that are mented. Next you need to play the not shippable). game as a team and honestly determine I highly suggest that folks treat all of if the game is fun or not. Feature- the time after beta as being gone— complete games will be fun with bugs unusable for tasking. With that attitude and balance to address, and games that both the publisher and the developer are not fun need something more or will work together to keep the feature something less. Either way, you are not set tight and clean and avoid feature alpha on your way to beta, instead you walking. With all your energy and are still in production. focus, the beta candidate should be a If your budget allows, it is always shippable product. good to perform some focus group Chapter 23: Alpha, Beta, Go Final! 295

If you are working on a fixed time your game bulletproof. So if you release budget to release, you must carefully the beta build too early or to too many manage your time even more to focus beta testers at the start, you will often on the bugs that have true high priority be clobbered with reports on bugs your and not get distracted on the micro fea- team already knows about and many tures or even bugs of low or medium duplicate reports. importance. This might mean you will You will also need at least one full- have to consciously start to close out time person to handle the communica- trifling bugs that you know you can live tion with the beta testers. It is far too with—not simple-to-fix bugs like spell- easy to create the expectation with the ing errors, but the little tiny sugges- beta testers that they are playing an tions that not many people would really important role in the development team notice. and to dash that expectation with a If you want to save yourself a demonstrated lack of coordination and bunch of time, do not release your beta communication. build to beta testers until you are beta! That might sound silly, but I disagree The Finale with Activision’s policy of sending alpha The road to the final gold master for all builds to beta testers and responding to of my games is blurred with memories their bug reports until the game is of that I cannot recall with clarity. I shippable quality. The reason I disagree remember making hot to-do lists two is that your team and the publisher’s to three times a day and sleeping in the QA department is more than qualified offices and wandering around Costa to find all the low-hanging fruit in the Mesa in the middle of the night, eating alpha build, and you should attack the at the local International House of Pan- alpha with zeal but still only release the cakes or Denny’s. Is there a method? beta with no known bugs to outside Not really—it is just test, fix, test, fix, beta testers. test, fix until you run out of time. Sure, I advocate being even more con- the QA team will make a few regres- servative with your beta testing plan sion tests to double-check that every- and release the beta in stages: Release thing that was previously fixed stayed a build to 25 testers for two weeks, fix fixed (there are always surprises), and bugs, then release to 100 testers for there may still be some feature revi- four weeks, fix bugs, and then open it sions going on to accommodate beta all the way up to your final number tester feedback. amount of testers, perhaps 1,000 or so. JARGON: Gold master—the final candi- The beta testers are there to find date build that becomes the master bugs and flaws in balance that escaped used for production of the final game. the attention of the in-house QA teams. Outside of high-priority compatibility A big decision to make between beta bugs, the beta testers should only be and final is whether or not you are finding crash bugs by using the game in going to patch the game. It may sound unexpected ways and finding other unromantic, but I believe the majority low-priority obscure bugs. You want to of games that release patches knew use the beta testing feedback to make before release that they would need to 296 Chapter 23: Alpha, Beta, Go Final!

create a patch. So if you know you are two programmers in front of one work- going to create a patch, it is better to be station. There is a philosophy of honest with yourself and the team and programming known as extreme pro- be organized about the patch planning. gramming that holds pair programming For example, on SFC1 we realized as one of its central techniques to cre- we were low on time about 60 days ating reliable and robust code. I fully from release and decided to pull two of agree that pair programming produces the six playable races from the single- reliable and robust code, but for the player campaign; however, we left great majority of production time, this those two in for multiplayer missions. is a luxury that is really not required. This allowed us to take those missions However, during those final three off the QA plan and the corresponding weeks of code tweaking, it is of consid- set of bugs to after release. This also erable comfort to have another person allowed us to sweeten the eventual verify your changes. During production patch that had bug fixes with two new my teams tolerate pair programming campaigns, making the game 50 per- only on very tough problems, but dur- cent larger from the single-player ing the pursuit of the final candidate perspective. everyone welcomes the comfort of If you are creating a console title sharing the stress and responsibility of that absolutely positively cannot have a their bugs with another. patch, then your entire philosophy on Even if you use pair programming, how you will approach bugs will be dif- my final bit of advice on the pursuit of ferent from a game with a patch. I recall the final candidate is to not modify any having a phone conversation with a code in the final ten days of production. fairly highly placed Xbox executive, Instead, document bugs and flaws and who was gushing with pride over the stick them in the readme. If you find recent success of Morrowind for the trivial-to-fix bugs like errors in the text Xbox. It was selling through like crazy assets, fix them with caution. If you find despite being the buggiest game to date serious bugs in the main game execut- from the executive’s own voluntary able and you feel the game simply admission. He said the final eight cannot ship with these bugs, perform weeks of testing was focused purely on the fix and then reset your clock for identifying hang bugs and that the QA another ten days of testing before and development teams ruthlessly release. I thought I understood this ignored all other bugs no matter how well with SFC1, yet all of the major trivial to fix in the pursuit of shipping a bugs the fans encountered with the crash-free Morrowind on the Xbox. final release were bugs introduced in The real challenge in executing the the last ten days of the final candidate final candidate well is to avoid creating cycle. Even with pair programming new bugs while closing older bugs. Not errors sneaked through faster than the only does this not help, but many times QA team could identify. it may hurt as the new bugs could be of Obviously if you have no time limit greater severity than the older bugs. on when you have to ship your game, One method to address this problem is then quality is the highest priority for to use what is called pair programming: your game. In that case, the pursuit of Chapter 23: Alpha, Beta, Go Final! 297

the final is much simpler, if not longer. remaining are below your quality You are free to iterate until all known threshold and the beta testers have bugs are fixed or the only ones stopped reporting new bugs.

This page intention ally left blank

T

E A M

F L Y

Team-Fly® Chapter 24: Point Releases vs. Patches 299

Chapter 24 >>>>>>>>>>>>>>> Point Releases vs. Patches

Patches—the bane of PC games. It the left, or just become dirty. None of seems it is impossible to buy a PC these suboptimal behaviors will stop game without it requiring a patch the car from performing its basic role in shortly after release. Often a patch is getting you to work. All of these bad available as soon as the game hits the behaviors are “bugs” that need to be store shelves; what gives? If the devel- fixed, but in stark contrast to software opers are able to have a patch ready by it is rare for a car to unexpectedly the time the boxes are on the shelves, “crash”—except of course due to “user why did they ship the game before it error” (or other “users”). Software was finished? often runs splendidly without the slightest hint of a problem and then Software Complexity and the crashes instantly with no possibility of Fragility of Computers recovery. This pathological behavior is The basic problem is that software is the main culprit in our frustration with far more complex than is apparent to software. both the consumer and the developers. Think of eating out at dinner; it Compounding this problem is that soft- doesn’t always taste the same. The ware is a digital system that usually watermelon may be underripe at the works or does not work with nothing in salad bar, or the chicken may be a little between. Computers are very literal too pink at the bone for comfort, or the machines and have no ability to inter- baked potato was undercooked. None of pret what they should do when there these are issues that will prevent your are minor flaws in the software code or meal from “functioning.” In fact, most data. This is in contrast to things found people will just deal with this without in the real world. Most cars start off in any thought and move on; others might great condition and then one day wind send their chicken and potato back to up at the junkyard, but along the way the kitchen for more cooking. Either they malfunction and receive repairs. way the “user” of the dinner has a lot of Along the way to malfunctioning, a car flexibility and control in dealing with may develop a leak in a tire, be slow to the “bugs” found in the dinner. None of start, make a strange noise at 4500 these dinner “bugs” are tantamount to rpm, spill out too much smoke, drift to a crash. A crash would be more like 300 Chapter 24: Point Releases vs. Patches

going back for a second helping of egg The reason military, medical, and espe- salad at the company BBQ after it has cially space mission software is so been sitting in the sun for four hours; expensive to develop is the reliability that will “crash” the user’s “operating and robustness requirements that soft- system.” That bad egg salad will indeed ware must fulfill. There have been irritate the average consumer, but for many robotic spacecraft missions that the most part, food products, while hav- were initially thought to be complete ing many “bugs,” cause very few failures due to mechanical and/or soft- “crashes” and result in very little ware bugs that were overcome by solid “user” frustration. software and/or updating the software Or take a used house that someone on the spacecraft. The most positive would be happy to buy. It will have hun- example of this is perhaps the Galileo dreds of hairline cracks in the cement spacecraft with as its target. walkways, stains on the tile, rust in the After traveling through millions of gutters, squeaky floorboards, insects miles of space, the high-gain transmit- living inside, and so on, and all of this is ting antennae failed to deploy. This was normal. It is unreasonable to expect a a big tragedy; after spending nearly $2 house to be free from all errors and billion and nearly two decades from “bugs” of construction; even new conception to arrival at Jupiter, all was homes will feature dozens of minor considered lost. All the rest of Galileo’s defects. The key again is that none of instruments checked out, but what these minor problems will affect the would it matter if Galileo were mute value or function of the home in any and could not send back the data and material manner. images of the truly awesome Jupiter Back to software. Again our soft- and its own miniature solar system of ware is very fragile; feed it just a bit of satellites. The only way for Galileo to unexpected data or wander off into user communicate was through its low-gain behavior not planned for and the soft- transmitter, which it used during the ware will usually fault in a way that is interplanetary journey. The problem visible, material, and frustrating to the with this antenna was that it was only user. There are techniques for making capable of about 1/100th the bandwidth software more robust such as exception of the high-gain antennae. After much handling, where the programmer pur- grief and anguish some rocket scien- posely writes code for cases of use that tists and programmers got together and are not supposed to ever occur (excep- upgraded the compression algorithms tions) that are handled by other blocks that Galileo launched with, and in the of code so the software is able to grace- end Galileo was able to transmit about fully recover. one-tenth the data they had planned to send back. While still a disappointment, JARGON: In C++ this is accomplished via a try block where the possibility of this simply required the various scien- failure could occur, a throw statement tists to think more carefully about when an exceptional case occurs, and a which images and data they truly catch statement that provides the spe- wanted to download from the space- cific exception handling code. craft. In the end, less science was Chapter 24: Point Releases vs. Patches 301

performed, however, science was release the game to the public, respond performed. to bug reports, and rerelease many All game software that I know of times until the game is perfect or you has some bugs; even the simplest and run out of development resources or most rigorously tested of console titles the public’s interest. Again, the previ- contain a few. I certainly agree and ous chapters dealt with how to make acknowledge that there are wide spans the highest quality software possible from the infamously failing Battle- before release; at this point we are dis- cruiser series to the near marvels of cussing post-release. perfection that Nintendo released such as Mario64 and Zelda64. In the previ- How About Those Console ous chapters we discussed how to best Games—They Don’t Patch!? ship a game with the fewest flaws pos- It is horribly expensive to patch a con- sible. This chapter discusses your sole game. You must send a replace- options in dealing with patches, point ment CD/DVD/cartridge out to the releases, and fan-requested features consumer and pay for postage for both after release. the returned and the new fixed media, The finest piece of modern PC as well as destroy the older media and game software from a high-quality build replacements. This has occurred a ultra-low bug count point of view, in my few rare times in console gaming his- opinion, is Counter-Strike. Counter- tory. The last time I was aware of this Strike enjoys an impeccable pedigree; practice was with the first run of Gran the engine behind Counter-Strike is the Turismo 2 for the PlayStation 2. One Half-Life engine, which in turn is critical bug that was found post-release Valve’s modification of id Software’s erased the player’s garage (save game). Quake I engine. Both Quake and In general, it is true that consoles do Half-Life were developed by the best not patch because it is financially developers in the world and received impractical. Due to this, most develop- far more testing and revisions than the ers and publishers spend relatively average PC game. On top of this mar- more money creating an arguably sim- velous technical foundation, Counter- pler game relative to their PC brethren. Strike was in what seemed like intermi- With the stakes so high, the publishers nable beta. I believe that is the truest also staff up larger test teams and take reason why Counter-Strike runs so more time. Finally, as discussed earlier, flawlessly: it was in open beta for over the hardware manufacturers add their 18 months, and at a cost of $0 and loads own QA teams to verify that the game of fun, it has become probably the sin- meets their standards. gle most tested game in the history of Dark clouds of patches loom on the electronic gaming. Counter-Strike horizon of console games. First the remains one of the world’s most popu- Xbox started off with a hard drive to lar games despite its lack of any tradi- accommodate downloadable and incre- tional marketing and distribution and mental content, and now the PS2 also after over three years of release! boasts an external hard drive. These It seems that to obtain truly hard drives were built for online con- bug-free, robust game code you must tent, but mark my words, these hard 302 Chapter 24: Point Releases vs. Patches

drives will hold patches in the near Point Release as a Sugarcoated future. Of course, a console patch will Term for Patch never be called a patch; it will be called One day I realized that id Software used an update or an upgrade. Look under the term “point release” instead of the hood and you will see that some patch, and while id Software deserves flaws in the originally released game the reputation of making some of the will be fixed in the update. world’s finest games, I still felt the sim- Online Games—the Perpetual ple use of clean-sounding “point Beta? release” rather than the dull “patch” enhanced id’s reputation in the public’s The other extreme from the console eye. A point release sounds much more game is the in regard to deliberate than a patch. After all, a the frequency of patches being patch is something you sew onto jeans released. It is not uncommon for mas- or glue onto tires when you are too sively multiplayer games to release a poor to buy new—definitely not glam- patch a week or even more often. orous. A point release indicates that Despite this frequency of patching, the you had this patch planned all along and better online games enjoy tremendous it is the user’s good fortune to get this commercial success with gross margins update from the developer. in excess of 40 percent and a noticeable Now to be fair to id, the quality of fraction of the GDP of South Korea. So their released games exceeds most any if both console games and online games other developer’s after being patched. make a ton of money, what is the rele- id also deliberately adds more function- vance of patches? At the end of the day ality to their point releases similar to you must do whatever it takes to make how online games add features and a consumer happy to buy something improve functionality. Almost all users they do not have to buy—a luxury item. feel good about getting extra functional- For the console game, that means mak- ity after having paid for a game. The ing good on the expectation that the problem with patching games that are consumer will be able to pop the new not massively multiplayer is that the game into the machine in the living user has to log onto the Internet, room and be up and having fun in a mat- search for the patch, download the ter of seconds. For the massively patch, and see if the patch addresses multiplayer online game, that means the particular bug that the user experi- the developers will continuously enced that caused them to go out and improve the gameplay experience since look for the patch in the first place. the game is sold as a monthly service Contrast this effort to playing an online rather than a one-time product. This game, where as part of the login pro- monthly service arrangement makes it cess the game determines whether or not just okay to release patches but not your version of the game is up to actually expected and demanded! date, and if not your local copy of the game is auto-patched. Chapter 24: Point Releases vs. Patches 303

Fan Requests likely learn something they did not If you have made a good game and the know. Most obviously it will show that word-of-mouth ball gets rolling, soon you are listening to their suggestions. players will attempt to communicate to For the good and ambitious ideas it is the developers what new features they also best to acknowledge the idea and would like to see in the game. I suggest show that you support the idea on its you set up a message board such as merits, but at the same time shape Infopop’s (http://www.infopop.com) Ulti- their expectations that this feature is mate Bulletin Board software. Hosting not likely to be added in the near a forum for players to discuss their future. experiences with your games is also a It is the good ideas that will not good idea and has been one of the best take much time to implement that are moves for Taldren (see our forums at the real gems. At the risk of appearing www.taldren.com). crass, here is where the return on your When dealing with fan requests time investment in the message boards you will receive a bunch of suggestions will be returned in spades. The amount that might be roughly categorized into of gratitude you will receive from your bad ideas, good ideas that are too big to fans for adding a few special requests bite off at this time, and good ideas that (this stuff could literally take minutes if are just right in size. The best way to not hours—just bits of creative insight handle this is to address the bad ideas that the fans came up with) will demon- and say why you do not think they are strate to them that you have a true good. Trust me, this builds respect and dedication to their interests. This is the develops a better relationship with your stuff that will produce a fan for as long fans as they will come to learn how as you are in the game business. This is your group approaches games and will also the “special sauce” that converts a mere “patch” into a “point release”!

The Publisher-Developer Post-Release Relationship The business model of a game devel- project’s budget and milestone oper is under continuous challenge by advances, you will never see an amount the publisher. In short, the publisher of money earmarked for post-release distorts a business (the developer) into support. All publishers know that PC a business with a single customer, and games require post-release support, the customer is the source of capital and in fact they demand the developers and the access to market. These three provide this service. The leverage the factors combine to make the publisher a publisher invariably leans on is “Hey, dominant force of control for the devel- dontcha wanna earn royalties?” or “I oper. In regard to patches, almost all don’t want to work with someone who development contracts require the does shoddy work and is not willing to developer to warranty their work for stand by it.” Certainly publishers some period of time after release. This should not expose themselves to is all reasonable, but if you look at the unnecessary work, and if they do their 304 Chapter 24: Point Releases vs. Patches

job by running their publishing com- Warcraft III. It is smart money to sup- pany well and are careful in the port your games in post release. My selection of their developers and in point is all games require post-release their review of milestones, all should support; even the most financially go well with the project. A publisher healthy and successful developers sup- should advance the costs of post- port their games after release. I would release support as the developer is think lesser games deserve all the sup- always the last one to receive royalty port they can get, no? At the bottom income to offset the costs of support. line, the publisher knows they are able I have tried (unsuccessfully) to use to use the overtime efforts of a start-up the online nature of a component SFC developer trying to make their reputa- series to include a modest budget for tion to stand by their games. Devel- post-release support. I recommend that opers should push back when they have others keep pushing for it. Any pub- times of leverage and also realize that lisher in the world would bend over it is their position to give and struggle backwards to advance the funds neces- while they are growing their sary to create patches for Doom III or businesses.

Tools for Creating Patches So, okay you actually need to make a to get the latest patch. I like the auto- patch today. Listed below are two popu- patcher in BioWare’s Neverwinter lar patching tools: the more established Nights the best; it is verbose and visu- RT Patch by PocketSoft and the upstart ally pleasing to watch it go about its Visual Patch by Indigo Rose. Both of patching business. these tools compare what you distrib- uted to the users in the previous Product name: Visual Patch version to the binary bits of the new Published by: Indigo Rose, Inc. version and extract the differences. URL: http://www.indigorose.com/ After extracting the differences it com- products/visual_patch1.php presses it tightly and wraps it in a Price: $495 self-executing self-extracting patch- applying tool. Both of these tools allow you to wrap your own user interface to Product name: RT Patch v. 6 the process if you like, or you can use Published by: PocketSoft Inc. their standard user interface. I recom- URL: http://www.pocketsoft.com/ mend that you download both and give pr/rtpproc.html them a try. I also recommend that you provide Price: $995 a main menu level option in your game Chapter 24: Point Releases vs. Patches 305

User Extensibility—The Magical Patch Another patching mechanism that we your game legs without your continued make use of at Taldren is to externalize effort. Half-Life and, by heritage, Quake as much of the game data as possible to are probably the most user-extended facilitate user extensibility. Your fans games in the history of games. Clearly will be able to generate far more ideas an activity (providing for user extensi- than you will be able to handle. It would bility in their games) that the highly be far better if you simply allow them successful Valve and id Software per- to make their own changes to the game. form is an activity that any company I find it useful to think of it as their should emulate. Too many companies game. For example, in the SFC series think user extensibility robs sales from all of the ship data has always been eas- their own future sales. I am not going ily modifiable in the format of a simple to proselytize further on this issue; for spreadsheet readable by Excel. those of you who resist user extensibil- There are many subtle benefits to ity, good, stay that way—more for user extensibility; one is that it gives Taldren! This page intention ally left blank Chapter 25: Garage Development Spans the Internet 307

Chapter 25 >>>>>>>>>>>>>>> Garage Development Spans the Internet

Mario64 enjoyed a reputed budget of teams that have hundreds of years of $20M+, and Wing Commander IV, collective game industry experience? Return to Castle Wolfenstein, and One company started out making Warcraft III all are rumored to have electronic pinball games—Epic; development budgets approaching another company cut up thick paper to $10M. Most modern AAA budgets are make playing cards—Nintendo; another in the range of $2M to $5M. So what loaned an employee a computer over could a few inexperienced, passionate the weekends and he created a side- wannabe game developers accomplish scroller featuring a kid wearing a foot- when facing these seven- or eight- ball helmet—id Software. figure budgets expended on behalf of

Silver Creek Entertainment In this chapter I profile Silver Creek let alone a publisher. This includes run- Entertainment, as independent as you ning their own online multiplayer could imagine. They create, market, service that they built and operate. and distribute their own games and These guys started off by setting have never worked with another entity, their sights on no less than Microsoft!

Profile of Jonas Stewart [email protected] Jonas Stewart Pixel Pusher and Game Design Silver Creek Entertainment Erik Bethke: How many developers wheels. This is broken down into three are at Silver Creek Entertainment? development staff members: two cod- How many programmers, artists, ers and an artist (that’s me), one person testers, and management? who keeps the office in order and han- Jonas Stewart: There are five folks and dles customer relations, and one person a boatload of gnomes in hamster who deals with bipedal creatures out- side our fortress who aren’t customers.

308 Chapter 25: Garage Development Spans the Internet

We pretty much self-manage and game appears in all its glory. Of course don’t have anyone but the marketplace there is the daily grind that does tend to answer to. My idea of a true indie is to wear down the team until it’s done. a team that answers to no one but their It’s really just a build and polish sort of own heart’s desire and the customers thing. We do try to keep focused on they produce for. what adds something to the game or at least the intended purpose of the What language is used for the games. So on our multiplayer games, development of SCE’s games? we think in terms of helping players C++? What tools do you use for have fun together with Fooms (the fire- creating the art of the SCE series balls and magic elements), whereas of games? with Solitaire we try to keep in mind a Most everything is written in C++ state of solitude and enjoying just hang- with some Python scripting thrown in. ing out being yourself. Almost all the art is done in Photo- We do have a mental plan that shop with a mouse (I know it sounds encompasses what we want to do. But bad but you get the hang of it) and on we are very flexible along the way to occasion I’ve used trueSpace, Bryce, take in new ideas that lend to the and Poser. But I find I can accomplish cause. most of what I need now in Photoshop alone. Of course you don’t exactly need Would you say your competitive Maya or Max to do card games yet.T advantage is the absolute total commitment of quality that you Do you folks work on just one gameE bring to your games? at a time, or are you working on Yes, that’s probably true. We fill a niche multiple games at a time? A for card games that are well crafted and We try to focus on one game, but we steepedM in a fantasy atmosphere. Not oftentimes float back to old projects to everyone cares, but for those who do, spruce them up a bit. We constantly try we have somethingF to offer them. to improve our released games as we There are plentyL of generic card games make new gizmos or see a way to out there, but we try to take something improve something on our current pro- that seems plain andY see if we can ject. Unless there is something making breathe life into it. It’s kinda like a it incompatible with our current lineup, No. 2 pencil—to one person it’s just a a lot of what we do can be applied to stick with graphite that you can leave our older stuff with not too much pain. notes to get more milk, but in the The players don’t seem to mind getting hands of the right people that pencil is a free new feature now and then either. a gateway to wonderful worlds. They What is your general development illustrate a place like the Shire or a process? post-apocalyptic LA. It’s all perspective and the use of your craft; we are still Our general development process... working on it. hmm. “Let’s make a card game. Okay, There is plenty of shovelware for and let’s make it really cool with fairy the rest of the folks, but that’s not what dust and stuff.” Months later a card we want to make.

Team-Fly® Chapter 25: Garage Development Spans the Internet 309

If I may ask, what sort of sales fig- game development, but they know a lot ures for Hardwood Spades and/or about the business of selling online. other SCE games are you comfort- What is SCE’s early story? How did able releasing? you start the company? We eat and aren’t sleeping under the Our early story, eh? Well after the fall bridge so I can’t complain. Our main of the dinosaurs and rodents ruled the mission is to make games all day and earth...err wait, let’s fast forward a tad. get paid to do it, although it would be Basically Silver Creek started after two nice to have a castle. I’ll be saving my guys, Jonas Stewart (that’s me) and nickels for a while, though. Dan Edwards, decided that making The way I see it, every day above games would be cool around ’93-’94. So ground is a GOOD day. after we realized that some epic full Have you considered retail distribu- person shooter Blade Runner game was tion? What has been your a bit ambitious for two guys just learn- experience with game publishers? ing this stuff, we tried a “weekend” We may take a stab at retail when the project, which became the original time is right, but selling online has Hardwood Solitaire. been a good and loyal friend. Retail is a Windows was still scoffed at as a fearsome beast that has chewed up and medium for games at the time, but we spat out more than its fair share of were shooting for releasing on Win32 games. It’s definitely not just about (95) since we were on the OS beta. making the best game… there are a lot Hardwood Solitaire turned into some- of other factors that can tank a project thing far more complex than a weekend even after you release it. Online at project as we tried to put together least the power of success and failure is something that was truly different from on our hands a tad more. Of course I the other dull implementations that read that “they” just found a 2km aster- were out there...the main culprit being oid that may collide with the planet the one that came with Windows or the within the next 15 years…so maybe other “application-like” card games. We this is all a moot point. wanted to bring our gamer attitude to a card game and try to make it LOOK like What are your marketing budget a game, not a spreadsheet or word pro- and/or strategy for SCE games? cessor app. Working during the sum- “If we build it, they will come.” We just mer and living at home eating lots of make stuff as good as we can and let Top Ramen (chicken flavor is pretty folks know about it at download sites tasty), we bought ourselves enough and in search engines. It’s just Internet time to finish one of the first if not the promotion 101. first Windows Truecolor game released. Probably one of the best places to Hardwood Solitaire evolved into HWS learn about online, direct to customer II: The Enchanted Decks, which was a selling is the Association of Shareware much more refined product. Professionals. These folks are veteran indies…. they don’t talk much about 310 Chapter 25: Garage Development Spans the Internet

We also volunteered at the Game Do you have any tips for aspiring Developers Conference from ’95-’99, indie developers? which was pretty cool. That helped us An unfinished project is not a game. Try keep exposed to aspects of the gaming to finish everything you make unless it industry, and it was pretty cool back has a fatal error in concept or design. then. Something any aspiring game If you are hooking up with buddies developer should do at least once. After to make a game, make sure that it gets that we attended as Independent Game done. Most of the time it won’t when Developer finalists and even picked up you have to count on a bunch of free an Indy award in 2001 for Hardwood help; try to keep the team as small as Spades there. you can. Ideally you can really only After Solitaire we took the plunge count on yourself, but working with a into online games with Hearts, Spades, trusted friend as long as you both have and Euchre. They are leaps and bounds passion will work. It might not be great, more complex and trippy than Solitaire, but you will learn plenty in the making. but we grossly underestimated the Start small and finish it. Then make effort that “tacking on” multiplayer the next step; it’s not realistic to think meant. Needless to say, having a com- you will be making the next big thing munity of people is something that on your first project. needs constant attention. Somewhat Making games or any type of like being mayor of a small town and entertainment is really like a magic you soon realize that you don’t ever trick. There is a lot of preparation and want to be president of the U.S. sweat that goes into making folks who Anyhow...I guess that was the witness the magic believe in it. Make quickie version of “the beginning.” I sure you enjoy knowing that magic did leave out the absolutely massive won’t be the same for you once you amount of time playing Duke Nukem become the magician. You will know it’s 3D and Doom and that we wore out a trick but hopefully enjoy its construc- quite a few joysticks playing Descent tion. Err, I don’t know if that made any and flying guided missiles through the sense, but basically there is a difference mines. But hey, we all did that back in between enjoying the entertainment the day, right? and creating it. What is the future for SCE? Do you And above all else, have fun! If you feel the need to grow into more don’t have the burning desire to make product lines? games, and you don’t spend nearly all of your waking hours at least thinking For now we are sticking to card games. about games and game design, then find Trying to keep focused on what we another thing to try that you are pas- seem to be pretty good at. Puzzle and sionate about. We all will eventually card games are in nice small bite-sized cease to exist...enjoy the time you chunks. We really don’t want to become have; don’t waste it on something you managers to a large team of people; we don’t like. want to make games, and keeping pro- ject teams small allows us to do that. Part IV >>>>>>>>>>>>>>>> Game Development Resource Guide This page intention ally left blank Chapter 26: Getting a Job in the Game Industry 313

Chapter 26 >>>>>>>>>>>>>>> Getting a Job in the Game Industry

“You work in games, huh? That’s cool; so, what do you do, just play games all day, huh?” —Most anyone outside the game industry

Who Is Trying to Get into Games? As I write this chapter at Taldren we especially the newer game schools such are conducting interviews for artists, as DigiPen and The Art Institute of Cal- from modelers and texture artists to ifornia, are usually full of energy and riggers and animators. We are staffing raring to go as they have just finished up for our Black9 game that was paying tens of thousands of dollars to announced in late 2002. learn how to make games and are now There are roughly three groups of eager to really make games. people we are looking at: young people Recently I had two folks come in who have just finished school, people from the animation/film industry. I who have a lot of experience in a asked them why they thought they related industry, and people who have would like to get into games. It was experience in the game industry. Natu- interesting that both of them said they rally, the folks who have the experience were looking for a stable position. in the game industry are generally While game companies are not as solid more desirable to hire, as it will cost us as working for Sears or General Elec- less in training to get the maximum tric, apparently we are more stable than production out of the programmer, these film and animation houses that artist, or designer. The folks with expe- staff up for a project, put everyone on rience in other industries such as 1099s, rip through the work, and then stop-motion animation, 3D modeling for lay them off. film, SQL business programming, or So they want a nice, stable job? aerospace engineering generally all Hmm, I was hoping for something along have a strong work ethic and an inter- the lines of having an everlasting burn- esting background that might be of ing passion for creating games and that some value to your game shop. The they are pounding on my door to apply younger people straight out of college, that passion to our games! We are not 314 Chapter 26: Getting a Job in the Game Industry

your local Department of Motor Vehi- then wade back into film when you feel cles where you can regain your better. So first of all, express your pas- confidence with a nice steady job and sion for creating games.

You Want Me to Do What? Oh, I Would Rather Do This The other sorts of misfits for the game industry. I have found over the years industry are the folks who confuse that the folks who have had crappy working in the game industry with get- blue-collar jobs in the past truly appre- ting paid to play games. Twice I have ciate sitting in air-conditioned offices employed guys who have reported to being paid to be creative. The people me that they are not “into” their cur- without this background often confuse rent assignment, and that is their the word “hobby” with “work.” While it explanation for not getting their task is true you should enjoy your work, we completed. Sometimes I think all young all have jobs to get done, and there is people should join the military, work on quite likely at any given time some- a farm, or do asphalt roofing for a few thing we would rather be doing! years before entering the game

Hours of the Game Industry The truth behind the game industry is competitive industry where folks all that most work is done at independent around the world love to make games game development houses that are and are willing and able to pour their working against a milestone-advance souls into the games; we all are like payment schedule, and the work must this. It is like being a professional simply be performed on time. entertainer or athlete in that you must Anyone will tell you that employ- train hard for a long time, often poorly ees who put in a solid 40 hours a week, compensated, for the chance to become with a full benefits program, who are successful later in your career. Here at well paid, and who spend their Taldren we are now three years old, nonworking hours with friends, family, and for each of our projects we have and other rewarding activities are most strived to improve our project estima- productive and happy. Working 120 tion capabilities. However, we continue hours a week is not very efficient and to find ourselves needing to work the does not result in high-quality work. occasional Saturday, and a few week- Most developers have hearts of gold ends a year we must work through the with the best intentions, the author weekend at crunch time. included, who start off each project I have another axiom that covers with the simultaneous goals of making this phenomenon: The younger the the best game possible while having development house, the harder they sane and humane schedules for their must work to be competitive. The staff. The game industry is a brutally largest, highest profile projects are Chapter 26: Getting a Job in the Game Industry 315

naturally going to be signed up with more experienced team members at a the more successful, well-established more healthy pace than a start-up shop developers. These developers will have with their first contract. People looking a lot more leverage and control over into the game industry should under- the relationship with their publisher stand this dynamic and find some other and will most likely be able to achieve job if they are allergic to long hours and better advances, a longer schedule, and a load of work. in general be able to develop with their

You Did Not Scare Me—I Love Games AND I Want In! Okay, if the above comments did not occasionally programming side of dissuade you from wanting to enter the development; however, increasingly game industry, then come on in, the folks are being hired into producing water’s great! slots at publishers who have some So what do you know how to do other management experience such as and what would you like to do? Gen- in the film or music industries. erally speaking there are six broad Audio jobs are difficult to get in my classes of skill sets in the industry: opinion, due to the relatively low num- 1. Programming ber of jobs industry-wide and the 2. Art willingness of so many talented individ- 3. Testing uals to work for relatively low 4. Producing compensation. 5. Audio Design is the single most difficult 6. Design job to get in the industry and I am sure the hardest job to get as your break-in I listed the skill sets in descending job. Some old-time paper RPG design- order of ease for breaking into the ers from TSR were able to transition industry. Skilled programmers have the into well-paying jobs at Interplay’s easiest time getting into games. How- Black Isle studio in the heyday of the ever, Visual Basic programmers Baldur’s Gate series. The most com- generally do not cut the mustard. mon way for new people to get into Strong artists from other industries can design positions is in the 3D first- often slide over without difficulty. The person genre where exceptionally tal- easiest way into games with the least ented and dedicated folks create skills is to become a tester at a publish- compelling levels on their own that get ing house; the only requirements seem picked up by fans and become popular. to be a passion for games and some However, I argue these folks typically degree of written communication skills. work for free on their own for a year or Producing jobs are both easy and two before their work is noticed, so difficult to get. Producers in the game their first position is essentially as industry often come from the testing or self-employed intern. 316 Chapter 26: Getting a Job in the Game Industry

How to Get a Job as a Programmer Program bunches. Learn C at a mini- pretty much like an unreliable C with- mum—I highly recommend C++—and out low-level abilities. I was steadily have a passing knowledge of assembly given more responsibility until two so that you are not ignorant of it. Pick a years later I led my own team on a simple game such as Pac-Man, Frogger, gambling game project, Caesars Win- Pitfall, or Sub-space and do your best to dows95. From that position I transi- recreate the game on your PC with tioned fully into management as high frame rates and interesting a senior producer at Interplay on Star- improvements to the fundamental fleet Command I, and now I am fortu- gameplay. Find an artist on the Internet nate to run my own development to create some artwork for your game. studio, Taldren. Now you have your own game in your Programming is a valuable skill set portfolio. Depending on your time and that is not about to go out of demand. skill set this might take you one to six As a game programmer you are also the months to create. If your code is well ultimate arbitrator of how a feature will written and your game plays well, you turn out, so to the closet game design- probably have enough demonstrable ers out there (that would probably be strength to get an entry-level job at a everyone), this is a great job to exer- game company working with their cise your creativity. internal scripting language to develop When you go in for your interview, missions or scripts. This is your foot in be prepared to answer programming the door, this is where the vast majority questions in real time. The Internet is of programmers in the industry start: full of great sites with helpful hints on performing the coding work that is con- how to handle the programming test sidered safe and tedious, allowing the such as http://cplus.about.com/cs/careers/. Why more senior programmers to concen- am I pointing out a site to you that trate on the more challenging aspects probably has spoilers for the questions I of the project. As you demonstrate and other developers would have asked growth and ability, you will quickly be you? The reason is simply memorizing handed more and more challenging the solutions will not help you; you will work—don’t worry! be called upon to explain your code in This has been my path into the front of the senior technical staff in the game industry. I started as a scripter on company, and if you are fudging they I Have No Mouth And I Must Scream, will notice. Go ahead and scour sites developed by the Dreamer’s Guild for such as the one above, use it to prepare Cyberdreams. When I was hired I came yourself, and become a stronger from space science work at JPL with a programmer. strong professional background in Typical starting salary for an FORTRAN and a basic understanding entry-level programmer is about of the syntax of the rest of the major $40,000. Various factors such as the rel- languages including C and C++. For ative wealth of the company and the No Mouth, we used an internal script- cost of living in the area will cause this ing language called SAGA that worked number to be higher or lower. Chapter 26: Getting a Job in the Game Industry 317

Artists and Their Portfolios Artists have it both easier and more dif- are received with much greater enthu- ficult than programmers; on one hand, siasm. A clever technique for animators it is a lot easier for the interviewer to is to use the voice track from a popular review a portfolio or a demo reel to see movie and animate a character to how strong the artist is, but on the lip-synch a few lines from the movie. I other hand, it is all too easy to create recently saw the demo of an animator an impression that may be incorrect if who did this to the famous righteous- your portfolio and demo reel are not ness of God speech Samuel L. Jackson top quality. delivered in Pulp Fiction. The character Animators, modelers, texture guys, delivering the lines was a cross and riggers, the most convenient for- between a Chihuahua and a gremlin, mat for delivering your portfolio of with perfectly bugged-out eyes to pull work to a game company is in the form off the anger in Samuel Jackson’s line. of a VHS tape. Take some time to plan This was brilliant for the production out your demo reel; think about what values of the line, the voice-over was impression you want to deliver. Will AAA quality, and I was free to enjoy you take your existing work and myself and appreciate the quality of the arrange it, or will you create new work animation. In fact, I believe this was a especially for the demo reel? Be careful strong demonstration of the guy’s abil- not to show too much material from a ity to animate to a given specification single genre such as traditional fantasy, rather than a crutch or a cheat of any sci-fi, or comic book work unless that is kind. all you are capable of performing. While Bradley W. Schenck is Taldren’s showing your range of ability is impor- senior art director, and in his career he tant to be sure you are considered for has seen about 5,000 resumes, has every job you want, do not include interviewed more than 500 people, and weak material just for the sake of has directly hired about 50 people in variety. positions of game artists. The key thing Trim your demo reel down until he looks for besides manifest skill and every bit of it is vital for demonstrating talent as shown in a reel or a portfolio who you are and then cut just a little is an emotional, bone-deep statement of more. Having the eye to revise, edit, why the artist loves the aspect of art he and trim your own work is the mark is pursuing. For animators, solemn of a professional. One time I had to statements about the weight of a body endure a demo reel that offered over 12 in motion make Brad crack a thin smile. different walk animations for a cartoon He is looking for people who think dog. The only impression I developed about their art when they are driving, was that the artist himself could not taking a shower—their quiet time. decide what his best take was, and he Typical starting salaries for artists was shifting that burden to me! are about $35,000, with the usual fac- Demo reels with a sound track to tors at play. add an aural dimension almost always

318 Chapter 26: Getting a Job in the Game Industry

How Do I Become a Tester? Starting as a tester is a venerable tradi- The easiest way to become a tester tion. All publishers have their own QA is to call up the publishers and simply departments staffed with testers. While ask if they have any openings. Most developers may or may not. Developer publishers will not hire testers who are QA staffs, however, often double as a not local, so if you are not local to the line producer/MIS guy or has some publisher you would like to work for, other double duty. visit the city where the publisher is located and appear local.

I Have a Great Idea for a Game—I Want to Be a Designer!

If you have no experience in the game through and make a new game. The industry and you are not the creator of most famous example of this method is some intellectual property that is being the mega-hit Counter-Strike, which is a adapted in the production of a game, mod of Half-Life; the Counter-Strike then your only real avenue into straight crew now have their choice of game design is mod-making and level opportunities. making. Find a game you love that facil- However, most game designers in itates user modification such as T the industry work their way through Neverwinter Nights, Dungeon Siege, programming or art and have gradually Quake, or Unreal and think of some-E assumed greater design responsibilities thing new and different you can create over the course of their projects. A with these game engines and push M So You Want to Be a Producer F The final job position I will discuss is director or a technicalL director to be the producer. The producer comes in promoted into a project leader role at a many different flavors in the game game developmentY studio. However, at industry such as coach, line producer, publishers it is increasingly common to executive producer, associate producer, hire senior producers from other indus- project leader, project planner, and pro- tries where the individual held a ject manager. Several of these titles are management position. synonymous, and in general a producer Being a producer, I believe, is one is a person who gets everything else of the most difficult jobs as you must done that programmers, artists, design- relish pressure, have excellent commu- ers, testers, and audio folks do not nication skills, both written and oral, be perform. Most producers start at the able to resolve personality issues, be bottom as line producers and work decisive, and thrive under constant task their way up as they demonstrate that switching. It is true that the project they can handle more responsibility. leader usually has the most influence Another common method is for an art over the final shape of a game, but

Team-Fly® Chapter 26: Getting a Job in the Game Industry 319

rather than a great prize, this is a heavy solve new problems. If you do this, responsibility. your leadership skills will be recog- If you feel you were born to lead a nized rapidly, and no doubt you will be team of creative folks, then start at the promoted to the role of a producer. The bottom and consistently demonstrate reason is that there is, at least in my your willingness to work towards the opinion, a profound shortage of folks best interest of your team and game, be out there who truly have what it takes proactive, and challenge yourself to to inspire their teams to the greatest of efforts and make the best games.

Go to GDC—Free! A great place to meet game developers looking to break in and would like some is at the Game Developers Conference advice on where to start. If they know (http://www.gdconf.com/) held in the spring of a job opening, they will steer you in San Jose. It is a little-known factoid there more quickly than your resume that you can be a volunteer at the con- will in the HR department. The reason ference working several hours each day is simple: They will see you standing in exchange for a full pass to the event. there and will be able to look you in the This will save you about a thousand eye to gauge your determination and bucks! sincerity. Also, rank-and-file develop- At GDC there are two prime ave- ers usually know of job openings well nues for networking for a job in the before HR does. The truth is that team industry; the most straightforward is of members, recalling that a buddy of course the job fair. Here you will find theirs over at this other game shop is dozens of companies looking for new wrapping up his project and is looking people. Your resume will go into the for a change, fill the vast majority of pile, and if you wrote a good one, positions in the game industry. In other maybe you will get a call back. The words, I believe 90+ percent of jobs in problem with this approach is that your the industry are filled by word-of- resume will go to the HR department mouth and shuffling about. The HR and sit for a while, gathering dust. department only gets a job description The better way to network for a if the company has been unable to fill a job is to actually go up and speak to position through this word-of-mouth developers. After attending one of the method. Also, it takes guts to walk conference sessions go up to the right up to someone and ask for a job, speaker and ask a good question and and we developers like to find people then follow up with an introduction with guts. about yourself and state that you are 320 Chapter 26: Getting a Job in the Game Industry

What About Those Recruiters? I will save you, the recruiters, and but they also pump up that salary to the game companies a lot of time; if you are highest levels that wealthy and/or des- new to the industry, fresh out of school, perate publishers are paying for their just start knocking on doors yourself as internal teams. So when I see the you do not have enough material in resume of someone without experience your resume to sell yourself. If you in the industry come through a have a lot of experience from another recruiter, I just toss it in the trash, as I industry, you might benefit from the do not want to pay such a premium for use of a recruiter, but knocking on someone who still needs experience. doors may still be your best bet. The only resumes I want to see from a Recruiters are somewhat difficult to recruiter are from those with signifi- digest for the smaller independent cant experience from another developers such as Taldren; recruiters developer or publisher who is likely to not only charge 20 to 30 percent of the make a significant contribution to prospective employee’s salary as a fee, Taldren; that is worth paying such a premium.

Resumes, Demo Reels, and the Interview I am placing these logistical steps for marginal company who cannot properly how to get a job at the end of this chap- evaluate your skills and talents for what ter because I think they are the most they are. mundane, overly discussed topics on Having said that, you are still the subject. I have already discussed responsible for selling yourself to the how you will really find your path into company. Focus on the skills, talents, the game industry. This section will energy, and interests you genuinely do just be a short section on how to pres- have and display them in the most ent yourself. attractive light. Make sure your resume’s objective Honesty vs. Modesty clearly focuses on the job position the No matter what, you must be honest company is offering. If there are multi- when creating your resume or demo ple job openings you are interested in reel, or performing your interview. and they are not identical but you feel First of all, it is unlikely that you will be you would be strong at any one of them, able to fool the people you are trying to then tailor your resume for each posi- get to hire you; second, even if you do tion. You should of course write a cover manage to fool them, you are only set- letter that positions you as perfectly ting yourself up for tragic suited for the job posting the employer disappointment all around when you do has described. not live up to your own advertisement. A pet peeve of mine is programmer Or perhaps worse, it is never discov- candidates who list six or more pro- ered and you end up working for some gramming languages on their resume. Chapter 26: Getting a Job in the Game Industry 321

The vast majority of programmers I Mary-Margaret.com Recruiting and know specialize in a language or possi- Business Services bly two, such as C and assembly, or Specializing in Entertainment Software C++ and assembly, or C++ and SQL. toll-free voice: (877) 662-3777 The game company wants to know toll-free fax: (877) 662-3888 what you are excellent at, not how many [email protected] different programming language books www.mary-margaret.com you bought or whether or not you know Prime Candidate, Inc. FORTRAN77. Pat Bigley This goes beyond just program- phone: (818) 784-1976 ming languages and can be applied to fax: (818) 501-1853 the rest of the knowledge sets you [email protected] might put down on your resume. I sug- www.primecandidateinc.com gest you be sure your main skills and talents are highlighted on your resume, Instant Studio and the others you have had past expo- Eric Wills sure to, if you must list them, should President include some qualification such as phone: (480) 358-1417 “familiarity with Unix scripting lan- fax: (480) 358-1439 guages such as sed, awk, and Perl or [email protected] “familiarity with the UI of LightWave.” www.instantstudio.net Here is a listing of recruiting companies: Interact 831 S. Douglas St. Suite 119 El Segundo, CA 90245 phone: (310) 643-4700 (800) 333-5751 fax: (310) 643-4750 [email protected] This page intention ally left blank Chapter 27: Starting a Game Development Company 323

Chapter 27 >>>>>>>>>>>>>>> Starting a Game Development Company

“You will always have a boss, Erik, no matter where you go.” —Trish Wright advising a pre-Taldren Erik Bethke

So you want to run your own game games sounds like a great way to pass company, huh? the time. Why? While all of these are solid reasons Why do you want to start a game to start a game company, none are com- company? Most likely you are bursting pelling reasons to create a game with creative energy; you have a game company. For all of these reasons you that is tearing itself out through your would most likely be better off joining mind and is screaming to be shared forces with an existing game company. with the world. Is that it? Creating a game company and, more Or maybe you have been working importantly, running a successful game with some friends of yours for a while company is very hard. The great major- and have developed a deep sense of ity of game development companies camaraderie and you are ready to put fail, even quite a few that have enjoyed this team to the test as a game great success. company. Why does your game company Maybe you have been extremely need to exist? What unique niche or hard working and have already devel- role will your company fulfill? Do you oped a game in your spare time (or a have a great idea, and you just need a good portion of the game) and are now publisher to hand you a pile of money looking for a way to capitalize on this so you can produce a great hit? If so, effort. buddy, get in line—and boy is it a long Or, maybe one or two of you are a line. member of the idle rich and making 324 Chapter 27: Starting a Game Development Company

Find a Path Why does the world need your game Treyarch Entertainment started off company? as a regular milestone developer for If you are able to answer that ques- Interplay; however, Treyarch aggres- tion with strength you should create sively pursued console port projects and run a game company. from Electronic Arts. These port pro- Sure, point to any successful game jects turned out to be fairly substantial development company and you will and could be delivered with much show me that all it took was a mega-hit: stronger regularity compared to an Warcraft, Doom, Final Fantasy. How- original property such as their Die By ever, as I said earlier in the book, The Sword. Just four years after imple- without diminishing the greatness of menting that strategy, Treyarch these games or the effort it took to employs 130 developers and has been execute them, I feel the truly interest- bought out by Activision. ing struggle was how Blizzard got to You have two major transition the point where they could create points to manage: How will you launch Warcraft. How did id get to Doom? Do your company, and after launching how you know why Square named the key will you transition your company into a franchise Final Fantasy? sustainable, successful company? Here are some specific examples. Most game company developers Epic and id started out creating small would benefit from a few years’ experi- shareware titles that were addictive to ence in the industry to formulate their play and always financed their early plan; others are quite capable of just projects through sweat and shareware striking out on their own path on their registrations. When they both became first day. Think about your company; successful they started performing what are your key employees especially their own publishing functions and used talented at? What are you especially their position of impeccable strength to passionate about? What opportunities have publishers bid for their games. are available from folks with whom you have established relationships?

I Have a Plan; Now How Do I Get Started? Okay, I will assume for the rest of this budget, and with as much quality as you chapter that you have at least a handful can muster. I list the priorities in of developers who have banded roughly that order. As this is your first together to create a game, modify a project, more than likely you have been game, perform a port of a game, or have commissioned to perform a relatively some other subcontract to sustain your modest project on behalf of a publisher. team. (Again, if you have your own pile This publisher is taking a chance on of money, much of the start-up phase you, they believe in you, but it is more loses its romantic challenge.) of a trust-but-verify type of trust. As Your first priority must be to exe- your team is new and untried, it is cute your first project on time, on doubtful the publisher is expecting you Chapter 27: Starting a Game Development Company 325

to light the world on fire with amazing Um, Erik, what about forming a new features not found anywhere else. corporation and office space and my What they are expecting is that you will business cards; it seems like we need conduct your company with profession- to cover this before I hire any employ- alism, and deliver what you said you ees. Yes, those are important; however, would deliver on time and on budget. I like to be sure production is rolling That will be the truest strength of your before I attend to some of these nice- team: how strong a game you are able ties. When we started Taldren the to create while remaining true to your existing Starfleet Command team first advance and time budgets. rolled straight into production on The first step of delivering your Starfleet Command II, while Zach, contract on time and on budget is being Sean, and I found office space, a payroll sure you have the right developers to company, and tended to a hundred other perform the work. details of setting up a company.

Rounding Out Your Development Team So my philosophy is to get develop- poor candidate for fear it would reflect ment rolling as quickly as possible and badly on them. then follow up with the rest of your After exhausting your personal infrastructure. I am not suggesting you contacts, the next place to look for peo- do anything illegal like not pay people ple is on web sites that are community or run without workman’s compensa- access points for different disciplines tion or liability insurance. Just move such as: through these items as quickly as you G.A.N.G. can while keeping your mind focused Game Audio Network Guild on production. P.O. Box 1001 Who are your key employees? Do San Juan Capistrano, CA 92693 you have everyone it will take to get [email protected] the job done? Hopefully the truly key www.audiogang.org employees such as your lead program- mer, lead artist, and lead designer are ProTools User Forum already filled and now you simply need Follow the links to the User Confer- more developers. ence bulletin board at the The best way to find new employ- Digidesign site: ees is through word of mouth. Perhaps http://www.digidesign.com/ you already know some developers or your employees do. As odd as it might The key benefit of using these sites is sound at first, ask other game compa- that they attract generally more nies if they know of quality recruits proactive, more sincere candidates who they have passed on for some reason. are staying up to date with their skills This will generally provide you with by interacting with others in the excellent candidates as other develop- industry. ers would be loathe to recommend a 326 Chapter 27: Starting a Game Development Company

If you still have openings after that, The final suggestion on recruiting then it is time to cast your net wider by new developers is to use one of a num- perhaps using Gamasutra (www.gama- ber of professional recruiting firms sutra.com), a strong site dedicated to such as Interact (www.interact.com). game development in general, which Recruiters are generally tapped into has robust resume and job posting better information than you and act as a facilities. giant amplifier on your personal con- In general I would not use a site tacts network. In return for identifying like Monster.com, but not because I and placing a candidate with your com- feel it is not good; in fact I would pany, they will receive a commission of consider using Monster.com for 20 percent of the candidate’s salary noncreative positions such as adminis- within 60 or 90 days of placement. tration. However, I feel the above com- While this is expensive, nothing can munity sites that are dedicated to a beat filling a position in your company creative discipline will find you much with the right person on time. Like stronger recruits. most things in game development there Another resource for finding new exists a triangle between cost, timeli- developers is straight out of one of the ness, and quality. The recruiter will new game development schools such as usually find you quality candidates DigiPen (www.digipen.edu) and The Art quickly and therefore must charge a Institute of California (see Appendix B). premium for this service. You may or At Taldren we have hired folks from may not need a recruiter. If you have a both places and have been pleased with bunch of time to fill your position, you the energy these newly minted game will probably be able to find your own developers bring to the company. Of quality candidates. However, if you are course you should only hire these folks short on time, a recruiter can help you if you have entry-level art and program- fill that critical hole before your project ming positions. You will also sometimes is endangered. Keep in mind that slip- have to put in extra work as their first ping just one month on a team project professional employer to shape their far outweighs the 20 percent recruiter work ethics and manage their expecta- fee, let alone the cost of not getting tions for the game industry. Most of the your game to market on time and tying time these folks turn out to be good up your team for another month. developers earning loyalty back and Fill your positions! forth between the company and the employee.

Where to Locate Your Game Company This is a question that does not apply to other professionally and already live in many of us when we are starting our the same city. company. More than likely the place However, there are a few things to where we start our company is where consider when deciding where to locate we are currently located. Usually the your company like local tax laws, founding employees all know each Chapter 27: Starting a Game Development Company 327

availability of talent, and proximity to visual material, you should have no game publishers. problem convincing several publishers Optimizing for tax laws may be one to come out and visit you. However, if of the more interesting ideas to think you are just a state away in Arizona, about. It is my understanding that you might have to subsist on small con- Ireland has special promotions for film tract work for quite a while before and game companies. According to my someone gets curious enough to want sources your company and your employ- to come out and see your shop. Despite ees are currently not required to pay being located in Southern California, I federal taxes in Ireland as an incentive think that this is an annoying attitude; a to bring business to Ireland. publisher should be willing to go to Similarly, there have been tax Shanghai, Moscow, or Santa Fe to find incentives from the Canadian govern- a developer, but the truth is Santa ment in the past. The South Korean Monica is a car drive away from government invests heavily in game Activision, Sony, THQ, Infogrames, companies, and I am sure there are a Interplay, Midway, Blizzard, Universal, host of places you could locate your Vivendi, TDK, Conspiracy, Crave, company to take advantage of the local Encore, Sammy, and perhaps a couple tax laws. Westwood employees enjoy more publishers that I could not recall the no state income tax in Nevada. off the top of my head. Do good work in However, at the end of the day I do not one of the three main West Coast areas believe that optimizing for tax purposes and you will continue to get good work. is a good reason to relocate your com- The other aspect of locating your pany to an offbeat locale. There is a company is to find someplace where basic reason why these tax breaks are there is abundant talent for games. offered; it is because that local economy Conveniently enough, this happens to is suffering from a lack of business in be the same place the game publishers the hi-tech and entertainment fields. are located. Plenty of strong universi- It is most important to be near ties and a deep, vibrant hi-tech industry potential publishers, especially when base are the raw materials of the South- you are starting your company. Pub- ern California, Bay Area, and Seattle lishers are risking real amounts of communities. capital on young, creative people (the Of course, there are many exam- people it takes to make games), and ples of successful game companies that more often than not they lose a bunch are not located in these areas. If you of money. For all publishers it is such a choose to live outside these areas, such relief to be able to send their producer as the game development scene in down to your shop for the afternoon on Texas, you and your employees should short notice that that alone could make enjoy the lower costs of living and be or break your deal compared to if you able to have a greater command of the set up shop in Montana. The West local development talent. Again, in the Coast is where it’s at for major publish- end you will likely start your company ers: Seattle, the Bay Area of California, around the location of your founding and Southern California. If you have opportunity. space, employees, and some good

328 Chapter 27: Starting a Game Development Company

Lawyer and Accountant Game businesses are created to enter Your accountant should also be into business relationships with other familiar with the game industry as she entities and to make money while mak- would be better able to advise you on ing games. Thus, you need a lawyer how best to handle your tax obligations and an accountant. suited to the game development busi- Your lawyer is critical in helping ness model. negotiate your contracts. When you Below is a list of lawyers and start out you will not have much lever- accountants who are familiar with the age to bring to bear, but fundamentally game industry. if someone wants to fund you, you have Accounting: some leverage. A competent lawyer with experience in the game industry Khoo & Company, Inc. will help you focus your negotiations on Eng Kuan Khoo the parts of the contract that must be 2240 Union Street, Suite 101 San Francisco, CA 94123 changed and let you know the parts you can likely let slide. At the end of the Phone: (415) 776-7998 day however, your lawyer is a vendor Fax: (415) 776-7610 providing you with a service, and you mailto:[email protected] need to make your own decisions on http://www.khoocpa.com how to best run your negotiations.T The Legal: reason I stress the familiarity with Farella Braun + Martel, LLP games is that if you get just any old E Bruce Maximov lawyer, or even a high-flying Hollywood ARuss Building, 30th Floor lawyer, he will not be familiar with the 235 Montgomery Street current trends in game publisher- SanM Francisco, CA 94104 developer contracts, and you will end Phone: (415) 954-4400 up paying him a lot of money to learn Fax: (415)F 954-4480 the ropes. http://www.fbm.comL Your accountant will organize your Y books, help you structure your busi- Fischbach, Perlstein & Lieberman, ness accounting, and of course prepare LLP your company’s taxes. As your com- David Rosenbaum pany grows you may need your accoun- 1875 Century Park East, Suite 850 tant to assist in preparing financial Los Angeles, CA 90067 statements for your capital raising Phone: (310) 556-1956 instrument. [email protected]

Team-Fly® Chapter 27: Starting a Game Development Company 329

Stephen Rubin Russo & Hale, LLP 15591 Second Street Tim Hale Waterford, VA 20197 401 Florence Street Phone: (540) 882-4911 Palo Alto, CA 94301 Fax: (540) 882-4913 Voice: (650) 327-9800 www.stephenrubin.com Fax: (650) 327-3737 [email protected] [email protected] http://www.computerlaw.com

Deciding on the Type of Company An important step you must take when Revenue Service’s tracking number for starting your game development com- your business’s financials. You simply pany is to decide what type of organiza- pay taxes as an individual on the profits tion it will be—sole proprietorship, and losses of your company. partnership, or corporation. The other non-corporation struc- First I should point out that I do ture is the partnership. It is easy to not have a law degree; my only qualifi- form a partnership. If you work with cations are that I have run a game anyone else and do not expressly docu- development shop for a few years. Also, ment him or her as an independent my comments pertain to U.S. legal contractor, employee, vendor, or client, structures; those of you in other coun- then poof! Like magic, he becomes tries will likely have similar structures your partner. For example, a successful available to choose from. game developer could grow his busi- The questions that shape your ness for five years up to the point that organizational trust are: How do you three publishers offer simultaneous want decisions to be made? How do projects. He now needs two more pro- you want to pay your taxes? What liabil- ducers to run these projects and ity do you want? What other forms of neglects for some reason to pay them flexibility do you require for your busi- an explicit salary and have them sign an ness plan? employment contract. After just a year these two new producers decide they Non-Corporation don’t like the games industry and want The two basic structures are corpora- out. Do they simply walk away? No, tions and non-corporations. I will they talk to their lawyer and come to discuss the non-corporations first as realize they are your partners and you they are the simplest. The first is sole now share the equity with them. How proprietorship: You’re the boss; hire much equity you ask? Is it one-eighth employees or not. If you are the only each? (One part for each year of service owner, you are a sole proprietor. Very from each of these individuals plus our little legal paperwork needs to be set founder.) No. They get one-third each! up. You will probably need a local busi- In fact, our hero now is a minority ness license; however, your own social owner. These two turkeys decide they security number will act as the Internal want cash and sell out their two-thirds 330 Chapter 27: Starting a Game Development Company

of the company for $100 to their neigh- compensation and golden handcuffs bor, and now our hero has lost control program. You can have some degree of of his company for $100, and he did not investor liability protection with a lim- even get the $100. Bad move. The ited partnership; however, if you are moral of the story is always, always doc- seeking capital, you will be much more ument the nature of the relationship successful as a corporation. between all people working at, working So why would anyone have a non- with, and working for your game corporation? The main thing going for company. non-corporations is the simplicity of The other large problem with a setting up shop; however, this is time non-corporation is that you are held well worth spending to be protected. personally liable for any and all debts and damages incurred on behalf of the Corporation company. This means you are person- Corporations come in three main fla- ally exposed to any lawsuit or debt the vors: standard subchapter C, sub- company could incur. This is even chapter S, and the relatively new LLC. worse with general partnerships, for in To understand what an LLC and a a general partnership each partner is subchapter S is, we must first discuss held personally responsible for any and what a vanilla subchapter C corporation all debts and liabilities incurred on is. The subchapter C corporation, like behalf of the company. For example, all corporations, is a separate legal Mary and Bob form a game develop- entity distinct from any individuals and ment company, and Bob secretly is responsible and liable for its own decides the company really needs cus- actions outright. Corporations incur tom-made desks for each employee. debts and suffer liabilities all on their This turns out to be a $50,000 expense. own without getting down into the When Mary finds out she blows her lid pockets of the officers or shareholders and declares that the company shall not of the corporation. This is a very posi- make any such purchase of custom tive quality in the eyes of officers and desks. No such luck; Mary is the proud shareholders. (Just ask any executive of owner of 20 custom-made desks Worldcom, Enron, Rite-Aid, or any of whether she likes it or not. In fact, if the other 1,000 U.S. public corporations the company does not have enough who have restated their income in the money to pay for the desks and Bob is period of 1997 to mid-2002 whether or flat broke, the woodworker has the not they would enjoy losing the liability legal right to come after Mary and liqui- protection of the corporation!) This date her comic book collection to protection from the activities of the cor- satisfy the debt. poration makes it safe enough to A third drawback with a non- encourage successful, wealthy, and/or corporation is that it is difficult to sell energetic people to become committed equity in your company, which you to the organization and make an invest- might find desirable when raising capi- ment of money, time, or both. tal or when structuring an employee Chapter 27: Starting a Game Development Company 331

Taxes So with all of these restrictions, A subchapter C corporation has the why would you form your company as a freedom to sell shares to anyone in the subchapter S? Eventually you may want world and pays its own taxes. The to go public, or you might get a foreign employees of the corporation pay their founder, and so on... That is why the own taxes on their salaries. That seems IRS makes forms; the subchapter S acts straightforward until you think about as an incubator as the best structure for being a small business owner. How the early years of your company, and would you like to make a profit at your later you simply fill out some paper- game company, pay your taxes, draw a work and become a subchapter C. salary, and then pay taxes again on that So what is a limited liability com- same money on your personal income pany—the LLC? The LLC is really a taxes? That would usually suck. So refinement of the subchapter S entity President Eisenhower pushed the without the subsidiary restriction and subchapter S entity through Congress the restriction of U.S. residents and in the 1950s to promote small business aliens. The catch with the LLC is that it activity. The subchapter S is a corpora- involves just a tad bit more paperwork tion just the same as a subchapter C, to set up. but the corporation does not pay any Buy-Sell Agreements tax! Wow! Neat. The profits the com- pany makes is simply considered the Beyond your company’s formal struc- personal income of the shareholders in ture, you should also have your lawyer proportion to their holdings in the com- draft language that describes some- pany, thus you are only taxed once! thing called a buy-sell agreement So why would anyone set up a between the major shareholders of the subchapter C? Wouldn’t Microsoft orga- corporation. This is a critical agreement nize as a subchapter S in a heartbeat? as I found out the hard way with my Well, there are serious restrictions on first subchapter S, which I co-founded being a subchapter S. First of all your before I entered the game industry. In a company may only have 35 sharehold- nutshell, the buy-sell agreement han- ers, effectively preventing you from dles the procedures that will be taken raising capital through the public equity when a major shareholder leaves the markets. Furthermore, a subchapter S company through choice, termination, may only have U.S. citizens and resi- death, illness, or injury. It is critical to dents as shareholders. This might be a have this in place before the time problem if a key founder of your com- comes to handle the individual’s exit. pany is foreign. Also, the shareholders At the time of exit it will be too late to of a subchapter S must be individuals handle the situation with grace, for the and not other entities such as other stakes are too high and the drama is corporations (with the exception of cer- happening in real time. Believe me; tain trusts). Finally, a subchapter S may work this out when everybody is all full not own any subsidiaries. of good cheer at the start of the game company. 332 Chapter 27: Starting a Game Development Company

Insurance Workman’s Compensation Liability Insurance If you will have employees, you will Any good corporation should have a lia- need workman’s compensation insur- bility insurance policy to handle minor ance. The good news for us is that our legal scrapes and other complaints rates are very low as we employ people against your company. Usually this is to just come in and sit down and enjoy paired up with fire, theft, flood, and themselves. No lifting or physical activ- other disaster protection. ity is required for a game developer! Liability insurance is not a strict Your accountant will likely be able to legal requirement as in the case of get you in touch with a good insurance workman’s compensation insurance; broker. however, this is the kind of insurance This insurance is absolutely you want to buy! required; if you are not prepared to pay for it, then you are not prepared to employ people.

Employee Compensation Programs Employee compensation is the most heavily motivated to reduce costs pleasurable part of the legal/business through hiring young, inexperienced side of running a game development (cheap) developers. This is fine, it is a company. I suppose selling your com- tried-and-true strategy; the problem pany for tens of millions of dollars was the company did not have a consis- would feel good too, but I genuinely tent pay scale. They would pay one enjoy trying to figure out how to best person $12 an hour and another $8, motivate and reward my people. where the $8 guy was performing at a Like a lot of things, when designing level far above the $12 guy. And some- your employee compensation plan, you times they paid $20 or even $25 an must figure out what your true goals hour for other developers who were in are before you make any decisions. turn less capable than some of their For example, getting strong $10-an-hour guys. This creates a host employees at low salaries is great; your of problems: People have a sense of company will increase its profit margin. fairness, and if they find out that Bob is Maybe that is a goal for you—low sala- earning more than they are and they ries (low costs). Fair enough, no know they are outperforming Bob, you company would express as a goal to have just created a disenfranchised have high costs. However, the interest- employee, and it will be extremely diffi- ing question is how you will achieve cult to regain that employee’s your goal. For example, I once worked confidence and productivity. at a game development company that My solution to that problem is to was very short on cash flow and was establish an internal pay scale that fits Chapter 27: Starting a Game Development Company 333

your finances and then stick to it. For ability to absorb more and more tweak- instance, if I accidentally printed out ing and improvement. When can you the salaries of everyone at Taldren and really say a game could not stand it got posted over the water cooler, no another tweak, feature, asset, or one could be offended. (You will always improvement? A film, on the other have some people who have a differ- hand, as a discrete piece of art that can ence of opinion with you, but as long as be viewed and thought about, could be you are consistent in applying your pay declared more comfortably finished scale it will be a defensible and com- than a game. fortable payroll report. And at the end It takes a long time to master a of the day, if someone is still bent out of craft, and in the case of games, every shape and I honestly feel that they are two years you must reinvent your tech- being compensated fairly, I don’t worry nology, forcing you to always chase about it.) mastery. This alone dictates the model The standard is of course to pay a of making solid hires and retaining good salary. You could pay hourly, but I will people for as long as practical. be blunt and honest: To be competitive So how much should you pay your and successful in the game industry employees? The honest answer is that especially when you are starting up your no one really knows; it is like the stock game company, there will be a lot of market. Certain positions like lead con- overtime and it will be difficult to pay sole programmers tend to make a bit people for all those overtime hours. more money than a texture artist, The counterpoint to this sugges- although I am sure there is more than tion is to have all independent contrac- one lead console programmer in the tors working for you on a 1099 basis. world earning less than some texture This is apparently how the overwhelm- artists. You have your financing from ing bulk of production work is done in somewhere, seed money or your first Hollywood, where a production studio deal—that is your budget. Be honest casts their net out wide pulling in inde- and go out and find the strongest peo- pendent contractors to perform the ple you can within your budget. I am work when there is work and then lets sure that if you have a solid manage- them go again when there is no work. ment team and a good attitude, you will This cycles on forever. This also occurs attract some good folks to work with in the art production houses in the you no matter what budget you have to game industry. I have also been advised work with at the beginning. to structure my business that way. I There are salary surveys that float fundamentally disagree; I feel you around the industry, and I cringe some- should work hard to create a highly what when newcomers see the salary motivated well-oiled game production surveys and go, wow, I am a program- company. Games are different from film, mer; I will make $80,000+. Yes, it is and what works for film may not neces- true there are many game program- sarily work for games. Games are so mers who earn $80,000 a year and much more flexible than film in their more; however, they all started at a 334 Chapter 27: Starting a Game Development Company

much lower rate earlier in their career. reasonable salaries for people with rela- The problem with these surveys is that tively modest experience in the game they tend to be skewed towards the industry. more established developers and inter- Notice you have just a five-person nal publisher teams that answer these team and only six months to execute surveys. your games; here again it is of the At the risk of being crude, I will utmost importance to design your throw out some rough figures for a games to fit your business parameters. start-up game company. If you are a small start-up in Oregon and have a Medical/Dental/Optical/IRA $300,000 annual budget and you need After you have sorted out your salary to perform two GBA titles, you are in a levels, I suggest setting up your tight position, but you have to start employees with health and dental bene- somewhere (GBA title budgets are usu- fits. This is pretty much normal at any ally $200K in North America with only development shop, although you might the most well-known GBA developers be thinking of cutting corners when you getting $500,000 for a single title; so on are starting up and feel this is a luxury your first title you might be happy to you could provide later. I disagree; get $150,000). If you turn around each health care is expensive and only more project in six months, you will need at so when the individual is forced to least two programmers, two artists, and secure it on her own without the bene- a designer/producer. Assuming you fit of negotiating as part of a group plan. have a very low overhead ratio, call it If at the end of your salary plan you do 20 percent, then you have a salary bud- not have enough money to provide get of $250,000 without considering some level of medical and dental bene- bonuses. So your salary plan might look fits, I strongly urge you to trim back like this: your salaries enough to allow this cov- Lead programmer: $55,000 erage. Your employees will appreciate it Programmer: $40,000 and immediately feel a lot more com- Lead artist: $50,000 fortable with the professionalism you Artist: $35,000 provide with a full medical benefits Designer/producer: $45,000 package. You may still choose what level of compensation you will pay This would leave $25,000 spare for towards the package, and there are end-of-the-year bonuses or slippage other choices to make, as your insur- money. It is always a good idea to have ance broker will be able to offer spare money. These are actually disability and other products. Chapter 27: Starting a Game Development Company 335

401K/IRA/Retirement Benefits of the milestones. The condition here is One benefit that I feel is a luxury is a the timely delivery of the milestone; 401K or SIMPLE-IRA plan; these are again, a single employee may do a great retirement plans where your company job and still be unable to collect the has the option to contribute some bonus because as a group we were late. matching funds towards the employee’s The effect I hope to deliver to my team retirement account. We have a is that this is a group effort. The bonus SIMPLE-IRA plan at Taldren. We should not be overly large, or you could started it up after one year in business, potentially cause people to rush their and there was a tangible increase in work at the risk of quality. morale after the introduction of the pro- Royalties gram. Again, the folks here felt more comfortable and reassured that we are Older than project completion bonuses a professional organization. are sharing the project royalties among the employees. This worked much Project Bonuses more often in the past when game bud- A time-honored tradition in the game gets were in the $75,000 to $150,000 industry is to provide a completion range. Now the costs of most games bonus in the range of 5 to 20 percent of are so large that they do not recoup the employee’s annual salary upon the their advances, and all of the promised final acceptance of the completed pro- royalties do not happen. I am a great ject. This is a good bonus program believer in delivering on the expecta- because it drives people towards com- tions you create, so my advice with pleting the game. One problem I have project royalties is to not promise them with the completion bonus is that if the until they actually happen. If there is no project slips beyond the employees’ expectation, there can be no disappoint- control they could become frustrated as ment. This may be a problem for some they see the money running away from start-up development companies as them. Furthermore, if they thought the they do not have enough budget avail- project would last a year and then it able to pay salaries so they turn instead lasts 16 months, their bonus has effec- to project royalties as a form of regular tively been diluted. I do not disagree compensation. Nine cases out of ten with the completion bonus, but I feel it you will only succeed in burning should not be your only bonus program. morale. Sure, if you make a breakaway hit and you are packing away the roy- Milestone Bonuses alty checks, share the good fortune, but As a milestone developer you make my advice is to not overhype the royal- money when you deliver milestones to ties until they happen. the publisher and they are accepted and Stock Options paid. I have to admit I am partial to extending that business model down to Stock options, on the other hand, I do the employees in a minor way by feel are an honorable compensation attaching a bonus to the timely delivery instrument even for small, privately held development studios. Stock 336 Chapter 27: Starting a Game Development Company

options for a private company are not Take the time to educate your immediately liquid; however, if you do employees on the mechanics of your sell your company to a publisher some stock option plan, as it will likely be time in the future, it is a nice gesture to their first experience with options and recognize the unique contributions of they might be too shy to admit they your employees with some equity. have questions about how they work.

Trademarks and URLs You should of course trademark your would “get it” the first time they heard company’s name and logo as well as any it. significant chunks of intellectual prop- Basically, if you have a mark or a erty you own. Again, this is an area brand you want to protect, wrap a ™ where your lawyer will make the pro- around it while you await the results of cess painless. I can offer this much the trademark search. After a period of advice: Try not to found your company time you will be told whether or not with simple names like Studio One as you may go ahead with the ®. The © no doubt the URL has been taken and stands for copyright and you should the trademark office will already have a attach that to any document you create lot of similar sounding company names unless you are in a work-for-hire that could potentially confuse the con- arrangement. And even then it is com- sumer. Best to think of some word that mon to own your code outright and is not an English word, yet people provide the publisher with an unre- stricted license.

War Chests Finally, without ever losing the magic success in hype created and not wealth in your heart for the beauty of games, creation. For a short while you can never forget that you are running a spend hype, but it is not very liquid and business. A business primarily exists it will disappear all too quickly. to create money. It might make money You have to start somewhere, and unethically, ethically, in an environmen- for most game developers we have tally friendly manner, or any other way, modest starting points. No matter how but at the end of each day your com- modest your early contracts must be to pany has been created to make money. get started, structure your deals and That seems like an all-too-obvious company expenses to make money off statement; however, looking at the each of your games. Your advances dot-com bust of the 1990s you will see must be large enough to cover your that American business lost track of costs as well as provide a small profit to the bottom line and measured business add to your war chest. Chapter 27: Starting a Game Development Company 337

Game development can sometimes quality of your projects, contract lan- be a grim game, where you and your guage, and ultimately your profitability guys work hard against milestones that will be directly related to the amount of pay 90 to 110 percent of your costs cash you have in your war chest. With- until the day you encounter a tough out it, when you need the cash badly to problem, such as no follow-up project, pay the next payroll, you have no nego- grave project slip, or a failed publisher. tiating room. You must work towards building a Earning money is easy, just work; war chest. Your goal should be to first it is the saving of money that is truly have one extra month of burn rate, then difficult. There are always a bunch of three months of burn rate, then six compelling things that you must spend months, and finally a year of burn. I money on at any stage of your com- would imagine after you have piled up a pany; however, I sincerely advocate year’s worth of cash, you could enter- being as frugal as possible without tain investing in other ventures rather impacting productivity, and build that than socking away more cash. War war chest! chests cannot be undervalued; the

This page intention ally left blank

T

E A M

F L Y

Team-Fly® Chapter 28: Outsourcing Music 339

Chapter 28 >>>>>>>>>>>>>>> Outsourcing Music

“Audio is one-third the game!” —Tommy Tallarico

Music for Games As in the movie industry, music is a pops in a CD of her own to listen while critical component of a successful playing your game. game. It is the mood and tempo of the Presumably I do not need to spend music that will add the elusive quality too much time convincing you to put of emotion to your game. With all of the music in your game. I just wanted to be visual information a game pumps out to sure you know how important music is the player, the ear is a critical channel to your game. Any range of human to reach deep into the player’s soul to emotion may be nurtured and rein- enthrall the player. forced through music: love, loss, hate, For me the eerie percussion fear, and triumph, just to name a few. instrumentals of MechWarrior 2 evoked The music you commission for your the strongest response from me. I can game should have the whole range of recall only fragments of individual mis- game experience in mind. For every sions, but it is the haunting, militaristic major event/situation/level/experience beats of Mech II that I keep on my per- in your game, ideally, a musical piece sonal jukebox. And whenever I hear the should be there to flesh out the experi- beat I have a fierce feeling of belonging ence and make it complete. to a clan of warriors—a clan of mech warriors in the 31st century striving to When to Think About Music become Khan. The music evokes Most games have many challenges: images of life and death struggles on time pressures, budget constraints, fat distant planets...ahem. Where was I? technical risks, original game mechan- Oh yes, music in games. Strong, evoca- ics to tweak. Coming up with good tive music is as vital as strong original music is just not as challenging gameplay to make a complete experi- to the producer as the rest of the game ence. Bad music, on the other hand, project. Simply carve out what you can may be so detrimental to your game from the audio budget for music, find a that the game experience suffers, or at competent composer, tell them the bud- best the player turns off your music and get and deadline, and collect your tracks when they are done. 340 Chapter 28: Outsourcing Music

The issue I have with this approach TOMMY TALLARICO SAYS: For some to game music is that it is haphazard. reason audio doesn’t seem to be taken As I pointed out at the beginning of this as seriously or respected as other parts chapter, music is a critical aspect of the of a game. This is quickly changing now game to develop emotional bonding that we have live orchestras and 5.1 with the player, so why short-change digital audio playing. the game with a rushed job? Another interesting thing is that one There is a tendency for people to of the reasons people dealt with audio believe that early in the project there last was because they have in their will not be enough visible or demon- heads (from the movie and TV indus- strable to articulate well to the tries) that sound is POST-production. This just isn’t the case at all with audio composer the game experience. for games. Another reason I have heard is if you give someone too long to do the job, Music Formats they will charge you more! (Only the Switching gears from the philosophical reverse could possibly be true; give to the practical, I should take a moment someone time to fit it into his down- to outline the formats of music that are time and perhaps you would be able to typically employed in games. get a discount.) n MIDI—Musical Instrument Digital In the budget planning stage you Interface is a format whose specifi- should involve your composer if at all cation is published by the MIDI practical. By starting this early, the Manufacturer’s Association composer may be able to point out to (http://www.midi.org). MIDI is more you options you did not know you had than just a data format for music; it and thus be able to modify the budget is actually three components to the when it is still in its malleable phase at MIDI specification, which are the the start of the project. Even without communications protocol (lan- jumping into the work directly, the guage), the connector (hardware composer is respected as a project interface), and a distribution format stakeholder and thus will naturally have called Standard MIDI Files. For greater buy-in and, more practically, your purposes as a producer of a will be able to munch on creative game, you are really only inter- thoughts for your game in the back- ested in what the data format can ground until it is time for music do for you. composition to formally begin. Perhaps the composer will keep his ears open The MIDI format is a bit different from for new sounds and equipment that will other methods of digitizing music. It lend themselves well to your project. In does not attempt to digitize sound at short, talk to your composer and con- all! Rather, MIDI digitizes, or encodes duct your relationship with him as a into a binary format, commands such as two-way street, not just a request for note on, note off, and note velocities bid from a collection of vendors who that are comprehensible to a MIDI- will do a quick job at the lowest price. capable device. What does this mean, Chapter 28: Outsourcing Music 341

and why should you care? MIDI files digitized sound snippets along with the are very, very small. How small? A musical score: MIDI file I have close at hand happens n XMI—a more powerful version of to be 2 minutes and 24 seconds long MIDI where the instrument sam- and requires just 8 kilobytes to store. ples are built into the music file. Compare this to an MP3 of “With a Lit- This results in a musical file that tle Help from My Friends” by the sounds the same on any compatible Beatles that requires 2.75 megabytes of playback device. space for a 2 minute, 44 second song. n SF2—Sound Fonts, created by Thus, a MIDI file is roughly 350 times Creative Labs for use on their smaller than an MP3 and roughly 3,500 sound cards. Sound Fonts are sets times smaller than straight digital of digitized instruments that are audio! downloaded to the playback device. The catch with MIDI is of course Thus, a musical file created for use quality. Anytime something is 300 to with Sound Fonts will only sound 3,000 times less expensive than some- the same on other devices that also thing else in terms of space, money, or have the same Sound Fonts time, quality must be compromised to installed. achieve that savings. The resulting n SBK—Sound Bank, a similar and quality of a MIDI file is determined competing standard to Creative more by the sound samples the playback Lab’s Sound Fonts. device is employing to replicate the n composer’s musical instructions. Tracker—a set of related sound The days of MIDI music for main- formats: MOD (Module), XM stream games have passed within the (Extended Module), IT (Impulse last few years as the capabilities of the Tracker), STM/S3M (Scream consoles and PC have soared and Tracker). These originated on the production values have increased dra- Amiga and were popular in early matically. MIDI will remain a most DOS-based computer games. They compelling format on any platform contained built-in sound samples where memory and storage are a pre- with the sequence information sim- mium such as mobile phones, PDAs, ilar to the XMI format, but it was and handheld consoles. up to the computer CPU to mix the samples together to create the What Is Better Than MIDI? music. In the old days the better So if MIDI is limited in quality by being quality the tracker file was, the a mere set of instructions for instru- more taxing it was on the CPU. ment on and off, what would be a Lots of early used reasonable way to improve the quality? these, including Unreal and Unreal The direction of improvement Tournament. would have to lie along the road of All of these formats sound better than incorporating actual sounds with the MIDI but at a cost of either a signifi- musical instructions. Four different for- cantly larger music file or the require- mats have been developed to varying ment to distribute and install a sound degrees of success by encoding font library on the target machine. As 342 Chapter 28: Outsourcing Music

memory and storage become less and people often casually use the less expensive, these costs dwindle phrase “WAV file” to mean sound away into little concerns on modern effects. consoles and PCs. n ADPCM—Windows standard audio format, which is a compres- Digitized Sound Formats sion algorithm on top of the WAV Sound effects like explosions tend to be format. noisier and more complicated than n VOC—A predecessor to WAV for musical scores. This would explain why Sound Blaster cards. It was used in you cannot recall the last time you the early DOS days. heard a MIDI explosion. n CD/Redbook Audio—Redbook JARGON: Compression techniques that audio is the format used to record throw away bits of information such as commercial music CDs that con- JPEG for images are termed lossy,asin sumers purchase. Thus, Redbook to lose information. Conversely, com- audio enjoys the status of having pression techniques that never throw away information are termed non-lossy. the highest standard of quality accessible to consumers. As the At first glance, why would anyone want CD format for games became a lossy format? What could possibly be widely accepted, there was plenty good about throwing away information? of storage on the media to hold the The answer lies in the whole point of beefy Redbook audio files. How- compression: to make something ever, now the production values of smaller. If we’re trying to make a chunk the rest of the game have grown a of information smaller (images, music, voracious appetite for more storage sound effects, it does not matter), we space. The heyday for Redbook might be clever and achieve some effi- audio on the game CD has for the ciencies, but to truly scrunch the most part passed on in favor of a information down we will have to toss much more popular format, a for- out information. mat that is twelve times smaller Any form of lossy compression for than Redbook audio with nearly sound effects will strip the richness and identical quality: MP3. depth of the sound effect, creating a flat n MP3—Otherwise known as Mpeg sound. That is why the sound effects 3. By now everyone is familiar with side of game audio has enjoyed a larger MP3. The MP3 standard would budget of bytes over the years. Only in seem like it is free and open, but recent times have we moved to fully the truth is that the MPEG devel- digitized sound formats for music. In opment group manages the devel- fact, MIDI could be said to be aggres- opment of the MP3 standard. An sively lossy, as it throws away almost interesting detail is that the Fraun- all bits of information of how the real hofer Institute is the principal instruments should actually sound. source of engineering behind MP3 n WAV—A very popular format for and, along with Thompson Multi- digitized sound and so widely media, holds some 18 patents cov- employed for sound effects that ering a wide spectrum of the MP3 Chapter 28: Outsourcing Music 343

technology space. This means that n WMA—Windows Media Audio, most any commercial exploitation Microsoft’s answer to MP3, of the MP3 format appears to be includes integrated support for dig- liable for a royalty to Thompson ital rights management. Windows Multimedia. Looking up the rele- Media Audio is a portion of the vant information at http://www.mp3li- codec that combined with Windows censing.com/royalty/games.html, it appears Media Video is called simply Win- that there is a $2,500 fee for games dows Media. For a complete that distribute files in MP3 format. overview of the tools and technol- This fee is waived if you sell fewer ogy behind the Windows Media than 5,000 copies or as an entity site, visit http://www.microsoft.com/win- you gross less than $100,000 a dows/windowsmedia/technologies.asp. year. Microsoft boasts that their com- Full technical details on MP3 pression is better than MP3 and are found at the Fraunhofer Insti- RealAudio and offers a whole suite tute: http://www.iis.fhg.de/amm/techinf/ of tools for the creation, manipula- layer3/index.html. tion, playback, and distribution of To address piracy, the Fraun- media files. hofer Institute has been working n RealAudio—Another competing with others such as the Secure standard similar to MP3 and WMA Digital Music Initiative (SDMI) to from RealNetworks. I tried hard to create the Audio Scrambler which find information on the RealNet- selectively encodes bits of the works site for some technical infor- music stream with annoying noise mation about RealAudio; all I could that will only be properly decoded find is commercial messages and with the right key. Check out information relevant to a user of http://www.iis.fhg.de/amm/techinf/ipmp/ their playback and recording soft- scrambling.html for more details on the ware. However, RealNetworks also Audio Scrambler. offers tools for both the creation The other technique is water- and playback of rich media files. marking for digital rights manage- TOMMY TALLARICO SAYS: Don’t for- ment. This may be used to develop get Yellowbook or streaming audio. This proof of ownership, access control, is by far the most widely used way of and tracing illegal copies. For more doing music now and in the future. The details, see http://www.iis.fhg.de/amm/ newer platforms are also able to have techinf/ipmp/water.html. multiple streams playing at once and mixable on the fly depending on the action.

How Do You Break Down the Music Bid? Game music ranges quite a bit in cost, (synthetic or live), and the total influenced by the composer’s experi- minutes of music purchased. ence, the choice of performance Most of the music work offered to composers is work for hire without any 344 Chapter 28: Outsourcing Music

royalty arrangements. The more suc- do not require music to be played cessful composers such as Tommy throughout the experience. Tallarico have made strides in correct- Games are also not rock videos, ing that with bonuses when games and a constant stream of music is not reach different sales targets. Whether only unwarranted, it is not desirable. or not the composer has other distribu- Rather, the music must be placed to tion rights beyond the game is a matter support the action, tension, and drama of negotiation with the publisher of the you are developing in the game. game, the usual winner in that discussion. Score Music for Triggered Events Music created by a North American Take Pac-Man, for example; for the composer and delivered in high-quality most part there is a steady-state drum- synthesized MP3 or other digital for- ming of the wakka-wakka sound effect mats runs between $600 and $1,500 per as Pac-Man eats the dots. When minute, with $1,000 being the industry Pac-Man eats the power-up, a short, norm. So what does $1,000 for a minute fast-paced aggressive musical tone of music mean? reinforces the comical terror of the Most AAA games have the game- now-dark blue ghosts on the run from play hours running at about 15 to 25 Pac-Man. hours; we will call it 20 hours. (Usually Another example is the simple act you do not count multiplayer or user of Mario picking up a star in Mario64, extensibility options such as map triggering what is called a short musical editors in gameplay hours. Only the sting. These are important aural rein- single-player experience is used to forcements for a game action. calculate gameplay hours.) Does this Exploration and Ambient Music mean you need to commission 20 hours of music, which would be 20 hours x 60 Ambient music is scored for the slow minutes x 1000 = $1.2M of music? Um, periods of gameplay that you need to no. While there have certainly been have between the action sequences. game budgets large enough to accom- This music should not be too driving or modate that figure, that would be an distracting; rather it should reinforce outrageous amount of original music. I the aesthetic mood or setting in the doubt that many composers have 1,200 game. For example, if you were making minutes of great music on tap and ready a game with intrigue between two rival to hand over to you. I would guess that warlords in feudal Japan where the many composers would be happy if character plays the role of an intrepid they produced 20 hours of quality ninja assassin exploring the rival war- music in their professional careers! lord’s castle in the middle of the night, I Movies are scored throughout their think the haunting sounds of the Japa- 110 minutes of playtime with the usual nese shakuhachi would be the perfect action films using popular rock sans instrument for the job. Liberally scat- vocals and dramas using classical com- tering doses of exploration music with posers with long stretches of muted dollops of silence mixed in between is music. Movies are not rock videos and great for the important quiet periods of the game. Chapter 28: Outsourcing Music 345

Chase/Battle/Hunting Music How Many Minutes Do You Really This is the fast-paced hard-charging Need? music that is reserved for the most Here is how we have broken down our exhilarating moments in a game. While musical minutes for our upcoming this music is critical to nail, it is impor- action/RPG Black9: tant not to overdo it and use it too World Setting 1: liberally. If you do, you will totally spoil 6 search and/or ambient songs @ 1:30 the impact when you really need to get minutes = 9 minutes the player’s blood pumping. 4 chase and/or battle songs @ 1:30 = 6 Jump Lists minutes 5 musical stings @ 5 seconds = 25 Each game handles its music differ- seconds ently. However at a high level, many 3 cinematic songs @ 1 minute = 3 AAA games employ some sort of con- minutes text-sensitive music track switching. The specific technology employed World Setting 2: determines its name; for Starfleet 6 search and/or ambient songs @ 1:30 Command we used very small seg- minutes = 9 minutes ments of just eight seconds each and 4 chase and/or battle songs @ 1:30 = 6 jumped around dynamically in real time minutes relative to the amount of combat action 5 musical stings @ 5 seconds = 25 the player was facing in the game. So seconds we called it jump lists. 3 cinematic songs @ 1 minute = 3 You need to determine how you minutes will transition between musical tracks World Setting 3: and have that information handy at the 4 search and/or ambient songs @ 1:30 start of your talks with the composer. minutes = 6 minutes Menu Music 4 chase and/or battle songs @ 1:30 = 6 This upbeat but vague music is the minutes equivalent of the credits music in a 4 musical stings @ 5 seconds = 20 movie. This music needs to have seconds enough aural impact to help overcome 2 cinematic songs @ 1 minute = 2 the relative lack of action as the player minutes clicks through the menus. Menu Music TOMMY TALLARICO SAYS: 5 minutes of theme music = 5 minutes Cinematics are becoming a very impor- This is a total of 53 minutes of music tant role in the storytelling aspect of a planned for a game with about 20 hours game. For FMV movies (mostly used in of gameplay. Taking the industry aver- intros, between levels, and ending cred- age of $1,000 a minute, we will expect its) the composer is able to completely to pay about $50,000 to $60,000 for the score right to the picture. music in our game. 346 Chapter 28: Outsourcing Music

I think this is a good value when distance to the Salt Lake Orchestra. you consider that the music industry How much will it cost to have your would typically advance a new, upcom- music performed by a live orchestra? It ing group $100,000 to $500,000 for varies by the venue and number of their first record. You will get music players of course, but a nice round composed by a professional, custom number would be $25,000. designed for your game, and you will TOMMY TALLARICO SAYS: Another have the distribution license for the thing I think is important to say is that material. A good deal I think. the nonunion buyout orchestras in Europe are the least expensive. The Live Performance? easy calculation is to add about $1,500 Ever wonder what all those folks who per minute of music to your budget. were studying violin and the tuba were Depending on which orchestra you use going to end up doing after they gradu- that number can easily go up to $10,000 ated college? I wondered. Sure, if they per minute. turned out to be Yo-Yo Ma, life is good, You may also say that for one hour of an orchestra’s time, the composer but what about the rest of them? I don’t normally budgets for three minutes of know about you but I have only been to finished music per hour of orchestra the Hollywood Bowl a handful of times, time. and I grew up within walking distance When live orchestra is used it’s not of the bowl. Well, it turns out the world just the players/musicians that get hired. has quite a bit of work for professional You need an arranger (arranges each players of classical instruments. part for every instrument), a copyist Movies, television, and games have all (writes out all of the music for every part benefited from live performances, most of the orchestra to play), a conductor, an engineer, and a studio. You could often directed by the composer. How have a great orchestra and a crappy much does a live performance cost? For room (studio) and it will still sound horri- Starfleet Command I, Ron Jones, our ble. Rooms are VERY important when composer, considered flying out to recording live orchestra. Prague to hire the world-famous but With permission from Bill Brown, here apparently inexpensive Prague Orches- is a survey on the use of live orchestras tra. In the end, Ron did fly, but a short for games. Chapter 28: Outsourcing Music 347

USING LIVE ORCHESTRA FOR GAMES by Bill Brown

This article is a gathering of thoughts and news items from various sources regarding the use of live orchestral soundtracks and chorus in games with information for developers, publishers, and composers alike on the benefits of recording with live orchestras. Many of the games listed here have already seen very successful press and great creative results—with a tangible, positive impact on game and game soundtrack sales. Emerging markets for soundtrack sales are currently being pioneered by G.A.N.G. in brand new territories and markets. G.A.N.G. has already convinced a major national retailer to create soundtrack displays in sections where games are sold, exponentially raising awareness of game soundtracks to potential buyers. The intention of this presentation is to create an ongoing resource to educate and bring aware- ness about the benefits of using live orchestra for games. G.A.N.G. members are invited to submit orchestral game music news to Bill for future updates to this page.

Orchestral Soundtracks—Ancillary Market Opportunities: When your soundtrack is recorded with a live orchestra, you automatically create media interest and word of mouth—people appreciate the immersive effect live orchestra brings to the experience. Filmmakers have known this for years—MIDI scores cannot compare to the magic that happens when an orchestra is hired to perform a soundtrack. Standalone CD Soundtracks Soundtrack sales can quickly recoup session costs and can continue to bring in revenue for both the composer and publisher for years beyond the life of the game. Marketing campaigns Movie trailers, TV, and Internet promotion create community “buzz” and word of mouth via the Internet and between gamers—selling more games—exponentially. A big orchestral score is news, and news equals sales. Bundling Opportunities Pre-Sales, Extra Features, Licensing Opportunities—Simultaneous release with game SKUs in new markets, or with simultaneous marketing campaigns (as in the case of the major motion picture The Sum of All Fears and the game of the same name, released in conjunction with the film).

NEWS FROM THE FRONT LINES:

Clive Barker’s Undying: Bill Brown—Composer: (Excerpt from Gamasutra’s Game Audio Gallery feature) “I was set to record a live chorus for a Game Boy commercial spot a couple years back and had just started talking with DreamWorks about Undying which later became Clive Barker’s Undying. The day we were going to go record the chorus, I wrote a few ideas down that seemed to fit the mood of Undying, drawing from both Latin and Gaelic text that seemed to fit and brought them along just in case we had time to fit in a few lines. We recorded in a big church in the valley, which was noisy, but had a big sound to it. I just sang the

348 Chapter 28: Outsourcing Music

4-part harmony to the separate sections and then conducted them all wild to DAT (with no accompaniment). So I brought those tracks back to my studio and experimented with them. I arranged orchestra accompaniment around the vocal parts using my synths and samplers here. A year later, I was finally working on the project, and it all fell together in about three weeks of writing. This is a very good example of the wonderful results that can happen just by involving your composer as soon as your project gets the green light!” Undying was nominated for the prestigious British Academy of Film and Television Arts (BAFTA) 2001 Interactive Entertainment Award in the Music category. “The music was very well-integrated into the game, successfully matching and enhancing the uncomfortable feel, helping to build the participant’s tension at critical moments in the narrative. Intelligent sound woven into the fabric of a filmic genre.”

Tommy Tallarico on Evil Dead; “My only fully live orchestra gig was Evil Dead (PS, Dream- cast, PC) for THQ. I used the National Hungarian Symphony Orchestra (64 pieces) and the Budapest Chamber Choir (30 people—15 male/15 female). I wrote the entire vocal score in Latin. I used Steve Salani’s services at Forte Music. It was a VERY inexpensive alternative. Although the quality isn’t as good as the stuff I’ve heard from Jack, Jeremy & Michael, it is definitely better than MIDI (in my opinion).T The voices were really incredible!! I would highly recommend people use the choir!” E A M

F L HEADHUNTER records in London Y Abbey Road’s famous Studio One has played host to innumerable big-budget orchestral recordings for film, but the final session before its refurbishment in 2001 saw it being used for a new purpose: to record the soundtrack for a . The publishers of HEADHUNTER understood the business model for making money back by releasing the score soundtrack—which is still a huge seller in Japan. This commitment on the publisher’s part opened a floodgate of creativity to flow into the scoring and implementation of music in the game. Our hats are off to composer Richard Jacques and the entire team!

Team-Fly® Chapter 28: Outsourcing Music 349

Orchestral Composers—GDC Chance Thomas speaks out at the 2002 GDC orchestral seminar: The GDC program stated: “The live symphony orchestra is the palette of choice for many of today’s top games. No amount of technology can match the magnificent power, range, skill, color, and sheer emo- tive strength of a live orchestra. With current game systems capable of delivering high-quality digital audio interactively, developers are increasingly turning to the orchestra to breathe life into their games. This GDC session offers education and informative discussion on just what it takes to produce a live orchestral game score.” Couldn’t have said it any better ourselves! Chance was joined on this panel by fellow composers Jeremy Soule and Jack Wall. Read Jack Wall’s white paper “Using a Live Orchestra in Game Soundtracks” originally presented at the 2002 Game Developers Conference.

The panel exposed the benefits of releasing soundtracks independently from the game itself. Chance Thomas’s soundtrack for Quest for Glory V is a great example of the potential bene- fits. The soundtrack was released before the game and included a playable demo of the project. They sold 50,000 copies of the soundtrack and made $500,000 from soundtrack sales. Chance said, “Music is the language of emotion. We draw people in.” Ironically the soundtrack outsold the game. Quote from gamesdomain Quest for Glory V review: “The music was very well done, Sierra knows this is one of the highlights of the game, which is why they are selling the soundtrack.” More ideas from Jack Wall—Composer: Myst III Exile: (In regard to using live orchestra)... “The way I got Myst III Exile going was I talked up ancillary markets to the producer and to the marketing department. If you have great sounding music, you can sell this music as a standalone CD, you can use this music in your marketing campaigns, etc. They used the heck out of me for Myst III Exile. I basically crafted about 80% of their entire launch marketing campaign for them. It took a lot out of me, but obviously, it was worth it. They put the music on United Airlines flights. They used the Main Title in the trailer that played nationwide in movie theaters. But, more directly, I think it’s how to educate publishers and developers that it will truly translate into sales—That’s the bottom line!” Read Jack’s Myst III: Exile article “The Evolu- tion of a Videogame Soundtrack.” 350 Chapter 28: Outsourcing Music

Medal of Honor Allied Assault and Medal of Honor Frontline Scores Recorded in Seattle

The next two scores for the DreamWorks Interactive Medal of Honor Series are complete. A 95-piece orchestra was used for the recording, which included a full choir. Michael Giacchino —Composer.

The Academy of Interactive Arts and Science Awards Medal of Honor Underground Best Original Score

At the 4th Annual Interactive Achievement Awards, Medal of Honor Underground won in both categories in which it was a finalist: “Outstanding Achievement in Original Musical Composi- tion” and “Outstanding Achievement in Sound Design.” When you hear the phrase “video game score,” what do you usually think of? MIDI? Eric Serra-style synth? Synthesized orchestras? Drum machines? How about “fully orchestral John Williams-style action scores?” Finally, the orchestral score has migrated to video and computer games, with the release of Medal of Honor. The game, based on the film Saving Private Ryan, was authorized by Steven Spielberg and turned out probably the best game music score ever heard up to this point. The music is in the percussive, swashbuckling vein of John Williams and it conjures up images of his Indiana Jones scores… Michael Giacchino—Composer.

Outcast Nominated for Aias Best Original Score 2001

The 60+ minute score recorded with a 105-piece Moscow Symphony Orchestra and Chorus was one of three finalists for the 2001 AIAS award for Best Original Score. Lennie Moore—Composer. Infogrames subsequently released Outcast as a stand-alone soundtrack and marketed that soundtrack through their official web site. In 2001, in collaboration with Vivendi/Universal a re-mix CD was released which incorporated the soundtrack from Outcast into re-mixes done by European artists. Chapter 28: Outsourcing Music 351

2002 Aias Outstanding Achievement in Musical Composition Nominee—Myst III: Exile AIAS nominates score for Myst III: Exile for 2002 “Outstanding Achievement in Musical Com- position” award. The score for Myst III was recorded with the Northwest Symphony in Seattle. Jack Wall—Composer. Myst III: Exile’s score won the Game Industry News’ Best Soundtrack award for 2002.

Game Soundtracks Using Live Orchestra and/or Live Chorus: Sovereign (not yet released) Jeremy Soule—Sony/Verant Hitman 2 (not yet released) Jesper Kyd—Eidos Microsoft Medal of Honor: Frontline (5/2002) Michael Giacchino—DreamWorks SKG Headhunter (5/2002) Richard Jacques—Sega Medal of Honor: Allied Assault (1/2002) Michael Giacchino—DreamWorks SKG Myst III: Exile (5/2001) Jack Wall—Mattel/Ubisoft Azurik: Rise of Perathia (11/2001) Jeremy Soule—Microsoft Evil Dead (3/2001) Tommy Tallarico—THQ Clive Barker’s Undying (2/2001) Bill Brown—DreamWorks SKG Mech Warrior 4 (11/2000) Duane Decker—Microsoft Medal of Honor: Underground (10/2000) Michael Giacchino—DreamWorks SKG Crimson Skies1&2(9/2000) David Henry—Microsoft Klingon Academy (06/2000) Inon Zur—Interplay Amen: The Awakening (4/2000) Jeremy Soule—GT Interactive Medal of Honor (11/1999) Michael Giacchino—DreamWorks SKG Outcast (8/1999) Lennie Moore—Infogrames Quest for Glory V: Dragon Fire (1999) Chance Thomas—Sierra Small Soldiers (1998) Michael Giacchino—DreamWorks SKG Heart of Darkness (1998) Bruce Broughton—Infogrames Total Annihilation (1997) Jeremy Soule—Cave Dog The Lost World (1997) Michael Giacchino—DreamWorks SKG StarFleet Academy (1997) Ron Jones—Interplay

The above list is a work in progress, if you know of additions or corrections please email Bill. Thanks go to http://www.music4games.net for some of the tidbits included here. This page intention ally left blank Chapter 29: Outsourcing Voice 353

Chapter 29 >>>>>>>>>>>>>>> Outsourcing Voice

“Work com-plete.” —Orc peon from the Warcraft series

When sitting down with Chris Borders coolest thing. Also, voice work is ide- to go over the budget for voice-over ally suited for outsourcing as it takes a work for Starfleet Command, I was highly specialized set of skills to cast shocked to find out how reasonable it the talent, direct the talent, record the was to have celebrity actors such as voice, and post-process the voice. Only George Takei (Mr. Sulu of course) per- the larger publishers have enough work form lines that I wrote for my game! to employ their VO directors full-time. Adding the human voice brings a Alternatively, some game studios have special magic to your game. Think a single amazingly talented audio guy about the wonderful voices in the who is able to handle all of the voice- Warcraft series; how many of you read- over work for the games. This is a rare ing this book can read these lines as talent though; you would do better to they were delivered in the game? outsource as you will not save any money having the VO director/producer ORC PEON on staff year round. Work com-plete. Voice is pretty much all positive. I can do that. While there are still physical limits with The magic behind the voices is that we the hardware we are using, the limits get the intelligence of a human driving are very generous, so go out and get the personality of these fantasy charac- great voices for your games! ters in our games! It really is the In the following interview Chris Borders tells us how it is all done.

Interview with Chris Borders Erik Bethke: Would you provide a Chris Borders: I started working in short background on yourself and video game voice-over (VO) back in what role you play in voice-over 1995 as a VO editor for Interplay Pro- work in the game industry? Where ductions. I edited VO recordings and did you learn to do voice-over attended many VO recording sessions work? for Interplay on such titles as Star Trek: 354 Chapter 29: Outsourcing Voice

Judgment Rites, Stonekeep, and What range of budgets are you see- Descent. ing for voice-over work in today’s Shortly thereafter I was quickly games from low to high? promoted to the title of VO supervisor Most of the games I work on have good simply because we were developing budgets that allow me to hire better more and more titles and needed some- than average VO talent and some celeb- one to handle all the VO work that was rity film actors. However, I occasionally coming in. My job was to oversee all have to work with much smaller bud- aspects of VO development for Inter- gets that can sometimes affect the play games including going over the quality of the VO acting. On Baldur’s script and characters, setting up audi- Gate II I had to cast as many as 300 tions, hiring a VO casting director, character roles with a budget that was studio director, and recording studio, better suited for 30 character roles. scheduling VO talent, setting up union This became quite a challenge for me, contracts (SAG/AFTRA), attending the being I wanted BG2 to have the best sessions, and organizing the material VO possible. I however managed to pull for editing and implementation. a few strings and pull it off. Being no one at the company had Typically I see most game VO bud- ever done this job before (and mostly gets ranging from $20,000 to $100,000 relied on outside contractors), it was depending on how many characters are quite an undertaking. I literally had to in the game, how much dialogue there almost start from scratch. First I is, and if the producer calls for celebrity started bare knuckles, making connec- actors. tions with the best possible people I could find in the VO industry. I spent What in your opinion was a good many hours on the phone every day value? What was simply “schmoozing” with various Hollywood overspending? talent agents, VO directors, and record- In the past before I became a director, I ing studios. noticed that when poor quality actors After a year of doing this I realized were hired to save money it always I could do much of the talent casting ended up costing more in the long run. and some of the lower budget titles’ Thus, budgets had to be raised to studio direction myself. accommodate better actors to make the Eventually I took on the casting part work. This is, in my opinion, a and studio directing for some major huge waste, being the work had to be projects myself, and I only hired a con- done twice thus costing more, when tracted director when I couldn’t take it just hiring a professional actor in the on because of overlapping projects. first place and recording it once would I now cast and direct the majority have saved studio cost, director cost, of all Interplay titles including the very editor cost, not to mention having to successful Baldur’s Gate series which still pay the poor quality actors (that has received many high-praised will never be used in the final produc- reviews for its high-quality voice-over tion) their session fee. acting. However, just hiring a bunch of famous celebrity actors so you can have Chapter 29: Outsourcing Voice 355

big names on your title is not always a waffle with a bunch of syrup on it will good idea either. Most great games still taste like a stale waffle.” In other (unlike motion pictures and TV) don’t words, if the script does not read well, rely on famous box office actors to no actor on earth will make it better. Of make them sell. I will hire a celebrity course, many game developers don’t actor mostly because I know it will always have a prolific scriptwriter on make the character part really shine staff. For this reason I suggest con- due to that actor’s abilities. And if the tracting a professional “script doctor.” game player recognizes that actor’s A script doctor will take your script and voice while playing the game, then all make it better for an actor to read so it the better. sounds more natural or funnier On the other hand, if you are mak- (depending on what type of game script ing a game based on a famous motion it is) and will not change the main idea picture or TV show, etc., then it might that the original writer was trying to be in your best interest to hire the achieve. same actors (if obtainable) that origi- Also, have a budget in mind. If you nally acted in the film, TV show, etc. don’t know how much it will cost to This will make the gaming experience record the VO, your designers may similar to the original product. But create a monster. In other words, again, one must use discretion when designers will add voice-over parts as doing this, especially if the original much as can fit into the games’ system actor will cost you your entire game limits. If you don’t have enough money budget. to fulfill this much VO, things may have All in all, I try to hire experienced to be greatly refigured, taking up valu- professional VO actors that fit the parts able development time. well. There is a huge amount of tal- If you already have a rough idea of ented VO actors out there. They may how much money it will cost to accom- not have recognizable names that the plish what your designers are design- general public will know, but they will ing, you will be better prepared in do the job well and will not cost you keeping on track and on budget. your entire budget. What preparation do you do? How What preparation should the devel- do you plan the voice-over work? oper and producer have on hand How do you do the casting for the before they approach you for voice different roles? work? I first start by meeting with the devel- The most important thing to start with opment team to discuss the title and to is a good script with well-defined char- give them an idea of what kind of bud- acters. This is half the battle. One thing get they will be looking at based on I have seen over and over through the what they are trying to achieve. Once I years is a great game with a poorly have character descriptions I can start written script. I heard this great quote the process of casting actors. I do this by rock singer Iggy Pop that I always two different ways depending on the use when asked about why some title and how much time I have to com- scripts should be rewritten: “A stale plete the VO work. If I know exactly 356 Chapter 29: Outsourcing Voice

what the designers are looking for and SAG union payroll service or signatory. have little time, I can just cast actors Many game companies do this them- that I know will work well for the vari- selves, which is very simple to set up ous characters. On the other hand, if with SAG. the designers have very intricate char- However, it is not impossible to do acter descriptions or don’t exactly it sideways using a SAG payroll signa- know what they are looking for, I will tory service. This service will create all set up voice auditions so they can listen the contracts based on the deals that to many different actors voicing sample have been made with each actor’s man- lines for each character. This will take ager or agent. slightly more time, though the end There are, however, extra fees result usually is dead-on to what the involved with hiring a union actor. character designer was thinking 12.65 percent on top of the actor’s originally. fee is for the actor’s pension and health Once I have a final script in hand benefits (this fee goes directly to SAG). and actors have been cast in the various Many agents charge a 10 percent fee on roles, I then proceed to schedule the top of the actor fee, being they are the various actors for work. This is very ones who are representing the actor. involved, being I have to schedule the And of course if you use a union signa- proper amount of time with each actor tory, they will also charge a small fee to complete the part, negotiate the for their services. actor’s session fee (within budget), and AFTRA (American Federation of schedule studio time. Television and Radio Artists) is also an Then from there we start recording actors union that can be used to hire the parts. This can take anywhere from union talent (many actors belong to a couple of hours to a month depending both SAG and AFTRA). All the rates on how many characters there are and and fees are the same as SAG. how much dialogue needs to be TOMMY TALLARICO SAYS: A lot of recorded. games record with non-SAG actors as Once all the scripted dialogue (VO) well; it’s just a lot harder to find talented is recorded, picks are made and the VO non-SAG people to act. Although it may files are edited and implemented into seem cheaper to go non-SAG in the the game for testing. beginning, it could end up costing you a lot more because of the amount of time You use SAG actors, right? How and takes. does that work? For a smaller project (couple of The term SAG stands for Screen hundred lines), you’re safe going the Actors Guild. SAG is an actors union non-SAG route. If you have 500 lines or that the majority of professional screen more you definitely want to consider doing it union. In the long run you’ll be a actors in America belong to. So in order lot happier. for a game company to hire a union actor, someone must be affiliated as a Chapter 29: Outsourcing Voice 357

What happens at a voice recording them so they can see each other. The session? What facilities does the actor will talk directly into a high- studio have to make it a voice- quality condenser microphone and lis- recording studio? How do you ten to him or herself back with head- evaluate a studio? phones (this is optional as some actors When looking for a recording studio to prefer not to hear themselves through record voice-over, quality should be the mixer). In the control room, the your first objective. director has a small microphone that The studio should have a profes- can be turned on or off from a button sional staff, state-of-the-art digital near the director seat that patches into recording equipment, and a very quiet the mixer so he or she can talk back to and dead sound booth. Things like a the actor to give direction. The record- nice lounge, good food, and a sexy ing engineer makes sure all the record- receptionist are not important unless ing levels are correct by monitoring the entertaining your expensive talent is session and also watches the tape coun- more important to you than the record- ter and sometimes takes notes as to ings you will get from them. Most of how many takes were done per line and today’s professional voice-over record- what time each take was recorded, so ing studios should have the ability to later the editor can reference these record voice-over digitally to hard disk recording notes. A good studio will also or digital tape (DAT), and a sound booth record the director’s voice as well; this that is designed for VO. way the editor has a second reference Most music recording studios have as to what take is what and what is ambient rooms so musical intruments going on in the session. like drums and guitars sound better. How actors are recorded is slightly This is not what you want to record VO different depending on the script and for CD-ROM games. If you are sup- how the game’s characters interact posed to be listening to your VO char- with each other and the player. acter in an outdoor setting, recording In many games, VO characters them in an ambient VO booth will not interact with each other throughout the sound like it was recorded outside, but script. It is sometimes best to record in an ambient room. And there are no many actors together at the same time. special studio tricks that can remove This is known as an ensemble session. this “room ambiance” well. However, if Each actor is set up in the booth with you start with a dead room with no his or her own mic and patched into the ambience, it is simple to later add a mixer on a separate recording track. room ambience or a stadium ambience This way the scripted character inter- using a digital reverb. action sounds more natural, yet there is The recording process is fairly sim- still enough separation to allow the edi- ple. The actor or actors sit in the VO tor to edit the various characters’ takes, booth, and the director and recording so different reads can be implemented. engineer sit in the control room, usu- The other type is just recording ally with a thick piece of glass between one actor at a time. This is the most

358 Chapter 29: Outsourcing Voice

common style of recording for CD- when they may not be the right ROM games, as you are in a one-on- performer in the first place. one situation and can pay close atten- TOMMY TALLARICO SAYS: Remem- tion to just one character at a time. ber, a SAG actor can only do three This is also a much more cost-effective different characters within those four way to record, being that it is far easier hours. You have to pay extra if you want to schedule an actor for four hours (or them to do other characters, even if it’s less) to complete the part versus hav- only a few lines. ing to block out a full eight-hour day The other thing you may want to mention is that you can’t mix SAG and using multiple actors only reading their occasional parts over that long time non-SAG actors on a project. If you go SAG, everyone has to be SAG. span.

How many takes does it require for What is the most unusual thing the talent to get their lines? How about your job that not many other much voice work can an actor do in people in the industry have much a session? awareness about?

Generally a standard VO session is four Well in general, the entertainment hours as per most actor union rules and industry is a far cry from your average regulations. After four hours the talent desk job. However, there are many sim- can charge more for an additional four ilarities as well. On one side I get to hours (or less) and is required toT have a work with some of the most talented one-hour lunch break. After eight actors on earth, and I get to hear some hours, again more fees will apply andE a really great stories firsthand (sorry, one-hour dinner break. ANational Enquirer, my lips are sealed). Most actors will require as little as On the other, I have very detailed two takes and as many as ten takes to schedulesM I have to maintain; I must read the part to the satisfaction of the keep up a professional outlook, and not director. Some actors take longer just every actorF is a pleasure to work with because, and some can hit it “right on (however, thisL is not the norm). So, the head” after the first take. If the when people say toY me, “Gee it must casting director and the recording be cool doing what you do for a living,” director do their work correctly, there I am quick to remind them that it’s not is no reason it should have to go all what it sounds like, and even I have beyond ten completely read takes. frustrating days like anyone. After that you might have a very frus- Here is a funny story I like to tell trated actor on your hands. Many about how strange my job can be. I was seasoned VO actors will ask you if they working on the Interplay game title are really the right person for the job if Star Trek: Starfleet Academy, and we you just can’t get what you are trying to were shooting full motion video on a get. And rightfully so, being that actor green screen at a well-known Holly- may have other VO jobs that same day, wood set just across the street from and it is very hard on their voice to Paramount Studios. I had to be up by keep repeating the line over and over 4:00 A.M. and on the set by 6:00 A.M.,

Team-Fly® Chapter 29: Outsourcing Voice 359

and I was leaving the set by as late as within reason. I keep reading reviews 10:00 at night. So needless to say I was on what the gamer did not like about very tired. We were in the middle of a the VO, and I try to improve it within break and I was looking over some of the boundaries that I am stuck with. the dailies, and up walks actor William What are some mistakes you or Shatner from his private trailer/dress- projects you have worked on made ing room. Being we were filming Mr. in regards to voice; can you avoid Shatner for this production, this was them now? fairly normal; however, I was in one of those strange (too much caffeine, not The biggest pitfall I have to deal with is enough sleep) trances, and Mr. Shatner the VO programming in a game. On (in full Starfleet dress uniform, I might some titles the character keeps repeat- add) starts asking me about the tech- ing the same line over and over every nology we are using to make this game, time the player clicks on the character. and at that moment I freaked in my I can’t tell you how often I read a mind and thought to myself, “Crap! review where the reviewer says, “I got Captain Kirk is standing here asking so sick of hearing that character say the me about technology, what a strange same thing over and over, I just turned life!” down the volume to zero so I could fin- ish the game.” I am trying my best to What trends are you seeing in combat these types of problems before- voice-over work in games? hand with the designers and program- With the sound quality in games getting mers so this does not happen on future better and better every year, gamers titles. VO programming is getting are noticing game sound more than better, however it is still not perfect. ever before. Just five years ago when I How do you control the creeping started in this business, not one game nature of many game projects from reviewer ever mentioned the sound in affecting your budgets, specifically a game, much less gave it a review. in requesting retakes or reschedul- Now in 2001 it is fairly normal to read ing of talent time? many game reviews on voice-over, music, and sound design. So it is more It is always tough when you propose a important than ever for a game to have VO budget early for a game and it turns high-quality VO done by professional out that you needed more money to actors, rather than just grabbing the 2D complete the VO once it is near com- artist down the hall and having him pletion. I always try to pad my VO record his best impersonation to the budgets best as I can so there is no “we portable DAT recorder. can’t afford any more” from the pro- My goal is to try to achieve a simi- ducer if it looks like a part has to be lar quality that a great motion picture redone or some of the actors ended up has when it comes to voice-over acting costing more than I anticipated. It in the games I work on. Though our doesn’t always work in every case; game budgets are far less than a multi- however, most of the times I have to million-dollar film, it can still be done ask for more budget monies it was 360 Chapter 29: Outsourcing Voice

because the designers decided to add record extra VO and ADR (Automated ten more characters at the last minute. Dialogue Replacement) with famed actor Christopher Plummer, who What was your most challenging voiced and acted the part of General game project? Which game were Chang. Christopher Plummer is a very you most proud of? talented actor! This game took almost a I am always proud of everything I work year to complete just my work. on, however a couple projects I am especially proud of are: Baldur’s Gate TOMMY TALLARICO SAYS: I think one II: Shadows of Amn, Baldur’s Gate II: very important element that is not addressed here is the actual script writ- Throne of Bhaal, Baldur’s Gate: Dark ing itself!! You can have the best actors Alliance, Star Trek: Klingon Academy, in the world, but if the script is terrible it Star Trek: Starfleet Command, and Fall- doesn’t matter how many Academy out: Tactics. Awards they’ve won. A lot of times the My most challenging project was designer is put in charge of writing a by far Star Trek: Klingon Academy. It script. Unless the designer is very tal- was a huge undertaking finding as ented, this really shouldn’t be done! many as thirty actors that could sound The designer could certainly pro- like a true Star Trek Klingon. Auditions vide a treatment or first draft for a script, but I would highly recommend hiring a went on for weeks before I found the proper scriptwriter to at least check over right actors. The studio sessions were the work. Scriptwriting is a lot harder even tougher... “No, no, more Huuq in and more important than most people that line, and more anger!” I even had think! to fly all the way to Toronto, Canada, to

Voice-Over Script for the Orc Peon from Warcraft III As Chris Borders discussed in his much and triggers a different set of interview, one of the most common lines. In the tradition of the reverse mistakes is to record only one line for design document, here is the script for an action that will occur repeatedly in a the orc peon in Warcraft III: game. This is doubly painful since it is ORC PEON: A character that sounds relatively inexpensive to record multi- like a good-natured, but slow younger ple lines, and some basic scripting brother of Yoda. provides the logic for choosing which line to say. For example, Blizzard has ORC PEON always placed cute one-liners that are In response to the player’s clicking to triggered each time the player clicks on select. one of their units in the Warcraft series Yes? of real-time strategy games. The game What you want? chooses the lines randomly from a set Humm? of common phrases and notices when Hrmp? the player clicks on a single unit too Chapter 29: Outsourcing Voice 361

ORC PEON ORC PEON In response to the player’s harassment Announcing that he has finished con- through clicking. structing a building. What!? Work com-plete. Me busy. Leave me alone! And finally, I leave you with the immor- No time for play! tal words of the orc grunt: Me not that kind of Orc! ORC GRUNT ORC PEON Zug. Zug. In response to the player’s direction to carry out a task: Work. Work. I can do that. Okey dokey. Be happy to. This page intention ally left blank Chapter 30: Outsourcing Sound Effects 363

Chapter 30 >>>>>>>>>>>>>>> Outsourcing Sound Effects

“Gulp, uhh, huh-huh, gulp! Bleh ---” —Trent Reznor of Nine-Inch Nails—absolutely nailing the sound of a drowning man for id Software’s Quake

Sound effects are tremendously impor- pioneer with audio and join up with tant for games as they are in cartoons Trent Reznor of Nine-Inch Nails to pro- and even more so in movies. As Tommy duce all of the sound effects for Quake. Tallarico is apt to wax on about, games I must have played hundreds of hours are one-third audio (for the accountants of Quake with Sean and , the gameplay and the graph- Zach, and I will never be able to forget ics would be the other two). So much just how incredibly clean Trent Reznor attention with game making is placed produced the sound of a nail gun’s nails on making the graphics scream through ricocheting off the stonework in the your eyes and grab hold of the back of halls of Quake. Or the painfully real your skull and glue you to the screen sound of a man who has stayed under- that sound effects are never properly water for too long gulping down appreciated for the indispensable precious air. (My understanding is that impact they deliver in a game. Trent did some method acting for this It seems appropriate to me then, one!) that id Software with technical genius So, let’s dig into sound effects! John Carmack at the helm would be a

Interview with Adam Levenson Erik Bethke: Would you provide a collage style recordings of just about short background on yourself and anything I could find. Many years later, what role you play in audio work in after surviving adolescence, I com- the game industry? pleted my bachelor’s degree in orches- Adam Levenson: I started playing tral music at Boston University. While music at about six years old. Yes, I was studying at BU, I worked as a freelance a drummer. I was also fascinated by orchestral percussionist in Boston area cassette machines and liked to create orchestras and toured internationally 364 Chapter 30: Outsourcing Sound Effects

playing avant-garde contemporary What range of budgets are you see- music. After graduating, I rebelled ing for audio in general and sound against the staid classical world, moved effects specifically in today’s games to New York, and played in a rock ’n from low to high? roll band. Eventually, the East Coast The sound effects portion of game weather and the groveling existence of audio production is enjoying a higher a drummer in a rock band got the best profile on next generation platforms, of me, and I decided I needed a more and budgets are increasing to meet the satisfying creative life. I moved out to demand. Consumers expect to be LA to study in a cutting-edge masters entertained by today’s game sounds; it degree program in world music at no longer serves a solely utilitarian CalArts. During my time at CalArts, I role. Smart developers are careful to commuted up to San Rafael, California, customize each project’s sound effect to study North Indian classical drum- budget to meet the needs of the game, ming on the tabla. After CalArts, I thor- so budgets vary widely depending on oughly immersed myself in the study of the demand for sounds. Indian and Middle Eastern music for Average budgets for sound effects about five years. I worked as a dance production, not including game audio accompanist, playing live for ballet and mixing and implementation, range from modern dance classes in San Francisco $20K to $60K. Some AAA titles come and Berkeley. Accompanying eventu- in with much larger sound effects bud- ally led to composing for dance compa- gets at over $100K, and there are a few nies. One of the choreographers I was publishers and developers with far working with had a husband who was more limited resources coming in at leading up development on an lower than $20K. edutainment title for Broderbund (now I’m dating myself). He heard my music What preparation should the devel- and decided to offer me a gig to produce oper and producer have on hand sound and music for his game. I had before they approach you for sound never even seen an Apple computer. work? Soon I was freelancing for several game Creating an entertaining sound effects companies and finally landed a full-time experience for the end user means cre- gig at Trilobyte in Oregon in 1996. ating mood, stirring emotion, and Since joining the Interplay audio team delivering believability. All of this relies about four and a half years ago as a on getting as much detail as possible sound designer, I am now audio direc- from the developer regarding each ele- tor at the company. Continuing my pur- ment of the game you’ll be dealing suit of educational masochism, I with. For example, your next fabulous recently finished a certificate degree in RPG game has a gigantic white dragon C++ programming. in it. The thing is so huge that the My role in game audio production game practically crawls to a complete is directorial while remaining very stop whenever it appears. Sure, anyone much hands-on with respect to techni- can go in, get some dragon sounds cal design, music supervision, sound pulled from various libraries, and slap design, and post production. them into the game engine. You’ve got Chapter 30: Outsourcing Sound Effects 365

sound now, but who cares; it has noth- the time to learn as much about your ing specific to do with the character project as possible will only make you a design. The trick is to ask the designer better salesperson when it comes to questions about the creature. Is it a presenting your ideas. good dragon, is it a bad dragon, is it a How do you plan the audio work? very, very bad dragon? What is its motivation? Seriously. If you know Planning? This is the video game indus- something about who this dragon is, try, not auto manufacturing, right? Not then you can make sound design deci- really. Sound effect production is just sions that will build character into the one part of a much larger audio devel- voice and create something that when opment process involving dialog, music, matched up with picture, raises the lit- ambient sound, and more. You not only tle hairs on your forearm. need to coordinate your delivery and Producers and designers should be payment schedules with the developer ready to answer your detailed questions and other audio creators, but you need about areas, creatures, weapons, vehi- to coordinate how your sounds are cles, about every aspect of the game. going to aesthetically fit into the overall Their answers will help you create a game mix. It’s a production line just more immersive sound experience and like an auto factory. People working on may even help them to sharpen their putting cars together don’t just ran- vision of the game. domly pump rivets into metal, well, at least we hope not. Everything they do What preparation do you do? is based on a predetermined plan. We Preparation for sound effects produc- can be more flexible than that since this tion is the most important stage in the is a creative process, but be careful; sound development process. Without lack of planning is going to keep you at two or three weeks dedicated to prepa- the office into the wee hours pulling ration, you are usually flying by the seat your hair out, and there’s a limited sup- of your pants and coming in for a crash ply of hair for many people. landing. As I said in the previous ques- Where did you learn to do audio tion, you need to take the time to ask a work? lot of detailed questions, seek out what’s between the lines, and start for- From early tinkering with cassette mulating an aesthetic and technical machines, to layers and layers of lossy approach to your sound design. four-track bouncing, to the first version As you learn more about the design of Protools, most of my audio education and contents of your game project, has been hands on. Put aside my mas- you’ll have to make suggestions regard- ter’s degree in music and a summer of ing sound effect interactivity and audio engineering classes in Sonoma, playback. This is the sound designer’s California, and really it comes down to job, not really a programmer’s job. You getting hands on and getting humble. know how things will need to work to Humility will allow you to learn from sound great, so come up with a vision, the talented people you meet. Audio and use your technical creativity to dis- production is creative work; there are cover a way to make it happen. Taking no rules with the exception of some 366 Chapter 30: Outsourcing Sound Effects

basic technical requirements, and you somewhat to music. They’re familiar can learn from almost anybody. I’ve with music studios, sort of. But they’re been extremely lucky to have worked probably not familiar with recording the with some of the most talented people family dog, grunging it up in your favor- in the industry, so I’ve absorbed the ite DAW, harmonizing, adding a layer of most from them. your own recorded voice perversions, and matching the whole mess to pic- How do you evaluate a studio? ture. No. We’re talking specifically about sound editing and design here so studio is What trends are you seeing in only an issue in that you want to see a sound effects work in games? rig that is compatible with standard for- Yes, I’m biased, but this is exciting. mats, can produce a high-quality sound, Sound effects playback in games is and provides sufficient tools to work changing, and the changes are revolu- with sounds. Yes, I going to say it: tionary. The age of games with all Protools. Digidesign has spent years prerendered sounds is ending, and working on this juggernaut of sound real-time mixing is taking over. This design. It provides multiplatform com- will bring more interactivity, more patibility, is an extremely portable and believability, and since sounds are being widely used format, and doesn’t neces- mixed for specific conditions, more sarily burn a hole in your wallet. Well, emotional impact for the player. Every- not such a big hole anymore. thing we talked about at the beginning of the interview. What is the most unusual thing The other trend for SFX is higher about your job that not many other production values in game movies. people in the industry have much Users want cinematic experiences awareness about? when they’ve got their Xbox hooked up There is a stunning lack of awareness to their Sony Dream home theater sys- in the when it tem. They just watched Saving Private comes to sound. Most producers have Ryan, and their popcorn butter-stained no idea how complex, work intensive, fingers are reaching for your latest and intriguing audio work can be. game project—don’t disappoint! Post-production is like black magic to most industry people where strange What are some mistakes you or terms like foley and headroom are projects you have worked on made thrown together with acronyms like in regards to sound; can you avoid PL2, AES/EBU, and SD2. Then there’s them now? 3D audio, but don’t get me started. Tons of mistakes. It’s a cliché, but Audio production combines program- that’s how you learn, and I don’t think ming, audio engineering, music mistakes are ever really avoidable in composition, post-production, acting, such a large and complex undertaking directing, and the kitchen sink. Sound as game SFX. You just learn how to designers, of course, have it the hard- deal with the problems better. est, since most people can relate Chapter 30: Outsourcing Sound Effects 367

How do you control the creeping Immersive nature of many game projects from Adam Levenson affecting your budgets, specifically Audio Director in requesting retakes or reschedul- 6 Vista Cielo ing of talent time? Rancho Santa Margarita, CA 92688 Real estate people talk about location, Phone: (949) 433-9079 location, location, right? You need to [email protected] talk planning, planning, planning. Like we talked about before, preparation is TikiMan Casting the key to success. Now, there will Chris Borders always be unexpected things like dialog Dialogue Director pick-ups and changes to game design Phone: (949) 363-9548 that make you hit your head against the wall repeatedly, but first make sure you Huge Sound record the sound of your head smashing Chance Thomas into the wall. Take the time to carefully Phone: (559) 658-9266 document during the preparation phase, Fax: (559) 658-9267 not just a sound effects doc but also an Cell: (559) 283-HUGE audio programming doc. Everyone www.HUGEsound.com needs to be on the same page going into a project; it’s your responsibility to Jesper Kyd Productions make sure everyone understands what New York City sounds need to be done, and to try to Game clients: Activision, EA, Eidos, cover contingencies. Microsoft, BioWare, Shiny, IO Below is a list of amazingly tal- Interactive. ented folks. All of them come highly Latest game scores: Brute Force, recommended and will make your game Hitman 1 and 2, Minority Report, a better game through sound. Freedom, MDK2, Messiah Studio: 212-987-9441 Tommy Tallarico Studios, Inc. www.jesperkyd.com Tommy Tallarico Representation: President [email protected] President/Founder, G.A.N.G. (Game Owner/Composer: [email protected] Audio Network Guild) [www.audiogang.org] Host, writer, co-producer, “The Electric Playground” and “Judgment Day” tele- vision shows [email protected]

This page intention ally left blank

T

E A M

F L Y

Team-Fly® Chapter 31: Outsourcing Writing 369

Chapter 31 >>>>>>>>>>>>>>> Outsourcing Writing

“It’s a good day to die.” —The 113th Klingon lacking an original line in a Star Trek story

I am taking a step off the stage, and I Anniversary and Judgment Rites, as am grateful to hand this chapter’s baton well as a frequent writer for the over to Scott Bennie, the designer, Starfleet Command series. writer, and producer for Star Trek: 25th

Computer Game Writing By Scott Bennie making games intimidating. Relax. You A book could probably be written on don’t need to understand the code or writing for computer games, but a few the AI. What you do need to understand paragraphs are going to have to suffice. is every feature of gameplay and how So here’s some advice for prospective they interrelate. You need to under- writers in the electronic game industry. stand what the player will likely be These laws are absolute, unfailing, seeing and experiencing when your dia- applicable in all circumstances, and if logue plays. you fail to pay heed to every single Play games similar to the ones you word, you will not only suck as a game are writing. Talk to fans of the genre writer, you’ll fail at life in general. and determine what they like. Grab as In other words, use your discretion much of the developer’s time as you when applying these rules. can get and discuss what they’re expecting to see. Understand that bad Know Your Game; Know Your things happen in the development Business cycle. Computer games are complicated This should go without saying, but it’s by the fact that nothing’s written in best to start with the basics. If you’re stone until the game ships. So even if an outside contractor, it’s quite possible you know the product that you’re that you may not understand the game designing for, some kid down in Q&A you are writing. This is a problem. Fix may walk up to the producer and tell it. him, “this game sucks!” and the whole A writer who’s uninvolved in the game could change overnight. Or some game industry may find the process of guy in a business suit who’s never 370 Chapter 31: Outsourcing Writing

played a game in his life because it maximum. If you need to exceed that in might have distracted him from his order to deliver exposition, try to break shark-like quest to achieve his MBA it up between multiple characters. may call a meeting and announce: Remember the seven-second rule. “Your game Xanadu is just like Nimrod. Studies have shown that in any visual We just saw Nimrod’s sales figures, and medium, you can only hold the audi- it tanked. But Hamsterquest is a huge ence’s attention for an average of seven seller. Make Xanadu like seconds before their minds begin to Hamsterquest.” wander, so you need to cut to a new The really sad thing is that this can visual or event to keep their attention. (and often does) happen multiple times No matter how good your dialogue is, if on a project. Don’t get too attached to you dedicate 20 seconds to a long your work. speech, it will die. So treat wordiness like a disease. Brevity is Bliss The biggest problem people encounter Speak the Speech I Pray You when writing for games is that they (Okay, I had to get a Shakespeare refer- WRITE TOO DAMN MUCH! They ence in here somewhere.) When you write truckloads of unbroken exposi- write dialogue, speak it out loud. Act it tion. They write characters who don’t out, over and over again. Perform it know how to shut the hell up and take a loudly, convincingly, as an actor would breath. I know they do this because I’ve do it in a studio. Nurse your inner Wil- done it too. liam Shatner. Then, after your throat’s Okay, so now that I’ve confessed gone hoarse, take everything that was my shameful secret, let me tell you hard to pronounce, everything that ran how to break the habit. together without a breath, everything First, be ruthless with your prose. that sounded awkward and hokey, high- Get together with other authors, read it light it on your word processor, and hit out loud, and accept their recommenda- the Delete key and don’t look back. tions on what to cut. In everything you Confine those words to the graveyard write, there’s going to be “cool bits,” of things that didn’t deserve to be lines of which you are particularly released into the world. proud. Do not exempt them. If you can, Then do it again until you’ve got it distill the cool bits into smaller but right. equally cool bits. Develop an ear for interesting, nat- Second, study screenplays, espe- ural dialogue. Record a call-in radio cially action film screenplays or show, then transcribe it. It’s amazing animation storyboards. They’re the how different people sound in real life closest popular medium to games when as opposed to a story. You probably it comes to storytelling; both are pri- don’t want to fully adopt the cadences marily visual experiences, and in both of the real world in your dialogue (fic- mediums excess dialogue kills the pace. tion is after all, not real life but the With rare exceptions, condense condensation of interesting bits), but it each speaking part to three or four doesn’t hurt to infuse your dialogue lines of dialogue. Thirty words at a time, with more natural patterns. Chapter 31: Outsourcing Writing 371

Sometimes your genre (say, a from other people, find legends in medieval fantasy game) will require you ancient tomes, spot the graves of the to write period or anachronistic dia- people who were killed by Character D logue to evoke the proper mood. You because he thought he was being should try to capture it. However, if patronized, etc. you’re required to make a choice In teaching, a multiple-choice test between beautifully written evocative is defined as “a test where the correct period dialogue and clearly explaining a answer is obvious to an informed stu- game concept or giving direction to the dent.” Dialogue trees are multiple- player, choose the clear explanation. choice tests. There needs to be a way Keep things close enough to a modern for the player to learn what’s the best tenor that you will be understood. The approach to a problem aside from trial needs of the game outweigh the needs and error, because trial and error sucks. of setting a pretty mood. Use Story as a Reward On Dialogue Trees Reduced to a behavior, games are all Some games, such as computer RPGs, about the cycle of challenge and reward. have dialogue trees where the player If that makes a game designer sound has to choose between a number of like B.F.Skinner or Pavlov, if the shoe dialogue selections. Too often the dia- fits, wear it. In a game, a designer sets logue’s scripted with one obviously a goal, which the player is encouraged correct answer (almost always “the to meet. When they meet that goal, nice approach” or “the smartass they receive a reward. approach,” etc.) Unfortunately this can Treat the story as one of the most make a game too predictable. The important rewards. Take your story and answer should not always be the obvi- break it down into segments. Make ous one. You need to mix attitudes; sure they are regularly fed new revela- make it so Character A responds best tions and more significant plot points as to threats, Character B will always try one of the rewards of the story. When- to stall for time, Character C values ever you can, cultivate mystery and use politeness and respect, and Character D foreshadowing to build the player’s respects people who get into insult expectation that something big is going duels with him. Character E likes a to happen, then make sure the payoff is chance to talk tough, but he’ll settle big enough to meet the player’s down if you acknowledge him once he’s expectations. had a chance to display his manhood. When you can, make the story (and Character F will be panicked, but if you the game) tied to the character’s carefully calm him down, you can then actions. Don’t just reference future have a reasonable conversation, etc. events, reference past events, player Once you’ve got your character accomplishments, and failures. matched to the personality that’s needed to “win” the dialogue tree, you The 80 Percent Stereotype Rule need to leave hints about the charac- If you’re working in an established ter’s personality in the environment. genre, you need to fulfill the gamer’s Players can hear stories about people expectations, and like it or not, the 372 Chapter 31: Outsourcing Writing

player expects archetypal (meaning codified and available to the player at all cliché) characters to act in expected times through the scenario. Mission ways. On the other hand, the overuse objectives need to be crystal clear. If of stereotypes is not only offensive you can, get hold of some blind testers from an artistic standpoint, their over- while you’re writing the scenario, read use can destroy the drama. In Star the scenario objectives to them, and Trek, the first time a Klingon ever said, ask them for feedback on what they “It’s a good day to die” it was good think the scenario wants them to do. drama; but by the thirtieth time it had You should know within five minutes if become bad comedy. your directions are clear enough. Whenever you can, take the cliché A mission success should never and twist it a little: “I don’t care if it’s a depend on fulfilling a hidden objective. good day to die or not, today one of us On paper, finding the hidden objective is NOT walking away!” references the to solve the scenario sounds great; the cliché and thus gives the player a sense reality is that it’s a recipe for frustra- of familiarity but is better at maintain- tion. (A better way to achieve this ing the drama. desired effect is to tell the player, “We I’d like to suggest the 80 percent want you to explore the area; if you find stereotype rule. If you can make a ste- something interesting, we’ll get back to reotypical situation or character play you with further instructions.”) out differently than expected 20 per- Time related hints to help players cent of the time, you preserve the who haven’t solved a puzzle (or items comfortable feeling of the expected in the environment such as hint books) while still providing the player with are usually good things. The designers surprises. However, when you set up may not want to use this approach, but an expectation and break it, the player it’s better to cover too many bases than eventually needs to understand why. too few. Hint, Hint, and Hint Expect Schizophrenia And that leads us to the second really The most frustrating thing for writers big mistake writers make: A computer coming into the industry to understand game lives or dies depending on how is that you’re not writing a linear story. well it provides the player with clear You are not writing a screenplay; you direction. Nothing frustrates a player are writing sequences of possible more than not knowing where to go and events that will not become a story what to do. It’s okay to hurt them, to until the player puts them together. surprise them, to annoy them, but You can (and probably should) limit never ever confuse them. Players do the number of possible outcomes, but like to explore, but they also want a (except for linear action games) you’re safety net, so make sure there’s always not likely to have control over the a clear task available for them to per- exact sequence of events. You (or the form when they get bored with designer) can set up special events trig- exploring the world. gered by other events so you know that If your game is mission based, all some events will follow others, but you major mission objectives need to be need to know that sometimes the Chapter 31: Outsourcing Writing 373

player will go to Location A first and game your way and have them take it then Location B, and sometimes it’ll be back to the store because they hate it. the other way. You need to adjust the It’s okay to do an occasional attitudes of game characters to reflect “countdown to escape” or a “you have a the fact. short amount of time to defeat this par- ticular foe” sequence to add dramatic If You Have Time in a Bottle, Don’t tension, but otherwise, a writer should Uncork It accept that “we will not use time limits Computer games sometimes break as a way to increase the tension” and basic rules of storytelling, and that’s learn to live with the smaller palette. okay. Yes, it makes no sense that Villain X would not advance his evil plan while Scott Bennie Our Hero spends two years in the wil- 33509 Mayfair Ave. derness looking for gold pieces under Abbotsford BC Canada mulberry bushes, so you’d normally V2S 1P6 expect some pretty serious conse- (604) 870-1113 quences for that time wastage. How- ever, players hate to be pushed. Great (Contact the author at [email protected] for story ideas don’t always translate into more information about freelance great game ideas, so it’s better to give writers.) them what they want than to do the This page intention ally left blank Chapter 32: Outsourcing Cinematics and Models 375

Chapter 32 >>>>>>>>>>>>>>> Outsourcing Cinematics and Models

“They want Star Wars for a nickel.” —Anonymous art house producer

Game development houses are defined effects like explosions or laser blasts as a collection of programmers and art- and then hand off the finished cinematic ists who get together to make a game. to the audio team. This is a consider- So why would it be a good idea to ably different skill set than creating outsource art from your studio and lose low-res 3D models for your game. Even out on developing the experience with houses such as Blizzard and Square, your own employees? who are world renowned for their The basic answer is that you do not cinematics, effectively outsource their have the artists on staff who have the movies, as these cinematic teams are expertise or you simply have too much nearly separate entities from the game work to carry out with the artists you teams. do have. Either way, you would go out The following interview with Mark of house only when you do not have the Gambiano covers all aspects of working talent in-house. The classic case is of with an art house from his experience cinematics, which require the skill sets at Mondo Media. In the interest of full of creating high-res models, texturing disclosure, Mark was the art director them, animating them, creating for our in-game low-poly ships on high-res backdrops, and creating the Starfleet Command I, when my art cinematic sequence. Finally, the cine- team was under three artists. matic crew will go back and add special 376 Chapter 32: Outsourcing Cinematics and Models

Interview with Mark Gambiano Erik Bethke: Would you provide a motion video title called Critical Path. short background on yourself and That was followed by another full what role you play in art production motion video title The Daedalus in the game industry? Encounter (featuring Tia Carrere of Mark Gambiano: Growing up, my inter- Wayne’s World fame). Although it ests were divided between art and wasn’t my call to do the games with electronics, which was a pretty odd video, I was creative director on both combination back in the ’60s and ’70s. I projects and pushed hard to make the couldn’t seem to settle on either one as 3D as high quality and cutting edge as a career and majored in both in college. possible. FMV games never really Video gaming had just hit the scene, caught on, but the company used the and I spent a lot of time in video 3D skills developed on our game pro- arcades. I had also bought a Mattel jects to solicit contract work from other Intellivision console about that time developers, either creating game assets and was learning my first painful lesson or doing high-res 3D intro cinematics. about game addiction and repetitive Some of the projects I was involved stress injuries. Later, when personal with as a 3D artist included Zork: Nem- computers started to become more esis, Blade Runner, Civilization: affordable in the mid-’80s, I bought an Evolution, and Hot Shots Golf. In addi- Atari 800, and computer graphics tion, I directed or art directed game looked to me to be a great way to com- assets for Star Fleet Command I and II, bine both of my long-time interests. I and high-res cinematics for messed around with 2D paint programs MechWarrior 3, Alpha Centauri: Alien and even some very crude 3D pack- Crossfire, and a Japanese Dreamcast ages. Moving up to an Atari 512ST and game called Under Cover. later a Mac IIcx, I continued to teach Could you break down what sort of myself more about 2D and 3D com- outsourcing you see going to an art puter graphics and began to create house? Models, movies, and? some portfolio work. It runs the gamut. Most of the time, we When I decided to get into com- would get high-res cinematic work from puter graphics as a profession back in developers that either didn’t have the 1990, one of my early clients was time or resources to do them in-house Mondo Media, a company in San Fran- or felt that we could do a superior job. cisco that was doing 2D point-of-sale The work usually consisted of design- retail demos and speaker support pre- ing or redesigning opening, interstitial, sentation work at the time. I came in as and ending cinematics. Sometimes the one of their first 3D artists, although client wanted us to use rezzed-up game much of the work at that time was 2D assets, as with Aliens vs. Predator, but NAPLPS vector artwork for the original most of the time it was like MechWar- Prodigy online service. After a couple rior 3 and Under Cover, where we built years freelancing, I went to work for high-res models and environments them full time, and we stepped into the from scratch. On other games like field of game production with a full Chapter 32: Outsourcing Cinematics and Models 377

Zork: Nemesis and Blade Runner, we well defined. The problem here was produced high-res 3D environments for usually that the client has come up with use as stills or Quicktime VR-style a Titanic-level script but has only a panaramas. On Hot Shots Golf, Star- Blair Witch budget. We nearly always fleet Command, Nerf Arena Blast, and have to adjust their expectations and others, we created low-poly in-game come up with timesaving alternatives assets. On a couple of the low-poly to get the work done on budget. In jobs, we also did animation, either these cases, it would be better for the key-framed or motion-captured. clients to present a general idea of what they want and let us come up with a What range of budgets are you see- script and approach that provides the ing for art production in today’s most bang for the buck. games from low to high? On real-time 3D jobs where we’re Mondo Media moved away from doing doing game assets, the client really that kind of contract a couple of years needs to have their art specs down ago in order to pursue doing original solid before handing them off to an art content for the web, so my figures are a house. On nearly every project we few years old. Budgets ran from about were involved in that used custom 3D $10K to as much as $450K. Most engines, many aspects of the model and seemed to be in the $25 to $75K range, mapping specs were either unknowns though. or still in flux at the time the client What in your opinion was a good wanted us to get started. In the worst value? What was simply cases, they changed well into the art overspending? production cycle and required substan- tial revisions to the work that everyone I think nearly all of our clients got more thought was completed. This usually than they paid for, so for them it was a resulted in delays and additional good value. There were very few jobs charges back to the client for the that came in where we felt the budget revisions. was even adequate, let alone “fat.” As to whether their budgets for this work What preparation do you do? How were excessive in relation to the game do you plan the motion capture development costs overall, I can’t say, work? Where did you learn to do since we were never privy to that kind art production? of information. The director or art director usually What preparation should the devel- does general research on the project oper and producer have on hand and puts together a file of reference before they approach you for art materials. If the project involves production? real-time assets, we assign a technical director to keep an eye on those It depends on whether the job is for aspects. The TD pours over the specs in-game assets or for cinematics. With with a fine-tooth comb, making sure cinematics, we usually get the job that every aspect of what we have to towards the end of the production deliver has been defined. We create cycle, so the look and feel has been spreadsheets that list all of the assets

378 Chapter 32: Outsourcing Cinematics and Models

and use them to keep track of progress. much prefer to be thought of as a part- Often we end up doing some design ner in a client’s project, and after years work as well, developing visual con- of experience doing very similar things cepts for the assets and running them for a lot of different clients, we’ve come by the client for revisions and approv- up with a lot of ways to save them als. When it gets close to production money and get maximum impact out of time, we select the best artists for the the shots that we produce. What we type of work and schedule their time. need in return is for them to have an For mo-cap, we subcontract to a open mind and not expect, as one pro- firm that specializes in that kind of ducer aptly put it, “Star Wars for a work. We come up with a complete shot nickel.” Most of the time, the clients do list and discuss the technical challenges understand this, and ultimately, the of pulling off the capture session. We level of quality of the finished product work with them to select the perform- pleasantly surprises nearly all. ers and then attend the session to What trends are you seeing in art direct the action. The toughest one we production in games? had to do was for a hockey game—set- First, there’s been a huge consolidation ting up on a frozen ice rink in the wee hours of the morning for several days in the game industry—publishers being in a row. Ice is reflective and the shav- acquired by large corporations and ulti- ings tend to obscure the markers, so it mately doing fewer titles. Also, the was a real challenge. Plus, all theT huge shift in titles towards real-time moves had to begin and end in a default 3D and away from 2D and prerendered position and take place within a rela-E 3D has meant a big drop-off in the num- tively small perimeter. Aber of clients looking for high-res Much of our art production skills prerendered intros for their titles. ManyM are trying to use their 3D came from on-the-job training and plain old painful experience. Every job was engines and game assets to do the an “opportunity” to learn—the specs or cinematics,F which is both a blessing and process or client expectations were a curse. TheyL can do more of the work always a bit different on every job. It in-house, but it usuallyY doesn’t look as was up to the directors to make sure good. Still, with the new GPU-based they had a solid grasp of every aspect of 3D cards like the NVIDIA GeForce and ATi Radeon getting so powerful, it’s a project, or had specialists in place to handle those things they could not. only a matter of time before real-time 3D really does look like prerendered What is the most unusual thing work, and at that point we’ll have the about your job that not many other best of both worlds. people in the industry have much awareness about? What are some mistakes you or projects you have worked on made Probably the misconception that we are in regards to art production; can just some kind of “art factory,” and the you avoid them now? client just puts the script they want in one end and the animation they envi- For real-time 3D, the worst one was sioned comes out the other side. We doing artwork for clients whose

Team-Fly® Chapter 32: Outsourcing Cinematics and Models 379

programming teams didn’t have their bid, so we got screwed. After that, act together and either delayed art pro- whenever a client said they had a model duction or caused unnecessary extra we could use, we insisted on approving work by changing specs after models the model before we would discount had been built and mapped. I found the the bid. best way to avoid getting caught in this How do you control the creeping trap was to produce a small representa- nature of many game projects from tive sample of the models requested affecting your budgets, specifically and not proceed with production on the in requesting retakes or reschedul- rest until the client had signed off on ing of talent time? them (and agreed that any further changes could be back-charged). That With cinematic projects, it was rarely way, if the specs changed, we only had an issue. Usually most of the assets to fix one set of models instead of doz- were available, or we used stand-ins ens, and the specter of additional and waited for the models before doing charges helped motivate them to make the final renders. If the wait got exces- sure their engine was going to be happy sive, we were often able to get the with the models presented. client to turn production of that asset On high-res work, the biggest trap over to us for an additional charge. was trying to do too much—either in They were usually in crunch mode at quantity of shots, quality of shots, or the time and it was one less thing for both—given the budget. Sadly, too them to deal with. often the budgets were very tight to Retakes could be a problem with begin with. Sometimes management some clients. We usually did one or two would have to trim them after the retakes per shot as a matter of course, design was done to close the deal, yet but every once in a while we got a cli- the expectations had not changed in the ent who was a real pain to please. least. Also, it seemed like the budgets Usually this was because they were one were always a “best case” scenario; of the “I don’t know what I want, but I’ll there was little wiggle room in them for know it when I see it” variety. As art- unforeseen problems, and problems ists, we did the best we could to make almost always showed up. them happy. If it really started to get One of the worst dangers was with excessive, we let the producer or man- client-provided models. The client agement work out some kind of agree- would tell us they had this or that ment. Thankfully, that rarely happened; model available, so we would cut that the vast majority of our clients were out of the budget. On one project we very pleased with our work and would really got stung because the models come back to us for their next project. had been converted from Alias for use What was your most challenging in 3D Studio Max, and they were a game project? Which game were mess—all kinds of extra faces and junk you most proud of? clogging up the works. Ultimately we The most challenging one was probably had to rebuild them from scratch, Critical Path, although The Daedalus because it was actually faster than try- Encounter and MechWarrior 3 are close ing to fix them. The project was a fixed 380 Chapter 32: Outsourcing Cinematics and Models

runners-up. It was the first time we had was challenging since it contained a lot done a game and also the first time we of human character work, but I think had tried to combine actors shot on we produced some really beautiful bluescreen with high-res, animated shots. I was also really pleased with the environments. We had a motley collec- MechWarrior 3 work. It was great tion of 486 PCs, and renders took going to E3 that year and seeing our forever. To cap it off, we had to design stuff blown up to wall-size proportions and produce the game (which was and slathered all over the convention really only supposed to be a demo) in hall. only four and a half months. We worked Following are some art houses: outrageous hours (my personal best Mondo Media was 36 hours straight during a 119-hour 135 Mississippi week) and were there nearly every San Francisco, CA 94107 weekend. Phone: (415) 865-2700 I think the work I’m most proud of Fax: (415) 865-2645 from a visual standpoint were the five- and-a-quarter minutes of high-res Dragonlight Productions, Inc. cinematics we did for Under Cover. I 19100 Ventura Blvd., Suite 10 was given a lot of control over the pro- Tarzana, CA 91356 ject, and as a big anime fan, I was able Phone: (818) 343-1701 to fulfill a dream by traveling to Japan to [email protected] meet with the clients and do some [email protected] sightseeing and shopping. The work http://www.dragonlight.com Chapter 33: Outsourcing Motion Capture and Animation 381

Chapter 33 >>>>>>>>>>>>>>> Outsourcing Motion Capture and Animation

“Can you motion capture a snake or water falling?” —The author when on tour of the House of Moves facility

Animation in Games The overwhelming majority of games motion actors to perform moves and have characters that need to be ani- capture them digitally. mated. The exceptions to this would be The answer to this question is games such as racing and flight simula- really easy if you are animating spiders, tions, or even the author’s own Star- six-legged robots, sharks, snakes, and fleet Command series, which use 3D blobs; all of these make excellent candi- vehicle models that do not require any dates for key-framing due to the diffi- animation work. culty of training spiders and blobs to be So if you have kids with football motion capture performers. When I was helmets, monkeys inside of glass balls, given a tour of the House of Moves space marines on a ringworld, or facility, I asked Jarod Phillips all sorts of undead zombies, then you need anima- annoying questions like, “Have you tion. Animation work is as well suited motion captured a snake or a water- to outsourcing as any other art task. In fall?” His answer was that they tried other words, it is better to have the tal- motion capturing a dog at the insistence ent in house; however, if you have too of a client, but it did not work out well much work or just do not have the tal- and a skilled key-framer would have ent, then by all means look outside to performed a far superior job and faster. solve your animation needs. The first question you must deter- Key Framing mine is whether or not you will employ Outsourcing your animation work is artists to key-frame the animation or actually straightforward. Take the fin- retain a motion capture studio and use ished model and textured model and hand it over to the animation house. In 382 Chapter 33: Outsourcing Motion Capture and Animation

addition to the model and texture, you black, stretchy fabric. A couple dozen will need to supply your technical little balls are glued to the suit. These requirements such as number of bones balls are covered with tons of tiny and in what data format you want to reflective glass beads, the same sort of receive your animation. You must also stuff you see on reflective sporting supply a move list that describes in as equipment such as bags for the rack on much detail as possible the moves that the back of a bicycle. These glass balls you want the character to perform. are designed to be efficient in reflecting Typically a key-framer should be light of a certain color. able to perform at a rate of between Next in the setup are a bunch of one to two moves a day, varying consid- cameras. The number of cameras var- erably upon the complexity of the ies depending on the facility, with a moves. Be sure to indicate in your typical number being 18. These cam- move list what moves are intended to eras do not record the movement of the be looping and which are not to loop. actor; they record the movement of Animation work is priced on the those reflective white balls. per-move basis with rates ranging from The motion is captured in what is $25 to $150 a move or more. called the volume, the 3D box of space that the cameras are set up to view. Motion Capture Outside of the capture volume, the Motion capture is the digital science cameras are blind. To record moves and art of recording the movement of such as an athlete performing a pole humans with multiple cameras and vault you would probably need to spend using it to drive animated 3D models. a lot of money setting up the motion In principle, one would be able to capture cameras in a big open building quickly obtain perfectly natural and such as a large hangar, which would fluid animation and drop it right on top also involve the costs for transporting of your model. and tuning the system. This is a good In practice, motion capture rivals example of when you should probably the cost in both time and money of key break out a key-framer for the job. framing and may cost even more. In Typical volumes are 16 feet by 20 addition, it has been common in the feet—large enough for complete walk past for the motion-captured results to and run cycles. Too small a volume and be very poor and require man-months useful captures cannot be performed. of cleanup before being usable by the Quite a few companies set up their own 3D model and game engine. facilities and end up creating a space that is too small and have to go out of How Does Motion Capture Work? house for some of their moves! The basic idea is to suit up a motion Motion capture has come a long actor who has some expertise in the way in quality from the early years with motions to be recorded. For example, most advances in the proprietary soft- for a SWAT game you choose to motion ware that runs the cameras in real time capture a police SWAT officer or for a as the data is being collected as well as basketball game you may record how an software that is run in post-production NBA star dribbles. The suit is of some to “clean up” the motion captured data. Chapter 33: Outsourcing Motion Capture and Animation 383

Cleaning up the Motion Data preprocessing. This preprocessing After spending tens of thousands of dol- involves using some neat-o biometri- lars for your motion capture sessions, it cally correct algorithms that learn the would be nice if the data were to just parameters of motion for your specific drop in and work. The truth is the data character. This provides two distinct is full of noise and errors that must be advantages: first, when taking the cleaned up. Each of the motion capture actual motion capture shoot, instead of systems has automated tools that the director looking at a constellation of smooth out some of the noise in the balls on the playback monitor, he is able motion and perhaps do some boundary to see the motion as applied to the checks. A common error is when a actual character while in the motion character makes contact with the capture studio, without waiting days for ground, as in a tumble, and the cameras the data to be cleaned up and applied to lose track of a few balls. When this hap- the character. Second, because the bio- pens the system will often make a poor metrically correct algorithms are guess as to what the motion really applied to the motion capture data in ought to be. This is fixed by a human in real time, you save yourself a lot of the post-processing phase where they cleanup processing that occurs when are looking at the skeleton of a charac- balls go out of the camera’s view, due ter and watching it move through its to the algorithm’s ability to extrapolate range of motions. and interpolate where those missing A large proportion of the out- balls ought to be. sourced motion capture work is per- So Giant’s system sounds like the formed by House of Moves using the best one to use, right? I honestly can- standard Vicon cameras and its Deva not give you a final answer. We have system for post-processing. However, used both data from Giant, sourced many publishers and some of the larg- from a motion capture session just for est independent developers have their us, as well as some library footage from own systems. House of Moves. To our surprise, while One of the more interesting motion Giant’s post-processing software was capture studios is Giant. Giant uses a relatively easy to use, there was more fundamentally different motion capture cleanup involved than I expected for system. Instead of using the expensive the advanced system. As for the House proprietary Vicon cameras, Giant of Moves data, it was data that was employs 18 or so regular black-and- about two or three years old by the white security-type video cameras. time we were able to play with it, and it These cameras then feed the real-time showed its age. The data was noisy and data into Giant’s processing software not all that cool feeling when applied to called Motion Reality. One of the our models. appeals of Giant’s system is that before I would have to say that both of you capture any motion data, you pro- these motion capture studios deserve vide your character’s model, textures, consideration for your next project. and skeletal structure to Giant for 384 Chapter 33: Outsourcing Motion Capture and Animation

Planning Your Motion Capture poor relative to what a motion actor is Shoot able to perform. To be successful with motion capture I After you have your budget and suggest you seek out your eventual animation plan, it is best to go back and motion capture vendor early in produc- work on your characters for a while and tion to establish budget. Shop around, be sure you have worked out all of your as one facility may be booked and technical requirements and that your another might be happy to sell time at game design is final (e.g., you know if a minimal margin. The motion capture you need climbing or swimming studios tend to build their bid by count- motions). Only then come back to the ing the total number of moves and motion capture studio to perform the actors you are requiring. Next they data collection. classify your moves into several cate- You will need to allocate at least gories of difficulty from routine to very three months in your schedule to allow difficult. For example, routine moves the motion capture studio to perform a would be running, shooting a weapon, first-pass cleanup to the data and then and sneaking about. Moderately com- turn over the data to your team for fur- plex moves would involve light stunt ther refinement. work such as falling to a mat. From Best Use of Motion Capture there, the shots can get pretty expen- sive, especially if you are hiring a stunt In my opinion, motion capture really coordinator and stunt men to perform shines in recording the subtle move- wire work. ments a human makes that are difficult You should prepare a list of all of to notice and thus difficult to get into the moves you need your characters to your key-framing. Fortunately, to me, perform. Then meet with one or more this means that aggressively acrobatic of the motion capture studios and ask work for which Hollywood might use them how would they approach the pro- human performers and wires should ject. Do they see room for collapsing instead be done by key-frames. I love some of the requested moves? Do they to see motion capture used for the idle suggest some killer moves that you animations of the character. We have overlooked? Who do they suggest you amazing motion of the female protago- hire as the motion actor? nist for the upcoming Black9 stretching One of the first things a motion and limbering up for battle—wow! And capture studio will tell you if you are on the sublime side of the spectrum, it listening is that celebrities often make should be trivial to key-frame simple poor motion capture actors. For exam- walks and run cycles. ple, the going rate for a motion capture In the future I expect the software actor with modest stunt abilities is side of motion capture to make large around $1,000 for the day. Some pro- strides; soon I believe the data will just jects have spent $500,000 capturing the drop in, and in the end motion capture motion of star athletes only to throw will provide us with amazingly quick the data away because the motion was and amazingly good motion for our characters. Chapter 33: Outsourcing Motion Capture and Animation 385

Here is a list of motion capture Giant Studios West studios: Chip Mosher House of Moves West Coast Sales Manager Jarrod Phillips Giant Studios West Vice-President, Sales and Marketing 3100 Donald Douglas Loop North, 5318 McConnell Ave. Hangar 7 Los Angeles, CA 90066 Santa Monica, CA 90405 Phone: (310) 306-6131 Phone: (310) 392-7001 Fax: (310) 306-1351 [email protected] http://www.moves.com This page intention ally left blank Chapter 34: Fan-Generated Material 387

Chapter 34 >>>>>>>>>>>>>>> Fan-Generated Material

“I Have No Debugger and I Must Script.” —The author, circa 1995

Game Development with Your Fans Outsourcing game development to rather for the novelty of influencing a fans—an interesting idea, huh? Taldren game they care about in progress. has experimented with outsourcing Money is an interesting thing; we parts of our game development to fans; use it as the medium of exchange for while we are not currently engaging the bulk of human industry in the mod- any fans, we would consider it in the ern world. I have to admit I find it very future. refreshing to interact directly with our fans and customize our games to their WARNING: Remember to always secure all of the intellectual property liking. Of course it is far more challeng- rights when working with external con- ing to adjust a game to fit some sort of tractors, most especially when working balance between the wave functions of with fans. Any hole, ambiguity, or loose- all these people’s opinions. It is much ness in your agreement with the fan simpler to design, implement, and test contractor will generally be ruled in without having to verify if it truly favor of the fan in any courtroom dis- entertains your customers. Beta testing pute. This is discussed in more detail at solves that problem, but at the cost of the end of this chapter. quite a bit of communication and Design Critique iteration. At Taldren we also experimented So what sort of work is useful to have with a more intimate form of fan design fans look at? The most straightforward critique by way of a private forum we and common is design critique. This called The Inner Circle. For Starfleet happens during the closed or open Command II we actually sent these betas at the end of a project where the folks candidate design documents early fans will tell you whether or not you in development where it would be a lot have made the game fun to play. Fans easier for us to respond to their com- will of course do this work for free, not ments before actually implementing really for access to a free game, but

388 Chapter 34: Fan-Generated Material

parts of the game. I think this tech- mind numbingly underwhelming to lev- nique should be reserved for careful els that met or even exceeded the use. It worked well for SFC2, as it was original shipping levels for Doom. In an established game with fairly narrow fact, a mini cottage industry sprang up interpretation of the licensed material around Doom with unlicensed collec- to maneuver the game design through. tions of levels for sale on cheaply The licensed material from the Star produced CDs in jewel cases and a Trek shows and the Star Fleet Battles game programming book dedicated to board game provided both ourselves Doom with a level editor for Doom. and the fans a lot of structure to draw Soon, better level editors were made from when defining the game mechan- for Doom than the level editors that ics and the subsequent balancing. I shipped with Doom. would imagine this technique might be Games such as Counter-Strike and useful when creating other high-fidelity Day of Defeat are the most visible and simulations such as a tank warfare sim. successful of these fan mods, as they This is certainly not a useful technique are called. There are at any given time when exploring gameplay of a totally hundreds of fan groups working new creation that would provide poor together across the Internet to develop new games based on the engines and guidance for outsiders to base their input on. Finally, no matter what any- tools of their favorite games. one else says, at the end of the day All of this technical ability and someone on your team (most likelyT the energy are a potential resource for your lead designer or project leader) must game. The first step in considering this make the final call. E path is to develop a strong tool for Aimplementing new missions or levels Levels and Missions for your game. Strong, reliable tools There are many examples of fans creat- M that end users are able to use with effi- ing content for their favorite games ciency and confidence requiring little back to the very innovation of elec- or no technicalF support is what you tronic games. Indeed, the bulk of the need to create.L With a poor tool your early development of games was the technical supportY burden from your result of mainframe programs taking tools programmer will quickly outstrip over from each other and incrementally the cost savings of having your own improving on the earlier games. How- designer implement a few more levels. ever, it would have to be the advent of Of course, a strong, reliable tool is just id Software’s Doom that inaugurated what you should build for your own the modern era of fan extensibility and internal team. Thus, I argue the cost content creation for commercial games. of making a strong reliable tool for end id Software constructed Doom to users is free. be extremely easy for players to create For the Starfleet Command series new levels (called WADs) to further we experimented with hiring fan pro- extend the deliciously 3D carnage of grammers to write a few mission Doom into a never-ending nightmare. scripts. We ended up hiring three or The quality of these levels ranged from four programmers, and we paid them as

Team-Fly® Chapter 34: Fan-Generated Material 389

independent contractors. Programming programmers to support the scripting missions for Starfleet Command API, and our internal programmers required a passing knowledge of C++ were able to continue progressing in as each mission was built as a dynamic their C++ skills rather than work with linked library (DLL). We chose to pro- a proprietary language with little future gram our missions in C++, largely due reuse. to my earlier experience as script pro- This C++ scripting API worked grammer on I Have No Mouth And I out less well for our external fan Must Scream. At that time we used a scripters. This is due less to the lan- C-like proprietary programming lan- guage being C++ and more to our con- guage named SAGA. As a scripter stant, dribbling changes to the API. We working with SAGA, I was continuously never noticed the cost of making frustrated with some features promised changes to the API with our internal in the language that didn’t quite work. team as it was nearly effortless to com- The goal of SAGA was to create a municate the required changes in the C-like language that was very safe with calling parameters or other change built-in memory and bounds checking, details, and we promptly had newly array types—the sort of features you rebuilt scripts. For the external would find in Visual Basic or Java. As I scripters working across a hemisphere, ran into problems with SAGA, the tools all communication occurred by way of programmer(s) would stop and take the email. In principle, we could write up time to fix the bug. It struck me that our changes in the scripting API and the rest of the team and I were working distribute them in email to the external very hard to implement a new program- scripters; however, that would only ming language that was missing all the work out if we wrote down the changes common tools of a standard program- we made to the API. With internal folks ming language like a debugger! From it is so much easier and faster to com- that experience I developed the opinion municate late-breaking changes by that you must have a really good reason holding an impromptu water-cooler why you need to create a new program- meeting or popping into another ming language to script your missions. employee’s office. After all, rapid, liquid As I said, we simply used C++ as communication is the main benefit for the language for Starfleet Command; working in an office in the first place! In we wrote a mission scripting API that the end the missions we received from developed support for creating ship the external scripters required signifi- entities, a set of engine callbacks, and a cant maintenance on our part and over- host of other goodies that were all was probably not a net benefit. The required to make fun missions. This remedy of course would have been to system worked out much better for our reserve working with the external internal mission programmers as C++ scripters until after the scripting API has a plethora of handy tools already settled down into its final form. We developed. It allowed for rapid tweak- have always released this scripting API ing of the scripting API, required less to the consumers who buy our Starfleet maintenance by more senior Command games, and waiting until the 390 Chapter 34: Fan-Generated Material

API settled into its final form and only provide the fans with rapid feedback then releasing it to external fan while the work is still fresh in their scripters would have been an mind and while they have the energy to improvement. work on your project. You must remember that even if you do pay these 3D Models fans a decent rate for this outsourced Outsourcing 3D character models to work, they know that they do not work fans is an order of magnitude more for you and are not motivated in the straightforward than outsourcing mis- same way as employees. sion programming. Fans have an innate attraction to making models, whether Other Potential Activities to they are starships and airplanes that do Outsource not require animation or human and 3D models, missions, and levels are non-human animated characters. Your just a few of the assets or activities that first job is to screen the fan for the req- you could outsource to fans. To identify uisite talent and skill required to create these opportunities, be open minded a 3D model of the same high quality when fans contact you and offer help, that your internal team is producing. I and think about the possible holes you advise you to review their skills as you might have in production. For example, would with a potential artist you might David Perry has a volunteer staff that hire. The general procedure is to pro- works on his dperry.com web site. Per- vide the fan modeler with a sketch or haps you have a musically talented fan even better a color comp of the model who is happy to flesh out your musical to be created and provide them with all scores—maybe sound effects. Or per- of the technical details such as polygon haps running the news update for your budget, whether or not all of the poly- web site. If you end up with a relation- gons must be triangles, the limits on ship with a fan, I think in the end it the size of the texture map, and per- strengthens your organization; you will haps details on other possible texture be provided with a new ally, a strong maps such as the bump, luminosity, or source of information, and who knows damage textures. It would be unreason- what other potential opportunities! able to hold the fan to the same sort of rigors as your employees, although it is Legal Matters When Working with completely appropriate to have a dead- Fans line. You may still have an issue with Important disclaimer: Again I remind quality, and it may not be immediately you that I am not a lawyer, and I am not apparent that there are technical prob- qualified to provide legal advice. The lems with the model until you drop the simple rule of thumb is to not treat fans model into your game engine and try it any less formally than you would treat out. It is important to drop the model other independent contractors. That into the engine and perform your other means you should agree to a fee for quality check procedures as soon as their services. I strongly suggest a possible when working with fan model- fixed fee payable upon satisfactory com- ers. It will be much more effective to pletion of the work. Second, you really Chapter 34: Fan-Generated Material 391

must develop the agreement that the are developing this work as a work for work they perform is a work for hire hire for a publisher and you are promis- and that the fan contractor relinquishes ing to hand over all rights to the any claim to the work. This waiver of publisher. rights is obviously important to avoid Talk to your lawyer and ask her to surprising and ugly claims causing draw up a boilerplate independent con- costly litigation to resolve. Acquiring tractor agreement for you. You will end this agreement becomes even more up using this agreement many times— important in the likely event that you well worth the investment. This page intention ally left blank Epilogue 393

Epilogue

I recently heard a talk by Mark Terrano multiplatform sci-fi action/RPG called of Microsoft in Daejon, South Korea. Black9. And I became a father. His talk was titled “What is Life?” It After eight years of game develop- was simply the most information- ment, personally leading the shipping of dense, most wonderful talk I have ever five games, I feel like I am just begin- heard given about the games business. ning to understand what I need to focus Mark opened and closed his talk by on to become a stronger game referring to himself both as teacher and producer. as student. Mark is an accomplished The tools are getting better, the developer with a good number of great machines are faster, the games are games. much bigger, and this will only acceler- Honestly, I feel more on the stu- ate. The future of games is amazingly dent side than the teacher side, myself. bright, and I just cannot wait to play A year and a half and over 200,000 your games! words went into this book. This was my Please consider this book as just first attempt to write a book, and I apol- my humble efforts to begin a conversa- ogize to you, dear readers, for having to tion with all of you on how to make endure my clumsy efforts. While writ- games better. ing this book our company has grown Please send all your thoughts, from 15 employees to 25, and we have information, and criticisms to me at started and shipped SFC3. We are now [email protected] so I may learn from you. working on our first console title, a This page intention ally left blank Appendix A: Suggested Reading 395

Appendix A >>>>>>>>>>>>>>> Suggested Reading

I am addicted to books; book buying is and Japanese languages. May you bene- easily my largest discretionary form of fit from my reading (and spending) and spending. My personal library is quite choose the best titles for you. Of course extensive on the topics of software this book list makes no recommenda- development, the game industry, chess, tions for chess or Asian languages— science, , role-playing email me if you are interested in those games, world affairs, and the Chinese topics!

Project Management Jacobson, Ivar et al., The Unified Software Development Process, Addison Wesley, ISBN 0201571692, 1998 Here is the software development methodology that is espoused by the three amigos: Jacobson, Booch, and Rumbaugh. This book goes beyond software modeling and discusses how best to customize a methodology for your project.

McConnell, Steve C., Rapid Development: Taming Wild Software Schedules, Microsoft Press, ISBN 1556159005, 1996 Rapid Development is the larger work that Steve McConnell drew upon to create his Software Project Survival Guide. If you have already digested the Survival Guide and are hungering for more, read this large work at 647 pages! At the same time I can no longer recommend reading McConnell’s older work, Code Complete. While it is somewhat different than Rapid Devel- opment, there is not much material that is unique between the two works and what is unique in Code Complete is somewhat dated—its focus on the C pro- gramming language may be of interest to some of your technical teammates. McConnell, Steve C., Software Project Survival Guide, Microsoft Press, ISBN 1572316217, 1997 A most excellent distillation of Steve McConnell’s work in improving the software development process, every manager and developer of a game pro- ject should be required to read this short book—just 250 pages! 396 Appendix A: Suggested Reading

Game Industry Abrash, Michael, Michael Abrash’s Graphics Programming Black Book, Coriolis Group Books, ISBN 1576101746, 1997 Previously published as: Zen of Graphics Programming: The Ultimate Guide to Writing Fast PC Graphics, Coriolis Group Books, ISBN 188357708X, 1994. Abrash, Michael, Zen of Code Optimization: The Ultimate Guide to Writing Soft- ware That Pushes PCs to the Limit, Coriolis Group Books, ISBN 1883577039, 1994 Michael Abrash is one of my all-time favorite authors. The text of his Zen of Graphics series of books is material from magazine articles he has written for years. Michael Abrash remains the only author whose books I have reread just for the sheer pleasure of his writing—the material itself was bonus material. The Zen books I feel are must-reads for all of your programmers. Even though the bulk of his material is outdated due to advances in technol- ogy, the clarity of logic that he brings to bear on an algorithmic problem deserves to be studied.

Deloura, Mark, Game Programming Gems volume 1, Charles River Media, ISBN 1584500492, 2000 Deloura, Mark, Game Programming Gems volume 2, Charles River Media, ISBN 1584500549, 2001 Deloura, Mark, Game Programming Gems volume 3, Charles River Media, ISBN 1584502339, 2002 Mark Deloura is the director of developer relations at Sony PlayStation and was previously editor-in-chief of Game Developer magazine. Deloura’s Game Programming Gems have been edited with excellence, making each article of each volume in the series a must-read for the programmers on your team.

Hallford, Neal, and Jana Hallford, Swords & Circuitry: A Designer’s Guide to Com- puter Role-Playing Games, Prima Tech, ISBN 0761532994, 2001 This 524-page book is nicely focused on one genre—computer RPGs. The highlights of the Hallfords’ book include interviews with Trent Oster, the lead designer (among many hats) of Neverwinter Nights representing BioWare Corp.; Chris Taylor, the lead designer of Dungeon Siege and CEO of Gas Powered Games; as well as four other interviews of lead designers of hit RPGs. The Hallfords also do a nice job of trying to analyze game design issues that are specific to the computer RPG. I would like to see a series of books myself that focus on different genres such as sports, extreme sports, platform, first-person shooter, etc. There is not very much specific that you will be able to make immediate use of; however, it is a pleasure to read. Appendix A: Suggested Reading 397

Olson, Jennifer (Editor-in-chief) et al., Game Developer magazine, CMP Media LLC This magazine is the only and best print magazine for game development. Postmortems of games are key regular features such as “Black & White” by Peter Molyneux and “Deus Ex” by Warren Spector. Visit their web site at http://www.gdmag.com/ to subscribe to the magazine. It is also free to qualified professional game developers.

Rollings, Andrew, and Dave Morris, Game Architecture and Design, Coriolis Group Books, ISBN 1576104257, 2000 While I do believe this book is fundamentally worth reading, I could not escape the feeling that neither of the two authors have personally led a major game project. The positives of the book include some specific thoughts on how you might want to organize your team and some game design templates.

Sawyer, Ben et. al., Game Developer’s Marketplace, Coriolis Group Books, ISBN 1576101770, 1998 This 728-page tome covers a wide selection of game development topics from the history of game development and the business of game develop- ment to design and audio. A lot of the specific tools mentioned in the book are now outdated; however, it is easy reading and the careful producer will gain some knowledge from the book. Sawyer, Ben, Game Developer’s Source Book, Coriolis Group Books, ISBN 1883577594, 1996 This is Ben Sawyer’s 824-page predecessor to Game Developer’s Marketplace. Several chapters were reproduced in the Marketplace title. If you own Mar- ketplace there should be no driving reason to purchase Source Book.

Yu, Alan (Director of Conferences and Events) et al., Game Developers Conference Proceedings, CMP Media LLC These proceedings are the collected papers on a wide variety of topics from programming and art to design and legal that are presented each year at the Game Developers Conference in March in the United States. Selected topics from 2000-2002 are available for free at http://www.gdconf.com/archives/. The full proceedings are available for purchase at the GamaSutra Store at https://www.gamasutra.com/php-bin/store.php (also a CMP Media LLC holding).

398 Appendix A: Suggested Reading

Software Development Booch, Grady et. al., The Unified Modeling Language User Guide, Addison Wesley, ISBN 020165783X, 1999 This is the definitive overview of the Unified Modeling Language. Each of the three amigos was lead author on a UML book: Booch wrote the User Guide, Jacobson, Development Process, and Rumbaugh, the Reference Manual. The Reference Manual and User Guide really should be purchased as a set after you have digested UML Distilled. I highly encourage reading Develop- ment Process before digging into the User Guide and Reference Manual.

Cline, Marshall et. al., C++ FAQs 2nd Ed., Addison Wesley, ISBN 0201309831, 1998 The moderators of the online C++ FAQ at comp.lang.c++ collect and answer the questions most often asked by professional programmers on USENET. Every advanced C++ programmer I know has learned something from the book, an excellent read for your junior and intermediate developers with bite-sized chunks of information.

Fowler, Martin, with Kendall Scott, UML Distilled 2nd Ed., A Brief Guide to the Standard Object Modeling LanguageT , Addison Wesley, ISBN 020165783X, 2000 E Unlike most technical books, UML Distilled manages to cover something important in less than 200 pages. I considerA this book a must-read for all of my developers, producers, and designers.M

Lakos, John, Large-Scale C++ Software Design, AddisonF Wesley, ISBN 0201633620, 1997 L This is a very important book; every programmer on yourY game development team should be exposed to this unique book. Game projects are now quite large pieces of software and the majority of game developers are self-taught or academically taught with no formal background in software engineering in a practical sense from working on large teams. This book discusses how to physically design your software, a topic that I believe is not covered anywhere else.

Maguire, Steve, Writing Solid Code: Microsoft’s Techniques for Developing Bug-Free C Programs, Microsoft Press, ISBN 1556155514, 1993 The other Steve writing for Microsoft Press on good software development. Maguire presents many practical tips on writing solid code. This book con- tains especially lucid writing on debugging and how to integrate code

Team-Fly® Appendix A: Suggested Reading 399

team-wide. All junior and most intermediate programmers will benefit greatly from this book, and advanced programmers might be reminded of a safety technique that they have allowed to fall into disrepair.

Meyers, Scott, Effective C++ CD: 85 Specific Ways to Improve Your Programs and Designs, Addison Wesley, ISBN 0201310155, 1999 Meyers, Scott, Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library, Addison Wesley, ISBN 0201749629, 2001 Meyers, Scott, Effective C++: 50 Specific Ways to Improve Your Programs and Design 2nd Ed., Addison Wesley, ISBN 0201924889, 1997 Meyers, Scott, More Effective C++: 35 New Ways to Improve Your Programs and Designs, Addison Wesley, ISBN 020163371X, 1995 Scott Meyers is a very lucid author and perhaps the most popular C++ author. The Effective C++ series is most thoughtfully written, and Meyers shows an uncommon sensitivity of what the beginning to intermediate pro- grammer would need to understand about C++. All of Meyers’ books can be recommended without hesitation; however, the CD version of the two Effec- tive C++ books and the STL book seem like the best buys. To get an idea how popular the Effective C++ books have been, notice the other C++ books at your local bookstore that attempt to capitalize on the title such as Essential C++, Efficient C++, and Exceptional C++.

Musser, David R., STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library (2nd Ed.), Addison Wesley, ISBN 0201379236, 2001 The original edition of this book stood out to me as the only book able to explain to me how to use STL! For some reason, at the time that I was learn- ing STL, either I was dense, or the other texts were poor, or an unfortunate synergy of the two conspired to make this a slower process than it needs to be. Your C++ programmers must have an introduction to the Standard Tem- plate Library that is part of C++. Lists, vectors, sets, and more complex data structures and algorithms have already been developed to a rigorously high quality. Your developers should not be reinventing their wheels when good ones are available for free!

Rumbaugh, James et. al., The Unified Modeling Language Reference Guide, Addi- son Wesley, ISBN 020130998X, 1999 This is the definitive reference for the Unified Modeling Language. This page intention ally left blank Appendix B: The Art Institute of California—Orange County 401

Appendix B >>>>>>>>>>>>>>> The Art Institute of California—Orange County

Thanks to The Art Institute of Califor- nia—Orange County for providing the following information about the school.

Background Opened in July 2000, The Art Institute Institutes have provided career- of California—Orange County is an oriented education programs for over applied arts institute providing Bache- 35 years, with more than 125,000 lor’s and Associate’s degrees in graduates. Graphic Design, Media Arts & Anima- Each program is offered on a year- tion, Game Art & Design, Multimedia round basis, allowing students to con- & Web Design, Interior Design, and tinue to work uninterrupted toward Culinary Arts. Located in the heart of their degrees. Academic programs are Orange County’s South Coast Metro carefully defined with the support and region, The Art Institute is ideally situ- contributions of members of the profes- ated in close proximity to Orange sional community through Program County’s thriving business community, Advisory Committees. Curricula are cultural attractions, shopping, enter- further reviewed periodically to ensure tainment and its famous beaches, not to they meet the needs of a changing mention the Los Angeles metropolitan marketplace to qualify graduates for area. The school is one of The Art entry-level positions in their chosen Institutes, www.artinstitutes.edu, a system fields. of 24 education institutions located The Art Institute is comprised of nationwide, providing an important more than 50 faculty members who are source of design, media arts, fashion, working professionals in their respec- and culinary professionals. The Art tive fields. By tapping industry 402 Appendix B: The Art Institute of California—Orange County

professionals, The Art Institute is able listed as a nationally recognized accred- to bring a real-world perspective work iting agency by the U.S. Department of setting and industry standards into the Education. Its accreditation of degree- classroom preparing students for granting institutions is recognized by entry-level positions upon graduation. the Council for Higher Education The Art Institute of California— Accreditation. The Art Institute of Cali- Orange County is accredited as a fornia—Orange County is granted branch of The Art Institute of Colorado approval by the Bureau of Private (Denver) by the Accrediting Council for Postsecondary and Vocational Educa- Independent Colleges and Schools to tion as a California private award the Bachelor of Science and postsecondary degree-granting Associate of Science degrees. ACICS is institution.

Game Art & Design Bachelor of Science Program The Art Institute of California—Orange 3D software to apply textures. The County (along with its sister schools in students also will receive a broad-based San Francisco and Los Angeles) offers a education that will include classes in unique new Bachelor’s degree program art history and the humanities. By in Game Art & Design to bring a new exposing students to classic art forms, generation of talent to the computer they are able to incorporate more vari- game industry. ety into their writing styles and The Game Art & Design Bachelor animation sequences. of Science degree program is designed The curriculum will prepare future for students who want to prepare for game developers to produce story lines entry-level art positions in the game and animations filled with creativity and development field. Geared toward 3D inventive cleverness. The action and animation and game level design, the suspense that challenge people as they program’s students will learn character play video games can be accomplished animation techniques, complex model- through intelligent story writing. The ing, computer mapping, game level curriculum also includes general educa- design, and how to script within the tion courses in areas such as mathe- game. Through traditional art and matics and the social sciences. design courses like life drawing, color The growing field of companies theory, illustration, and sculpture, stu- producing computer games is actively dents also will create interactive game seeking artists trained in the art of levels and learn to make computer and experienced game animation come alive with move- with computer technologies—in ment, color, and action characters. Orange County alone there are game Students will apply knowledge of entertainment companies like Interplay video and animation to produce game Entertainment, Blizzard Entertain- products using 2D software to create ment, Taldren, , backgrounds, 3D modeling and anima- and GameSpy Industries. Computer tion software to create game art, and and video game sales could approach Appendix B: The Art Institute of California—Orange County 403

$17 billion in 2003, with another $1.1 the ongoing changes in the game devel- billion in online gaming revenues, opment and multimedia industries, according to IDC. The game industry ensuring that students graduate with includes video games played on console the skills and knowledge that employ- game systems, personal computers, ers need. Furthermore, students learn and handhelds. According to Forrester about the changing demands in the Research, nearly 49 million American business world through a regular series homes today have at least one video of guest speakers. game system. Nearly 75 million homes Potential students interested in the are projected to have systems by 2005, Game Art & Design, Media Arts & Ani- achieving a 70 percent penetration mation, or another program offered by level. The Art Institute of California—Orange The Art Institutes’ Game Art & County are invited to call (888) Design program was designed by a fac- 549-3055 or (714) 830-0200 or visit ulty curriculum committee and profes- www.aicaoc.aii.edu for curriculum and sional advisory boards of industry admissions information. experts, including specialists with work experience at Sega of America, Macro- For more information on The Art Insti- media, Konami, Pixar, LucasArts, tute of California—Orange County, Sonique, Terra Lycos, PDI/Dream- please contact Anne Mack at (714) Works, and Apple. The program gives 830-0254 or [email protected]. students a curriculum that responds to This page intention ally left blank Index 405

Index

2D artist, 47 associate producer, 50-51 3D graphics programmer, 43 association relationship, 228 3D modeler, 47 associations, 231-232 3D models, outsourcing, 187, 390 attributes, 232 80 percent stereotype rule, 371-372 audio assets, 49-50 audio bid example, 122-125 A audio, outsourcing, 188-190 Activision, 97-98 audio programmers, 44 and licensing, 212 Audio Scrambler, 343 activity diagram, 148, 240-241 automated testing, 155, 195, 256 actor, 84 Avalon Hill, 10-11 ADPCM, 342 Advanced Squad Leader, 10-11 B alpha, 192, 294 backstory, creating, 112 alpha testers, 294 balance, 198-200 Alter Echo, sound effects list, 121 Baldur’s Gate, 12-13, 21, 22 ambient music, 344 tutorials, 110 analysis model, 144-145 battle music, 345 animation, 48 Bennie, Scott, on writing for games, in games, 381 369-373 outsourcing, 187-188 beta, 294-295 art assets, beta testers, 54, 256, 295 estimating time for creating, 261 beta testing, 54, 155, 196-197, 256, 295 prototyping, 224 program manager, 54 art director, 46 BioWare, 17-18 Art Institute of California, see The Art QA, 52 Institute of California biz dev, 55 art, outsourcing, 186-188, 376-380 black box testing, 155 art parts, 45-49 Black9 artificial intelligence programmers, 43 audio bid example, 122-125 artist, entering game industry as, 317 motion capture list, 118-120 asset lists, 221-222 special effects list, 126-127 assets, vision document, 208 animation, 117 Blizzard, 17-18, 68, 69 audio, 49 bonuses, 335 character models, 115 Borders, Chris, on voice-over work, missions, 115 353-360 music, 121-122 brainstorming, 216-217 sound effects, 121 Brown, Bill, on using live orchestras for special effects, 125-127 games, 347-351 voice, 116 bug tracking, 252-253 406 Index

Bugzilla, 253 D build, 50 Daikatana, 78 build times, 150 defect pooling, 254-255 business development executive, 55 defect seeding, 255 business development parts, 55-56 dependencies, 265 business elements, 55-61 dependent tasks, 172 business entities, types of, 329-331 deployment diagram, 149-150, 239-240 business parameters, 76 Descent to Undermountain, 79-80 buy-sell agreement, 331 Describe, 233-238 buzz, 57 design, conceptual, 228-229 C implementation, 229 cancellation of games, 26 specification, 229 catch statement, 300 design critique, outsourcing, 387-388 CD/Redbook audio, 342 design document, see game design character backgrounds, creating, 112-113 document character modeler, 47 design parts, 39-41 character models, listing, 115 design, reviewing, 247 chase music, 345 design tasks, estimating, 261-262 chess, 8 designer, entering game industry as, 318 class diagram, 145-147, 228-230, 238 development methods, 81 annotating, 147 development process, example, 233-238 at Eidos, 27-28 client-server structure, 45 at Microsoft, 27 closed beta testing vs. open beta testing, reasons for using, 132-133 196-197 Diablo, 13, 59-60, 68, 73 coding parts, 41-45 feature set, 287-288 collaboration diagram, 243-244 use case diagrams, 220 compatibility team, 53 use cases example, 87-90 component diagram, 149, 239 see also Diablo II, 16 package diagram dialogue, writing, 370-371 component-based development, 81 DigiPen, 326 compression, 342 Doom, concept artist, 46 extensibility of, 388 concept document, see vision document game definition, 106 conceptual design, 228-229 use case diagrams, 219 console, developing for, 26-27, 31 downtime, accounting for in schedule, 271 console games, patches for, 301-302 Dungeon Siege, 13 console manufacturers, 61 menu design, 222-223 controller diagram, 108 Dungeons and Dragons, 12-13 core gameplay, defining, 219 dynamic behavior diagrams, 240-244 core player activity, 108 dynamic modeling, 148 Counter-Strike, 71-72 key design elements, 96 E low bug count, 301 E3, 57-58 multiplayer popularity of, 96-97 Eidos, 78 cut scenes, game development process, 27-28 description of, 114 Electronic Arts, 12, 21-22, 67 example of, 114-115 Electronic Entertainment Expo, see E3 outsourcing, 186-187 Elite Force, 97-99 Index 407

employees, game company, compensating, 332-336 accounting assistance, 328 hiring, 325-326 employee benefits, 334-336 rewarding, 180-181 employee compensation, 332-334 Epic, 324 hiring employees, 325-326 Excel, 158 insurance, 332 executive producer, 51 legal assistance, 328-329 expectations, location, 326-327 financial, 17-18 making money, 336-337 fulfilling, 19, 225 starting, 323-325 exploration music, 344 tax considerations, 327, 331 extend relationship, 228 trademarks, 336 eye candy, 27 type of, 329-331 URLs, 336 F game concept, Fallout 1, 16 brainstorming, 216-217 fans, 59-60 defining, 216 communication with, 5 game design document, 101-102, 215 contracting with, 390-391 as process, 216-225 creating content, 388-389 completeness of, 224 critiquing design, 387-388 creating asset lists, 115-127 outsourcing 3D models to, 390 creating the story, 111-114 requests from, 29, 303 defining contextual gameplay, feature complete, 192 109-111 feature creep, 288 defining core gameplay, 107-108 feature storm, 18-19 defining the game, 106-107 feature walking, 288-289 delegating writing of, 103-104 features, maintaining, 225 adding, 192 managing, 218 cutting, 192-193, 224-225, 290-291 purpose of, 215-216 publisher-suggested, 289-290 requirements for, 105 ranking, 288 reviewing, 104-105 final candidate cycle, 200 when to write, 103 financial expectations, 17-18 Game Developers Conference, 61, 319 first playable, 293 game development, 28 fiscal requirements, 213 game development houses, 375 fixed budget/fixed deadline projects, 72, 74 game elements, 63 flight simulators, 10 game genres, see genres focus group testing, 195-196 game industry, FreeSpace 2, 19 breaking into, 313-314, 316-319 fresh teams, 53 long hours of, 314-315 full motion video, outsourcing, 186-187 skill sets in, 315 functional leads, 245-246 game mechanics, G defining, 109-110 designers, 40 Gamasutra, 326 detailing, 223 Gambiano, Mark, on outsourcing game art, programmers, 43 376-380 game production elements, 39-51 gambling games, 8-10 game programmers, licensing, 42 game balance, 198-200 game project survival test, 33-36

408 Index

gameplay, House of Moves, 383 defining, 107-108, 109-111 hunting music, 345 documenting 60 seconds of, 218-219 games, I cancelling, 26 id Software, 17-18, 69, 324 beta testing, 54 defining, 106-107 documenting areas of likely change, implementation class, 151 252 implementation design, 229 excellence in, 19 include relationship, 228 financial assumptions for, 16 insulation, 151-154 motives for making, 5 interactivity, 7 profitability of, 15-17 interface class, 151 reasons for making, 7-8, 13-14 interface designer, 47 requirements of, 143-144 Internet Chess Club, 9 using for inspiration, 222 Interplay, 22-23, 68, 79-80 when to release, 257 and licensing, 212 Gaming Zone, 9 Ion Storm, 78 Gantt chart, 159-161, 267-268 “is a” relationship, 146-147, 231 maintaining, 181 J vs. PERT chart, 159-160 Jacobson, Ivar, 81 generalization, 231 journals, using to document projects, 179 generalization relationship, 228 jump lists, 345 genres, 8-13 Giant, 383 T K Go, 7-8 key design elements, 94 goals, E reviewing, 99-100 recognizing, 275 key framing, 48, 381-382 setting, 277 AKlingon Academy, 23 technical, 251-252 M gold master, 295 L Gran Turismo 3, 12 languages, specifying, 250 menu system use cases, 223 late games,F problems with, 21-22 use case diagrams, 220 lawyers, 55-56L use cases example, 90-93 lead designers, 40 Grand Theft Auto 3, menu design, 223 lead programmers,Y 42-43 green-light committee, 27 level designers, 5, 40-41 green-light meeting, 27 level editor programmers, 44-45 Grey Matter, 185 leveling, resource, 171-172 H task, 163, 167 Half-Life, 60, 71 levels, documenting, 113-114 hardware manufacturer parts, 61 Levenson, Adam, on sound effects, 363-367 hardware representatives, 61 license requirements, 211-212 Hardwood Solitaire, 20 licensing, 56 Hardwood Spades, 19-20 licensor testing, 198 “has a” relationship, 146-147, 231 line producer, 50 header file, 130 localization team, 53 Heisenberg uncertainty principle, 218 lossy compression, 342 Hexen II, 16 low-budget projects, 70-72, 74 high-profile/high-quality projects, 73, 74

Team-Fly® Index 409

M types of, 344-345 Madden NFL Football, 12 music bid, 343-344 main game view, 108 example, 345-346 main QA team, 53 Musical Instrument Digital Interface, see Makkoya, design staff, 261 MIDI management parts, 50-51 musical sting, 344 manual, 60 Muzyka, Ray, when to write, 223 on selling cross-genre game, 98 manufacturer testing, 197-198 on user expectations, 95 manufacturing parts, 61 Mario64, music in, 344 N navigability, 231-232 marketing, 59 Nerve Software, 185 marketing development funds, 56 network programmers, 45 marketing director, 59 Neverwinter Nights, 13 Max Payne, 22 system requirements, 213 menus, designing, 222-223 O music in, 345 object diagram, 147, 238-239 Messiah, 16 object-oriented design, 129-130 Microsoft, 81 online games, patches for, 302 preproduction process, 27 open beta testing vs. closed beta testing, Microsoft Excel, see Excel 196-197 Microsoft Flight Simulator, 10 operations, 232 Microsoft Project, 158, 265 orchestras, using for game music, 346, using, 167, 172-173, 181, 266, 347-351 268-269, 271-273 organization, 4, 28 MIDI, 340-341 outsourcing, 4, 29 milestone meetings, 180 3D models, 187, 390 military simulations, 10-12 animation, 187-188 missed deadlines, effects of, 77 art, 186-188, 376-380 mission designers, 40-41 audio, 188-190 mission editor programmers, 44-45 cut scenes, 186-187 missions, listing, 115 design critique, 387-388 mod, 70 full motion video, 186-187 modeling, outsourcing, 187 movies, 186-187 Moore’s Law, 31, 133 multiplayer mechanics, 185 motion capture, 48, 382 music, 188-189 list example, 118-120 programming, 185-186 using in games, 382-384 reasons for, 183-184 movies, outsourcing, 186-187 sound effects, 189-190, 363-367 MP3, 342-343 tasks suitable for, 185-190, 390 multiplayer mechanics, 110-111 user interface art, 188 outsourcing, 185 voice work, 190, 353-360 multiplayer QA team, 53 writing, 369-373 multiplicity, 231 music, 50 P formats, 340-342 package diagram, 147 see also component in games, 339-340 diagram outsourcing, 188-189 410 Index

Pac-Man, Q game definition, 106 QA, see quality assurance music in, 344 QA lead, 52-53 use cases example, 85-87 Quake, 19 pair programming, 296 test, 196-197 Parcheesi, 8-9 Quake I, menu design, 222 parlor games, 8-10 quality assurance, 52 patches, 295-296, 299 elements, 52-54 tools for creating, 304 plan, 252 PC, developing for, 30-31 peer-to-peer structure, 45 R PERT chart, 158-159, 266-267 Rainbow Six, key design elements, 95 vs. Gantt chart, 159-160 RealAudio, 343 piracy, preventing, 343 real-time tactical, 23 planning, 3, 15 recruiting companies, use of in game point release, 201, 302 industry, 320 post-release elements, 62 refactoring, 150-151 post-release support, 5, 29, 62 relationships, 84, 146 need for, 303-304 types of, 228 preproduction, 26 requirements, at Microsoft, 27 nonvisible, 248-249 press relations manager, 57 types of, 211-213 prioritization of tasks, 166-168 requirements analysis, 144-145 example, 168-171 requirements capture, 3, 82, 136-137 producer, 51 requirements gathering, 211 entering game industry as, 318-319 research tasks, estimating, 165-166 production plan, 101-102 resource leveling, 171-172 profitability of games, 15-17 resources, 269 programmer, entering game industry as, retail purchasing agents, 57 316 Return to Castle Wolfenstein, outsourcing programming, outsourcing, 185-186 of multiplayer mechanics, 185 programming tasks, rev, 50 estimating, 262-264 reverse engineering, 87, 143 types of, 262-264 risks document, 174 progress, measuring, 278-279 updating, 182 project leader testing, 195 risks, identifying, 174 project plan, 157 role names, 231 creating, 157-158 role-playing games, 12-13 project triangle, 65-66 Romero, John, 78 examples of using, 67-70 Royal Game of Ur, 7 implications of, 66 royalties, 16, 335 promotion, 56 as deferred income, 17 promotion parts, 56-57 RT Patch, 304 proposal document, 102-103 see also vision document S proto-schedules, 161 sales development, 16 publisher CEO, 55 sales executive, 56-57 publisher QA parts, 52-53 sales force, 57 publisher QA testing, 193-194 sales parts, 56-57 puzzle games, 8-10 SBK, 241 Index 411

scenario planning, 266 storyboard, 114 schedule, distributing, 273-274 storyboarder, 49 script, 114 storytelling, 12 example, 116-117 strategy guides, 60-61 Secure Digital Music Initiative, 343 structural modeling, 147 sell-in, 57 studio heads, 51, 55 sell-through, 57 Sun Tzu Wu, 32 sequence diagram, 148-149, 242-243 SF2, 341 T shell menus, creating, 109 Taldren, 11, 77 shipping, 5, 191-192 design staff, 261 as a phase, 191, 200 outsourcing of programming, 185-186 Silver Creek Entertainment, 9, 19-20, 71, use of fan design critique, 387-388 307-310 use of functional leads, 245-246 SimCity, 22 Tallarico, Tommy software, complexity of, 299-300 on audio, 343, 345 software development, 4, 21 on live orchestras, 346 Sound Bank, see SBK on sound in games, 340 sound effect engineers, 49 on voice-over work, 356, 358, 360 sound effects, 49, 363 task list example, Starfleet Command 3, example, 121 283-284 outsourcing, 189-190, 363-367 task rejection, 276-277 Sound Fonts, see SF2 task/time estimating, 259-260 sound formats, 342-343 tasks, special effects list example, 126-127 breaking down, 162-163 specification design, 229 delegating, 217-218 sports simulations, 12 dependencies of, 172-174 stack, 151-153 dependent, 172 Star Fleet Battles, 11, 68-69 developing own, 270 Star Trek,11 distributing, 271-273 Star Trek license, 211-212 estimating, 261-264 Starfleet Command, 11, 68-69 estimating own, 164, 264 vision for, 22-24 estimating time to perform, 163-165 Starfleet Command 1, 16 example of prioritizing, 168-171 Starfleet Command 2, 16 granularity of, 163 Starfleet Command 3, leveling, 163, 167, 271-273 script example, 116-117 naming, 268 task list example, 283-284 organizing, 270 use cases, 137, 139-141 prioritizing, 166-168 Starfleet Command series, 11, 16 time resolution of, 270-271 bugs in, 20, 24 tracking, 177-181, 278-283 Starfleet Command: The Next Generation, visibility of, 29, 177 tutorials, 110 ways to make visible, 177-179 state diagram, 241-242, 244 team meetings, 285-286 state machine, 241 team testing, 194-195 static design diagrams, 238-240 technical design document, 129, 245 Stewart, Jonas, on Silver Creek components of, 136 Entertainment, 307-310 creating, 247-252 stock options, 335-336 reasons for using, 130-132 Stonekeep 2, 22 using to create schedule, 161-163 412 Index

when to write, 135-136 workflow phases, 134-135 technical directors, 42-43 unit testing, 154-155 technical requirements, 212-213 unprofitable attitudes, 18-19 technology, pace of, 30-32 UnrealScript, 251 test case diagram, 155 use case, 84 tester, entering game industry as, 318 use case diagram, 227-228, 238 testing, 5, 154-155, 193, 255-256 creating, 142-143 automated, 155, 195, 256 examples, 219-220 beta, 54, 155, 196-197, 256, 295 using to create technical design focus group, 195-196 document, 247 licensor, 198 use cases examples, 82-84 manufacturer, 197-198 Diablo, 87-90 project leader, 195 Gran Turismo 3, 90-93 publisher QA, 193-194 Pac-Man, 85-87 team, 194-195 Starfleet Command 3, 137 testing plan, 253-254 user extensibility, 305 texture artist, 48 user interface, The Art Institute of California, 326, 401-403 in-game, 108 The Sims, 16, 21-22, 67 programmers, 44 throw statement, 300 user interface art, outsourcing, 188 time boxing, 260-261 time requirements, 213 V Tomb Raider, 78 visibility, 232 tools programmers, 44 vision document, 205-206 top ten risks document, 174 presentation of, 206-209 updating, 182 Visual Patch, 304 Tracker, 253, 341 VOC, 342 tracking progress, 266 voice assets, 116 trade shows, 57-59 voice-overs, 49 Treyarch Entertainment, 324 outsourcing, 190, 353-360 Tropico, 106, 218 script example, 360-361 try block, 300 volume, 382 tutorials, 109-110 voxels, 90 U W Ultima Online, 113 walkthrough, 220-221 Ultima Online 2, 22 Warcraft, 19 UML, 84, 141, 154 watermarking, 343 diagramming tools, 154 WAV,342 diagrams, 141, 147, 238 Wei-Ch’i, 7-8 modeling tools, 233 white box testing, 155 Unified Modeling Language, see UML WMA, 343 Unified Process, 84 see also Unified writers, 41 Software Development Process writing, outsourcing, 369-373 Unified Software Development Process, X 81-82, 133-134 XMI, 341 core workflows, 134 X-Plane, 10 About the CD

The contents of the companion CD are not the usual bits of programming code one would expect in a traditional computer programming book. Instead, you will find three tools that are very useful in the production and development of your games. The following folders are on the CD: n Perforce—Perforce is a very powerful asset and source code control system. Asset management and version control are critical bits of day-to-day house- keeping in the development of a game. Most folks start out with Microsoft’s very modestly priced Visual Source Safe. After your team grows you will begin to feel the limits of VSS, and Perforce is an excellent solution. Perforce is somewhat expensive; however, the version included on the CD is a free two-client and server license to use as long as you like. n Perforce has also graciously supplied a Best Practices White Paper on ver- sion control. n Daily Journal—The Daily Journal is a tool we developed and use internally at Taldren to track and publish the company’s activities on a daily basis. As you will see, it is a very thin web applet with no additional bells or whistles. Feel free to modify the Daily Journal to your needs. n Describe—Describe is by far the easiest to use of the forward and backward code generation UML tools that I have used. A full-featured demo of Describe is included on the CD.

CAUTION: By opening the CD package, you accept the terms and conditions of the CD/Source Code Usage License Agreement. Additionally, opening the CD package makes this book nonreturnable. CD/Source Code Usage License Agreement Please read the following CD/Source Code usage license agreement before opening the CD and using the contents therein: 1. By opening the accompanying software package, you are indicating that you have read and agree to be bound by all terms and conditions of this CD/Source Code usage license agreement. 2. The compilation of code and utilities contained on the CD and in the book are copy- righted and protected by both U.S. copyright law and international copyright treaties, and is owned by Wordware Publishing, Inc. Individual source code, example programs, help files, freeware, shareware, utilities, and evaluation packages, including their copyrights, are owned by the respective authors. 3. No part of the enclosed CD or this book, including all source code, help files, share- ware, freeware, utilities, example programs, or evaluation programs, may be made available on a public forum (such as a World Wide Web page, FTP site, bulletin board, or Internet news group) without the express written permission of Wordware Pub- lishing, Inc. or the author of the respective source code, help files, shareware, freeware, utilities, example programs, or evaluation programs. 4. You may not decompile, reverse engineer, disassemble, create a derivative work, or otherwise use the enclosed programs, help files, freeware, shareware, utilities, or evaluation programs except as stated in this agreement. 5. The software, contained on the CD and/or as source code in this book, is sold without warranty of any kind. Wordware Publishing, Inc. and the authors specifically disclaim all other warranties, express or implied, including but not limited to implied warran- ties of merchantability and fitness for a particular purpose with respect to defects in the disk, the program, source code, sample files, help files, freeware, shareware, utili- ties, and evaluation programs contained therein, and/or the techniques described in the book and implemented in the example programs. In no event shall Wordware Pub- lishing, Inc., its dealers, its distributors, or the authors be liable or held responsible for any loss of profit or any other alleged or actual private or commercial damage, including but not limited to special, incidental, consequential, or other damages. 6. One (1) copy of the CD or any source code therein may be created for backup pur- poses. The CD and all accompanying source code, sample files, help files, freeware, shareware, utilities, and evaluation programs may be copied to your hard drive. With the exception of freeware and shareware programs, at no time can any part of the con- tents of this CD reside on more than one computer at one time. The contents of the CD can be copied to another computer, as long as the contents of the CD contained on the original computer are deleted. 7. You may not include any part of the CD contents, including all source code, example programs, shareware, freeware, help files, utilities, or evaluation programs in any compilation of source code, utilities, help files, example programs, freeware, share- ware, or evaluation programs on any media, including but not limited to CD, disk, or Internet distribution, without the express written permission of Wordware Pub- lishing, Inc. or the owner of the individual source code, utilities, help files, example programs, freeware, shareware, or evaluation programs. 8. You may use the source code, techniques, and example programs in your own com- mercial or private applications unless otherwise noted by additional usage agreements as found on the CD.