xxi Part I—Introduction to Game Development Chapter 1 What Does This Book Cover?.. 14 Chapter 3 What Makes Game Development Hard?.. 75 Business Context Shapes Design, or Does Design Shap
Trang 1TE AM
Team-Fly®
Trang 2Game Development and
Production
Erik Bethke
Wordware Publishing, Inc.
Trang 3Library 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
CIP
© 2003, Wordware Publishing, Inc
All Rights Reserved
2320 Los Rios BoulevardPlano, 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
Trang 4Foreword 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
Trang 5Excellence in Spades 19
Game Making Is a Long Race of Many Game Projects 20
A Brief History of Software Development 21
Overly Long Game Projects Are Disastrous 21
What Late Games Do to the Publisher 22
Our Project Plan Behind Starfleet Command 22
The Vision for Starfleet Command 23
Constraints Give Much Needed Focus 24
On Bugs Shipped in Starfleet Command 24
Well-Met Goals Enable Future Successes 25
Strong Game Developers Have Strong Foundations 25
The Tension between Preproduction and Production 25
The Power of the Console 26
Why Aren’t All Publishers Using Preproduction? 27
The Process Is Changing 27
A Strong Plan Makes Game Development Easy 28
The Gravitational Pull of Feature Creep 28
Task Visibility for Team Motivation and for Progress Tracking 29
Use Your Core Competencies and Outsource the Rest 29
A Pitfall of Success—Fan-Requested Features and Changes 29
The Relentless Pace of Technology 30
The Art of War and Games 32
Chapter 4 Game Project Survival Test 33
The Game Project Survival Test 33
Game Requirements 33
Planning 33
Project Control 34
Risk Management 35
Personnel 35
Calculating Your Project’s Score 35
What Does My Score Mean? 36
Part II—How to Make a Game Chapter 5 What Is a Game Made Of? 39
The Extended Development Team 39
Game Production Parts 39
Design Parts 39
Where Do Lead Designers Come From? 40
How Do You Nail Down the Game Mechanics? 40
Who Are the Level and Mission Designers? 40
Story and Dialogue Writers Are Writers for Interactivity 41
Coding Parts 41
Lead Programmers and Technical Directors 42
Game Mechanics Programmer 43
Trang 63D Graphics Programmer 43
Artificial Intelligence Programmer 43
User Interface Programmer 44
Audio Programmer 44
Tools Programmer 44
Mission/Level Editor Programmer 44
Network, Server, or Client Programmer? 45
Art Parts 45
Art Director 46
Concept Artist 46
2D Artist/Interface Designer 47
3D Modeler 47
Character Modeler 47
Texture Artist 48
Animator/Motion Capture Studio 48
Storyboarder 49
Audio Parts 49
Voice-Overs 49
Sound Effects 49
Music 50
Management Parts 50
Line Producer 50
Associate Producer 50
Studio Head/Executive Producer 51
Producer 51
Quality Assurance Parts 52
Publisher QA Parts 52
QA Lead 52
Main Team 53
Multiplayer Team 53
Fresh Teams 53
Compatibility Team 53
Localization Team 53
Beta Testing 54
Beta Testers 54
Beta Testing Program Manager 54
Business Parts 55
Business Development Parts 55
Business Development Executive 55
Publisher CEO and President 55
Studio Heads 55
Lawyers 55
Licensing Parts 56
Promoting, Buying, and Selling Parts 56
Sales Executive 56
Trang 7Sales Force and Retail Purchasing Agents 57
Press Relations Manager 57
Trade Shows 57
Other Trade Shows and Events 58
The Marketing of a Game 59
Hardcore Fans 59
Manuals and Strategy Guides 60
Manual 60
Strategy Guide 60
Manufacturing Parts 61
Hardware Manufacturer Parts 61
Console Manufacturers 61
Hardware Representatives 61
Post-Release Parts 62
Chapter 6 Business Context First 65
The Project Triangle 65
Implications of the Project Triangle 66
Various Games and the Project Triangle 67
Questions for You to Answer 70
What to Do with These Answers 70
An Ultra-Low Budget Game 70
Fixed Budget, Fixed Deadline 72
High-Profile/High-Quality Projects 73
Walk Away 74
Chapter 7 Key Design Elements 75
Business Context Shapes Design, or Does Design Shape the Business Context? 76
Reconcile the Business Context and Game Idea Early 76
The Effects of a Slipped Game 77
Methods and the Unified Development Process 81
What Is a Development Method? 81
Why Use the Unified Software Development Process? 81
Requirements Capture 82
Use Cases 82
Case Studies 87
Case Study I—Diablo 87
Use Cases of Diablo 88
Quick Analysis of the Use Cases of Diablo 89
Case Study II—Gran Turismo 90
Use Cases of Gran Turismo 92
Quick Analysis of the Use Cases of Gran Turismo 93
The Key Design Elements of Your Game 94
The Battle of the Counterterrorists Games 94
The Key Design Elements of Rainbow Six 95
Trang 8Are We Playing a Mission or Planning a Mission? 95
The Key Design Elements of Counter-Strike 96
Most Popular Multiplayer Game 96
Of Intersecting Sets and Elite Forces 97
Some Straight Questions to Ask Yourself 99
What Genre or Genres Does Your Game Feature? 99
Will the Game Be Single-Player, Multiplayer, or Both? 99
What Is the Platform? 99
What Is Your Target Market? 100
What Major Technologies Are You Using? 100
Now What? 100
Chapter 8 Game Design Document 101
What Is a Game Design Document and What Does It Do? 101
What About the Proposal Document? 102
When Do You Write the Game Design Document? 103
What Should Go into a Game Design Document? 105
Section One: Defining the Game 106
Articulate What the Game Is as Clearly as Possible 106
Set the Mood 107
Section Two: Core Gameplay 107
The Main Game View 108
Core Player Activity 108
The Controller Diagram 108
In-Game User Interface 108
Section Three: Contextual Gameplay 109
Shell Menus 109
The Nuts and Bolts of Game Mechanics 109
Tutorial Mechanics 109
Multiplayer Mechanics 110
Section Four: Talk Story 111
World Backstory 112
Character Backgrounds 112
Level, Mission, and Area Design 113
Cut Scene Descriptions 114
Section Five: Cover Your Assets 115
2D Sprites or 3D Models 115
Missions, Levels, or Areas 115
Voice 116
Key Framing and Motion Capture 117
Sound Effects 121
Music 121
Special Effects 125
Stepping Back a Bit 127
Trang 9Chapter 9 The Technical Design Document 129
Object-Oriented Design 129
Purpose of the Technical Design Document 130
Why Have a Software Development Process? 132
The Unified Software Development Process 133
Core Workflows of the Unified Process 134
Phases of a Workflow in the Unified Process 134
When Should the Technical Design Document Be Written? 135
What Goes into the Technical Design Document? 136
Requirements Capture 136
Reverse Engineering 143
Nonobvious Requirements 143
Requirements Analysis 144
Class Diagram 145
Relationships 146
Drawing “is a” and “has a” Relationships and Ordinalities 146
Adding Annotation 147
Other UML Diagram Types 147
Dynamic Modeling 148
Architectural Diagrams 149
Large-Scale Planning and the Evil of a Long Build Time 150
Refactoring 150
Insulation 151
Forward and Backward Code Generation with a Modeling Tool 154
Testing Plan 154
Unit Testing and White Box Testing 154
Black Box Testing 155
Beta Testing 155
From Use Cases to Test Cases 155
Chapter 10 The Project Plan 157
What Is the Project Plan? 157
How Do We Create the Project Plan? 157
Gantt and PERT Charts for Organizing Project Tasks 158
Focusing on the Gantt Chart 160
Using the Technical Design Document 161
Task Granularity and Task Leveling 163
How Long Will That Task Take? 163
Short Time Estimate Possibilities 165
Estimating Research Tasks 165
Task Prioritization 166
Resource Leveling 171
Task Dependencies 172
Trang 10The Top Ten Risks Document 174
The Non-Zero Chance of Delivery 175
Chapter 11 Task Tracking 177
Production Begins—Now What? 177
Task Visibility 177
The Wall 177
Journals 179
The Cult of the Yellow Notebook 179
Walk Around 180
Milestone Orientation Meetings 180
Praise People Publicly 180
Maintain the Gantt Chart 181
Update the Risks Chart 182
Chapter 12 Outsourcing Strategies 183
Why Outsource? 183
When to Think About Outsourcing 184
What to Outsource 185
Do Not Outsource Programming—Exceptions Noted 185
On Outsourcing Art 186
Movies, Cut Scenes, or Full Motion Video 186
3D Models—Modeling 187
Animation and Motion Capture 187
User Interface Art 188
Audio 188
Music 188
Sound Effects 189
Voice-Over 190
What Else to Outsource 190
Chapter 13 Shipping Your Game 191
Shipping Is a Phase 191
How Do You Ship a Great Game? 191
Alpha—Feature Complete 192
What Is Feature Complete? 192
Additional Content 192
Feature Trimming 192
Testing Plan 193
Publisher QA 193
Team Testing 194
Project Leader Testing 195
Automated Testing 195
Focus Group Testing 195
Beta Testing 196
Open or Closed Beta Test? 196
Trang 11Manufacturer 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 Diagrams 213
Chapter 16 The Design Document 215
What Does the Game Design Document Do? 215
The Game Design Document as a Process 216
Game Concept 216
Brainstorm 216
Delegate Design 217
Managing the Design Document 218
60 Seconds of Gameplay 218
Core Gameplay 219
The Walkthrough 220
Asset Lists 221
Use of Other Games 222
Menu Design 222
Game Mechanics Detail 223
Write the Manual? 223
Concept Sketches and Art Style Guide 224
On Completeness and Uncertainty 224
Cut Features Even Before Considering the Schedule 224
Maintain the Game Design Document 225
On Fulfilled Expectations 225
Team-Fly®
Trang 12Chapter 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
Trang 13Chapter 20 Putting It All Together into a Plan 265
Let’s Create a Schedule for FishFood! 266
Create a New Project File 266
What Is a PERT/Gantt Chart Anyway? 266
Start Entering Tasks 268
Tasks Are Performed by Resources 269
Where Does All of This Task Information Come From? 269
Organizing Tasks 270
Task Granularity 270
How to Account for Vacation and Sick Time 271
Remember Odd Tasks 271
Time Leveling in Project 271
Let it Jell 273
How to Distribute the Schedule to the Team 273
Chapter 21 Measuring Progress 275
On Leadership 275
Know What Your Goal Is at All Times 275
Set Goals, Not Hours 277
Task Tracking 278
Only Visible Tasks Are Completed 279
The Daily Journal 279
The Wall 282
Team Meetings 285
Of Leaves and Gutters 286
Chapter 22 Controlling Feature Creep 287
Great Games Satisfy Player Expectations 287
Feature Creep Occurs During Design 288
Primary, Secondary, and Tertiary 288
Feature Walking 288
Publisher-Suggested Features 289
Push Independent Tasks to the End 290
Regularly Practice Feature Cutting 290
Chapter 23 Alpha, Beta, Go Final! 293
The Test of Well-Laid Plans 293
On Alpha 294
On to Beta 294
The Finale 295
Chapter 24 Point Releases vs Patches 299
Software Complexity and the Fragility of Computers 299
How About Those Console Games—They Don’t Patch!? 301
Online Games—the Perpetual Beta? 302
Point Release as a Sugarcoated Term for Patch 302
Fan Requests 303
Trang 14The Publisher-Developer Post-Release Relationship 303
Tools for Creating Patches 304
User Extensibility—The Magical Patch 305
Chapter 25 Garage Development Spans the Internet 307
Silver Creek Entertainment 307
Part IV—Game Development Resource Guide Chapter 26 Getting a Job in the Game Industry 313
Who Is Trying to Get into Games? 313
You Want Me to Do What? Oh, I Would Rather Do This 314
Hours of the Game Industry 314
You Did Not Scare Me—I Love Games AND I Want In! 315
How to Get a Job as a Programmer 316
Artists and Their Portfolios 317
How Do I Become a Tester? 318
I Have a Great Idea for a Game—I Want to Be a Designer! 318
So You Want to Be a Producer 318
Go to GDC—Free! 319
What About Those Recruiters? 320
Resumes, Demo Reels, and the Interview 320
Honesty vs Modesty 320
Chapter 27 Starting a Game Development Company 323
Find a Path 324
I Have a Plan; Now How Do I Get Started? 324
Rounding Out Your Development Team 325
Where to Locate Your Game Company 326
Lawyer and Accountant 328
Deciding on the Type of Company 329
Non-Corporation 329
Corporation 330
Taxes 331
Buy-Sell Agreements 331
Insurance 332
Workman’s Compensation 332
Liability Insurance 332
Employee Compensation Programs 332
Medical/Dental/Optical/IRA 334
401K/IRA/Retirement Benefits 335
Project Bonuses 335
Milestone Bonuses 335
Royalties 335
Stock Options 335
Trademarks and URLs 336
War Chests 336
Trang 15Chapter 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