00 3634_FM_Intro 9/30/03 10:14 AM Page i Game Architecture and Design: A New Edition Contents at a Glance I II 10 11 12 13 14 15 Game Design First Concept Core Design 35 Gameplay 59 Detailed Design 87 Game Balance 105 Look and Feel 141 Wrapping Up 171 The Future of Game Design 197 Team Building and Management Current Methods of Team Management 227 Roles and Divisions 245 The Software Factory 263 Milestones and Deadlines 293 Procedures and “Process” 327 Troubleshooting 367 The Future of the Industry 409 III 16 17 18 19 20 21 22 23 24 Game Architecture Current Development Methods 433 Initial Design 457 Use of Technology 511 Building Blocks 553 Initial Architecture Design 607 Development 637 The Run-Up to Release 687 Postmortem 719 The Future of Game Development 747 IV Appendixes A Sample Game Design Documents 785 B Bibliography and References 887 Glossary 893 Index 897 00 3634_FM_Intro 9/30/03 10:14 AM Page ii 00 3634_FM_Intro 9/30/03 10:14 AM Page iii Game Architecture and Design: A New Edition Andrew Rollings Dave Morris 800 East 96th Street, 3rd Floor, Indianapolis, Indiana 46240 An Imprint of Pearson Education Boston • Indianapolis • London • Munich • New York • San Francisco 00 3634_FM_Intro 9/30/03 10:14 AM Page iv Game Architecture and Design: A New Edition Copyright © 2004 by New Riders Publishing All rights reserved No part of this book shall be reproduced, stored in a retrieval system, or transmitted by any means— electronic, mechanical, photocopying, recording, or otherwise— without written permission from the publisher, except for the inclusion of brief quotations in a review International Standard Book Number: 0-7357-1363-4 Library of Congress Catalog Card Number: 2003111600 Printed in the United States of America First printing: November, 2003 08 07 06 05 04 Interpretation of the printing code: The rightmost double-digit number is the year of the book’s printing; the rightmost singledigit number is the number of the book’s printing For example, the printing code 04-1 shows that the first printing of the book occurred in 2004 Publisher Stephanie Wall Production Manager Gina Kanouse Senior Project Editor Kristy Hart Copy Editor Chrissy Andry Senior Indexer Cheryl Lenser Composition Gloria Schurick Manufacturing Coordinator Dan Uhrig Interior Designer Kim Scott Cover Designer Aren Howell Trademarks Media Developer Jay Payne All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capitalized New Riders Publishing cannot attest to the accuracy of this information Use of a term in this book should not be regarded as affecting the validity of any trademark or service mark Marketing Scott Cowlin Tammy Detrich Hannah Onstad Latham Warning and Disclaimer Publicity Manager Susan Nixon Every effort has been made to make this book as complete and as accurate as possible, but no warranty of fitness is implied The information is provided on an as-is basis The authors and New Riders Publishing shall have neither liability nor responsibility to any person or entity with respect to any loss or damages arising from the information contained in this book 00 3634_FM_Intro 9/30/03 10:14 AM Page v This book is dedicated to the memory of Ram De Silva, respected colleague and beloved friend ‰ Andrew Rollings In loving memory of my father, Victor Morris ‰ Dave Morris 00 3634_FM_Intro vi 9/30/03 10:14 AM Page vi Game Architecture and Design: A New Edition Table of Contents Introduction Part I xxiii Game Design Chapter First Concept The Shock of the New The Creative Road Map Having the Idea Inspiration Synthesis Resonance Convergence 10 Shaping the Idea Dramatic Effect 11 11 The Treatment 15 Taking Stock Analysis Evaluation Justification Case Study 1.1 16 16 17 17 18 The One-Page Pitch Feasibility Commercial Technological Developmental Getting it Down Case Study 1.2 Chapter 20 20 20 21 Initial Treatment for Conquerors 21 22 Core Design 35 What Is a Game? Cool Features Fancy Graphics Puzzles Setting and Story 35 36 36 37 37 Games Aren’t Everything Case Study 2.1 Story Versus Gameplay 38 39 00 3634_FM_Intro 9/30/03 10:14 AM Page vii Table of Contents Chapter Games Mean Gameplay Case Study 2.2 A Missed Opportunity? 39 40 Creating the Game Spec Case Study 2.3 Integrating Game Objectives Features Case Study 2.4 An Instance of Emergence Gameplay Interface Case Study 2.5 An Elegant Interface Rules Case Study 2.6 The Rules Must Serve the Features Level Design Case Study 2.7 Interesting Level Design 42 43 43 45 45 47 48 48 49 50 51 Example Game Spec Case Study 2.8 Game Spec The Value of Prototypes… …And the Necessity of Documents 53 53 57 58 Gameplay 59 What Is Gameplay? Implementing Gameplay The Dominant Strategy Problem Near Dominance Case Study 3.1 Environment Plus Rules Equals Gameplay Supporting Investments Versatility Case Study 3.2 Unexpected Versatility Compensating Factors Case Study 3.3 Balancing Compensating Factors Impermanence Shadow Costs Case Study 3.4 Shadow Costs in Age of Empires Synergies A Final Word About Gameplay 60 61 62 63 67 70 71 72 74 75 76 77 77 78 79 Interactivity Kinds of Interactivity Case Study 3.5 A Different Kind of Interactivity “Why?” Versus “What?” 80 81 82 84 vii 00 3634_FM_Intro viii 9/30/03 10:14 AM Page viii Game Architecture and Design: A New Edition Chapter Chapter Chapter Detailed Design 87 The Designer’s Role Case Study 4.1 A Development Timeline 87 88 Design Documentation The Gameplay Spec The Designer’s Notes Case Study 4.2 The Need for Documenting the Spec 92 92 93 94 Using The Design Documents 95 Fitting Design to Development Tiers and Testbeds Case Study 4.3 Planning the Mini-Specs to Fit the Architecture 97 98 100 Why Use Documents at All? 102 Game Balance 105 Player/Player Balance Symmetry 106 107 Player/Gameplay Balance Case Study 5.1 Is This Supposed to Be Fun? Reward the Player Let the Machine the Work Make a Game You Play With, Not Against Case Study 5.2 The Save Game Problem 111 111 113 113 114 114 Gameplay/Gameplay Balance Component and Attribute Balance Case Study 5.3 Component and Attribute Balance in Dungeon Keeper Intransitive Game Mechanics Guarantees Balance Case Study 5.4 Attribute Balance Using SPS Case Study 5.5 Using Game Theory Analysis to Achieve Balance 116 117 132 A Game Balance Checklist 139 Look and Feel 141 Ambience Sound Case Study 6.1 Vision Case Study 6.2 142 143 143 144 146 Sound Effects at Their Best A Discordant Note 119 120 126 00 3634_FM_Intro 9/30/03 10:14 AM Page ix Table of Contents Touch Interface Case Study 6.3 Case Study 6.4 Chapter Chapter 147 Meshing the Interface with Look and Feel Sometimes Less Is Less 148 148 150 Storytelling A Toolbox of Storytelling Techniques Case Study 6.5 An Example of a Look-and-Feel Document Case Study 6.6 An Unexpected Development Case Study 6.7 An Unsatisfying Conclusion 152 153 157 162 167 The Sum of the Parts 169 Wrapping Up 171 The Professionals The Game Concept Planning for Change The Technology Development The Team Costs and Timelines Gameplay The Future 172 173 174 180 182 186 187 189 192 The Future of Game Design 197 The Necessity of Design Don’t Be Afraid to Plan Case Study 8.1 Design Saves Time Why Design Is Fine Case Study 8.2 Keep the Design up to Date 197 198 198 200 202 Essentials of Game Design Is it Original? Is it Coherent? Is it Interactive? Is it Interesting? Is it Fun? 203 204 204 205 206 206 The Future of Design Making Designs More Generic Nonsymbolic Design Case Study 8.3 Comparing Nonsymbolic and Symbolic Design 207 208 209 211 ix 00 3634_FM_Intro x 9/30/03 10:14 AM Page x Game Architecture and Design: A New Edition Part II The Future of Games The Next Decade The Strengths of Software The Crossroads of Creativity Case Study 8.4 An Example of Mise En Scene 212 213 214 215 219 Games as Entertainment 222 The Way Forward 224 Team Building and Management Chapter Current Methods of Team Management 227 The Current Development Model The Origins of the Industry The Trouble with Game Developers The Problem Developer Excessive Long Hours Mean an Unsuccessful Project Exceptions to the Rule Case Study 9.1 Quake, StarCraft, and XCOM: Interceptor 228 228 231 234 241 242 243 Chapter 10 Roles and Divisions 245 Assigning Personnel Management and Design Division Programming Division Art Division Music and Miscellaneous Division Support and Quality Assurance Division 245 247 249 250 251 253 Improving Morale and the Working Environment Morale Boosters Morale Booster Caveats and Warnings 255 255 261 Spreading the Risk 262 Chapter 11 The Software Factory 263 What Is a Software Factory? 263 Why Use a Software Factory? Solving Game Development Issues Case Study 11.1 The Effects of Losing Key Personnel Case Study 11.2 Code Reuse 265 266 268 269 32 3634_index 9/30/03 11:48 AM Page 916 916 paperwork paperwork, risk management, 406 parallel development timeline (software factory), 287-289 Parkes, Christopher; quote about need for creative ideas, patches, 715-717 patterns See design patterns payment, effect on morale, 257-258 payoff matrix case study 5.5, game balance, 132-135 five-way intransitive relationships, 131 four-way intransitive relationships, 132, 136-137 Stone-Paper-Scissors relationships, 122-125 PCS See Pinball Construction Set, 190 performance requirements, technological feasibility study (initial milestones), 311-312 Perry, Dave interview with, 173 quote about teamwork, 608 personality section (Racketeers sample design document), 831-832 personalization as storytelling technique, 155-156 personnel problems risk management, 399-401 personnel roles, 245-247 art division, 250 artists, 251 lead artists, 250-251 list of, 246 loss of personnel, case study 11.1, 268 management and design division, 247-248 game designers, 249 lead architects, 248 project managers, 248 software planners, 248 music and miscellaneous division, 251 musicians, 251-252 sound effect technicians, 252 technicians, 252 programming division, 249 lead programmers, 249 programmers, 250 risk in specialized roles, 262 support and quality assurance division, 253 playtesters, 254-255 quality assurance leads, 253 quality assurance technicians, 253-254 support technicians, 255 Peter Principle management theory, 359 phase containment (testing), 334 physical feel of game as part of ambience, 147 physics section Conquerors example treatment, 27-28 Balls! sample design document), 799-805 Pinball, favorite game features, 195 Pinball Construction Set, groundbreaking games, 190 Pitfall, DirectX, 447 Plague atmosphere of games, 773 case study 6.4 intrusive interfaces, 150 planning See also software planning for change, professional opinions on, 174-180 contingency planning, 367-371 future of game development, 760-761 game design, importance of, 198-200 case study 8.1, 198-199 platform independence, 266-267, 463 See also hardware abstraction platforms, hardware abstraction See hardware abstraction platforms section Balls! sample design document, 787-788 Racketeers sample design document, 846 player/gameplay balance, 105, 111-112, 139 case study 5.1, 111-112 computer tasks, 113 rewards, 113 Save Game features, 114-115 case study 5.2, 114-115 player/player balance, 105-107, 139 symmetry, 107 in game design, 109-110 in level design, 108-109 playtesters, 254-255 playtesting, 708-710 case study 22.7, 710-712 procedures for, 355 playware See entertainment software pleasant working environment, effect on morale, 259 plot (element of drama), 13-14 plot points as storytelling technique, 162-164 case study 6.6, 162 Pong, tokens, 480-492 popularity of Lara Croft, 412 of Mario and Sonic, 413 32 3634_index 9/30/03 11:48 AM Page 917 programming 917 Populous character, 14 design before development, 683 planning for change, 175-180 successful games, 173 technology, 181 Populous: The Beginning attibute balance, 129 case study 2.4 (emergence), 45 sound as part of ambience, 143 portability as coding priority, 671 positions See personnel roles positive feedback, 78-79 positive testing, 335 Postal, violence in games, 417 postmortems applying lessons learned, 745 of business aspects, 742-744 case study 23.5, 743-744 case study 23.1, 722-724 of development process, 737-738 coding phase, 741-742 software planning, 738-741 testing phase, 742 of game concept, 730 accessibility, 734-737 misjudging the market, 730-734 in Game Developer Magazine, 720-721 importance of, 721 project journals importance of, 719-720 team dynamics, 725, 730 case study 23.2, 726-729 PR and marketing, importance of, 714 predictability in Stone-Paper-Scissors relationships, 125 prefixes for variable naming conventions, 657-660 preparing prototypes, 621-622 prima donnas (problem game developer type), 236-237 principle of cooperative benefit, 426 priorities (coding), 668-669 flexibility, 671 maintainability, 671-672 portability, 671 size, 670-671 speed, 669-670 prioritizing gameplay and technology, 525-528 proactive information transmission, 362-365 proactive troubleshooting, 370 problem solving case study 11.3, 274-275 case study 11.4, 276-277 Probot, planning for change, 180 procedural problems, risk management, 406-407 procedures (development process), 328 importance of “process,” 341-348 in phases of development, 348-349 design phase, 349, 352 development phase, 352-354 testing phase, 354-355 reviews, 329-333 testing, 333-340 “process”, importance of, 341-342, 347-348 case study 13.1, 345-346 production codebase, prototypes as, 618 productivity, effect of “process” on, 348 productivity tools, risk management, 391 professionals, opinions on costs, 187-188 development, 182-186 future of games, 192-195 game concepts, 173-174 gameplay, 189-192 planning for change, 174-180 teams, 186-187 technology, 180-182 timelines, 187-188 programmers, 250 accessibility to gameplay specification, 95-97 programming See also code; coding phase (development process) commenting code, importance of, 362 and creativity, 296 development environment evolution of, 441-449 reusability, 452-455 reusable modules advantages of, 269-271 case study 11.2, 269-270 case study 11.5, 281 list of, 264 source control, 355-358 case study 13.2, 355-357 testing, 333-334 configuration testing, 340 formal tests, 335-336 informal tests, 334 integration testing, 337-338 regression testing, 340 system testing, 338-340 unit testing, 336-337 32 3634_index 9/30/03 11:48 AM Page 918 918 programming division programming division (personnel roles), 249 lead programmers, 249 programmers, 250 programming errors, 677 programming skills needed for game development, 433-435 progress tracking, 183 project group, selecting members of, 312 project group (software factory), 282-283 project initialization (initial milestones), 313 project journals, importance of, 719-720 project management See also development process risk management, 372-374 contractor problems, 398-399 design and architecture problems, 376-388 development problems, 401-405 organizational problems, 396-397 personnel problems, 399-401 procedural problems, 406-407 schedule problems, 388-395 “top 10 list,” 374-376 project managers, 248 project milestones See milestones project visibility, 272 projects canceling, 303-304 case study 12.2, 304 defining for general requirements gathering stage, 305 interdependencies, 314-316 milestones See milestones proof of concept, prototypes as, 57-58 properties in Balls!, 499-501, 504-506 property/property interaction matrix in Pac-Man, 506-509 prototypes, 304-305, 617-618 as production codebase, 618 as proof of concept, 57-58 as risk reducers, 621-622 in risk management, 381 preparing, 621-622 reasons for using, 620-621 running with soft architecture, 622-623 types of, 619-620 prototyping stage (architecture design), 628 public beta testing, 254, 709-710 publishing industry as model for future of game development, 751 pure virtual functions, 488 Puzzle Bobble, gameplay research, 536 puzzle game appeal section (Balls! sample design document), 790-791 puzzle game problems section (Balls! sample design document), 789-790 puzzles, what games are not, 37 Q Quake 3D engines, 521 case study 9.1, successful development schedules, 243 favorite game features, 195 future of games, 192 gameplay prioritization, 526 groundbreaking games, 190 optimization tuning, 448 reviews of, 524 technology research, 537 technology versus gameplay, 233 Quake engines, 382, 640 Quake II, case study 17.1 (hardware abstraction), 461-462 Quake II engine, 382 Quake III Arena, 3D engines, 521-522 quality assurance, procedures for, 354 quality assurance leads, 253 quality assurance technicians, 253-254 quality of code See style of code quality of contractor work, risk management, 398-399 Queen, entering games market, 414 quick sort algorithm, 546 R Racketeers sample design document, 817-847 Rainbow Six, celebrities in games market, 414 reactive information transmission, 362-365 reactive troubleshooting, 370-371 realistic schedules effect on morale, 257 recording research results, 531-532, 541-542 recovering from disaster, late evaluation stage (run-up to release), 693-694, 699-702 case study 22.2, 694-699 reducing risk See risk regression testing, 340 regular working hours, effect on morale, 260 32 3634_index 9/30/03 11:48 AM Page 919 rules 919 Relentless See Little Big Adventure, 518 requirements changes to risk management, 376-377 poorly defined requirements, risk management, 377-386 risk management, 404-405 requirements gathering general requirements gathering (initial milestones), 305-307 resource requirements gathering (initial milestones), 308 technological requirements gathering (initial milestones), 307 research blue-sky research, 528-531 competitive research, 532-533 case study 18.2, 533-534 financing options, 530-531 gameplay research, 535-536 limiting, 684 recording results of, 531-532, 541-542 scheduling, 392, 405 target market research, 535 technology research, 536-537 research funding, 752 research group (software factory), 283-284 research milestones, 323-324 resistance as storytelling technique, 161 resolution as storytelling technique, 166-168 case study 6.7, 167 resonance as storytelling technique, 156, 161 resonance (in creative process), 9-10 resource availability, risk management, 391 resource availability study (initial milestones), 312 resource requirements gathering (initial milestones), 308 reusability, 555 code reuse, 555-557 case study 19.1, 556-557 component-based architecture, 627-628 design patterns, 558-561 chain of responsibility, 572-576 command, 585-587 decorator, 588-590, 593-594, 596 facade, 596-599 flyweight, 570-572 game-specific patterns, 606 iterator and reverse iterator, 576-580 mediator, 599-601 object factory, 561-565 observer, 583-585 singleton, 565-570 state, 601-605 template and strategy methods, 581-583 of programming code, 452-455 reusability of code, 681-682 case study 21.2, 682 reusable modules advantages of, 269, 271 case study 11.2, 269-270 case study 11.5, 281 list of, 264 reversal (plot points), 162 reverse iterator (design pattern), 576-580 review forms (formal reviews), 331 review procedures See code reviews reviews of games based on technology, 522-525 rewards player/gameplay balance, 113 in puzzle games, 791 Reynolds, Brian; interview with, 173 risk in specialized personnel roles, 262 reducing by rotating team members, 289 with software factory methods, 267-269 risk assessor role, 373-374 risk management, 372-374 contractor problems, 398-399 design and architecture problems, 376-388 development problems, 401-405 organizational problems, 396-397 personnel problems, 399-401 procedural problems, 406-407 schedule problems, 388-395 case study 14.2, 394-395 “top 10 list,” 374, 376 risk reducers, prototypes as, 621-622 rivalries, effect on morale, 257 Riven, future of entertainment software, 213 Roderick, Dave; quote about similar aspects of games, 625 Rogue, gameplay prioritization, 525 role-playing games (RPGs), storytelling, 217-218 roles See group interactions (software factory); personnel roles Roper, Bill; interview with, 173 rotating team members (software factory), 289 RPGs (role-playing games), storytelling, 217-218 rules effect on morale, 258-259 emergence, 62 and environment, gameplay as, 67-68 32 3634_index 9/30/03 11:48 AM Page 920 920 rules (of games) rules (of games) in game specifications, 48-49 interaction with features, case study 2.6, 49-50 run-up to release See development process runtime implementation of chain of responsibility design pattern, 574-576 S Said, Fouad; plot points, 163 sales statistics, Theme Park and SimCity series, 412 sample code review forms, 885-886 sample design documents See design documents sample technical specifications See technical specifications sample test script forms, 886 Sandman comic book series, resonance in creative process, Sanitarium, software planning postmortems, 740 Santayana, George; quote about learning from experience, 745 Save Game features, player/gameplay balance, 114-115 case study 5.2, 114-115 scalability of intransitive game mechanics, 130 of software factory, 290 Scarface (film), violence in, 418 schedule problems, risk management, 388-390, 392-395 case study 14.2, 394-395 scheduled research, 392 schedules, 182 See also group interactions (software factory); milestones effect on morale, 257 importance of, 684 problems with, 241-242 successful development schedules, 242 case study 9.1, 243-244 scheduling research, 405 The Searchers (film), resolution, 168 selecting project group members, 312 self-sacrifice, 168 semi-decoupling (timers), 472-473 sequels, 190 series of interesting choices, gameplay as, 62 setting what games are not, 37 setting (element of drama), 14 shadow costs in gameplay options, 77 case study 3.4, 77-78 Shaper (team role), 765 Shapeshifter, case study 3.3 (balancing compensating factors), 75-76 sharing research results, 531-532, 541-542 Shaw, George Bernard, quote, 224 learning from experience, 745 shippable status of game, 624-625 shy guys (problem game developer type), 238 Siboot, successful games, 174 sign-off phase, procedures for, 354 SimCity character, 14 gameplay, 59, 221 planning for change, 180 SimCity series, success of, 412 SimCity 2000 complexity in, 383 planning for change, 175 successful games, 174 SimEarth, planning for change, 175 simplicity of early games, 735 versus complexity, 383-384 Simpson, Ben; quote about children’s games, 421 The Sims interactivity, 80 market research, 310 mass-market sales, 535 successful games, 174 technology versus gameplay, 234 SimTower, WinG, 446 Sin coding phase postmortem, 741 genres, 310 patches, 716 software planning postmortems, 741 testing phase postmortems, 742 singleton (design pattern), 565-570 size as coding priority, 670-671 skills needed for creative work, 4-6 needed for game development, 433-435 sleepers (problem game developer type), 238-239 small development teams, future of game development, 763-764 small teams, Extreme Programming (XP), 290 32 3634_index 9/30/03 11:48 AM Page 921 StarCraft 921 Smith, Harvey; symbolic versus nonsymbolic design, 210 smoke tests, 339 soft architecture, 279, 612-613 case study 20.1, 623 overlap with hard architecture, 635-636 running prototypes with, 622-623 soft architecture See game abstraction, 479 soft-architecture stage (architecture design), 629-630 software resource requirements gathering (initial milestones), 308 version to use, 308 software architect group (software factory), 279-280 Software Defect Removal (Dunn), 201 software development See development process software factory, 263-265 advantages and disadvantages, 265 code reuse, 269, 271 case study 11.2, 269-270 case study 11.5, 281 group interactions, 273-278 ancillary groups, 284-285 case study 11.3, 274-275 case study 11.4, 276-277 components group, 281-282 game designer group, 279 project group, 282-283 research group, 283-284 software architect group, 279-280 tools group, 280-281 implementation, 285-287 parallel development timeline, 287-289 rotating team members, 289 information transmission, 358-362 proactive and reactive, 362-365 milestones See milestones platform independence, 266-267 procedures, 328 importance of “process,” 341-348 in phases of development, 348-355 reviews, 329-333 testing, 333-340 risk reduction, 267-269 scalability of, 290 source control, 355-358 case study 13.2, 355-357 structural overview, 271-272 software planners, 248 software planning, postmortem of, 738-741 case study 23.4, 739 Sonic (character), popularity of, 413 sound as part of ambience, 143-144 case study 6.1, 143 sound abstraction layer, 468-470 sound effect technicians, 252 sound group (software factory), 285 source control, 355-358 case study 13.2, 355-357 Space Invaders, simplicity of, 735 special abilities section, Conquerors example treatment, 29 special case block-block collisions section (Balls! sample design document), 808-810 Specialist (team role), 765 specialized personnel roles, risk in, 262 specifications See game specifications SpecOps: Rangers Lead The Way, case study 11.2, code reuse, 269 speech, localization, 705-706 speed as coding priority, 669-670 spiral development, 172 spiral development process, 98 spiral model See tier-system architecture, 610 Splinter Cell, celebrities in games market, 414 Sports, future of entertainment software, 220-221 SPS (Stone-Paper-Scissors) relationships, 116, 120-122, 125-126 attribute balance in, 129 case study 5.4, 128-129 payoff matrix, 122-125 predictability in, 125 Stamper, Chris and Tim; console game development, 450 standard headers in code, 645-647 Standard Template Library (STL), 558 standardization, advantages of, 449 standards of code See style of code, 642 Star Wars (film), personalization, 155 StarCraft case study 18.1, “wow” factor of technology, 523 case study 9.1, successful development schedules, 243 chrome features, 44 compatibility requirements, 405 component balance, 117 decorator design pattern, 588 game design symmetry, 109 32 3634_index 9/30/03 11:48 AM Page 922 922 StarCraft gameplay prioritization, 525-526 genre expansion, 384 genres, 311 interface transparency, 148 sequels, 191 strategic choices, 69 technology versus gameplay, 234 theme, 15 Starcraft: Brood War planning for change, 176-177 successful games, 174 Starfox Adventures, console game development, 450 Starship Titanic, celebrities in games market, 414 state (design pattern), 601-605 state transitions in Balls!, 499-501, 504-506 statistics Monsters Inc (film), 223 risk management, 406-407 sales of Theme Park and SimCity series, 412 Steels, Luc; quote about symbolic versus nonsymbolic design, 209 STL (Standard Template Library), 558 Stone-Paper-Scissors (SPS) relationships, 116, 120-126 attribute balance in, 129 case study 5.4, 128-129 payoff matrix, 122-125 predictability in, 125 story versus gameplay, case study 2.1, 39 what games are not, 37 storytelling, 152-153 See also immersion future of entertainment software, 215-218 look-and-feel documents case study 6.5, 157-160 techniques for change, 168-169 dialogue, 165-166 foreshadowing, 154-155 obstacles, 154 personalization, 155-156 plot points, 162-164 resistance, 161 resolution, 166-168 resonance, 156, 161 suspense, 164-165 theme, 166 STOS programming language, evolution of development environment, 449 strategic choices, 69-70 strategies in games, 39 strategy method (design pattern), 581-583 Street Fighter, groundbreaking games, 190 structure, skills needed for, stubbed out subsystems, 339 style (element of drama), 12 style of code, 641-642 commenting, 643-648 layout, 642-643 naming conventions, 648-668 subsystem prototypes, 619 successful development schedules, 242 case study 9.1, 243-244 suffixes for variable naming conventions, 657-660 summary section, Conquerors example treatment, 33-34 super developer model, future of game development, 752 supply lines in Warrior Kings gameplay, 46-47 support and quality assurance division (personnel roles), 253 playtesters, 254-255 quality assurance leads, 253 quality assurance technicians, 253-254 support technicians, 255 support technicians, 255 supporting investments, 70-71 surprise and delight factor, 39 suspense as storytelling technique, 164-165 symbolic design versus nonsymbolic design (evolution of game design), 209-211 symbolism, 160 symmetric interactions, 484 symmetry, player/player balance, 107, 139 in game design, 109-110 in level design, 108-109 synchronization in client/server and infotonbased systems, 778 synergies in gameplay options, 78-79 synthesis (in creative process), 8-9 system testing, 338-340 procedures for, 354 T target audience section (Balls! sample design document), 788 target market research, 535 Tartan Army, bandwagon jumping, 693 32 3634_index 9/30/03 11:48 AM Page 923 testing 923 team dynamics and postmortems, 725, 730 case study 23.2, 726-729 Team Fortress Classic, patches, 717 team management, 228 See also software factory history of game development, 228-231 morale, effect of game design on, 200-201 morale improvement, 255-256 benefits packages, 260-261 dress code, 261 fair pay, 257-258 ground rules, 258-259 information flow, 256 internal competition, 257 lax working hours, 261-262 realistic schedules, 257 regular working hours, 260 trust, 258 warnings about, 261 working environment, 259, 262 personnel problems, risk management, 399-401 personnel roles, 245-247 art division, 250-251 list of, 246 management and design division, 247-249 music and miscellaneous division, 251-252 programming division, 249-250 risk in specialized roles, 262 support and quality assurance division, 253-255 problems with, 231-234 schedule problems, 241-242 selecting project group members, 312 successful development schedules, 242 case study 9.1, 243-244 types of problem game developers, 234 jacks, 240 mavericks, 235-236 prima donnas, 236-237 shy guys, 238 sleepers, 238-239 team members, rotating (software factory implementation), 289 team roles, future of game development, 764-767 Team Worker (team role), 766 teamplay section, Conquerors example treatment, 32-33 teams, professional opinions on, 186-187 See also development teams teamwork, importance of, 608-610 technical design documents, 457-459 technical specifications, Balls! example specification, 856-884 technicians, 252 techniques, skills needed for, 4-6 technological factors, feasibility of creative ideas, 20 technological feasibility study (initial milestones), 311-312 technological requirements gathering (initial milestones), 307 technology 3D engines, 516-522 object-oriented techniques, 543-544 abstraction, 549-551 on cutting edge of, 515 optimization, manual versus automatic, 544-549 prioritizing with gameplay, 525-528 professional opinions on, 180-182 third-party code, 542-543 versus gameplay, 233-234 case study 18.3, 538-539 case study 18.4, 539-540 future of game development, 771-772 “wow” factor, 522-525 case study 18.1, 523 technology research, 536-537 Tekken, ambience, 142 template method (design pattern), 581-583 test harness, 611-612, 678-680 test harness (unit testing), 336 test script forms, sample document, 886 test scripts (formal tests), 335 testbed development model, 98-99 testbeds, 172 testing, 333-334 alpha testing, 320 configuration testing, 340 focus groups, 712-713 formal tests, 335-336 informal tests, 334 integration testing, 337-338 playtesting, 708-710 case study 22.7, 710-712 postmortem of, 742 regression testing, 340 risk management, 404-405 system testing, 338-340 unit testing, 336-337 32 3634_index 9/30/03 11:48 AM Page 924 924 testing code testing code, 443, 672-674 importance of catching mistakes early, 684 test harnesses, 678-680 types of bugs, 674, 677-678 case study 21.1, 675-676 testing group (software factory), 285 testing phase, procedures for, 354-355 Tetris case study 18.3, technology versus gameplay, 538-539 gameplay research, 536 groundbreaking games, 189-190 mass-market sales, 535 puzzle games, 37 setting, 14 strategies in games, 39 Tetris DX, technology versus gameplay, 539 Tetrisphere, technology versus gameplay, 538 text, localization, 704-705 theme as storytelling technique, 166 theme (element of drama), 15 Theme Park, success of, 412 They Stole a Million, gameplay, 439-440 Thief, sound as part of ambience, 144 third-party code, 542-543 third-party development kits, for console games, 450 third-party development tools, risk management, 403 third-party modules, 476-478 thunking, 317 tie-in licenses, 410 tier development process, 98-100 case study 4.3, 100-102 tier-system architecture, 610, 617 applying to architecture design, 631-632, 635 case study 20.2, 633-634 components for reuse, 627-628 framework, 623-625 prototypes, 617-618 as production codebase, 618 as risk reducers, 621-622 preparing, 621-622 reasons for using, 620-621 running with soft architecture, 622-623 types of, 619-620 shippable status of game, 624-625 similar aspects of games, 625-627 tight schedules, risk management, 388-390 time estimates, case study 14.1, 379-380 time scales section (Balls! sample design document), 788-789 timelines, professional opinions on, 187-188 timers, hardware abstraction, 471-476 token interaction matrices for Pac-Man, 494-496, 506-509 for Pong, 483-484 token-based z-buffer test, 548 token/property interaction matrix in Pac-Man, 506-509 tokens, 481-483 in Pac-Man, 493-496 in Pong, 480-492 mapping to objects, 514 overdraw, 548 versus objects, 512 Tomb Raider future of games, 192-193 genres, 12 Tomb Raider series, popularity of Lara Croft, 412 tools group (software factory), 280-281 Total Recall (film), foreshadowing, 154 touch factor as part of ambience, 147 Touch of Evil (film), resonance, 160 toys, future of entertainment software, 221-222 transcendent and immanent models, future of game development, 775-778 data storage, 778-779 global system control, 779 synchronization, 778 transitive relationships, 64 translation See localization transmission of information See information transmission transparency of interface, 148 Trashman, gameplay, 440 treatment document, procedures for, 350-351 treatments, 3, 15-16 analysis stage, 16 evaluation stage, 17 example of, case study 1.2, 21-34 justification stage, 17, 20 case study 1.1, 18-19 Liberator example document, 817, 847-856 Racketeers example document, 817-847 trivial choices, avoiding, 64-66 trivial programs, 301 troubleshooting contingency planning, 367-371 proactive troubleshooting, 370 32 3634_index 9/30/03 11:48 AM Page 925 Warcraft Adventures 925 reactive troubleshooting, 370-371 risk management, 372-374 contractor problems, 398-399 design and architecture problems, 376-388 development problems, 401-405 organizational problems, 396-397 personnel problems, 399-401 procedural problems, 406-407 schedule problems, 388-395 “top 10 list,” 374-376 troubleshooting See debugging, testing Troy case study 1.1 (justification stage of treatments), 19 trust, effect on morale, 258 tutorial campaign section (Racketeers sample design document), 844-846 U U.S car industry, compared to Japanese car industry, 680 Ultima Online patches, 715 playing online games, 429 Ultima Underworld, groundbreaking games, 190 Ultima Underworld II, 3D engines, 519 UML notation, 560-561 unavailable resources, risk management, 391 unique selling points list, 17 unit testing, 336-337 procedures for, 353 Unreal, genres, 310 unrealistic schedules, 241-242 up-to-date documentation, case study 8.2, 202-203 user input, hardware abstraction, 470-471 user interface section (Balls! sample design document), 794-799 user interface See interfaces user-interface prototypes, 619 USP (unique selling points) list, 17 V vague requirements risk management, 377-386 van der Kuyl, Chris;film industry as model for future of game development, 751 variables, naming conventions, 657-660 versatility, in gameplay options, 71-72 case study 3.2, 72-73 version control See source control, version of software to use, 308 versioning COM (Component Object Model), 454 vertical solution (soft architecture), 612 Vice City See Grand Theft Auto: Vice City violence in puzzle games, 790 violence in games, evolution of game industry, 415-417, 420 Virtools (prototyping software), 58, 381 virtual celebrities, evolution of game industry, 412-413 Virtual Fighter physical feel of game, 147 player/player game balance, 106 rewards, 113 virtual functions, 488, 543 Virus See Zarch, 518 vision as part of ambience, 144-146 case study 6.2, 146-147 visual arts, future of entertainment software, 219-220 Visual C++, 446 visual checking of milestones, 319, 324 W wages, effect on morale, 257-258 Wagner, Erica; quote about storytelling in games, 153 walkthroughs (informal reviews), 330 War of the Worlds, case study 6.2 (discordant artwork), 146-147 Warbots, case study 20.2 (tier-based approach to architecture design), 633-634 Warcraft case study 8.3, symbolic versus nonsymbolic design, 211 game design symmetry, 109 gameplay/gameplay balance, 116 sequels, 191 setting, 14 sound as part of ambience, 143 supply lines and gameplay, 46 Warcraft Adventures, resonance in creative process, 10 32 3634_index 9/30/03 11:48 AM Page 926 926 Warcraft II Warcraft II case study 18.1, “wow” factor of technology, 523 game engines, 640 gameplay prioritization, 526 genre expansion, 383 Warcraft III accessibility, 735 case study 18.1, “wow” factor of technology, 523 game development for Macintosh, 447 patches, 715 Warrior Kings case study 17.2, architecture flexibility, 503 case study 2.6, rules and features interaction, 49-50 case study 2.8, game specification example, 53-57 case study 6.3, interface immersion, 148-149 four-way intransitive relationships, 137-138 integral features, 44 prototypes, 57 supply lines and gameplay, 46-47 vision as part of ambience, 144-146 The Warriors (film), resolution, 168 Warwind, genre expansion, 383 Warzone 2100, strategic choices, 70 Waste Lands, case study 23.1 (postmortems), 722-724 Watcom C/C++ compiler, 444-445 waterfall development process, 98 Web sites developing for games, 713 Gamasutra, 744 GameEmbryo, 557 WellTris, technology versus gameplay, 538 whammos, 163 Windows 95, 446-447 WinG, 445 Wolfenstein 3D 3D engines, 520 localization, 703 Wordstar, testing mistakes, 711 working environment, effect on morale, 259, 262 working hours, effect on morale, 260-262 working overtime, 393 working relations, effect on morale, 258 “wow” factor (technology), 522-525 case study 18.1, 523 wrapper classes, 588 wrapper code, platform independence, 267 Wright, Will interview with, 172 market research for The Sims, 310 “writing directly to the metal”, 443 writing treatments See treatments X-Z XCOM: Interceptor, case study 9.1 (successful development schedule)s, 244 XP (Extreme Programming), 290 z-buffer test, 548 Zarch, 3D engines, 518 3634 BM ads 9/30/03 11:52 AM Page 927 www.informit.com YOUR GUIDE TO IT REFERENCE New Riders has partnered with InformIT.com to bring technical information to your desktop Drawing from New Riders authors and reviewers to provide additional information on topics of interest to you, InformIT.com provides free, in-depth information you won’t find anywhere else Articles Keep your edge with thousands of free articles, in-depth features, interviews, and IT reference recommendations— all written by experts you know and trust Online Books Answers in an instant from InformIT Online Books’ 600+ fully searchable online books Catalog Review online sample chapters, author biographies, and customer rankings and choose exactly the right book from a selection of over 5,000 titles www.newriders.com 3634 BM ads 9/30/03 11:53 AM Page 928 H O W TO C O N TA C T U S VISIT OUR WEB SITE W W W N E W R I D E R S C O M On our web site, you’ll find information about our other books, authors, tables of contents, and book errata.You will also find information about book registration and how to purchase our books, both domestically and internationally EMAIL US V O I C E S T H AT M AT T E R Contact us at: nrfeedback@newriders.com • If you have comments or questions about this book • To report errors that you have found in this book • If you have a book proposal to submit or are interested in writing for New Riders • If you are an expert in a computer topic or technology and are interested in being a technical editor who reviews manuscripts for technical accuracy Contact us at: nreducation@newriders.com • If you are an instructor from an educational institution who wants to preview New Riders books for classroom use Email should include your name, title, school, department, address, phone number, office days/hours, text in use, and enrollment, along with your request for desk/examination copies and/or additional information Contact us at: nrmedia@newriders.com • If you are a member of the media who is interested in reviewing copies of New Riders books Send your name, mailing address, and email address, along with the name of the publication or Web site you work for B U L K P U R C H A S E S / C O R P O R AT E S A L E S The publisher offers discounts on this book when ordered in quantity for bulk purchases and special sales For sales within the U.S., please contact: Corporate and Government Sales (800) 382-3419 or corpsales@pearsontechgroup.com Outside of the U.S., please contact: International Sales (317) 428-3341 or international@pearsontechgroup.com W R I T E TO U S New Riders Publishing 800 East 96th Street, 3rd Floor Indianapolis, IN 46240 C A L L / FA X U S Toll-free (800) 571-5840 If outside U.S (317) 428-3000 Ask for New Riders F A X : (317) 428-3280 W W W N E W R I D E R S CO M www.newriders.com 3634 BM ads 9/30/03 11:53 AM Page 929 OUR AUTHORS PRESS ROOM EDUCATORS You already know that New Riders brings you the Voices That Matter ABOUT US But what does that mean? It means that New Riders brings you the Voices that challenge your assumptions, take your talents to the next CONTACT US level, or simply help you better understand the complex technical world we're all navigating Visit www.newriders.com to find: 10% discount and free shipping on all book purchases Never-before-published chapters Sample chapters and excerpts Author bios and interviews Contests and enter-to-wins Up-to-date industry event information Book reviews Special offers from our friends and partners Info on how to join our User Group program Ways to have your Voice heard W W W N E W R I D E R S C O M 3634 BM ads 9/30/03 11:53 AM 1592730094 George “Fat Man” Sanger US$35.00 Page 930 Maximize Your Impact As THE game resource, NRG books explore programming, design, art, and celebrity savvy NRG takes you behind the scenes revealing insider secrets like never before 1592730078 David Freeman Foreword by Will Wright US$49.99 0131460994 Chris Crawford US$39.99 1592730043 Alex Champandard US$49.99 0131018167 Richard A Bartle US$49.99 ... Page viii Game Architecture and Design: A New Edition Chapter Chapter Chapter Detailed Design 87 The Designer’s Role Case Study 4.1 A Development Timeline 87 88 Design Documentation The Gameplay... 10:14 AM Page xxvii Introduction xxvii Part I: Game Design The book treats pure game design separately from architecture and formal planning The game design constitutes a feature-based description... Approach Tier One and Beyond 617 617 623 623 Architecture Design Applying the Tier-Based Approach to Architecture Design Case Study 20.2 Discussing the Architecture of Warbots Architecture Orthogonality