MARCH 2004

GAME DEVELOPER MAGAZINE www.gdmag.com CMP Media, 600 Harrison St., 3rd Fl., San Francisco, CA 94107 t: 415.947.6000 f: 415.947.6090 GAME PLAN EDITORIAL Editor-in-Chief

✎ Jennifer Olsen [email protected] Managing Editor LETTER FROM THE EDITOR Jamil Moledina [email protected] Departments Editor Kenneth Wong [email protected] Product Review Editor Peter Sheerin [email protected] Art Director Audrey Welch [email protected] Checkout Time Contributing Editors Jonathan Blow [email protected] Noah Falstein [email protected] Steve Theodore [email protected] e were all born incrementally improved upon to where Advisory Board into this world they are now—gasp!—manageable. Hal Barwood Designer-at-Large Ellen Guon Beeman Monolith naked and helpless, Also, you’ve gotten more confident in Andy Gavin Naughty Dog Joby Otero and that’s a bit your professional identity. Maybe you Dave Pottinger Ensemble Studios how I felt when I still can’t explain your job to your par- George Sanger Big Fat Inc. W Harvey Smith Ion Storm first came to Game Developer five years ents or make them understand that it Paul Steed ago as a young, know-nothing editorial even is a real job, but you’re heroes to ADVERTISING SALES assistant. Well, I did know some things, more and more young people who want Group Associate Publisher Michele Sweeney e: [email protected] t: 415.947.6217 but trust me, they weren’t about game to grow up to be game developers. Senior Account Manager, Eastern Region & Europe development. What I learned from that On the downside, after five years too Afton Thatcher e: [email protected] t: 404.658-1415 Account Manager, Northern California & Midwest point forward has changed my life not many of you are still letting yourselves be Susan Kirby e: [email protected] t: 415.947.6226 only by teaching me new things and new marginalized or trivialized in a main- Account Manager, Western Region & Asia Craig Perreault e: [email protected] t: 415.947.6223 ways to think about them, but also by stream context. Keep demanding more Account Manager, Target Pavilion, Education, & Recruitment introducing me to a development com- professional marketing and PR activities Aaron Murawski e: [email protected] t: 415.947.6227 munity teeming with more gifted, for your games on par with other high- ADVERTISING PRODUCTION Advertising Production Coordinator Kevin Chanel thoughtful, and generous people per profile entertainment products, not pro- Reprints Julie Rapp e: [email protected] t: 510.985.1954 capita than may exist anywhere else. motional materials that evoke monkeys GAMA NETWORK MARKETING Now, after five years at Game and typewriters. Director of Marketing Michele Maguire Developer, my time has come to move Finally, apathy among game develop- Senior Marcom Manager Jennifer McLean Marketing Coordinator Scott Lyon on and learn more new things, which I ers at regulatory efforts and political CIRCULATION am hoping won’t feature an unrelenting witch-hunts is at an all-time yawn. Your battery of monthly production deadlines. creativity and freedom are being threat- Circulation Director Kevin Regan Circulation Manager Peter Birmingham It’s not been an easy decision at which to ened. Just because you create fantasy Asst. Circulation Manager Lisa Oddo Game Developer Circulation Coordinator Jessica Ward arrive, of course. I’ll miss turning the worlds doesn’t mean they won’t be sub- is BPA approved brainchildren of clever minds into glossy ject to a heavy dose of reality at some SUBSCRIPTION SERVICES printed pages that they can show off to point. Even though I may suffer some For information, order questions, and address changes t: 800.250.2429 or 847.763.59581 f: 847.763.9606 Mom. My job has been pleasurable pri- initial separation anxiety, rest assured e: [email protected] marily due to the professionalism and that Game Developer remains in fine INTERNATIONAL LICENSING INFORMATION generous esteem of the hundreds of writ- hands. The editorial team has some very Mario Salinas ers I’ve dealt with over the years and the exciting changes coming down the pike, e: [email protected] t: 650.513.4234 f: 650.513.4482 EDITORIAL FEEDBACK thousands of enthusiastic readers I’ve but I don’t want to give too much away [email protected] heard from and met. yet, so stay tuned. CMP MEDIA MANAGEMENT Writing this column each month was In addition to all the regular colum- President & CEO Gary Marshall not exactly something I looked forward nists who labored month after month Executive Vice President & CFO John Day Executive Vice President & COO Steve Weitzner to, but I always tried not to waste the under my cruel hand, I’d like to thank Executive Vice President, Corporate Sales & Marketing Jeff Patterson space allotted to me (okay, space which I the whole advisory board for their self- Chief Information Officer Mike Mikos allotted to myself), and for that I’ve cov- less contributions, and I especially thank President, Technology Solutions Robert Faletra President, CMP Healthcare Media Vicki Masseria ered a lot of ground, from business to Jeff Lander, Jonathan Blow, Hal Senior Vice President, Operations Bill Amstutz politics to publishers to matters of craft. Barwood, and Dave Pottinger for being Senior Vice President, Human Resources Leah Landro So, at the risk of repeating myself here extra generous with insightful feedback VP & General Counsel Sandra Grayson VP, Group Publisher Applied Technologies Philip Chapnick and there, let me touch on some of the and for each having a delightful way of VP, Group Publisher InformationWeek Media Network Michael Friedenberg major trends I’ve seen transpire in the delivering it. This magazine owes much VP, Group Publisher Electronics Paul Miller VP, Group Publisher Enterprise Architecture Group Fritz Nelson game industry in the past five years. to everyone who’s contributed to it in VP, Group Publisher Software Development Media Peter Westerman For one thing, most of you have gotten ways big and small over the years. VP & Director of CMP Integrated Marketing Solutions Joseph Braue a lot better at your jobs, whether spurred Corporate Director, Audience Development Shannon Aronson Corporate Director, Audience Development Michael Zane by rising expectations, abject fear, or just Corporate Director, Publishing Services Marie Myers practice. While some production gaffes continue to appear in Postmortems with frustrating frequency, many other com- Jennifer Olsen mon development pitfalls have been Editor-in-Chief

2 WWW.CMPGAME.COM INDUSTRY WATCH ; KEEPING AN EYE ON THE GAME BIZ | kenneth wong

Nintendo releases scant details on new device. NXN Software, which offers asset and Nintendo spilled a few specifications of its production management systems for the upcoming handheld Nintendo DS, sched- entertainment and computer graphics uled to debut at E3 this year. Nintendo industries. The acquisition gives Avid’s president Satoru Iwata’s statement that customers access to NXN’s Alienbrain, Nintendo DS is “based upon a completely supported by Alias, Discreet, Softimage, different concept from existing gaming and other digital content-creation pack- devices” diminished speculations of the ages. Designed for workflow manage- new device simply being an enhanced Will games developed for the current ment, the Alienbrain product line fits into . Though Nintendo (shown here) be playable on the new Xbox? Avid’s current strategic motto: “make, spokesperson Yasuhiro Minagawa claims manage, and move media.” that they’re not trying to take on PSP, Xbox and Capital Entertainment Group, industry watchers consider the PSP a as its president and COO. Bachus’s imme- Microsoft leaks next-gen Xbox details. serious competitor to Nintendo’s handheld diate focus is to launch the Phantom Microsoft leaked to the press some tenta- products. Nintendo’s announcement Gaming Services, the company’s broad- tive specifications for its next-generation describes a device with “two separate 3- band game-rental program. Even though Xbox. Whereas the current Xbox features inch TFT LCD display panels, separate Bachus’s arrival lends some legitimacy to an 8GB hard disk, the new console will processors, and semiconductor memory of the Phantom project, many are still highly likely include none; users may rely on up to 1GB.” No photo or prototype was skeptical of the elusive game console, flash memory to store saved files (as with available at press time. whose debut at CES in January 2004 the Playstation 2). Microsoft was reluctant proved to be a non-operational mockup. to say whether the new ATI-powered Kevin Bachus to make the Phantom material- Xbox would be backward compatible ize. Infinium Labs appointed Kevin Avid gains access to Alienbrain. Avid with the current Nvidia-powered Xbox. Bachus, the cofounder of both Microsoft Technology acquired the Munich-based The unofficial nature of this announce- ment leaves Microsoft room to reposition the new console with additional compo- THE TOOLBOX nents, should competitor Sony introduce DEVELOPMENT SOFTWARE, HARDWARE, the Playstation 3 with far more advanced P features. The next Xbox is set to appear AND OTHER STUFF B q in 2005, and Playstation 3 in 2006. SN Systems delivers PS2 debugger. SN include: Bump-mapping and self-shad- Systems released Proview Plus for the ow lighting effects, 360-degree bill- Send all industry and product release news Playstation 2 console, a postmortem boarding for smoother transitions, to [email protected]. debugger that works with Sony’s latest improved root/branch detail, and new development hardware (DTL- library additions, bringing the total to UPCOMING EVENTS H3010*LT). The software-based 80 species. www.idvinc.com/html/ debugger communicates with the con- speedtreert.htm CALENDAR sole via the FireWire port, leaving both the Ethernet and USB ports available Macromedia launches Director MX 2004. GAMER TECHNOLOGY CONF. for use by the game. It requires Macromedia announced Director MX WESTIN SEATTLE HOTEL Windows 2000 or XP, a FireWire port, 2004, the latest version of its multime- Seattle, WA. and Sony’s development hardware. dia development and prototyping tool. March 11–12, 2004 Proview Plus is available for New features include support for JAVA Cost: $895 $1,000–$7,200. www.snsys.com/ script in addition to Director’s existing www.lawseminars.com/htmls/ PlayStation2/ProViewPlus.htm Lingo script, better integration with seminars04/04gamewa/ Flash, support for nonlinear DVD play- IDV plants Speedtree RT 1.6. Interactive back, and better playback of Quick- SOUTH BY SOUTHWEST: Data Visualization released Speedtree Time, Windows Media, Real, and AVI MUSIC AND MEDIA RT 1.6, a tree design and simulation files. Director MX 2004 is available as THE AUSTIN CONVENTION CENTER editor/middleware. The new version an upgrade from Director 8.5 or MX Austin, TX. includes enhanced lighting realism and for $399 or standalone for $1,199. March 12–21, 2004 trunk design, along with efficiency www.macromedia.com Cost: $225–$775 improvements. Other key new features —Peter Sheerin www.sxsw.com

6 mar ch 2004 | game developer PRODUCT REVIEWS THE SKINNY ON NEW TOOLSX Borland’s JBuilder X Mobile Edition by ralph barbagallo

obile game develop- wise unusable. This tool really simplifies ment is hot. That does- the task of setting up mundane GUI code n’t mean many people and lets you get to the real meat of devel- are actually making opment (that is, if you actually use J2ME’s M money in the market, ugly and inflexible GUI classes). but nonetheless, it’s big. Major publishers One of the great innovations of such as and THQ have stepped Wireless Studio was the ability to select up to the plate, along with a host of new- between multiple JDKs to support each comers, to bring content to carriers world- handset’s unique API. JBuilder mimics wide. Sun’s J2ME platform is deployed on this ability with the JDK Configurator. the most carriers, with thousands of devel- Here you can point JBuilder at the folder opers producing a seemingly infinite array JBuilder’s interface is less complicated than in which the desired API is stored, and it of games for handsets of all types. CodeWarrior’s, but not as fast as VisualStudio’s. will automatically find the classes, Surprisingly, there isn’t a thriving mar- libraries, and emulators. You can then ket for J2ME development tools. With in no time. Creating a simple “Hello pick the SDK you want to use for this Metrowerks’ CodeWarrior Wireless Studio World” MIDlet was easy as pie. And con- project, not to mention switching it at languishing without updates, Borland has verting my old Sun Wireless Toolkit proj- any time to make builds of your project stepped into the vacuum with an afford- ects to JBuilder was just as simple once I for specific SDKs. able J2ME IDE—JBuilder 9: Mobile got the hang of it. All I had to do was cre- As for other J2ME-specific features, Edition. Sporting the familiar JBuilder ate a new project and start copying files JBuilder allows for extensive editing of the interface, Borland has put together a great over. In addition to manually copying files JAD file. This includes creating your own package that’s even cheaper than Code- and adding them to the project, JBuilder custom fields and values. In addition, Warrior, for $399. You may have to look provides a number of wizards to set up JBuilder provides support for third-party really hard, however, JBuilder Mobile default projects and simplify the task of obfuscators, including Retroguard. Also, Edition just isn’t very widely available. getting started. any third-party emulator can be used and JBuilder has a long history as a tool for Speaking of wizards, JBuilder has a custom command-line parameters can be J2SE developers. Therefore, the interface number of unique features that can help set for each one. JBuidler also supports of the IDE should be familiar to those when developing more complicated ANT, so you can create your own custom who have used previous versions of MIDlets. One in particular is the UI scripts for just about any purpose. This JBuilder. To the uninitiated, JBuilder is far designer. Even though J2ME’s lcdui pack- comes in handy when having to make less complicated than CodeWarrior’s age is pretty bare-bones as far as GUIs are handset-specific builds that may require somewhat Byzantine interface, but not as concerned, JBuilder allows you to specify the inclusion or exclusion of certain files fast or slick as Microsoft’s VisualStudio. the GUI components of a screen and will for certain handsets (such as art assets), or The GUI is also curiously slow, with generate the code and classes automatical- omitting various classes. redraws and refreshes occasionally being ly. It will also analyze the code and then JBuilder’s source- debugger is quick heavily delayed even with 512MB of display a diagram that shows you which and responsive, not to mention full-fea- RAM (Borland suggests a full 1GB of screens link to which. This not only helps tured, with a standard array of break- RAM for optimal performance). you visualize your program, but also helps points, watches, and other tools. In com- Yet, after reading through the brief on- you spot errors in your GUI logic that parison, CodeWarrior’s debugger is laggy, line documentation, I was up and running may make screens inaccessible or other- and even buggy at times where it fails to stop at certain exceptions and has a hard RALPH BARBAGALLO | Ralph runs FLARB (www.flarb.com), a game studio in Southern time refreshing variable values. Unfor- California specializing in wireless games. He is the author of Wireless Game Development in tunately, CodeWarrior’s trailblazing on- C/C++ with BREW (Wordware Publishing) and is currently working on a MIDP 2.0 book. device debugging feature is absent from

