Tải bản đầy đủ (.pdf) (50 trang)

Game Development and Production doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (936.73 KB, 50 trang )

TEAMFLY






















































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

Personnel 35
Calculating Your Project’s Score 35
What Does My Score Mean? 36
Part II—How to Make a Game
Chapter 5 What Is a Game Made Of? 39
The Extended Development Team 39
Game Production Parts 39
Design Parts 39
Where Do Lead Designers Come From? 40
How Do You Nail Down the Game Mechanics? 40
Who Are the Level and Mission Designers? 40
Story and Dialogue Writers Are Writers for Interactivity 41
Coding Parts 41
Lead Programmers and Technical Directors 42
Game Mechanics Programmer 43
iv Contents
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/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
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
Contents v
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
vi Contents
Are We Playing a Mission or Planning a Mission? 95
The Key Design Elements of Counter-Strike 96
Most Popular Multiplayer Game 96
Of Intersecting Sets and Elite Forces 97
Some Straight Questions to Ask Yourself 99
What Genre or Genres Does Your Game Feature? 99
Will the Game Be Single-Player, Multiplayer, or Both? 99
What Is the Platform? 99
What Is Your Target Market? 100
What Major Technologies Are You Using? 100
Now What? 100
Chapter 8 Game Design Document 101
What Is a Game Design Document and What Does It Do? 101

What About the Proposal Document? 102
When Do You Write the Game Design Document? 103
What Should Go into a Game Design Document? 105
Section One: Defining the Game 106
Articulate What the Game Is as Clearly as Possible 106
Set the Mood 107
Section Two: Core Gameplay 107
The Main Game View 108
Core Player Activity 108
The Controller Diagram 108
In-Game User Interface 108
Section Three: Contextual Gameplay 109
Shell Menus 109
The Nuts and Bolts of Game Mechanics 109
Tutorial Mechanics 109
Multiplayer Mechanics 110
Section Four: Talk Story 111
World Backstory 112
Character Backgrounds 112
Level, Mission, and Area Design 113
Cut Scene Descriptions 114
Section Five: Cover Your Assets 115
2D Sprites or 3D Models 115
Missions, Levels, or Areas 115
Voice 116
Key Framing and Motion Capture 117
Sound Effects 121
Music 121
Special Effects 125
Stepping Back a Bit 127

Contents vii
Chapter 9 The Technical Design Document 129
Object-Oriented Design 129
Purpose of the Technical Design Document 130
Why Have a Software Development Process? 132
The Unified Software Development Process 133
Core Workflows of the Unified Process 134
Phases of a Workflow in the Unified Process 134
When Should the Technical Design Document Be Written? . . 135
What Goes into the Technical Design Document? 136
Requirements Capture 136
Reverse Engineering 143
Nonobvious Requirements 143
Requirements Analysis 144
Class Diagram 145
Relationships 146
Drawing “is a” and “has a” Relationships and
Ordinalities 146
Adding Annotation 147
Other UML Diagram Types 147
Dynamic Modeling 148
Architectural Diagrams 149
Large-Scale Planning and the Evil of a Long Build Time 150
Refactoring 150
Insulation 151
Forward and Backward Code Generation with a
Modeling Tool 154
Testing Plan 154
Unit Testing and White Box Testing 154
Black Box Testing 155

Beta Testing 155
From Use Cases to Test Cases 155
Chapter 10 The Project Plan 157
What Is the Project Plan? 157
How Do We Create the Project Plan? 157
Gantt and PERT Charts for Organizing Project Tasks 158
Focusing on the Gantt Chart 160
Using the Technical Design Document 161
Task Granularity and Task Leveling 163
How Long Will That Task Take? 163
Short Time Estimate Possibilities 165
Estimating Research Tasks 165
Task Prioritization 166
Resource Leveling 171
Task Dependencies 172
viii Contents
The Top Ten Risks Document 174
The Non-Zero Chance of Delivery 175
Chapter 11 Task Tracking 177
Production Begins—Now What? 177
Task Visibility 177
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 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
Contents ix

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 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
x Contents
TEAMFLY























































Team-Fly
®

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
Contents xi
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
xii Contents
The Publisher-Developer Post-Release Relationship 303
Tools for Creating Patches 304
User Extensibility—The Magical Patch 305
Chapter 25 Garage Development Spans the Internet 307
Silver Creek Entertainment 307
Part IV—Game Development Resource Guide
Chapter 26 Getting a Job in the Game Industry 313
Who Is Trying to Get into Games? 313
You Want Me to Do What? Oh, I Would Rather Do This 314
Hours of the Game Industry 314
You Did Not Scare Me—I Love Games AND I Want In! 315
How to Get a Job as a Programmer 316
Artists and Their Portfolios 317
How Do I Become a Tester? 318
I Have a Great Idea for a Game—I Want to Be a Designer! 318
So You Want to Be a Producer 318
Go to GDC—Free! 319
What About Those Recruiters? 320
Resumes, Demo Reels, and the Interview 320
Honesty vs. Modesty 320
Chapter 27 Starting a Game Development Company 323
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
Contents xiii
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

xiv Contents
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
Contents xv
This page inten tion 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, Neverwinter Nights, and Star Wars: Knights of
the Old Republic) that game production is a huge area. Erik further explained that
he was going to provide additional information on topics such as outsourcing and
detailed production frameworks. During our review of the manuscript, we learned
a number of things that we’re going to be able to apply to development at
BioWare. We’re also more excited than ever in seeing the final work with all of
the graphs, diagrams, and illustrations accompanying the text.
xvii
In conclusion we believe you, the reader and presumed game producer or
game developer, will learn a great deal by reading this book. Its contents cover a
wide range of topics and contain pearls of knowledge that will be of value to not
only new game producers but also to experienced game developers. Read and

enjoy!
Dr. Greg Zeschuk and Dr. Ray Muzyka
Joint CEOs and co-executive producers, BioWare Corp.
xviii Foreword
Preface
Who Is This Book For?
This is a book about the making of digital interactive entertainment software—
games! Specifically, this book is for people who want to lead the making of games:
programmers, designers, art directors, producers (executive, associate, line,
internal development, external development), project managers, or leaders on
any type of entertainment software.
n
Are you a talented individual working on a mod to your favorite commercial
game who needs to understand how a game is put together?
n
Are you working with a small team across the Internet on a total conversion
like Day of Defeat that will grip gameplayers and game developers alike—but
are wondering how to motivate your team members and articulate your
vision for your total conversion?
n
Are you running your first game, with six or more developers working on
your game?
n
Have you been at work for a few months, and everything felt great at the
beginning, but now you are wondering if you are on time?
n
Are you just starting your second game project and determined to plan it
right this time?
n
Are you a successful executive producer who is now responsible for oversee

-
ing several projects and want to know how you can get more clarity on your
project’s success?
n
Are you an external developer and want to know how you can best manage
risks and meet your milestones?
n
Is your project late?
n
Are you a member of a game development team and have a vested interest in
the success of this game?
n
Are you thinking of joining the industry as a producer and need a producer’s
handbook?
The point is there are many different types of people responsible and accountable
for the production of a game project.
xix
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.
xx Preface
TEAMFLY






















































Team-Fly
®

Acknowledgments

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

Game Development
This page inten tion ally left blank

×