TE AM FL Y Game Development and Production Erik Bethke Wordware Publishing, Inc Library of Congress Cataloging-in-Publication Data Bethke, Erik Game development and production / by Erik Bethke p cm ISBN 1-55622-951-8 Computer games Design Computer games Programming Project management I Title QA76.76.C672 B47 2002 794.8'1526 dc21 2002153470 CIP © 2003, Wordware Publishing, Inc All Rights Reserved 2320 Los Rios Boulevard Plano, Texas 75074 No part of this book may be reproduced in any form or by any means without permission in writing from Wordware Publishing, Inc Printed in the United States of America ISBN 1-55622-951-8 10 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 What Does This Book Cover? How to Make a Game First Have a Plan Organize Your Team Effectively Game Development Is Software Development Where to Turn for Outside Help How to Ship a Game Post-Release Success and the Long Race How to Use This Book Chapter 3 4 5 Why Make Games? To Share a Dream Games Teach Game Genres Satisfy Different Appetites Gambling, Puzzle, and Parlor Games Military and Sports Simulations 10 Role-Playing Games 12 Youth Making Games 13 On Money 13 Why Make Games? 14 Chapter What Makes Game Development Hard? The Importance of Planning Very Few Titles Are Profitable 500,000 Units to Break Even? Employee Compensation and Royalties What Are the Financial Expectations for Your Game? The Scope of the Game Must Match Financial Parameters Why Your Game Should Profit Feature Storm If the Game Is Worth Making, Make It Excellent Chapter 15 15 15 16 17 17 17 18 18 19 iii iv Contents Excellence in Spades Game Making Is a Long Race of Many Game Projects A Brief History of Software Development Overly Long Game Projects Are Disastrous What Late Games Do to the Publisher Our Project Plan Behind Starfleet Command The Vision for Starfleet Command Constraints Give Much Needed Focus On Bugs Shipped in Starfleet Command Well-Met Goals Enable Future Successes Strong Game Developers Have Strong Foundations The Tension between Preproduction and Production The Power of the Console Why Aren’t All Publishers Using Preproduction? The Process Is Changing A Strong Plan Makes Game Development Easy The Gravitational Pull of Feature Creep Task Visibility for Team Motivation and for Progress Tracking Use Your Core Competencies and Outsource the Rest A Pitfall of Success—Fan-Requested Features and Changes The Relentless Pace of Technology The Art of War and Games 19 20 21 21 22 22 23 24 24 25 25 25 26 27 27 28 28 29 29 29 30 32 33 33 33 33 34 35 35 35 36 What Is a Game Made Of? The Extended Development Team Game Production Parts Design Parts Where Do Lead Designers Come From? How Do You Nail Down the Game Mechanics? Who Are the Level and Mission Designers? Story and Dialogue Writers Are Writers for Interactivity Coding Parts Lead Programmers and Technical Directors Game Mechanics Programmer 39 39 39 39 40 40 40 41 41 42 43 Game Project Survival Test The Game Project Survival Test Game Requirements Planning Project Control Risk Management Personnel Calculating Your Project’s Score What Does My Score Mean? Chapter Part II—How to Make a Game Chapter Contents v 3D Graphics Programmer Artificial Intelligence Programmer User Interface Programmer Audio Programmer Tools Programmer Mission/Level Editor Programmer Network, Server, or Client Programmer? Art Parts Art Director Concept Artist 2D Artist/Interface Designer 3D Modeler Character Modeler Texture Artist Animator/Motion Capture Studio Storyboarder Audio Parts Voice-Overs Sound Effects Music Management Parts Line Producer Associate Producer Studio Head/Executive Producer Producer Quality Assurance Parts Publisher QA Parts QA Lead Main Team Multiplayer Team Fresh Teams Compatibility Team Localization Team Beta Testing Beta Testers Beta Testing Program Manager Business Parts Business Development Parts Business Development Executive Publisher CEO and President Studio Heads Lawyers Licensing Parts Promoting, Buying, and Selling Parts Sales Executive 43 43 44 44 44 44 45 45 46 46 47 47 47 48 48 49 49 49 49 50 50 50 50 51 51 52 52 52 53 53 53 53 53 54 54 54 55 55 55 55 55 55 56 56 56 vi Contents Sales Force and Retail Purchasing Agents Press Relations Manager Trade Shows Other Trade Shows and Events The Marketing of a Game Hardcore Fans Manuals and Strategy Guides Manual Strategy Guide Manufacturing Parts Hardware Manufacturer Parts Console Manufacturers Hardware Representatives Post-Release Parts 57 57 57 58 59 59 60 60 60 61 61 61 61 62 Business Context First The Project Triangle Implications of the Project Triangle Various Games and the Project Triangle Questions for You to Answer What to Do with These Answers An Ultra-Low Budget Game Fixed Budget, Fixed Deadline High-Profile/High-Quality Projects Walk Away 65 65 66 67 70 70 70 72 73 74 Chapter Key Design Elements Business Context Shapes Design, or Does Design Shape the Business Context? Reconcile the Business Context and Game Idea Early The Effects of a Slipped Game Methods and the Unified Development Process What Is a Development Method? Why Use the Unified Software Development Process? Requirements Capture Use Cases Case Studies Case Study I—Diablo Use Cases of Diablo Quick Analysis of the Use Cases of Diablo Case Study II—Gran Turismo Use Cases of Gran Turismo Quick Analysis of the Use Cases of Gran Turismo The Key Design Elements of Your Game The Battle of the Counterterrorists Games The Key Design Elements of Rainbow Six Chapter 75 76 76 77 81 81 81 82 82 87 87 88 89 90 92 93 94 94 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 Game Design Document What Is a Game Design Document and What Does It Do? What About the Proposal Document? When Do You Write the Game Design Document? What Should Go into a Game Design Document? Section One: Defining the Game Articulate What the Game Is as Clearly as Possible Set the Mood Section Two: Core Gameplay The Main Game View Core Player Activity The Controller Diagram In-Game User Interface Section Three: Contextual Gameplay Shell Menus The Nuts and Bolts of Game Mechanics Tutorial Mechanics Multiplayer Mechanics Section Four: Talk Story World Backstory Character Backgrounds Level, Mission, and Area Design Cut Scene Descriptions Section Five: Cover Your Assets 2D Sprites or 3D Models Missions, Levels, or Areas Voice Key Framing and Motion Capture Sound Effects Music Special Effects Stepping Back a Bit Chapter 101 101 102 103 105 106 106 107 107 108 108 108 108 109 109 109 109 110 111 112 112 113 114 115 115 115 116 117 121 121 125 127 viii Contents The Technical Design Document Object-Oriented Design Purpose of the Technical Design Document Why Have a Software Development Process? The Unified Software Development Process Core Workflows of the Unified Process Phases of a Workflow in the Unified Process When Should the Technical Design Document Be Written? What Goes into the Technical Design Document? Requirements Capture Reverse Engineering Nonobvious Requirements Requirements Analysis Class Diagram Relationships Drawing “is a” and “has a” Relationships and Ordinalities Adding Annotation Other UML Diagram Types Dynamic Modeling Architectural Diagrams Large-Scale Planning and the Evil of a Long Build Time Refactoring Insulation Forward and Backward Code Generation with a Modeling Tool Testing Plan Unit Testing and White Box Testing Black Box Testing Beta Testing From Use Cases to Test Cases 129 129 130 132 133 134 134 135 136 136 143 143 144 145 146 The Project Plan What Is the Project Plan? How Do We Create the Project Plan? Gantt and PERT Charts for Organizing Project Tasks Focusing on the Gantt Chart Using the Technical Design Document Task Granularity and Task Leveling How Long Will That Task Take? Short Time Estimate Possibilities Estimating Research Tasks Task Prioritization Resource Leveling Task Dependencies 157 157 157 158 160 161 163 163 165 165 166 171 172 Chapter Chapter 10 146 147 147 148 149 150 150 151 154 154 154 155 155 155 Contents ix The Top Ten Risks Document 174 The Non-Zero Chance of Delivery 175 Task Tracking Production Begins—Now What? Task Visibility The Wall Journals The Cult of the Yellow Notebook Walk Around Milestone Orientation Meetings Praise People Publicly Maintain the Gantt Chart Update the Risks Chart 177 177 177 177 179 179 180 180 180 181 182 Outsourcing Strategies Why Outsource? When to Think About Outsourcing What to Outsource Do Not Outsource Programming—Exceptions Noted On Outsourcing Art Movies, Cut Scenes, or Full Motion Video 3D Models—Modeling Animation and Motion Capture User Interface Art Audio Music Sound Effects Voice-Over What Else to Outsource 183 183 184 185 185 186 186 187 187 188 188 188 189 190 190 Shipping Your Game Shipping Is a Phase How Do You Ship a Great Game? Alpha—Feature Complete What Is Feature Complete? Additional Content Feature Trimming Testing Plan Publisher QA Team Testing Project Leader Testing Automated Testing Focus Group Testing Beta Testing Open or Closed Beta Test? 191 191 191 192 192 192 192 193 193 194 195 195 195 196 196 Chapter 11 Chapter 12 Chapter 13 This page intentionally left blank 401 Appendix B: The Art Institute of California—Orange County Appendix B > > > > > > > > > > > > > > > The Art Institute of California—Orange County Thanks to The Art Institute of California—Orange County for providing the following information about the school Background Opened in July 2000, The Art Institute of California—Orange County is an applied arts institute providing Bachelor’s and Associate’s degrees in Graphic Design, Media Arts & Animation, Game Art & Design, Multimedia & Web Design, Interior Design, and Culinary Arts Located in the heart of Orange County’s South Coast Metro region, The Art Institute is ideally situated in close proximity to Orange County’s thriving business community, cultural attractions, shopping, entertainment and its famous beaches, not to mention the Los Angeles metropolitan area The school is one of The Art Institutes, www.artinstitutes.edu, a system of 24 education institutions located nationwide, providing an important source of design, media arts, fashion, and culinary professionals The Art Institutes have provided careeroriented education programs for over 35 years, with more than 125,000 graduates Each program is offered on a yearround basis, allowing students to continue to work uninterrupted toward their degrees Academic programs are carefully defined with the support and contributions of members of the professional community through Program Advisory Committees Curricula are further reviewed periodically to ensure they meet the needs of a changing marketplace to qualify graduates for entry-level positions in their chosen fields The Art Institute is comprised of more than 50 faculty members who are working professionals in their respective fields By tapping industry 402 Appendix B: The Art Institute of California—Orange County professionals, The Art Institute is able to bring a real-world perspective work setting and industry standards into the classroom preparing students for entry-level positions upon graduation The Art Institute of California— Orange County is accredited as a branch of The Art Institute of Colorado (Denver) by the Accrediting Council for Independent Colleges and Schools to award the Bachelor of Science and Associate of Science degrees ACICS is listed as a nationally recognized accrediting agency by the U.S Department of Education Its accreditation of degreegranting institutions is recognized by the Council for Higher Education Accreditation The Art Institute of California—Orange County is granted approval by the Bureau of Private Postsecondary and Vocational Education as a California private postsecondary degree-granting institution Game Art & Design Bachelor of Science Program The Art Institute of California—Orange County (along with its sister schools in San Francisco and Los Angeles) offers a unique new Bachelor’s degree program in Game Art & Design to bring a new generation of talent to the computer game industry The Game Art & Design Bachelor of Science degree program is designed for students who want to prepare for entry-level art positions in the game development field Geared toward 3D animation and game level design, the program’s students will learn character animation techniques, complex modeling, computer mapping, game level design, and how to script within the game Through traditional art and design courses like life drawing, color theory, illustration, and sculpture, students also will create interactive game levels and learn to make computer game animation come alive with movement, color, and action characters Students will apply knowledge of video and animation to produce game products using 2D software to create backgrounds, 3D modeling and animation software to create game art, and 3D software to apply textures The students also will receive a broad-based education that will include classes in art history and the humanities By exposing students to classic art forms, they are able to incorporate more variety into their writing styles and animation sequences The curriculum will prepare future game developers to produce story lines and animations filled with creativity and inventive cleverness The action and suspense that challenge people as they play video games can be accomplished through intelligent story writing The curriculum also includes general education courses in areas such as mathematics and the social sciences The growing field of companies producing computer games is actively seeking artists trained in the art of computer animation and experienced with computer technologies—in Orange County alone there are game entertainment companies like Interplay Entertainment, Blizzard Entertainment, Taldren, Shiny Entertainment, and GameSpy Industries Computer and video game sales could approach Appendix B: The Art Institute of California—Orange County $17 billion in 2003, with another $1.1 billion in online gaming revenues, according to IDC The game industry includes video games played on console game systems, personal computers, and handhelds According to Forrester Research, nearly 49 million American homes today have at least one video game system Nearly 75 million homes are projected to have systems by 2005, achieving a 70 percent penetration level The Art Institutes’ Game Art & Design program was designed by a faculty curriculum committee and professional advisory boards of industry experts, including specialists with work experience at Sega of America, Macromedia, Konami, Pixar, LucasArts, Sonique, Terra Lycos, PDI/DreamWorks, and Apple The program gives students a curriculum that responds to 403 the ongoing changes in the game development and multimedia industries, ensuring that students graduate with the skills and knowledge that employers need Furthermore, students learn about the changing demands in the business world through a regular series of guest speakers Potential students interested in the Game Art & Design, Media Arts & Animation, or another program offered by The Art Institute of California—Orange County are invited to call (888) 549-3055 or (714) 830-0200 or visit www.aicaoc.aii.edu for curriculum and admissions information For more information on The Art Institute of California—Orange County, please contact Anne Mack at (714) 830-0254 or macka@aii.edu This page intentionally left blank 405 Index Index 2D artist, 47 3D graphics programmer, 43 3D modeler, 47 3D models, outsourcing, 187, 390 80 percent stereotype rule, 371-372 A Activision, 97-98 and licensing, 212 activity diagram, 148, 240-241 actor, 84 ADPCM, 342 Advanced Squad Leader, 10-11 alpha, 192, 294 alpha testers, 294 Alter Echo, sound effects list, 121 ambient music, 344 analysis model, 144-145 animation, 48 in games, 381 outsourcing, 187-188 art assets, estimating time for creating, 261 prototyping, 224 art director, 46 Art Institute of California, see The Art Institute of California art, outsourcing, 186-188, 376-380 art parts, 45-49 artificial intelligence programmers, 43 artist, entering game industry as, 317 asset lists, 221-222 assets, animation, 117 audio, 49 character models, 115 missions, 115 music, 121-122 sound effects, 121 special effects, 125-127 voice, 116 associate producer, 50-51 association relationship, 228 associations, 231-232 attributes, 232 audio assets, 49-50 audio bid example, 122-125 audio, outsourcing, 188-190 audio programmers, 44 Audio Scrambler, 343 automated testing, 155, 195, 256 Avalon Hill, 10-11 B backstory, creating, 112 balance, 198-200 Baldur’s Gate, 12-13, 21, 22 tutorials, 110 battle music, 345 Bennie, Scott, on writing for games, 369-373 beta, 294-295 beta testers, 54, 256, 295 beta testing, 54, 155, 196-197, 256, 295 program manager, 54 BioWare, 17-18 QA, 52 biz dev, 55 black box testing, 155 Black9 audio bid example, 122-125 motion capture list, 118-120 special effects list, 126-127 vision document, 208 Blizzard, 17-18, 68, 69 bonuses, 335 Borders, Chris, on voice-over work, 353-360 brainstorming, 216-217 Brown, Bill, on using live orchestras for games, 347-351 bug tracking, 252-253 406 Bugzilla, 253 build, 50 build times, 150 business development executive, 55 business development parts, 55-56 business elements, 55-61 business entities, types of, 329-331 business parameters, 76 buy-sell agreement, 331 buzz, 57 C cancellation of games, 26 catch statement, 300 CD/Redbook audio, 342 character backgrounds, creating, 112-113 character modeler, 47 character models, listing, 115 chase music, 345 chess, class diagram, 145-147, 228-230, 238 annotating, 147 example, 233-238 client-server structure, 45 closed beta testing vs open beta testing, 196-197 coding parts, 41-45 collaboration diagram, 243-244 compatibility team, 53 component diagram, 149, 239 see also package diagram component-based development, 81 compression, 342 concept artist, 46 concept document, see vision document conceptual design, 228-229 console, developing for, 26-27, 31 console games, patches for, 301-302 console manufacturers, 61 controller diagram, 108 core gameplay, defining, 219 core player activity, 108 Counter-Strike, 71-72 key design elements, 96 low bug count, 301 multiplayer popularity of, 96-97 cut scenes, description of, 114 example of, 114-115 outsourcing, 186-187 Index D Daikatana, 78 defect pooling, 254-255 defect seeding, 255 dependencies, 265 dependent tasks, 172 deployment diagram, 149-150, 239-240 Descent to Undermountain, 79-80 Describe, 233-238 design, conceptual, 228-229 implementation, 229 specification, 229 design critique, outsourcing, 387-388 design document, see game design document design parts, 39-41 design, reviewing, 247 design tasks, estimating, 261-262 designer, entering game industry as, 318 development methods, 81 development process, at Eidos, 27-28 at Microsoft, 27 reasons for using, 132-133 Diablo, 13, 59-60, 68, 73 feature set, 287-288 use case diagrams, 220 use cases example, 87-90 Diablo II, 16 dialogue, writing, 370-371 DigiPen, 326 Doom, extensibility of, 388 game definition, 106 use case diagrams, 219 downtime, accounting for in schedule, 271 Dungeon Siege, 13 menu design, 222-223 Dungeons and Dragons, 12-13 dynamic behavior diagrams, 240-244 dynamic modeling, 148 E E3, 57-58 Eidos, 78 game development process, 27-28 Electronic Arts, 12, 21-22, 67 Electronic Entertainment Expo, see E3 Elite Force, 97-99 407 Index employees, compensating, 332-336 hiring, 325-326 rewarding, 180-181 Epic, 324 Excel, 158 executive producer, 51 expectations, financial, 17-18 fulfilling, 19, 225 exploration music, 344 extend relationship, 228 eye candy, 27 F Fallout 1, 16 fans, 59-60 communication with, contracting with, 390-391 creating content, 388-389 critiquing design, 387-388 outsourcing 3D models to, 390 requests from, 29, 303 feature complete, 192 feature creep, 288 feature storm, 18-19 feature walking, 288-289 features, adding, 192 cutting, 192-193, 224-225, 290-291 publisher-suggested, 289-290 ranking, 288 final candidate cycle, 200 financial expectations, 17-18 first playable, 293 fiscal requirements, 213 fixed budget/fixed deadline projects, 72, 74 flight simulators, 10 focus group testing, 195-196 FreeSpace 2, 19 fresh teams, 53 full motion video, outsourcing, 186-187 functional leads, 245-246 G Gamasutra, 326 Gambiano, Mark, on outsourcing game art, 376-380 gambling games, 8-10 game balance, 198-200 game company, accounting assistance, 328 employee benefits, 334-336 employee compensation, 332-334 hiring employees, 325-326 insurance, 332 legal assistance, 328-329 location, 326-327 making money, 336-337 starting, 323-325 tax considerations, 327, 331 trademarks, 336 type of, 329-331 URLs, 336 game concept, brainstorming, 216-217 defining, 216 game design document, 101-102, 215 as process, 216-225 completeness of, 224 creating asset lists, 115-127 creating the story, 111-114 defining contextual gameplay, 109-111 defining core gameplay, 107-108 defining the game, 106-107 delegating writing of, 103-104 maintaining, 225 managing, 218 purpose of, 215-216 requirements for, 105 reviewing, 104-105 when to write, 103 Game Developers Conference, 61, 319 game development, 28 game development houses, 375 game elements, 63 game genres, see genres game industry, breaking into, 313-314, 316-319 long hours of, 314-315 skill sets in, 315 game mechanics, defining, 109-110 designers, 40 detailing, 223 programmers, 43 game production elements, 39-51 game programmers, licensing, 42 game project survival test, 33-36 408 Index House of Moves, 383 hunting music, 345 I id Software, 17-18, 69, 324 beta testing, 54 implementation class, 151 implementation design, 229 include relationship, 228 insulation, 151-154 interactivity, interface class, 151 interface designer, 47 Internet Chess Club, Interplay, 22-23, 68, 79-80 and licensing, 212 Ion Storm, 78 “is a” relationship, 146-147, 231 TE AM FL Y gameplay, defining, 107-108, 109-111 documenting 60 seconds of, 218-219 games, cancelling, 26 defining, 106-107 documenting areas of likely change, 252 excellence in, 19 financial assumptions for, 16 motives for making, profitability of, 15-17 reasons for making, 7-8, 13-14 requirements of, 143-144 using for inspiration, 222 when to release, 257 Gaming Zone, Gantt chart, 159-161, 267-268 maintaining, 181 vs PERT chart, 159-160 generalization, 231 generalization relationship, 228 genres, 8-13 Giant, 383 Go, 7-8 goals, recognizing, 275 setting, 277 technical, 251-252 gold master, 295 Gran Turismo 3, 12 menu system use cases, 223 use case diagrams, 220 use cases example, 90-93 Grand Theft Auto 3, menu design, 223 green-light committee, 27 green-light meeting, 27 Grey Matter, 185 H Half-Life, 60, 71 hardware manufacturer parts, 61 hardware representatives, 61 Hardwood Solitaire, 20 Hardwood Spades, 19-20 “has a” relationship, 146-147, 231 header file, 130 Heisenberg uncertainty principle, 218 Hexen II, 16 high-profile/high-quality projects, 73, 74 J Jacobson, Ivar, 81 journals, using to document projects, 179 jump lists, 345 K key design elements, 94 reviewing, 99-100 key framing, 48, 381-382 Klingon Academy, 23 L languages, specifying, 250 late games, problems with, 21-22 lawyers, 55-56 lead designers, 40 lead programmers, 42-43 level designers, 5, 40-41 level editor programmers, 44-45 leveling, resource, 171-172 task, 163, 167 levels, documenting, 113-114 Levenson, Adam, on sound effects, 363-367 license requirements, 211-212 licensing, 56 licensor testing, 198 line producer, 50 localization team, 53 lossy compression, 342 low-budget projects, 70-72, 74 Team-Fly® 409 Index M Madden NFL Football, 12 main game view, 108 main QA team, 53 Makkoya, design staff, 261 management parts, 50-51 manual, 60 when to write, 223 manufacturer testing, 197-198 manufacturing parts, 61 Mario64, music in, 344 marketing, 59 marketing development funds, 56 marketing director, 59 Max Payne, 22 menus, designing, 222-223 music in, 345 Messiah, 16 Microsoft, 81 preproduction process, 27 Microsoft Excel, see Excel Microsoft Flight Simulator, 10 Microsoft Project, 158, 265 using, 167, 172-173, 181, 266, 268-269, 271-273 MIDI, 340-341 milestone meetings, 180 military simulations, 10-12 missed deadlines, effects of, 77 mission designers, 40-41 mission editor programmers, 44-45 missions, listing, 115 mod, 70 modeling, outsourcing, 187 Moore’s Law, 31, 133 motion capture, 48, 382 list example, 118-120 using in games, 382-384 movies, outsourcing, 186-187 MP3, 342-343 multiplayer mechanics, 110-111 outsourcing, 185 multiplayer QA team, 53 multiplicity, 231 music, 50 formats, 340-342 in games, 339-340 outsourcing, 188-189 types of, 344-345 music bid, 343-344 example, 345-346 Musical Instrument Digital Interface, see MIDI musical sting, 344 Muzyka, Ray, on selling cross-genre game, 98 on user expectations, 95 N navigability, 231-232 Nerve Software, 185 network programmers, 45 Neverwinter Nights, 13 system requirements, 213 O object diagram, 147, 238-239 object-oriented design, 129-130 online games, patches for, 302 open beta testing vs closed beta testing, 196-197 operations, 232 orchestras, using for game music, 346, 347-351 organization, 4, 28 outsourcing, 4, 29 3D models, 187, 390 animation, 187-188 art, 186-188, 376-380 audio, 188-190 cut scenes, 186-187 design critique, 387-388 full motion video, 186-187 movies, 186-187 multiplayer mechanics, 185 music, 188-189 programming, 185-186 reasons for, 183-184 sound effects, 189-190, 363-367 tasks suitable for, 185-190, 390 user interface art, 188 voice work, 190, 353-360 writing, 369-373 P package diagram, 147 see also component diagram 410 Pac-Man, game definition, 106 music in, 344 use cases example, 85-87 pair programming, 296 Parcheesi, 8-9 parlor games, 8-10 patches, 295-296, 299 tools for creating, 304 PC, developing for, 30-31 peer-to-peer structure, 45 PERT chart, 158-159, 266-267 vs Gantt chart, 159-160 piracy, preventing, 343 planning, 3, 15 point release, 201, 302 post-release elements, 62 post-release support, 5, 29, 62 need for, 303-304 preproduction, 26 at Microsoft, 27 press relations manager, 57 prioritization of tasks, 166-168 example, 168-171 producer, 51 entering game industry as, 318-319 production plan, 101-102 profitability of games, 15-17 programmer, entering game industry as, 316 programming, outsourcing, 185-186 programming tasks, estimating, 262-264 types of, 262-264 progress, measuring, 278-279 project leader testing, 195 project plan, 157 creating, 157-158 project triangle, 65-66 examples of using, 67-70 implications of, 66 promotion, 56 promotion parts, 56-57 proposal document, 102-103 see also vision document proto-schedules, 161 publisher CEO, 55 publisher QA parts, 52-53 publisher QA testing, 193-194 puzzle games, 8-10 Index Q QA, see quality assurance QA lead, 52-53 Quake, 19 test, 196-197 Quake I, menu design, 222 quality assurance, 52 elements, 52-54 plan, 252 R Rainbow Six, key design elements, 95 RealAudio, 343 real-time tactical, 23 recruiting companies, use of in game industry, 320 refactoring, 150-151 relationships, 84, 146 types of, 228 requirements, nonvisible, 248-249 types of, 211-213 requirements analysis, 144-145 requirements capture, 3, 82, 136-137 requirements gathering, 211 research tasks, estimating, 165-166 resource leveling, 171-172 resources, 269 retail purchasing agents, 57 Return to Castle Wolfenstein, outsourcing of multiplayer mechanics, 185 rev, 50 reverse engineering, 87, 143 risks document, 174 updating, 182 risks, identifying, 174 role names, 231 role-playing games, 12-13 Romero, John, 78 Royal Game of Ur, royalties, 16, 335 as deferred income, 17 RT Patch, 304 S sales development, 16 sales executive, 56-57 sales force, 57 sales parts, 56-57 SBK, 241 411 Index scenario planning, 266 schedule, distributing, 273-274 script, 114 example, 116-117 Secure Digital Music Initiative, 343 sell-in, 57 sell-through, 57 sequence diagram, 148-149, 242-243 SF2, 341 shell menus, creating, 109 shipping, 5, 191-192 as a phase, 191, 200 Silver Creek Entertainment, 9, 19-20, 71, 307-310 SimCity, 22 software, complexity of, 299-300 software development, 4, 21 Sound Bank, see SBK sound effect engineers, 49 sound effects, 49, 363 example, 121 outsourcing, 189-190, 363-367 Sound Fonts, see SF2 sound formats, 342-343 special effects list example, 126-127 specification design, 229 sports simulations, 12 stack, 151-153 Star Fleet Battles, 11, 68-69 Star Trek, 11 Star Trek license, 211-212 Starfleet Command, 11, 68-69 vision for, 22-24 Starfleet Command 1, 16 Starfleet Command 2, 16 Starfleet Command 3, script example, 116-117 task list example, 283-284 use cases, 137, 139-141 Starfleet Command series, 11, 16 bugs in, 20, 24 Starfleet Command: The Next Generation, tutorials, 110 state diagram, 241-242, 244 state machine, 241 static design diagrams, 238-240 Stewart, Jonas, on Silver Creek Entertainment, 307-310 stock options, 335-336 Stonekeep 2, 22 storyboard, 114 storyboarder, 49 storytelling, 12 strategy guides, 60-61 structural modeling, 147 studio heads, 51, 55 Sun Tzu Wu, 32 T Taldren, 11, 77 design staff, 261 outsourcing of programming, 185-186 use of fan design critique, 387-388 use of functional leads, 245-246 Tallarico, Tommy on audio, 343, 345 on live orchestras, 346 on sound in games, 340 on voice-over work, 356, 358, 360 task list example, Starfleet Command 3, 283-284 task rejection, 276-277 task/time estimating, 259-260 tasks, breaking down, 162-163 delegating, 217-218 dependencies of, 172-174 dependent, 172 developing own, 270 distributing, 271-273 estimating, 261-264 estimating own, 164, 264 estimating time to perform, 163-165 example of prioritizing, 168-171 granularity of, 163 leveling, 163, 167, 271-273 naming, 268 organizing, 270 prioritizing, 166-168 time resolution of, 270-271 tracking, 177-181, 278-283 visibility of, 29, 177 ways to make visible, 177-179 team meetings, 285-286 team testing, 194-195 technical design document, 129, 245 components of, 136 creating, 247-252 reasons for using, 130-132 using to create schedule, 161-163 412 when to write, 135-136 technical directors, 42-43 technical requirements, 212-213 technology, pace of, 30-32 test case diagram, 155 tester, entering game industry as, 318 testing, 5, 154-155, 193, 255-256 automated, 155, 195, 256 beta, 54, 155, 196-197, 256, 295 focus group, 195-196 licensor, 198 manufacturer, 197-198 project leader, 195 publisher QA, 193-194 team, 194-195 testing plan, 253-254 texture artist, 48 The Art Institute of California, 326, 401-403 The Sims, 16, 21-22, 67 throw statement, 300 time boxing, 260-261 time requirements, 213 Tomb Raider, 78 tools programmers, 44 top ten risks document, 174 updating, 182 Tracker, 253, 341 tracking progress, 266 trade shows, 57-59 Treyarch Entertainment, 324 Tropico, 106, 218 try block, 300 tutorials, 109-110 U Ultima Online, 113 Ultima Online 2, 22 UML, 84, 141, 154 diagramming tools, 154 diagrams, 141, 147, 238 modeling tools, 233 Unified Modeling Language, see UML Unified Process, 84 see also Unified Software Development Process Unified Software Development Process, 81-82, 133-134 core workflows, 134 Index workflow phases, 134-135 unit testing, 154-155 unprofitable attitudes, 18-19 UnrealScript, 251 use case, 84 use case diagram, 227-228, 238 creating, 142-143 examples, 219-220 using to create technical design document, 247 use cases examples, 82-84 Diablo, 87-90 Gran Turismo 3, 90-93 Pac-Man, 85-87 Starfleet Command 3, 137 user extensibility, 305 user interface, in-game, 108 programmers, 44 user interface art, outsourcing, 188 V visibility, 232 vision document, 205-206 presentation of, 206-209 Visual Patch, 304 VOC, 342 voice assets, 116 voice-overs, 49 outsourcing, 190, 353-360 script example, 360-361 volume, 382 voxels, 90 W walkthrough, 220-221 Warcraft, 19 watermarking, 343 WAV, 342 Wei-Ch’i, 7-8 white box testing, 155 WMA, 343 writers, 41 writing, outsourcing, 369-373 X XMI, 341 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 housekeeping 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 version 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: 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 The compilation of code and utilities contained on the CD and in the book are copyrighted 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 No part of the enclosed CD or this book, including all source code, help files, shareware, 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 Publishing, Inc or the author of the respective source code, help files, shareware, freeware, utilities, example programs, or evaluation programs 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 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 warranties 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, utilities, and evaluation programs contained therein, and/or the techniques described in the book and implemented in the example programs In no event shall Wordware Publishing, 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 One (1) copy of the CD or any source code therein may be created for backup purposes 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 contents 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 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, shareware, or evaluation programs on any media, including but not limited to CD, disk, or Internet distribution, without the express written permission of Wordware Publishing, Inc or the owner of the individual source code, utilities, help files, example programs, freeware, shareware, or evaluation programs You may use the source code, techniques, and example programs in your own commercial or private applications unless otherwise noted by additional usage agreements as found on the CD