8 mar ch 2004 | game developer XXXXX excellent XXXX very good XXX average =XXdisappointing X don’t bother

JBuilder. Even though in the case of see how much continuing support CodeWarrior it only worked on one or Borland affords JBuilder Mobile Edition two handsets, it is an excellent feature given its scarcity. If you are an existing that Borland should really look into for CodeWarrior user, there may be no com- upcoming versions. pelling reason to switch. However, con- Much like CodeWarrior, JBuilder fea- sidering that heavyweights such as Sony tures in-IDE support for third-party Ericsson and Nokia have embraced source control programs, including the JBuilder as a prime development tool for widely used open-source tool, CVS. Other their respective handsets, it may be time big-time development features touted in to reconsider. the documentation include UML diagram- The intuitive SpaceTraveler 3D controller. ming, although that’s only available in the 3DConnexion’s more expensive Enterprise Edition. SpaceTraveler on that blocks non-dominant movements). Once again, a J2ME IDE is here with But with a few minutes worth of practice not much to compete against. I heartily by sean wagstaff to get a feel for it, the SpaceTraveler recommend this over CodeWarrior becomes very natural to use, although it is Wireless Studio. With JBuilder’s snappy f you work in 3D, navigation in space quite sensitive to even fine movement. interface, a plethora of features, and a I probably occupies far more of your day However, you’ll soon find yourself tum- very low price, I don’t think anyone will than you realize. But just as a painter bling a scene around as easily as you be missing Metrowerks from this space. doesn’t give much thought to how he would with your standard keyboard and It’s unfortunate, as some advanced fea- positions his brush on the canvas, experi- mouse combinations, and rotating a cam- tures such as on-device debugging are enced 3D artists don’t really think about era is certainly more intuitive than, say, still absent from JBuilder. We’ll have to moving around in three-dimensional SHFT-CTRL-ALT-middle-mouse dragging. space. Unless you’re using an unfamiliar Which brings us to the most obvious JBUILDER MOBILE ED. application, say, switching from Maya to question about this device: who needs it? 3DS Max, navigation is simply an integral If you’re already comfortable working in a XXXX part of what you do and there’s not much 3D application, and navigation with the room for improvement. Or is there? standard key commands and mouse STATS The $599 SpaceTraveler, which looks actions has become second nature, why Borland Software Corp. like a volume control knob (complete with bother with yet another input device? In Scotts Valley, Calif. a purple LED accent on the buttons my experience, many 3D operations, such (831) 431-1000 around its rim) is designed to make 3D as architectural modeling, dynamics, and www.borland.com operations faster and more intuitive. texture manipulations, simply require too Using the SpaceTraveler is almost much keyboard input to benefit from the PRICE immediately familiar. You plug it into SpaceTraveler at all. I need my hands on $399 your USB port and install the driver soft- the keyboard, and mouse, and instant SYSTEM REQUIREMENTS ware (plug-ins are provided for Maya and access to pop-ups and marking menus Intel Pentium II/400MHz or equivalent, Max, and built into MotionBuilder, provided by my right mouse button, 256MB of main memory (512MB recom- Cinema 4D, and BodyPaint 3D, but the which just doesn’t leave enough hands for mended), Windows 2000 or Windows controller doesn’t work with every 3D a third input device. XP, 1.9GB of free hard drive space (full tool). To use it, you simply push, pull, tilt, On the other hand (literally) when it install). and twist the single knob. Your finger comes to operations that require one- movements translate directly into 3D handed navigation, the SpaceTraveler is a PROS space—x, y, and z rotation and transla- terrific idea. For example, when sculpting 1. Intuitive and streamlined interface. tion, often referred to as six degrees of an organic model or painting textures on 2. Easily switch between JDKs. freedom—in your application. Lift the surfaces with a Wacom tablet, you can 3. Innovative new tools such as the UI knob and you move up in y, push it for- rotate and tumble the model with one Designer. ward and you move forward in z. Twist hand, while painting with the other. While the knob and you’ll rotate in y; tilt it, and doing character animation, the Space- Cons: you’ll pitch forward or back, left or right. Traveler can be used as a low-speed 1. No on-device debugging. The tricky part is learning not to translate motion capture input device that lets you 2. Lack of UML support. on z when you pitch on x, and not to use gestures, rather then explicit rotations, 3. A very hard to find product. translate on y when you actually mean to to move a joint, although you’ll have to roll on z (a temporary filter can be turned set up your characters to work with this w w w.gdmag.com 9 PRODUCT REVIEWS XXXXX excellent X XXXX very good XXX average =XXdisappointing X don’t bother input. The device’s eight pages through seven chap- the Gilbert-Johnson-Keerthi (GJK) algo- buttons can be mapped to ters and includes a CD- rithm, which is used to determine dis- common keyboard short- ROM containing the tance and collision of general convex cuts, and the defaults for source code to SOLID 3.5 objects. The GJK algorithm is an itera- Maya activate the Hot (Software Library for Inter- tive distance routine but can also be Box, translate, rotate, and ference Detection), a colli- applied to general convex objects. scale commands. However, sion-detection library for Chapter five discusses data structures the buttons are too small with terrible interactive 3D animation. that reduce the scope of collision calcula- ergonomics, and I still need to use the After the first chapter’s brief introduc- tions during run-time. Through a combi- keyboard for other commands, such as tion, the second chapter details the nation of spatial partitioning, model parti- the marking menus. required concepts of the text. Generally, tioning, and frame coherence (an assump- The SpaceTraveler, as the name implies, the collision-detection algorithms present- tion that motion is generally smooth and is small and portable. Although on-the- ed in the book operate on convex objects. changes per frame are small in a given road walkthroughs of real-time-3D scenes Methods are described to decompose com- scene), optimizations can be made to seem unlikely, I found the SpaceTraveler plex shapes into various convex primitives reduce overall computational time in cal- useful as an accessory to a high-end 3D such as spheres, triangles, and boxes. culating pair-wise collisions between the laptop for bringing work home. My Some consideration is given to collision various types of polyhedra. Each section Compaq runs all my 3D applications, but response, performance optimizations presents several partitioning methods and the built-in trackpad is all but useless for through frame and geometric coherence, provides a case study regarding their per- 3D navigation, and the keyboard is and problems arising from floating point formance, along with a test bed of com- cramped, with a non-standard layout, error in calculations. The chapter is heavy plex objects to help highlight the perform- which also makes navigation clumsy. The in mathematics and notation and makes ance differences. SpaceTraveler really improves the usability for a slow and sometimes tedious read. SOLID has been under development for of that machine on the go. Chapter three introduces algorithms for the past seven years, and chapter six pro- I wouldn’t recommend the Space- various types of primitive collisions vides the goals, an overview, design deci- Traveler to everyone. After all, if you’re through four broad categories: spheres, sions, and restrictions of the library. In already comfortable navigating in your axis-aligned boxes, separating axes, and fact, the material presented in the book is predominant 3D application, you proba- polygons. Each category contains an algo- implemented as the SOLID library. The bly don’t need it. However, if you do a lot rithm for various primitive combinations. provided SOLID source code helps con- of work that requires one-handed naviga- For example, under the sphere category textualize the algorithms and discussion tion, the SpaceTraveler may be a welcome the routines presented are sphere to presented in the text. Finally, the last arrival to your world. sphere, ray to sphere, and line segment to chapter describes the current limitations of XXXX | SpaceTraveler sphere. Each algorithm is well described collision detection and considers future 3DConnexion mathematically, then some pseudo-code is research areas where further improvement www.3dconnexion.com provided to illustrate the implementation. might occur. However, each category’s primitive combi- Overall, the book does an excellent job Sean is a freelance 3D artist. You can nation type presents just one algorithm. presenting the challenges and necessary reach him at www.wagstaffs.org. While other sources for algorithms are considerations when designing a collision well-cited throughout the book, it would detection system but not in a manner that have been beneficial to compare multiple is approachable by everyone. Developers Collision Detection in collision algorithms based on various sce- capable of appreciating the mathematics Interactive 3D Environments narios to explore the topic completely. and theory will benefit from van den by Gino van den Bergen The SOLID library uses the routines cho- Bergen’s description of his insights and sen and presented in the text. experience. One drawback, though, is reviewed by jeremy jessup Chapter four is on convex objects, that his presentation is tailored toward and Van den Bergen considers both sin- the SOLID API implementation, rather n Collision Detection in Interactive 3D gle-shot and incremental algorithms than being a complete look at the prob- I Environments, (Morgan Kaufmann, designed to perform several types of lem in general. November 2003), Gino van den Bergen proximity queries on polytopes. In par- XXXX | Collision Detection in Interactive explores the algorithms necessary to deter- ticular, each algorithm’s computational 3D Environments | Morgan Kaufmann mine whether polygonal intersections complexity is provided and references www.mkp.com occur in a real-time interactive simulation. are given for additional detail. The bulk Available for $59.99, the book spans 277 of the chapter is devoted to discussion of Jeremy works for .

10 mar ch 2004 | game developer PROFILES TALKING TO PEOPLE WHO MAKE A DIFFERENCE | jamil moledina

Hard-Boiled Developer Luxoflux’s Peter Morawiec on bringing classic story genres to life

s co-founder of Luxoflux, Peter tions, and story twists. At this stage, I try not Morawiec has heard it all to concern myself with gameplay issues much, before. Having broadened the but I never discard those considerations com- vehicular combat genre with pletely either. The next step involves detailing A games like Vigilante 8 and out the story and breaking it down into indi- : Demolition, he’s used to fielding vidual cinematic and gameplay components. comparisons to pioneering titles. Well, it was Games tend to be considerably longer than déjà vu all over again, as gamers, marketers, films and most time is “action time,” so and, yes, even journalists made connections you’ve got to stretch the script and proliferate between Luxoflux’s recent : The it with gameplay mechanics pertinent to your Streets of L.A. and the seminal sandbox title game. Unlike a traditional movie script, each Grand Theft Auto III. This time out, the conversation is described merely in terms of story took an unexpected turn when author its content and tone, not the actual final dia- Robert Crais accused the game’s developers of logue, which comes last. We hire professional infringing on his novels. When Luxoflux and writers to assist us with tuning the script and publisher Activision showed him the game, he Peter Morawiec makes crime play. developing all dialogue. One of the lessons of saw how distinct it was from his work, and True Crime is the need to write matching dropped the suit. Although this added an unwelcome layer of VO for both cinematics and gameplay—the game is very drama to the release of True Crime, it validated Morawiec’s campy throughout, but it also features several darker dogged pursuit of innovation. As project/design lead on True moments, so the main character’s generic one-liners often end Crime, Peter delivered that innovation by integrating the story up out of synch with the mood of the story. tightly into the game. GD: Given TRUE CRIME’s connection to hard-boiled detective sto- GD: What factors led you to connect TRUE CRIME’s gameplay so ries, how important is it for games to explore narrative genres? dependently to story? PM: As the videogame market matures, I believe it’s natural PM: I’m a big movie and fiction buff, so True Crime was for story-driven games to be crafted within established narra- always envisioned to be a story-driven game. I was hoping we tive genres. With the age of today’s average gamer pegged at could create something akin to a videogame incarnation of an something like 29, the audience welcomes a greater thematic action film, where the story and gameplay blend into one variety as well as deeper and more mature storylines. I believe another seamlessly (subject to load time limitations). We used that people will instinctively want to play the same types of very short, palatable cinematics to progress the story, while genres they like to watch or read. As a matter of fact, we’ve placing the action segments in the player’s hands. already seen a number of successful games dubbed as horror, Simultaneously, I wanted to achieve a sort of hybrid active- film noir, Hong Kong action, and so forth. passive experience, where the entertainment goes on no matter GD: In light of GRAND THEFT AUTO III’s notoriety, is it better to how badly the player does, allowing even a total newbie to market a crime game as a GTA-killer or as an original experience? fumble his or her way through an entire storyline, without PM: As a game maker, I’d clearly prefer the latter. However, repeating missions or getting stuck. In a passive medium such from a sales standpoint, I’d imagine it is always beneficial to as a movie, whenever the hero hits a low point mid-film, the make bold claims (so long you can back them up). Either way, story doesn’t restart; rather, the hero recovers or finds another the challenge lies in managing consumers’ expectations, which way to go on. This is especially true in detective stories, where is an extremely tricky thing. the protagonist tends to encounter a few dead ends before GD: In retrospect, what steps can a writer and a project lead eventually connecting the dots. However, many gamers will take to head off infringement claims before lawsuits are filed? instinctively want to replay a failed mission, so the jury’s still PM: Games are big business, so as long as there are willing out on this particular feature. lawyers, there will be lawsuits. The best thing to do is to per- GD: What is your writing process? form plenty of legal due diligence before you ship. PM: I prefer to arrive at a condensed story outline first—the GD: What games are you playing now? general theme, the hero, the villain, their motivations, the cli- PM: , Shrek 2 (in development internally), max, the introduction event, key branch points, some loca- and eagerly awaiting Half-Life 2. q

12 mar ch 2004 | game developer INNER PRODUCT jonathan blow

Designing the Language Lerp: Part 3

ately, I’ve been developing a programming lan- guage called Lerp. Lerp is an imperative language with some declarative extensions for data han- dling. The declarative statements are based on L predicate logic (“Predicate Logic,” December 2003), a simple way of reasoning with facts well known in the AI community. In the past few articles I’ve shown how predicate logic expressions can be used to manipulate data in concise and powerful ways. However, the traditional handling of predicate expressions, in languages like Prolog, has some problems that need to be addressed. Prolog was never adopted for wide- spread use; I believe this is partially due to some software- engineering shortcomings that Prolog proponents were slow to acknowledge and fix.

Software-Engineering Problems FIGURE 1: We represent this set of nodes arranged in a tree in predi- cate logic assertions as [‘parent a b], [‘parent b p], [‘parent c p], language with good software-engineering properties helps [‘parent d c], [‘parent e c]. A you keep a program from becoming too chaotic as it grows; such a language supports software-development pat- Suppose you have some objects arranged in a tree; there is a terns that result in fewer bugs and makes it easy to find bugs parent relationship that links objects together (Figure 1). We when they do happen. As an example, C++ performs type want to ask whether one object is an ancestor of another, in checking at compile time and link time, so many common other words, whether it can be reached by traversing some errors (like passing the wrong argument to a procedure) are number of parent links. Using Lerp syntax, we would define caught and fixed before you ever run the program. On the the ancestor predicate like this: other hand, LISP doesn’t have static type checking, so you can only find type errors at runtime. Those errors might lurk for a [‘ancestor ?x ?a] <- [‘parent ?x ?a]; long time, if they’re in code paths that are infrequently exer- [‘ancestor ?x ?a] <- [‘parent ?x ?p] & [‘ancestor ?p ?a]; cised. So C++ provides a definite advantage over LISP in terms of getting real work done. JONATHAN BLOW | Jonathan Blow nor- On the whole, predicate logic is an error-prone method of mally has a new blurb in this box every expression. Traditionally, there’s not much in the way of com- month. This month, though, he forgot. Send pile-time error-checking. The speed of your program and its cor- recommendations or your favorite anti-senility rectness depend drastically on small variations in the way the medicine to [email protected]. predicates are written. I’ll illustrate this with some examples. w w w.gdmag.com 15 INNER PRODUCT

The first line says a is an ancestor of x if a is the parent of x. performance and correctness, we end up spending most of our The second line says a is an ancestor of x if x has some parent p, time thinking about the course of action this solver algorithm and if a is an ancestor of p. The second line performs recursion will take to put our facts together, when we’re supposed to be and the first line handles the thinking about just the facts simplest case; the two lines We end up spending most of our themselves. together provide a complete For example, Prolog’s definition of ancestor. time thinking about the course of solver will consider the facts One of the nice aspects of one by one in the order you predicate logic is its declara- action the solver algorithm will take list them (for details, see tive structure. In theory, you the sources listed under For just state the facts, and the More Information on page runtime system figures out in order to put our facts together, 19), so the ancestor relation the answers to your queries as written above would be based on the stated facts. when we’re supposed to be thinking an efficient way to pro- However, in reality, it’s just gram. But suppose you not that simple, because about just the facts themselves. switch the order of the facts can’t get up and solve statements like this: problems by themselves. In predicate logic systems, there’s a solver algorithm that tries to [‘ancestor ?x ?a] <- [‘parent ?x ?p] & [‘ancestor ?p ?a]; put facts together to eliminate unknowns. The problem with [‘ancestor ?x ?a] <- [‘parent ?x ?a]; traditional predicate logic systems is that, due to concerns over

16 mar ch 2004 | game developer FIGURE 2: A graph that con- tains cycles will cause problems for a Prolog solver. In this scheme, each arc between the nodes rep- resents an assertion of the form of ['neighbor ?a ?b]. To ask whether a path exists between rooms, we can define a primitive connected that traverses these neigh- bor facts.

an arbitrary graph (Figure 2). Let’s say we have a fact, neighbor, which tells us whether two nodes have an arc between them, and we want to define a relation, connected, which tells us whether two nodes are some number of neigh- bor-steps away. Well, a Prolog solver will just go into an infinite loop on this problem, period. To fix this, we need to add lots of extra data and Now you have a program that is extremely inefficient. It relations to manage the solver’s progress, and we end up doing will always perform a recursive search first, climbing all the the same kind of work we must do in imperative language, way to the root of the tree and whizzing right past the answer, except in a more Byzantine manner. Recent variants of Prolog, only finding the answer as it backtracks. and other logic programming languages, apply numerous band- The situation can get worse if, for instance, you switch the aid approaches to this problem, but I have not seen one that order of the conjunction in the first rule: solves the problem to my satisfaction. Flow control is implicit in such declarative languages, so it’s [‘ancestor ?x ?a] <- [‘ancestor ?p ?a] & [‘parent ?x ?p]; very hard to manage if you need to actually steer the process. [‘ancestor ?x ?a] <- [‘parent ?x ?a]; This is not nearly as nice as in an imperative language, where the programs are lists of statements that say, “Do this, then Now the solver will just loop infinitely. An attempt to this, then this.” answer any ancestor question will cause the solver to immedi- ately pose another ancestor question. As long as our examples Control the Solver remain this simple, we can work around them without too much strife. Maybe we can add some compile-time checking his straightforwardness of imperative languages is why I to spot simple loops like the one above. But, as with any lan- T designed the core of Lerp to be imperative, but so far guage, the situation gets murkier when the program gets big- there’s an extreme asymmetry in the language design. The ger, due to additional relations that reference one another imperative part can scale, with reasonable confidence that the recursively in various ways. As the program grows, we must program will do what you hope. The logic part, though, is work harder to manage the solver’s data processing. Writing a only useful for simple tasks; as facts in the logic system large-scale software project like this will not be as much become more complicated, the program will probably start about logic as one would hope. running slowly or loop infinitely—who knows? I don’t feel I To top it all off, there are a lot of places this kind of solver can produce reliable programs with acceptable efficiency just can’t reach. Imagine we want to make the solver navigate when things get large on the logic side. w w w.gdmag.com 17 INNER PRODUCT

Maybe that’s not so bad—if the imperative side is good can reach by following a parent relation one or more times.” enough, maybe the language philosophy should be that logic is This is interesting because “one or more times” is a common, only used for simple things. Certainly, the matrix and vector primitive concept in regular expression-pattern matching: it’s examples previously shown (“Designing the Language Lerp: Part denoted with a +. In fact, if we treat parent as a single symbol, 2,” February 2004) are interesting and useful, and we could just then the idea “one or more parent relations” would just be accept those (along with the carrying example) as the limit of written in regexp form, as parent+. With that in mind, we can what the logic in Lerp will do. But I want to push it further. develop an alternate syntax where ancestor is defined like this:

Simplified Ancestor [‘ancestor ?x ?a] <- /{ ?x ‘parent+ ?a };

hroughout the language design process, I have been keep- This definition treats the database facts of Figure 1 like a T ing in mind the most effective features from other lan- graph. The /{} are just syntactic markers, saying that the braces guages, like Perl, and looking for opportunities where they contain instructions about how to walk the graph. This particu- can be gainfully employed. In this case, I found a way to lar graph-walking expression says, “Start at x, then follow one reframe Perl’s regular expression handling. Let’s go back and or more parent arcs until you arrive at a.” The symbol parent is look at that definition of ancestor: still assumed to be a binary operator like in the previous defini- tion. Think of { ?x ‘parent+ ?a} as expanding as follows: [‘ancestor ?x ?a] <- [‘parent ?x ?a]; [‘ancestor ?x ?a] <- [‘parent ?x ?p] & [‘ancestor ?p ?a]; [‘parent ?x ?tmp_1] & [‘parent ?tmp_1 ?tmp_2] & ... & [‘parent ?tmp_n ?a]. What we’re trying to say here is, “An ancestor is anyone you

18 mar ch 2004 | game developer If it helps reduce confusion, we can reformat the parent facts value we reach. If that member variable doesn’t exist or is in the database so the identifier ‘parent is infix rather than pre- false, the traversal fails for that particular path and returns fix, so the facts look like [node1 ‘parent node6] instead of [‘par- nothing; otherwise, it returns the node in the ?? slot. Recall ent node1 node6]. This is just a cosmetic change, and clearly we that the each as a function argument causes apply_ damage to be can do a graph-walk among facts stored in either format. called once for each entity that satisfies the query. That’s pretty good. It’s different from what you’d do in Complex Graph Walks many other languages, and it’s certainly simpler. You can imagine ways of adding further regexp syntax to handle fire- e can compose longer graph-walking expressions. proof containers. It works out to be pretty simple. In fact W Suppose we want to find whether x and y have a com- most of the convenient features of regular expression syntax mon parent. There are several ways to form this query. We can be adopted directly into this graph-walking scheme could say /{ ?x ‘parent+ ?p } & /{ ?y ‘parent+ ?p }, meaning, (parentheses to join patterns into larger groups, and so forth). “Is there some common p reachable by parent-steps from both x and y?” Or we define the relation child as [‘child ?a What this Notation Does ?b] <- [‘parent ?b ?a]; then we can string together one expres- sion that looks like this: /{ ?x ‘parent+ ?p ‘child+ ?y }. his graph-walking syntax helps us phrase queries in ways That may be easier to think about, since it talks about one T that are more straightforward and compact than with tra- continuous path, from x up to p down to y. But the point of ditional predicate logic. But it also does something more child is just to define a transition that goes in the direction important—it gives us a way to avoid the recursion and termi- opposite of parent. Requiring a separate definition for that is a nation pitfalls. When evaluating a term like carrying+, the little cumbersome; instead, we can add some notation to the graph-walking engine can just assume some things that are graph-walking expressions to say, “Switch the order of the difficult to deduce in a general predicate logic environment. arguments before searching for this fact in the database.” Going back to the non-hierarchical situation of Figure 2, a Let’s use the ~ character for this, with the little wave symbol- graph walker can easily solve the query with no risk of infi- izing the swapping of two things. Then the query becomes /{ nite looping, without requiring the programmer to add ancil- ?x ‘parent+ ?p ~’parent+ ?y }; whether you prefer this is a mat- lary data. It can just mark the nodes it has visited and never ter of taste, but it does make for a simpler program. Another try them again, since there’s no reason to visit a node twice way to think of ~ is that it means, “Go backward along this when evaluating a pattern option like +. This is valuable, since graph edge instead of forward.” it widens the scope of queries that the programmer can make Let’s apply this to a concrete game situation. Suppose while feeling confident and safe. This month’s sample code you’re making a fantasy game, and a dragon has just breathed (available at www.gdmag.com) implements the examples dis- on a player, whom we will call victim. We want to apply dam- cussed here, and some others. age_amount points of damage to everything flammable the play- er is carrying. We know an object is flammable if it has a Relation to SNePS member variable flammable set to true. The catch is, we need to search for items that are not in the he regular expression query syntax treats a predicate logic player’s top-level inventory. If the victim is carrying a bag, and T database as a series of nodes connected by arcs. there’s a scroll in the bag, then we will have facts [‘carrying Interestingly, there are some systems developed in the AI victim bag] and [‘carrying bag scroll], but probably no [‘carry- world centered around this idea of graph traversal. The most ing victim scroll], since such deep linking would make data prominent one is SNePS (see For More Information), consid- handling cumbersome and expensive. So when it comes time ered by some to be a helpful tool for knowledge representa- to burn the stuff, we need to perform a recursive search tion in natural language processing. The semantics of SNePS through the player’s inventory to make sure we find every- are not exactly like what we have discussed here, though there thing. Supposing we have some function apply_damage, we can are some interesting similarities. q invoke it on all relevant entities like this: apply_damage(damage_amount, each /{ victim ‘carrying+ ?? FOR MORE INFORMATION .flammable }); Clocksin, W.F. and Mellish, C.S., Programming in Prolog (Springer-Verlag, In this graph-walking expression, the carrying+ finds all the New York, 1987). entities starting from victim, the ?? indicates the node in that SNePS Research Group slot should be the return value of the expression and the www.cse.buffalo.edu/sneps/ .flammable looks up the member variable flammable on whatever w w w.gdmag.com 19 steve theodore ARTIST’S VIEW

Subdivide and Conquer Part 2: Practicalities

his month we’re going to return to the discussion of subdivision modeling we started previously (Artist’s View, January 2004). Since the theoretical part is out of the way, we can now focus on some T practical rules for dealing with subdivisions. First, let’s quickly recap the basics from our earlier discus- sion. A subdivision surface is made by recursively refining a polygon mesh. The topology of the original mesh determines the quality of the smoothing. Connected mesh edges that pass through the four-way intersections in the control mesh (edge loops) create smooth B-splines on the subdivision surface. Conversely, vertices that have more or less than four incoming edges (pole points) terminate edge loops, interrupting the flow of the surface and introducing a cusp on the surface right under the pole. Faces with more or less than four sides also create smoothing glitches when they are refined (extraordi- nary points), although in a typical game model these aren’t too serious. For these reasons, the ideal subdivision model is built from a grid of quads. Since all of the faces are four-sided, they sub- divide smoothly. More important, since all of the internal FIGURE 1. An all-quad mesh can still have pole points, where more or intersections in a quad grid are four-way, every series of con- less than four edges meet. Note the discontinuity of the splines on the nected edges in the mesh is a smooth spline, so it’s easy to surface of the subdivision sphere. build models with smoothly curved surfaces. Note that a mesh is only a quad grid if all of its vertices (except those on the describes the subdivision workflow as “volume, surface, outer borders) have exactly four incoming edges. Many mesh- detail.” This top-down process stresses the importance of es that are made entirely of quads don’t qualify as quad grids working from the largest aspects of the model to the smallest. (Figure 1). This is usually a good practice in any case. With subdivisions,

Advice for the Left Brain STEVE THEODORE I Steve started animat- ecause of the stress subdivision modeling places on mesh ing on a text-only mainframe renderer and then moved on to work on games such as topology, it tends to require more forethought than tradi- B Half-Life and Counter-Strike. He can tional polygon crunching. Bay Raitt, who did the the subdivi- be reached at [email protected]. sion models of Gollum in the Lord of the Rings movies,

21 mar ch 2004 | game developer ARTIST’S VIEW

it’s especially important, since an accidental pole point can distort the sweep of a large contour. Thus, in my capacity as a conscientious columnist, I am obliged to make a public pitch for careful planning. In any case, subdivision tools implicitly favor a top-down process. Most major packages implement Hierarchical Subdivision Surfaces (HSDS), allowing you to work directly on vertices created by different iterations of the subdivision process. HSDS is invaluable for localizing details; the wrinkles in a character’s forehead, for example, are best done locally at a higher subdivision level than the rest of the model. Without the ability to drill down in the subdivision hierarchy, the detail areas would have to be carefully stitched to the lower- resolution regions or they would propagate unneeded control points to the simpler areas in the way NURBS models often do. Moreover, HSDS details will move with their parent sur- faces if the base control mesh is changed, so large scale edits can be made without disturbing completed detail work. Unfortunately HSDS has important limitations. Most importantly, the topology of the hierarchical subdivisions is determined by the topology of the original control mesh. So, for example, you can’t add a wrinkle line across a forehead in a higher subdivision level unless the edges flow in the right FIGURE 2. HSDS’s lower levels derive their topology from the base direction on the base level (Figure 2). Moreover, in most mesh, which could be a limitation in some cases.

22 mar ch 2004 | game developer implementations, changes to the base topology can confuse the detail layers, leading to unpredictable migrations of details as the vertex indices change. Most important, HSDS doesn’t change the basic behavior of subdivisions and the need for clean topology at the highest level. Thus HSDS is ideal for organized modelers, but offers relatively little to intuitive, improvisational, or just plain sloppy artists. Back to the Future URBS are often a good starting point for a well-planned Nsubdivision model. Beginning your model with NURBS is also a good way to include a strong foundation of quad grids, since NURBS patches are fundamentally quad-based. More important, though, starting the model with NURBS helps to separate the volume stage of modeling from the surface stage. NURBS patches can be rebuilt on the fly to almost any level of detail. With subdivisions, on the other hand, adding or removing control points always involves some alteration in the final form. Roughing out your main forms in NURBS allows you to concentrate on the model without worrying too much about the distribution of the control mesh. Once the shapes look right, you can go back and assign density where it FIGURE 3. Generally it’s a good idea to define major forms in is needed by cutting up or rebuilding the patches. NURBS before starting a subdivision model.

w w w.gdmag.com 23 ARTIST’S VIEW

FIGURE 5. Pole points with an even number of incoming edges (Left) are more predictable than those with an odd number (right).

ever, the conversion is adequate without additional tweaks. You can improve conversion accuracy by increasing the num- ber of NURBS isoparms before conversion. Now for the Right Brain FIGURE 4. Trying to fix the pole point and n-gon (upper left) simply ow, it’s time to return to the messiness of the real world. moves the problem around. NMost of us are too busy thinking about our subject mat- ter to worry about the topology every time we touch a mesh. Moreover, we often tend to obsess over local details that crop Integrating NURBS into a subdivision model is fairly sim- up, because the little details often tell us so much about the ple. You simply convert your NURBS into polygons, which way the overall model will evolve. are then stitched together to serve as the basis of a subdivi- The result is that most of us—especially those who learned sion-control cage. Generally, the most efficient way is to the trade as low-polygon modelers—add or subdivide faces model only the important forms, leaving the connecting areas more or less at random when trying to capture an elusive detail for the subdivision model (Figure 3). Subdivisions handle or suggestive contour. It takes a lot of discipline to follow a oddly-shaped, arbitrary blends more easily than NURBS do, strict top-down methodology. so there’s no need to build NURBS shapes—such as boundary Therefore, it’s time to take a look at the alternative to plan- surfaces, trim-blends, and multi-sided fillets—that are basical- ning: cleanup. Artistic issues aside, the ordinary give-and-take ly there to serve as fillers. Here’s a good rule of thumb: any- of roughing out a mesh almost always leaves behind a trail of thing that requires a lot of thought in the NURBS stage is accidental pole points and unintended n-gons, which need to probably better fixed in the subdivision stage. The only really get polished off before the model is truly ready for prime finicky task worth doing in NURBS is matching up the time. Trying to eliminate nasty little shading glitches or con- isoparms of adjacent patches, which will reduce the time tours that refuse to stay put can consume a lot of time, even required to stitch together the subdivision cage. when a model appears to be nearly done. So let’s look at some The one important trick is to convert the control cage of practical aspects of fixing an existing subdivision cage for the NURBS model rather than the final limit surface. In other optimum results. words, you want to copy the NURBS control cage into your For game modelers, the key task is really two-fold: deciding subdivision model. Maya offers an option to do this directly; which vertices have to be fixed and which faces have to be however, in Max or XSI, you’ll need a script that builds a quadrangulated. In theory you could build a complete quad polygon mesh out of NURBS CVs. Unfortunately there are grid mesh with hordes of tiny polygons taking the place of subtle but important differences in the underlying math (see irregular intersections and faces; however, the practical prob- Artist’s View, January 2004), so conversion between NURBS lems with trying to manage such a heavy mesh generally out- and subdivisions will not be perfect. For most purposes, how- weigh the benefits, at least in game applications. High-resolu-

24 mar ch 2004 | game developer ARTIST’S VIEW

number of incoming edges are also less problematic than those with odd numbers. Although an even-sided pole point still creates an extraordinary-point shading glitch, the surface flow under an even-sided pole is smoothly continuous along the opposite incoming edges (Figure 5). Odd-sided poles, by contrast, produce a clear discontinuity for all the incoming edges. The one exception to the even-odd rule is that vertices with only two incoming edges (unless they are on an open border of the mesh) are always a bad idea, since they usually produce very noticeable divots in the subdivision surface. Quad Squad ecause quads produce the cleanest and most predictable Bsubdivisions, you always want to use them instead of the n-gons if you can. n-gons should be used only as connective tissues in areas without important structure or definition. When you’re trying to grid up an existing irregular mesh, you’ll find that any n-gon with an even number of sides can always be divided into quads without adding any vertices. FIGURE 6. Here are some examples of possible (blue) and impossible Conversely n-gons with odd numbers of sides can only be (red) quadrangulation when adding adjacent faces. quadded by splitting one of their original edges. Usually this will involve extending the split until you reach an acceptable pole point or an open edge of the mesh. When applying the tion modeling for films or real-world CAD applications may even-odd rule for a group of faces, remember to subtract two demand complete topological purity. For games (even game from the total edge count for each shared edge. So, for exam- cinematics), it’s easier and more realistic to accept some poles ple, a triangle adds one edge to a quad (4 + 3 – 2) if it is con- and n-gons as necessary evils. nected by one edge, but actually subtracts one if it is connect- ed to two edges. Thus, you can’t make quads by deleting the Sweeping Under the Carpet edge between a quad and a triangle (4 + 3 – 2 = 5), but you could do so by adding a quad and two triangles (4 + 3 + 3 – 4 ost of the time, moving topological problems into incon- = 6) (Figure 6). Mspicuous places is an adequate alternative to eliminating them. Usually, fixing a topology problem in one place causes a Survival of the Fittest new one to crop up nearby (Figure 4). By far, the worst part of trying to regularize a subdivision mesh is the agony of ubdivisions are still in their infancy. Although they are a spending half an hour tweaking a problem area only to realize Sgreat step forward, they certainly don’t represent the end you have reshaped the mesh back to its original configuration. of the line in the evolution of modeling tools. Most subdivi- Settling for simply hiding the glitches instead of eliminating sion modelers are really just glorified polygon tools—they’re them turns the frustrating task of chasing an error into a use- great for quickly hacking around, but they don’t give the ful tactic. For this reason, keep an eye out for transitional artist a whole lot of leverage. Recently a lot of development areas that are obscure or don’t have strong forms where you energy has gone into useful but basically cosmetic improve- can offload tricky connectivity problems. ments, like isoline displays or edge-loop selection tools. In other cases, the tradeoff is topological rather than spa- What’s really needed, though, is better integration of more tial. Not all flaws are equally serious, so choose the lesser sophisticated functions. Tangency projection, freeform fillets, ones. For example, eliminating a pole point frequently means radius fillets, and—most importantly—trims would all creating an n-gon, or vice versa. In general, if you are forced tremendously upgrade subdivision modeling. So would native to choose between an n-gon and a pole, accept the n-gon, subdivision-support for tools like bi-rail lofts. Even mathe- since a pole has two bad side effects (a shading glitch at the matically correct NURBS-to-subdivision conversion would be extraordinary point and a break in the flow of the surface a big step forward. If your software rep comes around the spline) whereas the n-gon has only one. office asking what you want to see in the next version of your It's also worth remembering that pole points with an even package, don’t be shy—speak up! q

26 mar ch 2004 | game developer SOUND PRINCIPLES tim roche Laying the Smackdown on Voice Recording

s an audio engineer at rately, so they can be used in varying World Wrestling Enter- combinations in real time during game tainment, I record the voic- play with perfect clarity. es of our on-air talent and No conversions below the belt. Other A wrestlers. There is an art elements to consider are sample rate and to recording the human voice, capturing bit rate. Our audio post rooms are out- all its nuances and timbre, which requires fitted with Fairlight MFX 48 digital the right mics, gear, and professional workstations. We are running these sys- experience. This is especially true for tems at 48KHz/24-bit. The Fairlights videogames because others will rely on the work in tandem with the Euphonix quality of your recordings at a later stage System 5 console seamlessly. The of game development, and you must be Euphonix utilizes MADI technology so right on the money. Balancing gain and personality: recording once the audio stream is converted to No gain, no game. I record sessions flat; WWE wrestler Mick Foley and on-air digital (AES to MADI), we can output no EQ, no compression, and no DSP (dig- announcer Jonathan “The Coach” Coachman to many different (AES) sources. For ital signal processing). Our audio chain is gaming sessions the result is a 44.1KHz quite pure: from the mic (Neumann M of the mic capsule. People by instinct, 16-bit R-DAT. I output AES to a Sony 149 Tube, Sennheisser HMD 25-1 headset tend to get real close to a windscreen, so PCM 7040 so there’s no sample rate mic) to the mic pre (Summit Audio MPE- by creating space (from the capsule to conversions to deal with. 200) to the console (Euphonix System 5 the windscreen) you effectively create a Sample rate conversions can get a bit digital broadcast console), out of the con- more favorable gain structure. Imagine if dicey. Remember digital audio is a binary sole digital (AES) to a Sony PCM 7040 Stone Cold Steve Austin were asked to representation of an analog sound. The DAT. To have something to work with, it’s record some voice elements. He would more conversions you introduce into your critical to have a good gain structure, and probably be intense, just like he is in the bit stream, the further away you are from a solid, strong signal. ring. But, by having that space, I can the original analog sound. Consider the For our latest game, WWE Smack- control and adjust my mic gain (on the audible difference between a WAV file down! Here Comes the Pain, I decided preamp) seamlessly, without wasting and a compressed MP3 of the same to go with the Sennheiser HMD 25-1 precious time, which is paramount. source. The same holds true for sample headset mics because these are the mics Keep it clean. Preparing your talent is rate conversions. The more pristine the that are used for the broadcast of important because they need to know signal, the better it will sound at game Smackdown and I wanted the commen- what is expected of them. For instance, I time. The ideal is for a developer to be tary to sound authentic, not done after the explain to the wrestlers how this is going able to plug this audio directly into the fact in audio post. This goes along with to be used in a game, and that their game without conversions. my theory of recording in general: words should be clear and deliberate. Before you step out of the ring. To elimi- Capture good sound from the original Usually, there are hundreds of phrases, nate “fix it in the mix” scenarios, I apply source and you won’t need to do much to exclamations that need to be “clean.” some knowledge learned from analog it to make it sound great. This way, when Every wrestling move sound, grunt, and audio engineering. One trick is to pot up it’s time to mix, half the battle of getting spoken name needs to be isolated. For all your faders to zero, then use the mic accurate sound is already taken care of. example, if The Rock pounds Stone Cold trims to get a good strong level. The key In your face. Recording WWE Steve Austin with the “People’s Elbow,” is to actually listen to the sound you’re wrestlers poses some unique challenges. then the sound of the interaction, Stone getting. This may sound simple, but it’s Given the physicial and psychological Cold’s reaction, and the announcer’s easy to overlook, and can make or break demands on these athletes, they are gen- commentary need to be recorded sepa- your in-game audio. q erally very intense people who have no time to waste. I have to be conscious of TIM ROCHE | Tim is the audio post engineer for World Wresling my gain structure. Too hot a signal will Entertainment, working on WWE’s TV programming and games such cause over modulation, which in the dig- as WWE SMACKDOWN! HERE COMES THE PAIN, WWE SMACK- ital world is unforgiving and sounds DOWN!SHUT YOUR MOUTH, and WWF SMACKDOWN! JUST BRING awful. What I like to do is place a wind- IT. He also worked on a wide range of TV shows and videos. screen approximately 10 inches in front

24 mar ch 2004 | game developer BETTER BY DESIGN noah falstein Beyond Entertainment?

he late media analyst Mar- time, game developers are experts in the shall McLuhan once said, practical application of AI, 3D graphics, “Those who make a distinc- and simulation. Ben believes we need to tion between education and demonstrate these comparative advan- T entertainment don’t know tages to potential serious game sponsors the first thing about either.” to promote the use of game industry When I first heard the quote many techniques in training. years ago, I thought he was overstating Marc Prensky shares my uneasiness the case: there is a lot of entertainment about the term “Serious Games,” since that has nothing to do with education, this can erroneously imply that educa- and much of education is far from enter- tional games are not fun or that tradi- taining. But the more I think about it, tional games with no purpose other than particularly about the game design work entertainment are somehow not serious I’ve done that’s intended for teaching or business. Making a game fun is a great If ROGUE SQUADRON can teach you to fly an X- training, the more truth I see in his state- challenge in itself; providing game con- Wing, can games teach you to eat right? ment and its pertinence to games. Games tent that teaches a player something real are teaching exercises: you play them as is even harder. His first rule: “Content is long as there is something new to learn, Digital Game-Based Learning (McGraw- important, but fun has to trump con- whether it’s the controls of an X-Wing Hill, 2000)—to suggest some relevant tent—don’t suck the fun out!” He sug- fighter, the right kung-fu sequence to dis- game design rules. They provided enough gests posing a few questions to validate able an AI opponent, or the crystal rota- material for several articles. Here’s a the effectiveness of these learning games: tion method required to finish a level. summary of some of their key points. “Is this game fun enough that someone On the academic side, the best teachers Ben Sawyer counsels developers to who is not in its target audience would I’ve had are those who made learning fun focus on a mission, a desired outcome want to play it (and would learn from and turned the process into a game, a that transcends the usual industry goal it)? Do people using it think of them- competition, or a journey of discovery. of selling lots of copies. This focus selves as players rather than students or The 2004 Game Developers Confer- reminds us the game “is usually a subset trainees? Is the experience addictive? ence includes for the first time a Serious of a larger project with greater goals for Does it encourage reflection about what Games Summit focusing on games with the client.” He also points out that, it teaches?” training or educational goals. I’ve experi- with this sort of game, we are designing Both Sawyer and Prensky discuss at enced the growth and diversity of this for more than just the player and must length ways to convince potential clients field firsthand, designing games that address the needs of the instructors, that games and game industry tech- encourage good nutrition, help kids with teachers, or trainers who might want to niques have merits as educational and cancer cope with their treatment regi- customize it and monitor the partici- training tools. My experience suggests mens, or help Shell employees under- pants’ progress. that as people who grew up with com- stand what their colleagues in explor- Finally, he suggests we remember to puter games mature and move into ation and production go through to find apply the numerous strengths of our authoritative positions in traditional and collect oil and natural gas. The well- industry and not simply the most obvious industries, we’ll see a huge increase in publicized area of educational games selling point that “good games are fun.” the acceptance of games as a fun and based on academic subjects is just a sub- For example, games can be easily cus- effective way to train people. I’ll follow set of this branch of game development. tomized by teachers and trainers and can up in a future column with lessons The Serious Games Summit allows the adapt to the individual. At the same learned at the summit. q less-publicized and burgeoning areas that focus on adult learning and training to come to the forefront. NOAH FALSTEIN | Noah is a 24-year veteran of the game Inspired by the upcoming summit, I industry. His web site, www.theinspiracy.com, has a description of invited two experts in this field—Ben The 400 Project, the basis for these columns. Also at that site is a Sawyer, cofounder of Digital Mill and list of the game design rules collected so far, and tips on how to designer of Virtual U, and Marc Prensky, use them. You can e-mail Noah at [email protected]. founder of Games2Train and author of

30 mar ch 2004 | game developer SCHEDULING michael saladino

The Secret’s in the Schedule Bending The Mythical Man-Month

he Mythical Man-Month neering is radically different from all other is especially true as the project gets closer is a seminal work on not forms of engineering primarily because to the end and the volume of history just software engineering there is no physical representation for our knowledge reaches its peak. However, but the psychology of product. He argues that while studying while this general tenet is true, the rate human interaction inside the organization of other engineering of decline and the transition where the a team environment. fields can be useful, it cannot completely new person added causes a net loss in Nearly everyone in our industry is famil- govern our particular craft. I’ll extend this productivity is variable. The best way to iar with the name of the book and most idea even further with another not-so- control these variables is through knowl- have a cursory understanding of its cen- ground-breaking declaration: computer edge of your project’s scope and tral tenets. However, significantly fewer game engineering is by far the most eso- resources, especially the team’s manpow- people have ever actually read the book teric of all software engineering, because er. And this understanding must go or have a deep understanding of it at its essence is the difficulty of developing beyond simple head counts and reach a beyond some well-known quotes that the all-important fun-factor. true understanding that your team is have become platitudes. This lack of made up of very different people who deep understanding leads to two prob- About Schedules need to be managed in very different lems. First, people don’t prevent actions ways. An effective management strategy that go against the very pretense of the he two primary ways to control the including schedule and process can pull book, which means they make mistakes T inherent limitations imposed by The significantly more productivity out of a that were identified as mistakes nearly Mythical Man-Month are through sched- given team and thus stretch The 30 years ago. The second problem is ule and process. While the scope of this Mythical Man-Month to its limit. people rely on an overly simplified article is on scheduling, a complementary All successful projects must start with a understanding of the book and therefore feature covering the process side appears schedule to understand the scope of the are unable to conceive how its funda- on Gamasutra.com. The Mythical Man- undertaking, no matter their timeframe. If mental rules can be bent and twisted to Month states that adding people to a you believe you don’t have time to sched- allow that which seems impossible. project experiences a law of diminishing ule, then I counter you don’t have time not Obviously I recommend everyone put returns until a point where growing the to. A schedule is your first line of defense this book in his or her personal reading team actually creates a net loss in against the communication breakdowns queue and get to it soon. Rather than progress. The essence of this idea lies in that kill a project’s deadlines. rehashing the book’s contents, the focus the complexity of software engineering, Amazingly, I still encounter teams with of this article is on ways to bend and where each team member works on a extremely poor or even nonexistent stretch The Mythical Man-Month to its virtual object with a significant amount schedules. In my early years in the busi- extremes; to help reduce restrictions of of attachment to other pieces. All of ness, I worked on three games called progress due to communication break- these separate pieces must line up cor- Esoteria, Tube Racer, and Beneath. downs and interdependencies. rectly for the final product to succeed, so Never heard of them? Exactly. The first The author of The Mythical Man- communication among people becomes was barely released and probably only Month, Frederick P. Brooks, Jr., puts forth an exponentially tightening bottleneck as sold a couple hundred units and the next an idea that probably isn’t too shocking the team expands. Translation: more of two were both canceled after numerous to most of us. He believes software engi- your day is being spent in meetings. This schedule overruns. All suffered endlessly

Michael Saladino | Michael just finished a year-long tour of duty at Microsoft Game Studios Publishing where he helped ship COUNTER- STRIKE for Xbox, 3, and TETRIS WORLDS LIVE. He’s now at EA in Los Angeles where he’s a development director, put- ting his money where his mouth is. Contact him at [email protected].

32 mar ch 2004 | game developer Illustration by Audrey Welch by Audrey Illustration

w w w.gdmag.com 33 SCHEDULING

Maximum Maximum Value Value Progress Progress

Manpower Manpower

The figure on the left shows how just adding people to the project does not add value and can actually diminish progress due to overloaded commu- nications. The figure on the right shows how improved scheduling can pull the maximum value line out and increase progress. from a lack of proper scheduling. Since viated timeframe, normally around 1/8 always takes the longest and usually ends then, I have shipped every game I have of the total project but sometimes grow- up being the worst because your team is led on time, mainly due to great schedules ing depending on initial technology. getting used to the process and the new which gave me the information I needed Obviously, the more stable the tool set game you’re making. So you must com- to mutate my team when new problems and engine you start with, the more like- plete two or three levels so the team arose. In my last year at Microsoft pub- ly the prototype would fall within the begins approaching what the real world lishing, I’ve seen many games ship and three month estimate. If the prototype is manpower per level will be. Once you’ve many games killed: a constant theme run- successful, you should leave this phase done this, you’ll be able to map out the ning through them all is poor scheduling with a strong understanding of what will rest of the time frame and know if you leads to canceled projects. make the game fun and an example pro- need to reduce the level count immediate- gram that conveys this idea. Along with ly. This stage should take about six Project Life Stages this will also be a system-level task list months from a 24-month project or 1/4 with estimated time allocations for of the total project. o understand scheduling a game you designing these new systems. In other Now you enter full production, which T must first understand the phases of words, all the major systems might not is normally when your team hits its max- existence that all projects go through. be done but you should know what they imum size (without the extras needed for While the absolute time of each phase are and have a rough guess as to the test, which normally comes on later). At fluctuates based on the overall project manpower needed to complete their first this stage, the game should be fun and its length, there are common ratios of time pass. This is the phase when independent entirety should be known. This is where between them. The first stage is concept developers should begin shopping your system level task list is constantly development. You are in a creative peri- around to publishers. While some devel- being refined into smaller and smaller od when blue sky brainstorming is the opment houses are lucky enough to get resolutions. The process is becoming goal. At this point, you have no need signed with only paper presentations, mechanical now as opposed to the for real schedules beyond simply setting showing up with a working prototype freeform conceptual stages in the begin- a deadline for finishing these initial goes significantly further when trying to ning. Your schedule is now the end-all meetings. Upon completion of this secure a deal. be-all of the project’s existence. You phase, you should have a well-defined Your next stage is preproduction, should expect this time to last about nine design document with discussion of not which is when the team tackles the months or a full 3/8 of the project mak- just the gameplay but also art and engi- remaining uncompleted systems through ing it the longest stage. This section of neering-centric sections as well. This at least the first implementation. For development ends with code and content should take approximately 1/8 of the example, your new experimental lighting complete meaning everything is in the total timeline or about three months system with dynamic shadows should be game the way it was originally planned. from a 24-month project. up and running along with the decision to It doesn’t mean the game has to be com- The next stage is your prototype continue work on it or cut it due to prob- pletely locked down as final changes can where you prove out the major lems. You should also have your first cou- still be made well into alpha as long as unknowns, the foremost being the fun ple of levels completed to alpha quality to proposed changes significantly improve factor. This section is scheduled much extrapolate the effort needed to complete the overall quality of the game with lim- like the whole game, only with an abbre- the remaining levels. The first level ited risk.

34 mar ch 2004 | game developer And now we’re brought to the end, team from finishing in the final stage. It’s here that you’ve the coming year. reached alpha and beta, also known Working at Microsoft respectively at Microsoft as code/content publishing has shown complete and zero-bug release (ZBR). these time ratios to These stages are mostly defined by long work successfully for crunch times. Programming is focused on many projects includ- bug fixing, the art department on final ing Counter-Strike polish, and the test team ramps up to full for Xbox, which was capacity. The schedule is becoming less essentially a five- structured and instead the team is being month project, and driven by daily and hourly updates Whacked, which was a derived from the test team along with two-year one. These two oversight from the departmental leads projects had completely dif- and producer. Your bug-tracking soft- ferent absolute times but simi- ware essentially becomes your schedule lar ratios between segments. as you make your final sprint, which normally lasts about three months out of Building a Schedule 24 or 1/8 the total. Once you understand these stages of raditional scheduling in the form of Do you need a custom lightmapper? development, you’ll be better able to T a Microsoft Project document or a These game features need to be filtered schedule them. One important point is simpler Excel spreadsheet is most criti- into independent engineering, art, and that these fractions are meant to be guide- cal during the prototype, pre-produc- level-construction tasks. The resolution of lines, not strict rules. All projects expand tion, and production phases of develop- these tasks is dependent on where you are and shrink these stages as they need them. ment. Concept development is too in the timeline of your project. We begin While one project needs more time for freeform and the final bug push is too with system-level tasks during pre-pro- prototyping, another needs less for pro- reactionary; neither will benefit much duction and constantly refine these as duction. Or perhaps your project is a from a schedule. The prototype phase is milestones are started, progressed, and simultaneous three-console release that really just an abbreviated form of pre- completed. By the time you reach produc- will probably increase your absolute time production and production, so to tion with the major unknowns resolved, spent in the final bug push. However, understand those is to understand pro- you should be able to make a valiant these guidelines should help you identify totyping. Therefore, let’s focus on pre- effort to refine the entire schedule down earlier when a particular stage is grossly production, production, and the differ- to days, but don’t. Tasks should initially beyond expectations. For instance, if you ences between them. be timed at a resolution of about a week. worked on a prototype for nine months, Creating a schedule first requires build- Anything that needs to be completed in you shouldn’t expect to complete the ing a task list, which is in fact an expres- the next two months should be resolved game in the next year. Your team obvious- sion of your design document. Are you down to days. Refining the resolution too ly created lots of new technology and building a ? Do you need a much, too soon will be work wasted gameplay if it took nine months for a pro- four-point suspension system? Do you since the dynamic nature of a schedule totype, so ramp-up time alone when need a flight control model? Is water sur- will lead you to redo it anyway. building the full game will prevent your face dynamics critical to the boat level? Understand the Team 24-Month Project Timeline he next stage is understanding your T team’s manpower. You should begin Conceptional Protoype Preproduction Full Production Alpha/Beta by identifying the type of developer (any 3 months 3 months 6 months 9 months 3 months team member including programmers, artists, level designers, and so forth) each person on your team is. One simple way 0 3 6 9 1215182124to do this is to analyze how they fall into Months four basic types, based on combinations of skill and dedication. These types can be A sample timeline describing the phases of development. As actual project lengths and subjects represented on a simple 22 matrix with vary, you can scale the proportions to fit your game. their skill level on one axis and their dedi- w w w.gdmag.com 35 SCHEDULING

cation on the other. Developers near the the system, try to exchange these low end of both axes, those with little resources with other teams. You do not skill and poor morale, should be removed want highly-skilled, poorly-motivated from the project after attempts are made Driven Rookies. Superstars. Will people working on systems they don’t to improve their dedication. Skill takes Expect long hours drive the project’s want to. If you do this they will most milestones. significant time to improve so don’t expect but slow progress. likely start dragging their feet or sending that to rise over the course of one project, out resumes. Next, layer in the superstars but a person’s morale certainly can. who most likely can do almost any sys- Failing on both Experienced, but Dedication However, if you can’t promote improve- fronts. Get them working 40 hours/ tem you assign to them. These people ment in a reasonable time, say 1/4 of the off your project. week. Schedule to have written graphics, physics, sound, total project length, remove them from their skills. AI, and most everything else so skill either the project or the company. Too matching should be less important. After Skills many leads allow poor performers to stay they have been placed, the first two in positions where they drop the ball and groups of developers should cover every bring down the morale of those around A developer productivity matrix. major system, leaving the eager rookies to them. Removing a poor performer can round out the corners and fill in the gaps. quite often create a net gain for the entire ance–critical code such as UI. They should With people assigned to the task list, team even with the loss of the head. My be watched over by more experienced the lead should take the first pass at previous work at Presto Studios showed mentors and be expected to make up for assigning time to each job. Be liberal me first-hand the damage one or two low- their inevitable schedule overruns with with your estimates; optimism is a swift end members can do to the overall work- long hours. At this point in their career, killer of any schedule, so assume mis- load and morale of a team. they are paying their dues. And if their takes will be made. Go ahead and The next type of developers are the rookie mistakes are kept to a minimum by assume your difficult, product-defining highly skilled persons who are poorly monitoring them closely, their ambitious systems will need to be rewritten two or motivated. Maybe they don’t like the attitude can help light a fire underneath three times. Once completed, bring your game. Maybe they’re angry because they everyone in the group. team together and as a group discuss didn’t get the lead positions. Maybe they And finally, we are brought to the most your estimates, gather contrary opinions, just came off a horrible crunch and just important people on the team: the super- and negotiate final estimates for the aren’t ready to dedicate long hours again. stars. They are the highly skilled, highly schedule. Remember, even though you’re Whatever the reason, they simply want to motivated crew that makes the impossible the lead, it’s the persons you’ve assigned work their 40 hours, do their job effec- possible. This is the white-hot fiery core of to the task who have to complete it in tively, and then go home. But since they the sun that will drive your project when the scheduled time. Give them the final are still highly skilled they are valuable in things get tough. They will work week- word if you can’t come to a consensus. their own way. They will be most useful ends without even being asked. They will You now have a full task list complete when working on exactly what they want bring in sleeping bags when necessary and with people and time, however it’s still to work on. If they’re masters of net- work all night if needed to get back on not a schedule. I’ve seen many projects working, then that’s where they go. They schedule. Work for a 1:3 ratio between over the years stop at this point without will put up with the least amount of superstars and the other two types of truly turning the task list into a schedule unpleasant work when compared to the developers. (Remember, you should have by serializing the pieces. This process other developer types. Due to their skill already fired the first group so we’re only begins by determining dependencies level, they will require less hand holding left with three total groups.) Your super- among the tasks. You can’t texture a but their strict hours mean keeping them stars are your first and last line of defense level until it’s been modeled. You can’t on their schedule will be most critical. against missing your milestones. animate a character until it’s been Luckily, their own sense of pride will skinned. You can’t program the front-end often be their strongest motivation for Assign the Team UI screens until a base GUI system is fin- getting the job done right and on time. ished. This is what creates a timeline that Then we have the young kids straight nce you understand your team, you shows people what they should work on out of college with little skill but miles of Ocan successfully begin to assign peo- on any given day. This is also how you desire. These developers want to prove ple from your pool of talent to the task can identify the communication depend- themselves but they can get over their list you have built. Assign the highly encies that lead to one of the central heads very quickly. Give them the systems skilled but poorly motivated people first. tenets of The Mythical Man-Month. It’s with the most design in place. Put them in Give them the systems their skills match at this point that you can see just how positions where they have the most num- and they are interested in building. If you interconnected your different systems and ber of seasoned developers working with run into conflicts such as too many the programmers building them will have them. They should be given non-perform- physics programmers all wanting to own to be to complete the project.

36 mar ch 2004 | game developer SCHEDULING

We now must lay this data into our for delivery and the tasks just don’t add just needs to talk the problem out with a schedule software. Put each person down up, start padding your team with TBD mentor. Maybe he or she needs assistance for six hours a day for five days a week. (to be decided) members. This true and with the volume of work. Maybe some- Even if you expect a death march, don’t honest schedule will be your ammunition one else can take one item off the plate start by scheduling for it. That’s a sure bet to request more support from your boss. to give the person a couple of extra days. at blowing your deadlines down the road. Fight the urge to simply schedule for a Be honest with the schedule. The more The six-hour day covers the time during crunch this early in the process. If you truthful the schedule is, the more flexible an eight-hour day the person will be in can’t get the people you need on this your team will be. meetings, taking lunch, or hanging out in schedule, then make it clear cuts must A schedule is knowledge. Yes, it’s a the kitchen eating a muffin with the team. begin now. By following these steps, you human construct and therefore ultimately Remember to put in holidays. (I laugh can start making these hard decisions flawed, but it’s still the best way project every time I see a schedule with someone early instead of in the final months. managers have to understand what lies completing a task on Christmas Day.) And After days or weeks of working out before them. It’s your map through the as a general rule of thumb, assume each the tasks and timeframes, you now have jungle and you’ll be glad you have it even developer will take one personal week of a schedule. You should know the size of if a couple of the trails are mislabeled. time every four months. your team, the tasks they perform, the With this information you’ll be able to Now you might look down at your order in which they will perform them, stretch your team into shapes and forms schedule and think something has gone and how long the total project should everyone around you will claim are horribly wrong. One or two people in take. Of course, it’s all a big educated impossible. And even if you do miss a the schedule will have way too much guess at this point but it’s infinitely better milestone, a well-built schedule will help work that puts them months or even than nothing. And remember that the everyone believe you’re only missing one years beyond the rest of the team. schedule is a living document that should instead of the constant slide most doomed Workload balancing is required to fix be updated daily by the owner. Don’t be projects face. this problem. Move tasks to other devel- afraid to change it and make sure people My next article (available at opers, starting with the easiest, but know when their sections do change or www.gamasutra.com) discusses process remember as tasks move away from their when a major overhaul is needed to and useful ways to implement your new ideal owners they may need additional bring the schedule back into reality. If schedule, so your team can continue time padding for someone not as familiar any one person falls behind his or her breaking new ground in game develop- with the system. This is also when the milestone deliverable time by more than ment while you keep the communication idea of additional developers should be 10 percent, the problem should be nightmare off their backs. Now get back first introduced. If you have a hard date addressed that day. Maybe the person to work, you have a schedule to write! q

A segment of the Microsoft Project schedule used for developing COUNTER-STRIKE for Xbox.

38 mar ch 2004 | game developer GDC PREVIEW jennifer olsen

The Set-Up

hrow together more than 10,000 attendees, 400 speakers, 200 exhibitors, hundreds of journalists, and a doomed T San Jose downtown resigned to being overrun for a week, Game Developers and a Game Developers Conference is born. The GDC (which is produced by the CMP Media Game Group, which also publish- Conference es Game Developer) is now in its 18th incarnation, facing the continuing challenge of offering up structure to the uninitiated along with fresh, unexpected experiences for the wizened indus- try veteran. Recent forays into specialized mini-conferences, such as GDC Mobile (returning this year March 25 and 26) and the IGDA Academic Summit, have attracted new faces to the event, but not to be lost in the whirlwind of activity is people’s fundamen- tal desire to connect meaningfully with like-minded colleagues. Bonds forged in months and often years of newsgroup and e- mail correspondence might culminate in face time meticulously planned or happily spontaneous, while new connections help attendees move forward. Whether you’re one of the old-school GDC alumni or an incoming freshman, let our guide point the way to some of the interesting people and events at the 2004 Game Developers Conference.

40 mar ch 2004 | game developer GDC TOP FIVE Who’s New

any interesting speakers are mak- The 4th Annual Game Developers Choice Awards Ming their first GDC presentations Every year sees more game awards doled out, from a wider variety of this year, including: sources. Still, the GDC Awards, presented by the IGDA, remain the only major venue where developers are honored by their peers and get to address . Though his pro- them as such. The posthumous presentation of last year’s Lifetime gramming-track keynote topic remained Achievement Award to the family of Nintendo’s Gunpei Yokoi left nary a at press time as elusive as id’s next dry eye in the house. Don’t miss the presentation of the 6th Annual installment, thousands will no doubt turn Independent Games Festival as well. March 24, 6:30–9:30 p.m. out to see what this game development icon has to say. As befits this coding wiz- ard–cum–aerospace dabbler, prepare for Experimental Gameplay Workshop some actual rocket science. The EGW started out two years ago as an unknown side session, but the room quickly overflowed, proving that despite rampant sequelitis there are Eiji Aonuma. The designer/director plenty of people in the industry who care about innovating within the inter- of numerous Legend of Zelda titles, active medium. Organized by Game Developer’s own “Inner Product” including the most recent Wind Waker, columnist, Jonathan Blow, the EGW has quickly become a must-see for wet- arrives on GDC’s shores to discuss “The eared newbies and hoary veterans alike. March 25, 3–6 p.m. Evolution of a Franchise: The Legend of Zelda.” Anyone trying to move a mature franchise forward in today’s Gamehotel: Games and Digital Pop Culture competitive marketplace can learn some- Gamehotel is a brand-new event to GDC, as its organizers, Paris-based TNC thing from the venerable Zelda series. Network, further their self-stated goal of “pointing the direction to the future of innovative and diverse interactive entertainment” by going straight Masahiro Sakurai. Late of HAL to the creatives at GDC. Combining presentations and demos from such Laboratories, Sakurai (Kirby’s industry darlings as Tetsuya Mizuguchi (Rez) and Masaya Matsuura Dreamland, Super Smash Bros.) is (Mojibribon), emerg- now taking his show on the road, by ing-platform game developing for multiple platforms and designers, and a talking openly about his design work in menagerie of wacky “Game Design: Risk and Reward.” Risk: Asian action-figure Do players really want to beat the snot makers, the event out of cute little Pikachu? Reward: Yes, promises an eye-open- they most certainly do. ing experience. March 25, 6–8 p.m. Yannis Mallat. Can scrappy young teams of can-doers really still give their all and turn out amazing games? Ubi John Gaeta Visual Arts Keynote Soft’s Montreal-based Prince of Persia: Anytime a visionary, artistic speaker promises a “stream of consciousness– The Sands of Time team says oui. style discussion” on any number of multiple topics, you know you’re in for Executive producer Mallat reveals how either one of the best or worst talks of your life. Let’s hope the plot of his the magic came together in his lecture, presentation, which may or may not include “creative empowerment for the “Reawakening a Classic: Prince of average Joe,” “schooling your grandparents on a Playstation 3,” “how to Persia Case Study.” properly set fire to hard drives,” “the death of The Matrix,” and “some other visual effects stuff” holds together better than the trilogy’s. March 26, 12–1 p.m. Kenji Kaido and Fumito Ueda. ICO’s producer (Kaido) and director/ designer (Ueda) reveal how they set out Developer Business Summit: An IGDA Think-Tank to make a very different game and bring The days of ham-handed business management are numbered in today’s never-before-seen attention to detail to high-stakes game development industry, yet proven, replicable strategies the medium. With their backgrounds in remain elusive. This in-depth two-day summit brings business leaders from game production and fine arts, they show, development studios big and small together with publishing insiders to help in “Game Design Method of ICO,” how plot a course for business success in game development. methodology and artistry can work March 22 and 23, 10 a.m.–6 p.m. together to create unforgettable games.

w w w.gdmag.com 41 GDC PREVIEW

Our GDC Picks KENNETH’S GDC PICKS What to Do When All Goes to Hell he entire Game Developer edi- James Gwentzman T torial staff will be at the show, Considering the erratic nature of and we’re all putting together our game development, it’s never too own agendas. Although session cautious to be prepared for the times and dates were not final at worst-case scenario. press time, here are some of the IGDA Women’s Group Gathering goings on that Managing Editor Jessica Lewis Jamil Moledina, Departments This is a great opportunity for me to Editor Kenneth Wong, and Product learn more about the gripes and con- Review Editor Peter Sheerin are cerns of an underserved sector of planning for. developers. Plus, I’m single. PETER’S GDC PICKS Developing a Massively Multiplayer Game Real World Multi-Threading in PC Games JAMIL’S GDC PICKS , Rich Vogel, Aaron Coday, William Damon, Gordon Walton How to Write an Unforgettable Story Maxim Perminov It’ll help me understand what it John McLean-Foreman While the potential for enhanced per- takes to efficiently manage the mas- Evocative storytelling is essential to formance is quite real, so is the poten- sively multi-developer team (100+) memorable entertainment. As a tial for diminished performance if required to create such a game. moonlighting novel writer and film done poorly or mismatched with all Immigration for Foreign Games critic myself, both professional and the CPU features. Professionals in the Age of Homeland personal interests compel me to Developing Wireless Location-Based Security attend this one-day tutorial. Games Ron Rose A Peek Behind the Shoji: The Jay Aguilar Rose’s tips on compliance issues Japanese Videogame Market Today This could create a new genre of concerning hiring and contracting Ryochi Hasegawa videogames, and I’m curious to see if foreign talent should give me a better For years, Japan was the Mecca of its use here is better than the horrid picture of what international game game innovation. While rumors of experience I’ve had with location- development teams face today. its game market’s demise may be based WAP content. Acting for Animators premature, I wonder what it takes Advanced OpenGL Tutorial Ed Hooks to chart a game through the shift- Cass Everitt, Simon Green, Evan Hart, I’m interested to see how Hooks ing generalizations. Bill Licea-Kane, Rob Mace, John Spitzer distinguishes animation invested Interfacing with Hollywood: Not all games revolve around Direct3D, with emotion from animation Challenges and Opportunities and the coming of the OpenGL shading devoid of motive. Keith Boesky, Leonard Grossi, language is definitely something to keep Jason Rubin, Larry Shapiro an eye on. Unfortunately, the movie industry Advanced Visual Effects with Direct3D has no USB port. But they do have David Gosselin, Jeff Grills, Shawn representatives on this panel. I’m Hargreaves, Richard Huddy, Gary hoping they’ll offer some insight McTaggart, Jason Mitchell into creating mutually beneficial This all-day tutorial from the leading licenses. experts on the Direct3D technologies The Secret of PAC-MAN’s Success: in DX9 should teach you about the Making Fun First latest techniques for eye-popping Toru Iwatani imagery. Why couldn’t millions around the Government Simulation in 3DS Max world, including myself, stop play- Brian Blau, Stephen Langmead, Mike ing this game? This session doubles Rasmussen, Douglas Whatley as therapy. The use of videogame technology in The History of Animation government applications is an oppor- Phil Tippett tunity for growth, and seeing how the Salvador Dali traveling through rapid rate of technological change in time to talk about surreal game art games mixes with the government’s would be slightly less interesting. pace may be illuminating.

42 mar ch 2004 | game developer GDC PREVIEW

ROUNDTABLE ROUNDUP Players want to get more, developers have less to give. But is putting tools Roundtable sessions are where the and creative power in your customers’ massive scale of GDC gets back to hands good for developers and their more intimate, grassroots discussions. prized brands? Many attendees carry away their best By the Books: Solid Software GDC memories from the spontaneous Engineering for Games. Now in their but profound conversations around third year, these popular sessions (one roundtables. The outcome depends on on each conference day) attempt to who shows up, making some sessions tackle game programming’s $64,000 inimitable sources of inspiration, and questions. Moderator Noel Llopis some of them poorly attended duds. enables participants to compare strate- Here are a few sessions that ought to gies for language use, documentation, provoke lively debate. testing, tools, and more. Newer Quality of Life: The Next Step. methodologies such as extreme pro- If moderator François Dominic gramming are also discussed in a Laramée successfully moves the discus- game development-specific context. sion beyond cathartic renditions of The Publisher’s “Rules of Acquisition.” crunch-mode horror stories, developers Tantalized by the idea of a juicy sellout? can share ideas on how the IGDA Just want to be prepared on the off should steer its efforts to promote bet- chance that a publisher shows up at ter balance between a game develop- your doorstep with sacks of gold-pressed ment career and life outside the office. latinum for you and your hardworking User Created Content: Is It Worth It? partners? Attorney Tom Buscaglia hosts As project director of BioWare’s a free-for-all where non-Ferengi types Neverwinter Nights, moderator can discuss how to successfully jump Trent Oster should have a good per- through the business hoops of acquisi- spective on this contentious issue. tion without tripping up.

GDC at Work: Deploying an Open ment can benefit many developers, from the creative visionaries Interactive Audio File Format to the bean-counters. For more information, see Linda Law’s Gamasutra article on the subject, at magine where 3D graphics development would be without www.gamasutra.com/resource_guide/20030528/law_01.shtml. Ithe advent of OpenGL and you can understand the impetus to create a nonproprietary, royalty-free interactive audio stan- dard. Members of the Interactive Audio Special Interest Group PSP Peek (IA-SIG), in tandem with the MIDI Manufacturers Association, are pursuing just such a goal in the ongoing development of ell before Sony is expected to unveil PSP plans at E3 Interactive XMF, the eXtensible Music Format for interactive W formally in May, SCEA’s David Coombes and Peter audio, which they presented at last Young will attempt to demystify Sony’s fall’s Audio Engineering Society (AES) new machine for its new and hopeful Convention. developers in their presentation, Chris Grigg, George Sanger, and “Programming for PSP.” No doubt Martin Wilde will host an hour-long they’ll go over high (and perhaps some session, “Cross Platform Audio Using low) points of the specs in detail, offer Interactive XMF,” to present the cur- development resource scenarios, and rent status and goals of the effort, outline Sony’s developer support plans offer opportunity for community for the device. They’re also planning to input, and drum up support from address how the machine’s graphical developers who they hope are as tired capabilities might affect handheld of reinventing the wheel as they are. game design, making this session a Now that audio is becoming more of a prime stopping point for game design- selling point for games, reducing ineffi- ers and producers as well. Won’t you ciencies and rework in audio develop- throw in some free samples, guys? q

44 mar ch 2004 | game developer POSTMORTEM garrett young, mario rodriguez, and chris pickford

GARRETT YOUNG, MARIO RODRIGUEZ, AND CHRIS PICKFORD | Garrett’s eight-plus Microsoft years span from testing NBA FULL COURT PRESS to exec. producing the PGR series with Bizarre. Mario began testing games at Microsoft as a 2002 University of Miami grad, recently working on PGR2 and . Chris has been designing and testing at Bizarre for four years, shipping the PGR series and . 46 mar ch 2004 | game developer GAME DATA

PUBLISHER: Microsoft Game Studios FULL-TIME CORE TEAM: 40 MAX TEAM SIZE (including test, licensing, localization, and other support resources): 102 LENGTH OF DEVELOPMENT: 2 years RELEASE DATE: Nov 18, 2003 PLATFORM: Xbox DEVELOPMENT HARDWARE: Pentium 600MHz–2.4GHz machines with 256–1024MB RAM, GeForce 2–4 series and ATI Radeon 9700 Pro video boards. DEVELOPMENT SOFTWARE: Microsoft Visual Studio .NET, Microsoft SourceSafe, Alienbrain, built-in 3D Editor, Softimage XSI, Araxis Merge 2001, SoundForge PROJECT SIZE: 37,174 files, 219,538 lines of code, 41GB of data

roject Gotham Racing 2 achieved our goals. is the sequel to the best- We owe that success to the strength of selling Xbox racing game, our people and the clarity of our chal- developed by Bizarre lenge. Smart, effective, hard-working peo- P Creations (Liverpool, ple are critical to achieving any worth- England) with production and publishing while goal, and our two teams had that in support from Microsoft Game Studios. spades. Though there were some disagree- Our two teams rolled directly into produc- ments and late changes in tactical direc- tion after finishing international versions tion, everyone on the team was always of PGR in February 2002. We significantly working toward a clear overall strategic expanded the scope and quality of the vision for the project. A key ingredient to combined team, bringing on new artists, our ultimate success was the strong rela- programmers, and testers. Our ultimate tionship between developer and publisher: goal for this project was to create a AAA matching Bizarre’s design, technical, and PGR title for the 2003 holiday season artistic strengths with Microsoft’s built upon the fundamental strengths of strengths in testing, licensing, usability, the PGR franchise and innovate in our creative writing, and production manage- use of the Xbox’s online system, Xbox ment. Without an extremely high level of Live. Given our on-time delivery and the trust, we would not have been able to game’s 92.4 percent average score from maximize the efforts of each team, and over 70 reviews (referenced from PGR 2 would not have been as strong. www..com), we feel that we Our hope is that this postmortem can w w w.gdmag.com 47 POSTMORTEM

provide some insight into how we of cars (from 25 to 100) and cities (from PGR 2. We bet gamers would love racing worked together to build Project four to 11). Our artists invested signifi- online against their friends, and we Gotham Racing 2—the things that cant time in researching routes through decided to incorporate Xbox Live worked well, and the things we would do cities we felt were interesting, recogniza- Scoreboards for each race in our game. differently if we had to do it all over ble, and fun to drive. As we broadened These interactive high-score rankings again. With luck, we hope other teams the scope of the car list, we added new car allow every gamer with an Xbox Live will be able to apply these lessons to categories like classics, muscle cars, super- account to post a race result, and allow improve their processes and avoid some cars, and even SUVs. The designers also the top 10 racers to post their actual race of our pitfalls. expanded the Kudos system to increase ghost replay for anyone to download and the reward for skillful driving, adding watch (or race against). rewards for taking a “good line” through There were major challenges inherent What Went Right a corner, drafting, and navigating track in each decision. To build all the new sections cleanly (without hitting walls). cars and cities, we virtually doubled the Strong early vision for innova- But as a new PGR game, we knew we size of the original art team, which also 1.tion. In our efforts to build on had to continue to push that spirit of increased the challenges in team manage- the market success of PGR, we knew it innovation. Though Xbox Live was an ment and communication. Relying on was critical to stay true to and build on a unproven and unknown technology dur- unfinished technology from external formula gamers loved. We decided to ing our initial design planning, we com- teams created a large bottleneck in our greatly expand the number and diversity mitted to pushing the online frontier in production schedule, as we awaited their

48 mar ch 2004 | game developer ABOVE. A Porsche Carrera GT edges out a Saleen S7 on the Sydney waterfront. LEFT. A classic Porsche Carrera purrs loudly on a bridge in Yokohama. PREVIOUS PAGES. A Ferrari Challenge Stradale scares off tourists at the Duomo in Florence.

vendors in France. database, e-mail, and phone calls. The During production, members of the Liverpool art team worked closely with team visited locations all around the the Redmond licensing managers on world to gather research, reference approvals and change requests from material, and recordings. We shot thou- vehicle manufacturers and other external sands of photos and hundreds of hours licensors. All members of our interna- of video in each city. We recorded real tional localization teams interacted DJs in Moscow and Tokyo. We even directly with our UI developer. made a special trip to the Promised As most teams do, we also planned Land, visiting the Ferrari plant in goals and deliverables for each milestone Maranello, Italy to photograph and over the life of the production schedule. record engine audio of the Ferrari Enzo However, it was the people we had in deliverables. We chose to accept these before it was released to the public. To place and our open communication challenges head-on, given our vision to borrow an old British saying, the sun channel team-wide that were the greatest expand the scope of the game beyond the never set on the PGR 2 team. contributors to our ability to resolve original title. Managing such a global team created issues quickly and hit our aggressive hol- many problems in communication and iday release schedule. Reducing worldwide manage- schedule management. Our approach to 2.ment. The solving these problems was to actually Proving stable online game- team included all of our core developers, reduce, rather than expand the amount 3.play early. Online multiplayer is artists, game and sound designers, and of management. We built up strong com- frequently the highest risk area for any production staff. The Microsoft team in munication channels between all mem- game, since multiplayer features can be Redmond, Washington included many bers of the team, removing the communi- the hardest to implement and require sig- production and design support staff, cation bottleneck that can occur at the nificant optimization and tuning. We licensing managers, a full test team, and producer level on game projects. All addressed this problem early by imple- the marketing team. Given the impor- members of the production support staff menting the bulk of our network code, tance of our international release, we at Microsoft were empowered to interact physics optimizations for interpolation of had localization staff working full-time directly with all of their peers and other car speed and trajectory across all boxes, in Japan, Korea, Taiwan, and Ireland. members of the Bizarre team. The and support for all Xbox Live features We also employed 3D art vendors in Redmond testers and Liverpool develop- by early April, 2003, five months before Australia and England, and translation ers interacted directly through the bug release. Our overall multiplayer execu- w w w.gdmag.com 49 POSTMORTEM

LEFT. A photograph of a bridge in Sydney. MIDDLE. A wireframe version of that bridge. RIGHT. An in-game screenshot of the bridge, tion was relatively smooth, with only the spectrum of all end users. The theory ers are required to get contractual performance and voice issues to resolve “a user is only a ‘new user’ once” pre- approval with the owners of each logo during our final code optimization phase. sumes everyone in your audience will be and likeness before releasing it in a game. We were able to achieve positive willing to struggle through a confusing With 11 cities (including a real-world results by hiring a strong network pro- interface and unbalanced difficulty levels race track), over 100 cars, unique DJs for grammer, working closely with the Xbox to experience and enjoy your game vision. each of our 33 radio stations, and over Live team to fully understand the new We had success in addressing these 300 songs, this was a monstrous task. technologies as they were being built, challenges on PGR 2, but not without We employed a team of five licensing and synchronizing our implementation serious investment of people and itera- managers over the course of the entire and test processes. Implementing a major tion time over the last few months before project to own and execute on this task, set of Xbox Live features to the require- release. We spent literally hundreds of establishing contacts and maintaining ments of the Xbox certification team hours hand-tuning each car, to balance relationships with all appropriate parties, required educating our team immediately. realistic handling with ease of use. We facilitating review of all in-game assets, This investment paid off later by allow- used the Microsoft usability and con- and working closely with legal counsel to ing us to quickly implement new APIs as sumer playtest labs extensively to seek close down each contract. Xbox Live 2.0 features such as stats with out feedback from racing gamers, and see The licensing team’s contributions attachments (to support upload of ghost first-hand their initial experience and dif- were vital. Not only did they enable our replays) were completed late in our proj- ficulty navigating our interface, under- artists to fully realize the authenticity of ect schedule. standing the Kudos system, and achiev- each city, they also secured the appropri- Testing’s early involvement quickly ing the micro-goals of each race mode. ate rights, without which we would not identified lag and interpolation problems, Aside from finding and fixing all func- have been able to include Ferraris, and allowed us to troubleshoot new tionality and content bugs, our greatest Porsches, BMWs, or any of the other real Xbox Live features such as friends, voice, efforts during the endgame were put cars in PGR 2. and Scoreboards during initial implemen- towards balancing our gameplay difficul- tation, which allowed the development ty. Almost everyone across the teams in team to stabilize new features earlier. both Liverpool and Redmond—and many What Went Wrong As a result of proving multiplayer sta- others not already on the PGR 2 team— bility early on, we were able to eliminate spent time providing play-balance feed- Synchronizing production a major risk to our production schedule back on specific challenges, each of the 1.deliverables worldwide. As and focus our efforts on other gameplay, five difficulty levels, and the overall rate mentioned previously, managing the con- tuning, and polishing issues during the for unlocking cars. Considering the scope tributions of our worldwide team was a endgame. of the game, the size of the audience, and great challenge, and we feel that process the concerns we had about exposing went well overall. However, as with any Driving user feedback into “golden paths” (shortcut cheats to high huge challenge, there were major prob- 4.product design. Designing a scores) in the scores and ghosts posted to lems that surfaced in some core areas of game under tremendous time pressure our Live Scoreboards, we were very happy production. can often create a myopic approach to with the results achieved during our Our original plan for addressing the interface design and play balance. The intense and collaborative tuning period. problem of recording, processing, and team is so close to the game during implementing source material from our development that objective evaluation of Effective licensing manage- worldwide car list was to distribute the the inherent challenge and usability 5.ment. Real-world authenticity is workload and take advantage of our becomes difficult if not impossible. a core characteristic of the PGR franchise: global resources. This ended up causing Schedule requirements limit valuable itera- real cars, real cities, real radio stations more problems than it solved. Crucial tion time, and members of the team can- with real DJs, and real music from real implementation and tuning time for each not represent the diversity of skill across bands. Unlike movie makers, game mak- car was sacrificed, as all cars were not

50 mar ch 2004 | game developer POSTMORTEM

A Porsche 911 GT1 burns rubber on the streets of . recorded to identical specifications and behind development. The 5,000-mile dis- pursued many different paths and game many cars were recorded very late. tance between teams greatly increased the modes before hitting on a concrete plan. Additionally, an essential member of the risk associated with any last-minute file Martyn Chudley, the creator of the PGR sound design team moved to California changes at the end of the project. franchise and head of Bizarre Creations, and attempted to continue to fill the role Though we made some great strides to played a critical part in stepping in to nar- part-time, adding friction to an already better synchronize implementation and row the focus of the overall game design weak process. A related problem also testing, our challenge moving forward in early 2003. occurred with the DJ scripts we recorded will be to hit our functionality and con- Iteration on the handling characteris- in each local city, as long contract and tent deadlines more effectively, increase tics of each vehicle proved incredibly recording schedules delayed implementa- the stability of the build process, and to challenging, and was completed very late tion beyond our desired dates. increase the scope of smoke tests in in the schedule. As with any simulation- This failure taught us two lessons. Liverpool before builds are sent over to quality racing game, each change in vehi- First, we needed to better synchronize the Redmond test team. cle handling has a significant knock-on content creation and implementation in effect on each car’s usability, the perform- the future. Second, we were reminded of Design took too long. ance of the AI, the class and competitive a challenge all Microsoft-published proj- 2.Incomplete design had the single categorization of each car, and the diffi- ects face: synchronization of the imple- largest impact on the slide of deliverables culty-level setting for each race. mentation and test teams. throughout our project schedule. Though Quadrupling the number of cars from Though all the developers, artists, and we all understood and agreed upon the PGR to PGR 2 more than quadrupled our designers at Bizarre were working in real fundamental vision for the franchise, we vehicle-tuning time, as the broader scope time within the same bug database as our started our PGR 2 design document very of vehicle content required far more dili- Redmond testers, licensing managers, and late, and we were still updating this docu- gence, testing, and tuning between indi- international localization teams, we did ment after feature freeze and E3 as new vidual vehicles and classes. We underesti- experience many setbacks. At 4GB, our ideas cemented. We ended up overhauling mated the initial scope of this effort. transfer time for builds was substantial, many elements of our design several times, To combat these problems we expanded and we were forced to change file transfer such as the user interface, Kudos reward the size of the test team, pulled in addition- tools three months before release. Some values, and overall game structure. al designers from other projects, and hired obvious bugs in Redmond were difficult There were many critical factors that a small team to execute specifically on the to reproduce in Liverpool, as the testers extended our design phase. Our designers play-balancing task. Moving forward onto verified builds that were at least a full day were spread too thin early on, and we future projects we will seek out additional

52 mar ch 2004 | game developer LEFT. The Bizarre Creations PGR 2 development team. RIGHT. The Microsoft Game Studios PGR 2 production and publishing team. solutions, such as fleshing out key sections of the design document upload a ghost replay, we needed to be able to guarantee each earlier, prototyping new gameplay elements in offline builds, and ghost would be a perfect replica of the actual race result. The proactively scheduling our extensive play-balance efforts. Iteration critical nature of this feature caused us to dedicate significant is a natural part of game development and we’re pleased with the attention from our test team. results, but getting there was no easy task. The replay subsystem served as the underlying framework for recording the ghost data. This legacy system was both complex Relying on new technologies from external and difficult to consistently debug. One late night two days 3.teams. PGR 2’s design called for online features to be before RTC (release to certification), our testers were in heated integrated within almost every area of the game. These features competition, challenging each other’s high score ghosts on one required APIs that were still in development by the Xbox Live team as our schedule progressed, raising many significant obstacles and time constraints. While our Scoreboards were an extension of the system shown in the 2002 Xbox Live starter kit’s MotoGP demo, we utilized them to a far greater extent than on other titles. Coupled with new Xbox Live features, such as stats with attach- ments (such as ghosts), and the high volume of Live users we anticipated, we knew that we had placed a big bet on bringing these emerging technologies to a usable and stable state. If any piece failed, the system would have failed. Implementing the new attachments APIs for uploadable and downloadable ghosts presented us with unpredictable problems, as we were pioneers in this space. The Xbox ATG team was extremely supportive, but they were also pushing hard to complete features for their own deadline. One example of a problem we should have been able to avoid was optimization of our interaction with the Live Scoreboards. During research done by the Xbox Live team late in our schedule, they found our code was making far too many calls to their Scoreboard servers, a capacity problem their servers would not have been able to handle after release. Though we fixed this problem, it raised significant production fears at the end of our schedule. In relying on critical technology from external teams, we have learned the importance of allocating an adequate schedule buffer to accommodate unforeseen problems, maintaining strong com- munication with all dependent parties, and gaining a deep under- standing of the technology.

Stability of the ghost replay system. In supporting 4.a feature where any Xbox Live user worldwide could w w w.gdmag.com 53 POSTMORTEM

process began to take longer. Everyone was working very long hours, late check- ins were made after build smoke tests, and additional steps were added in man- aging retrieval of assets from multiple game images, complicating the build process. The test image would often be pulled together and posted to the secure FTP site, only for the Redmond test team to find the build would not run when they came in the next morning, losing a day of testing on the latest bits. Moving forward, the Bizarre team will stick to two game images—one image for the team to post all code and content, and another image for all tested, ship- pable content. With less moving parts, A BMW M3 shines through a rainy night in Edinburgh. we expect the process to go more smoothly on future projects. of the arcade cone challenges, with sever- city models, and over 8,000 audio content al lead changes over the course of a few files. This caused tremendous confusion at hours. As one score became very difficult the end of the project, as our processes Final Lap to beat, one of the testers noticed the were not originally planned to handle this total Kudos shown in the ghost replay did scope of code and content. n the end, we are all very proud of the not match the value on the Scoreboard. At the beginning of the project we had I results we were able to achieve in Despite all the months of non-stop test- multiple teams uploading to one game PGR 2, and we hope gamers are too. As ing, a strong game only hours from ship- image. This led to significant content a team, we were able to deliver on our ping still had a very critical bug some- incompatibility problems in the build, vision and critical priorities for the game. where in the replay system. such as cars using incorrect engine audio, We were able to increase our quality bar Competitive gameplay is a very valu- city tracks without track-side barriers, by maintaining a strong balance between able part of the testing process during the and old bugs re-appearing as old content building upon the core fundamentals of endgame—this was how gamers were over-written as new. We planned to solve PGR gameplay and breaking new ground going to be playing our game! Although this by splitting up the original game in online multiplayer and scoreboards. we fixed it, we could have found that image into separate images for city data, We were also able to deliver the game to bug earlier, and in the future we will also audio and radio content, car content, and gamers on time. push to create more automation for criti- all source code. We also planned to cre- However, no project is perfect, and we cal areas such as this, including hooks ate a unique test image, where all content certainly had our share of hurdles to for specific test scripts, boundary, and would be copied before release to the overcome, many self-imposed. We grew a stress conditions. We’ll never be able to Redmond test team. lot as a combined Bizarre Creations and perfectly emulate the gameplay of mil- However, splitting the process this way Microsoft Game Studios team between lions of gamers, but by prioritizing our ended up causing more harm than good. PGR and PGR 2. Our challenge will be focus, expanding our automation suite, During the endgame, as the Bizarre team to continue that growth in the future, to and increasing the size and scope of our was doing builds every few days, the test learn from the success and failures of our endgame “bug bash” efforts to broader image had to be manually updated fre- past, and to work together to overcome internal groups and teams, we’ll be better quently. To ensure consistency and speed, future problems as they arise. armed to find and fix all show-stopping the team created a step-by-step process Looking back, the key to our success bugs before release. and set of batch files, to be run in a specif- was the team involved in bringing the game ic order each time. With a game so large to life. PGR 2 was built by smart, hard- Build process and source and server space at a premium, we could working people working together effectively 5.control. We had a substantial not use Alienbrain or another file manage- with a high degree of trust, open commu- number of assets to manage during content ment package. We were forced to dedicate nication channels, and a clear vision and creation at Bizarre Creations, including one person to this manual drag-and-drop goals. Easy things to say, but the magic over 100 cars with 3D model and dynam- process for creating the test image. was in the execution, as it will likely con- ics/handling files, 11 constantly evolving Disasters began to strike as the build tinue to be in the foreseeable future. q

54 mar ch 2004 | game developer SOAPBOX craig relyea Marketing: Packed in Together

or many game developers, “marketing Hargreaves by Greg Illustration guy” ranks near the top of the neces- sary evil scale—right after “enter- tainment lawyer” and “retail F buyer.” Of course, marketing is a necessary evil. Whether you’re working with the industry’s top publishers or just starting out, at some point you’re going to have to understand, embrace, and ultimately partner with that mar- keting beast demanding attention in the dark cor- ner of your business aspirations. fight First Step: it? If you Understanding the Beast haven’t done so arketing is communication—it’s that simple. When already, it’s time to M a company puts an emphasis on marketing, it is in fact embrace the beast. That does- putting an emphasis on communication. Understand this, and n’t mean you should develop the market- you realize the old saying “we don’t need marketing—our game ing; it means you should treat marketing as a priority. In the will sell itself” is tantamount to saying, “we don’t need to com- film and music industries, for example, movie studios and municate with people—our game will do that on its own.” music labels provide the actual marketing machinery, but the It’s okay to think of marketing in simple terms, but it’s dan- successful directors, actors, producers, and musicians make gerous to think of it as a simple endeavor. Consumer segments marketing a priority throughout their careers. have eroded and splintered into an expanding number of tar- gets. Adopting a multi-layered campaign, utilizing well-placed Final Step: Partnering with the snipers to support the heavy artillery, is necessary to get your Beast message across effectively. Increasingly, the audience is turned off by sledgehammer communication tactics; today’s consumers nlike the movie studios, which are similar to one another in are empowered consumers, and their patience is evaporating U the way they integrate product development and marketing, with every ad promoting the “most awesome,” “most not all game publishers are alike. Some demand interaction advanced,” and—worst of all—“most immersive” game ever between development and marketing; others believe separation released. Today, your marketing message has to be razor sharp, allows for the least amount of interference. In truth, marketers it needs to be emotionally creative, and it better be intelligent need the partnership—they need to know the product intimately enough to establish a meaningful connection with consumers, if they’re going to establish effective positioning and communica- or your margin for success will be reduced to a pinhole. tion. And developers need the partnership so they can create the appropriate fuel to drive the communication machine, and ulti- Next Step: Embracing the Beast mately deliver the promise of the marketing claim. There are three keys to a true partnership. Number one: utting an emphasis on effective marketing is a fact of life share information. Numbers two and three: share information Pin any industry competing for consumer dollars, so why continued on page 71

72 mar ch 2004 | game developer SOAPBOX continued from page 72

early and often. That opportunities can be seized means sharing original Partnership means meeting in a timely manner, rather pitch materials, concept than frantically chased or art, napkin notes, what- regularly, establishing posi- missed altogether. ever you’ve got. And, Cooperation isn’t enough. yes, that means sharing tioning, and developing goals Cooperation is the market- the design document— ing guy politely e-mailing a preferably before it’s request for assets that get finalized. Your marketing partners need more than a list of fea- incorporated into your milestone schedule. Partnership is market- tures; they should be in on the discussion about character traits, ing and development meeting regularly, establishing positioning story arc, level objectives, and everything else from the HUD for the product at the earliest possible stage and developing goals layout to the number of hours the average player needs to com- for communication initiatives to support the positioning. This plete your game. In turn, you should get in on the discussion shouldn’t be a relay race, with each person performing his leg of about consumer trends, competitive products, market condi- the race separately. It’s a bobsled run, with everyone packed tions, and retail initiatives. There is no such thing as starting together rocketing down a slippery course that demands a unified too early on this process. effort from start to finish. It may seem like an uncomfortable Through this process, marketing and development should notion to some, but it’s the only way to keep pace with the com- identify the vital “hooks” to your game’s positioning as early as petition and maximize your game’s chances for success. q possible—to make sure the features that support the hooks don’t disappear during production. Through this process, the two Craig Relyea | Craig is Executive V.P. of Marketing for Creative groups should identify product placement, promotional partner- Domain, a leading Hollywood entertainment marketing agency, ship and custom retail opportunities that are organic to your where he runs the Interactive Entertainment Division and helps game, not just slapped on at the last moment. Through this develop game campaigns for the industry’s top publishers. Craig is process, the costly and unsettling disconnects that occur between also the former head of Marketing for DreamWorks Interactive and the marketing message and the final game can be avoided. And V.P. of Worldwide Marketing for Interplay Entertainment.

w w w.gdmag.com 71