>> PRODUCT REVIEWS SIDE EFFECTS’ HOUDINI 9

NOVEMBER 2007

THE LEADING GAME INDUSTRY MAGAZINE

>>PORTING WITH POWER >>AURAL FIXATION >>Q/A’S 10 COMMANDMENTS BRINGING A GAME ENGINE AUDIO LOCALIZATION HOW TO BEST UTILIZE FROM PC TO DS AROUND THE GLOBE YOUR TESTING FRIENDS

2KPOSTMORTEM: GAMES’ BIOSHOCK

$5.95US $6.95CAN 11

0 71486 02133 9

DISPLAY UNTIL DECEMBER 18, 2007 Using Autodeskodesk® HumanIK® mimiddle-ddle- Autodesk® ware, Ubisoftoft MotionBuilder™ grounded ththee software enabled assassin inn his In Assassin’s Creed, th the assassin to 12 centuryy boots used and his run-time-time ® ® fl uidly jump Autodesk 3ds Max environment.nt. software to create from rooftops to a hero character so cobblestone real you can almost streets with ease. feel the coarseness of his tunic.

HOW UBISOFT GAVE AN ASSASSIN HIS SOUL.

autodesk.com/Games

IImmagge cocouru tteesyy of Ubiisofft Autodesk, MotionBuilder, HumanIK and 3ds Max are registered trademarks of Autodesk, Inc., in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders. © 2007 Autodesk, Inc. All rights reserved. []CONTENTS

NOVEMBER 2007 VOLUME 14, NUMBER 10

FEATURES

7 SCALING SMALL What do you get when you take a PC engine and move it to the Nintendo DS? A mess of memory problems, that’s what. Austrian developer Sproing went through the laborious process of porting its adventure game engine from PC to DS, and learned a lot of workarounds and techniques along the way, which could very well help your company if it decides to undertake a similar endeavor. By Stefan Reinalter 7 13 TEN COMMANDMENTS OF QUALITY ASSURANCE As an industry, we’re not traditionally good at determining universal best practices. This could be due to the frequent changes our ✔ medium goes through, or the fact that 20 everyone’s just too busy working to take an 13 overview. But luckily for us, the IGDA quality assurance special interest group has come up a list of ten equally important commandments for Q/A which should help POSTMORTEM you better utilize that mysterious group of people on the other side of the office. 20 2K GAMES’ BIOSHOCK By Chuck McFadden Iterate, iterate, iterate. That’s the message from 2K Games’ BIOSHOCK postmortem—from the game’s humbling early user tests to the last- minute spit and polish, iteration saved the day for this artistically excellent title. That, and an Australian team that could work while the main team in Boston was sleeping. By Alyssa Finley

DEPARTMENTS COLUMNS

2 GAME PLAN By Brandon Sheffield 31 THE INNER PRODUCT By Mick West [PROGRAMMING] Japan’s Slipped Grip Embedded Scripting

4 HEADS UP DISPLAY 35 PIXEL PUSHER By Steve Theodore [ART] Tokyo Game Show quotes, EA buys Pandemic and BioWare, IGF Mobile Every Picture Tells a Story announced, and more. 38 GAME SHUI By Noah Falstein [DESIGN] 28 TOOL BOX By David March Fishy Rules Side Effects’ Houdini 9 and product reviews. 40 AURAL FIXATION By Jesse Harlin [SOUND] Speaking in Tongues

48 BUSINESS LEVEL By Russell Carroll [BUSINESS] Where Credit is Due COVER ART: 2K Games

WWW.GDMAG.COM 1 GAME PLAN [] www.gdmag.com

CMP Media, 600 Harrison St., 6th Fl., San Francisco, CA 94107 t: 415.947.6000 f: 415.947.6090 CMP Media, 600 Harrison St., 6th Fl., SanSUBSCRIPTION Francisco, SERVICES CA 94107 t: 415.947.6000 f: 415.947.6090 t:FOR415.947.6000 INFORMATION, f: ORDER415.947.6090 QUESTIONS, AND ADDRESS CHANGES t: 800.250.2429 f: 847.763.9606 e: [email protected] SUBSCRIPTION SERVICESSERVICES EDITORIAL FOREDITORIAL INFORMATION, ORDER ORDER QUESTIONS, QUESTIONS, AND AND ADDRESS ADDRESS CHANGES CHANGES EDITOR-IN-CHIEF EDITOR-IN-CHIEFt: 800.250.2429 f: f:847.763.9606847.763.9606e:e:[email protected]@halldata.com Simon Carless [email protected] EDITORIAL JAPAN’S EDITORIALMANAGING EDITOR PUBLISHERJill Duffy [email protected] Simon Carless [email protected] FEATURESSimon Carless [email protected]@gdmag.com SENIORMANAGINGBrandon EDITOR Sheffield EDITOR [email protected] Jill Duffy [email protected]@gdmag.com SLIPPED GRIP ARTBrandonJill DIRECTOR Duffy Sheffield [email protected] [email protected] SENIORCliff Scorso CONTRIBUTINGEDITOR [email protected] EDITOR Brandon Sheffield [email protected]@gdmag.com CONTRIBUTINGJillBrandon Duffy Sheffield [email protected] EDITORS [email protected] ARTJesse DIRECTOR Harlin [email protected] THE OVERARCHING STATEMENT I HEARD FROM With that in mind, companies like Capcom are CliffNoah Scorso Falstein [email protected]@gdmag.com [email protected] Japanese game developers at the recent Tokyo making games like DEAD RISING and LOST PLANET ASSISTANTCONTRIBUTINGSteve Theodore PRODUCTION EDITORSEDITORS [email protected] EDITOR JeffreyJesseMick West Harlin Fleming [email protected] [email protected]@gdmag.com Game Show was this: The market is changing and specifically for the West. Most other large Noah Falstein [email protected] CONTRIBUTINGADVISORYNoah Falstein BOARD EDITORS [email protected] shrinking, and nobody knows what to do about it. companies are looking to do the same. JesseSteve HarlinTheodore [email protected] [email protected]@gdmag.com MickHal Barwood West [email protected] Designer-at-Large When I was a kid, all the best console games Developers in Tokyo told me over and over that NoahEllenMick Guon WestFalstein Beeman [email protected] [email protected] Microsoft ADVISORYSteveBrad Bulkley Theodore BOARD Neversoft [email protected] came from Japan. That’s just how it was. While their native market was stagnating. Consumers MickHalClinton Barwood West Keith [email protected] High Designer-at-LargeDesigner-at-Large Moon Studios ADVISORYEllenRyan LesserGuon BOARD Beeman Harmonix MicrosoftMicrosoft Atari was fiddling around with the 7800, Konami bought and DS systems, but as NanaOn-Sha’s BradRyan BulkleyLesser Harmonix Neversoft HalMarkBrad Barwood DeLouraBulkley Designer-at-LargeNeversoftUbisoft was releasing CONTRA, and Capcom was bringing Masaya Matsuura indicates in an accompanying EllenClinton Guon Keith Beeman HighHigh MoonMoon Microsoft Studios Studios EGAMAN ADVERTISINGBradRyan Bulkley Lesser SALES HarmonixNeversoftHarmonix out M . Based on this, my Japanese video news story (see pg. 4), many feel the DS software ADVERTISINGMark DeLoura SALES Ubisoft game snobbery continued through the Saturn and bubble has burst. It used to be that anything on DIRECTORClintonMark DeLoura Keith OF SALES High Ubisoft Moon Studios RyanSteve LesserMcGill e: [email protected] t: 415.947.6217 ADVERTISING SALES PlayStation eras, on through the days the console would sell; now in a glut of low-quality GLOBALADVERTISINGMark DeLoura SALES SALESMANAGER, Ubisoft RECRUITMENT & EDUCATION DIRECTORAaron Murawski OF SALESSALES e: [email protected] t: 415.947.6227 and into the beginning of the PlayStation 2 reign. games, only Nintendo products are selling well, DIRECTORSteve McGill OF SALESe: [email protected] t: 415.947.6217 Then, something happened. once again. ADVERTISINGSR.Steve EVENTS McGill ACCOUNT SALES e: [email protected] MANAGER, SOUTHWESTt: 415.947.6217 MEDIAGLOBALJasmin ACCOUNT SALESDavé e: MANAGER,MANAGER,[email protected] MANAGER RECRUITMENT RECRUITMENTt: 415.947.6226 & & EDUCATION EDUCATION GLOBALAaron Murawski SALES MANAGER, e: [email protected] RECRUITMENT & t:EDUCATION415.947.6227 Japan’s game market has simply not kept up SR.JohnAaron ACCOUNT Watson Murawski MANAGER,e: [email protected] e: [email protected] EAST COAST, EUROPEt: 415.947.6224 &t: EASTERN415.947.6227 CANADA GLOBALSR.Cecily EVENTS Herbst SALES ACCOUNT e:MANAGER,[email protected] MANAGER, RECRUITMENT SOUTHWEST t: 415.947.6215 & EDUCATION WHAT RISES IN THE EAST from a technology standpoint. Companies were SR.Jasmin EVENTS Davé ACCOUNT e: [email protected] MANAGER, SOUTHWESTt: 415.947.6226 MEDIAAaronJasmin ACCOUNT Murawski Davé e: [email protected] e: [email protected]: 415.947.6226t: 415.947.6227 These days, for every KATAMARI DAMACY or KILLER7 incredibly late to adopt middleware or engine SR. ACCOUNT MANAGER, EAST COAST, EUROPE & EASTERN CANADA SALESSR.John ACCOUNT WatsonREPRESENTATIVE, MANAGER,e: [email protected] EASTEDUCATION COAST, &t: EUROPE 415.947.224RECRUITMENT & EASTERN CANADA you get five cookie cutter dating sims, or bare- technologies for fear of losing a competitive edge. GinaCecily Gross Herbst e: [email protected]: [email protected]: 415.947.6241 t: 415.947.6215 ADVERTISINGCecily Herbst PRODUCTIONe: [email protected] t: 415.947.6215 DIRECTORACCOUNTADVERTISING MANAGER, OF PRODUCTION SALES WESTERN CANADA, INDIA, AUSTRALIA, & ASIA bones fighting game upgrades, or any number of A lack of communication with other developers ADVERTISINGMEDIAAmanda ACCOUNT Mae PRODUCTION Miller MANAGER e: [email protected] MANAGER Kevin Chanelt: 785.838.7523 generic action adventure games with plodding (the kind Game Developer magazine strives for or SteveJohn WatsonMcGill e: [email protected] t: 415.947.224 SR.SALESREPRINTS EVENTS REPRESENTATIVE, ACCOUNT MANAGER, EDUCATION SOUTHWEST & RECRUITMENT ADVERTISINGGina Gross e: PRODUCTION [email protected] t: 415.947.6241 stories about saving the world (a world which the kind found at the Game Developers REPRINTSADVERTISINGJasmin Davé ACCOUNT PRODUCTION MANAGER exists pretty much exclusively in Tokyo, I might Conference) means Japanese developers are all SR.MEDIAADVERTISINGCindy ACCOUNT ACCOUNTZauss MANAGER, t:PRODUCTION951.698.1780 MANAGER EAST MANAGER e:COAST,[email protected] EUROPE Kevin Chanel & EASTERN CANADA CecilyJohn Watson Herbst e: [email protected] t: 415.947.224 add). Western developers are at the top of the trying to solve the very same problems in isolation. MARKETINGREPRINTS ACCOUNTADVERTISING MANAGER, PRODUCTION WESTERN CANADA, INDIA, AUSTRALIA, & ASIA heap now, not just from a technical standpoint, I even heard once of teams working on two MARKETINGPARSAmanda INTERNATIONAL Mae MANAGER Miller ADVERTISINGJoe Nunziata PRODUCTION t: 212.221.9595 MANAGER e: [email protected] Kevin Chanel but also in many ways from a design standpoint. similar games simultaneously, one for the Hilary McVicker e: [email protected] t: 415.947.6207 REPRINTS It used to be that we Western folks were known American market and one for Japan, who were not ADVERTISINGCMPMARKETING GAME GROUP PRODUCTION ADVERTISINGPARSVP,MARKETING GROUP INTERNATIONAL PUBLISHER MANAGER PRODUCTION APPLIED MANAGER TECHNOLOGIES Kevin ChanelPhilip Chapnick for our shoddy ports and sports games more than allowed to share assets, engine, code—nothing. JoeHilary Nunziata McVicker t: 212.221.9595 e: [email protected] e: [email protected]: 415.947.6207 REPRINTSVP, STRATEGIC MARKETING Michele Maguire our innovative blockbusters. This was especially And these games were the same genre, made by MARKETING PARSGROUPCMP GAME INTERNATIONAL DIRECTOR GROUP Kathy Schoback true in the U.S. The Europeans had a very nice two different teams within the same company! It’s MARKETINGVP, GROUP PUBLISHER MANAGER APPLIED TECHNOLOGIES Philip Chapnick AUDIENCEJoe Nunziata DEVELOPMENT t: 212.221.9595 e: [email protected] VP,Hilary STRATEGIC McVicker MARKETING e: [email protected] Maguiret: 415.947.6207 creative scene surrounding the Amiga which has, not easy to convince the higher-ups to share MARKETINGGROUP DIRECTOR Carolyn Giroux e: [email protected] CMPGROUP GAME DIRECTOR GROUP Kathy Schoback unfortunately, yet to be matched. information. Western developers have been able MARKETINGDIRECTOR Mary MANAGER Griffin e: [email protected] DIRECTORSENIOR VP,Mary TECHNOLOGY Griffin e: [email protected] INNOVATORS GROUP Philip Chapnick AUDIENCEHilary McVicker DEVELOPMENT e: [email protected] t: 415.947.6207 Granted, we still have our share of shoddy ports to do it because they always have, and perhaps VP,ASSISTANT STRATEGIC MANAGER MARKETINGJohn SlesinskiMichele e:[email protected] GROUP DIRECTOR Carolyn Giroux e: [email protected] and franchise-branded sports games, not to because in a sense they came from behind. It CMPLISTGROUP RENTALGAME DIRECTOR GROUPMerit DirectKathy LLC Schoback t: 914.368.1000 SENIORDIRECTOR VP, MaryGAME, Griffin DOBB’S, e: [email protected] GROUP Philip Chapnick mention an intense publisher-driven case of “me takes cooperation to get ahead. INTERNATIONAL LICENSING INFORMATION AUDIENCEINTERNATIONALASSISTANT DEVELOPMENT MANAGER LICENSINGJohn INFORMATION Slesinski e: [email protected] GROUPASSISTANTMario SalinasDIRECTOR MANAGERt: 650.513.4234 KathyJohn Schoback Slesinski f: 650.513.4482 e: [email protected] e: [email protected] too”-ism when it comes to popular genres, but GROUPLIST RENTAL DIRECTORMeritCarolyn Direct Giroux LLC t: e:914.368.1000 [email protected] Westerners weren’t making many games like SUN FOR EVERYONE AUDIENCEDIRECTORCMP TECHNOLOGY DEVELOPMENTMary Griffin MANAGEMENT e: [email protected] GROUPASSISTANTPRESIDENTINTERNATIONAL DIRECTOR MANAGERAND CEO LICENSINGKathySteveJohn Henry Weitzner Slesinski INFORMATION e: [email protected] e: [email protected] HALO, GRAND THEFT AUTO, BEYOND GOOD AND EVIL, CALL The upshot of this is that there’s a lot more Mario Salinas t: 650.513.4234 f: 650.513.4482 e: DIRECTORLISTEXECUTIVE RENTAL KristiVPMerit AND Cunningham CFO DirectAdam LLC Marder t: e:[email protected] OF DUTY, FLOW, and BIOSHOCK back in the 8- and 16- opportunity now to work with Japanese [email protected] RENTAL Merit Direct LLC t: 914.368.1000 INTERNATIONALSENIOR VP, AUDIENCE LICENSING MARKETING INFORMATION & DEVELOPMENT Bill Amstutz bit eras. publishers on games for your own market. I think SENIORCMPMario TECHNOLOGY SalinasVP, CMP INTEGRATEDt: 650.513.4234 MANAGEMENT MARKETING f: 650.513.4482 SOLUTIONS Joseph Braue INTERNATIONAL LICENSING INFORMATION Certainly, that statement is incredibly debatable— we’re going to see a lot more cross-cultural SENIORPRESIDENTe: [email protected] VP AND AND GENERAL CEO Steve COUNSEL Weitzner Sandra Grayson EXECUTIVEMario Salinas VP ANDt: 650.513.4234 CFO Adam Marder f: 650.513.4482 not everyone in this office even agrees with me. collaboration to this end. Japanese design SENIORCMPe: [email protected] TECHNOLOGY VP, CORPORATE MANAGEMENT MARKETING Lisa Johnson PRESIDENT, CHANNEL GROUP Robert Faletra SENIORPRESIDENT VP, CORPORATE AND CEO Steve SALES Weitzner Anne Marie Miller LucasArts’ adventure games were enormously sensibility and Western technology could yield a CMPPRESIDENT, TECHNOLOGY CMP TECHNOLOGY MANAGEMENT INNOVATORS GROUP SENIORPRESIDENT, VP, MANUFACTURING CMP TECHNOLOGY Marie INNOVATORS Myers GROUP influential in terms of story for instance, and much-needed sense of renewal. PRESIDENTEXECUTIVEPaul Miller VPAND AND CEO CFOSteveAdam Weitzner Marder SENIORPRESIDENT, VP, COMMUNICATIONS CHANNEL GROUP Alexandra Robert Faletra Raine American arcade games like ROBOTRON, BREAKOUT, Japan isn’t going anywhere. Nintendo and EXECUTIVEPRESIDENT, VP CMP AND BUSINESS CFO Adam TECHNOLOGY Marder GROUP Tony Uphoff PRESIDENT,VP,CORPORATE AUDIENCE CMPSENIOR DEVELOPMENT BUSINESSTECHNOLOGY VP SALES TECHNOLOGYMichael AnneINNOVATORS Zane Marie GROUP Miller GROUP Tony Uphoff and GAUNTLET continue to spawn imitators. But the Sony’s in-house teams continue to release games CORPORATEPaul Miller SENIOR VP SALES Anne Marie Miller PRESIDENT,SENIOR VP, CMPCHANNEL CMP INTEGRATED CHANNEL GROUP Robert Robert MARKETING Faletra Faletra SOLUTIONS Joseph PRESIDENT,SENIOR VP, CMP CMP INTEGRATED BUSINESS TECHNOLOGY MARKETING GROUP SOLUTIONS Tony JosephUphoff fact is, if you wanted an experience like SUPER that push the envelope, and companies like PRESIDENT,Braue CMP CMP ENTERTAINMENT ELECTRONICS GROUP MEDIA PaulTony MillerKeefe CORPORATE SENIOR VP SALES Anne Marie Miller MARIO BROS., SONIC THE HEDGEHOG, STREET FIGHTER II, Capcom, Konami, Square Enix, and Namco-Bandai PRESIDENT,SENIOR VP, HUMANBUSINESS CMP GAME, RESOURCES TECHNOLOGY DOBB’S, ICMIMarvlieu GROUP GROUP JollaJeff Philip Patterson Hall Chapnick SENIOR VP, CMP INTEGRATED MARKETING SOLUTIONS Joseph Braue CORPORATESENIOR VP, VP, GROUP MANUFACTURING SENIOR DIRECTOR, VP SALES ELECTRONICS MarieAnne MarieMyers Miller& SOFTWARE GROUPS or FINAL FANTASY, Japan was it. all have excellent products coming out. But SENIOR VP, HUMAN RESOURCES Marvlieu Jolla Hall SENIORPaul Miller VP,VP, HUMANCOMMUNICATIONS RESOURCES Alexandra Marvlieu JollaRaine Hall they’re all working harder than ever to get SENIOR VP, MANUFACTURING Marie Myers SENIORVP, INTERNATIONAL VP,VP, GROUP MANUFACTURING DIRECTOR, BUSINESS COMMUNICATIONSMarie DEVELOPMENT Myers GROUP,Patrick Brennan SENIORStephen VP, Saunders COMMUNICATIONS Alexandra Raine SETS IN THE WEST Western attention. It will be very interesting to see SENIORStephen VP, Saunders COMMUNICATIONS Alexandra Raine The development community has no doubt how these companies adjust to the changing VP, INTERNATIONAL BUSINESS DEVELOPMENT Patrick Brennan noticed that Japan currently has its eyes set climate, or whether Japan will just become the squarely on Western markets. The fact is the land of Nintendo. * higher powered next-gen consoles just aren’t taking Brandon Sheffield Game Developer off over there the way anyone hoped they would. Senior Editor is BPA approved

Game Developer

2 NOVEMBER 2007 | GAME DEVELOPER WWW.CMPGAME.COM You’ve got We’ve got the looks. the brains.

Kynapse A.I. Middleware Kynogon’s A.I. middleware, Kynapse, is the brains behind the work of some of the leading game developers out there. In fact, 6 of the top 10 game publishers use Kynapse in developing their best-selling titles.

www.kynogon.com France Q United Kingdom Q Canada [HEADS UP DISPLAY]

GOT NEWS? SEND US THE BIG SCOOP AT [email protected] TGS 2007: DEVELOPERS SPEAK

Masaya Matsuura Kazuhiro Yamao President of NanaOn-Sha President of Killaware (maker of the upcoming on the current state of the Japanese market original DS title LUXPAIN) on starting up a new independent company in Japan It's getting much more difficult. The game market, especially in this country, is still very conservative. Many people know that the DS has Naturally it's not easy at all, and you need a good creator involved who very unique titles like BRAIN TRAINING, or things like that. But it's not for has past results. If you look at Killaware, we don't have a long past. So if the younger market, more for old folks like me. The young age market is companies just look at our past games, there's nothing to see, but since still very conservative (in Japan). we had established creative talent (Kiyotaka Ueda, previously of Atlus), We have to focus on the worldwide market simultaneously at the Marvelous invested in us for this title. start of development. Many developers didn't have to care about the Of course it's riskier to invest in original titles, and we know that. We overseas market, because the Japanese market used to be powerful can always try to make some movie licensed titles, or sequels of enough. But now it's not so powerful. This is a very big point. Actually another company's games, but we know we won't go that far making the the offer to make new game titles is increasing from overseas publishers. same thing over and over again. We knew at some point we had to take a So we have to think about American kids, and European kids. risk, so we just said yeah, let's give it a try. Some people say that the DS software bubble has already burst. I heard about a case with some sort of learning game—the first one sold over 200,000. The second one sold 8,000. These kinds of things are a big concern. Tetsuya Mizuguchi Chief Creative Officer of Q Entertainment on making a true artistic game in the vein of Kandinsky

Yasuhiro Wada We need to cover two directions. The realism, and the organic and Managing Director and President of the digital contents abstract—the softer direction. The console is like a canvass for us, so if I company within Marvelous, and creator of the HARVEST got a new canvass—high def, high res—and have lighter and softer MOON series vivid colors, we'll draw and create a new world. on the paradoxical use of technology to promote a But this is not a painting. We have to think of one more layer, which is pro-environmental idea that something is moving all the time, with music. It's really tough—we have to think about all the time something moving, the color changing, Technology is just a tool, just a medium to get the message. It is a bit of the sound and the music through the interactive process—with cause a dichotomy, but not contradictory. I'm not pushing everyone to go back and effect. to country life, but just to realize that nature is important too. I want to let people know that the countryside is important—and everyone wants to move to the cities, and nobody wants to live in the Interviews and photo by Brandon Sheffield. country to take care of the environment there. In Japan, several people have played this game, and because they liked it, they went to Hokkaido to see what the farm life is like.

4 NOVEMBER 2007 | GAME DEVELOPER IGF LAUNCHES MOBILE COMPETITION

THE INDEPENDENT GAMES FESTIVAL HAS LAUNCHED Design, while the overall IGF Mobile Best Game should be of particular interest to independent a new IGF Mobile competition to encourage will be awarded $10,000. Three finalists will be developers. “There are all kinds of cool game creative, independently developed games for announced in each category in December design things you can do if you have a handheld mobile devices such as cellphones and Palm 2007, along with five finalists for the IGF device and other add-ons such as GPS, a camera, OS, as well as handhelds like the Nintendo DS Mobile Best Game. Winners will be honored Internet connectivity and so on,” he said. and Sony PSP. Running parallel to the main IGF during the main IGF Awards on Wednesday “There are great, innovative indie games out competition, IGF Mobile will award a total of February 20, 2008. there which use the unique advantages of $20,000 in prizes to the most innovative The competition's 'Augmented Design' award handheld hardware,” he continued, speaking of entries, and all the finalists' games will be will be presented by IGF Mobile Founding and the event in general, “from Gamevil's NOM and playable in a special pavilion at the 2008 Game Platinum Sponsor Nvidia in recognition of games SKIPPING STONE for cellphones through DS games Developers Conference. that best utilize mobile-centric technology such such as 's DRAWN TO LIFE or even group The winnings include $2,000 for best in Audio as GPS, camera, motion-sensing, Wi-Fi, or games such as PAC-MANHATTAN, and we're Achievement, Technical Achievement, Bluetooth features in gameplay. delighted to set up a new awards to help Achievement In Art, Innovation In Augmented According to IGF Chairman (and Game promote titles such as these.” Design, and Innovation In Mobile Game Developer publisher) Simon Carless, the award —Jeffrey Fleming

CALENDAR Independent Game Conference: EA ACQUIRES Austin 2007 Austin Convention Center 500 E Cesar Chavez Street Austin, TX 78701 November 29-30, 2007 PANDEMIC/BIOWARE Price: Approx. $125 www.independentgameconference.com IN A WELL-PUBLICIZED MOVE, HAS attracting the best talent in the industry. Those have purchased Pandemic and BioWare parent company been kind of core to who we are at Pandemic for 11th International Conference on VG Holding Corp for well over $800 million, which years, and we think that actually EA allows us to take Computer Games: AI, Animation, Mobile, Educational & Serious Games brings the two influential and previously independent that to the next level.” Université de La Rochelle firms under the EA Games label, run by Frank Gibeau. In the investor conference call that followed the La Rochelle, France “We're really excited about the chance to work announcement, EA CFO Warren Jensen mentioned November 21-23, 2007 with John (Riccitiello) again,” said BioWare co-CEO that EA “had [its] eye on these studios for several Price: 450 Euro www.scit.wlv.ac.uk/gamecentre/ Greg Zeschuk. “We had a great working relationship years,” indicating that the acquisition fills a gap in cgames07_lar/index.html in the early days of BioWare and Pandemic, and we EA's lineup—namely RPGs and action-adventure have a strong vision for what we want to do. We titles, presumably referring to original IP. GRAPHITE 2007: 5th International think that BioWare/Pandemic joining EA gives us the An on-message Ray Muzyka (Co-CEO of BioWare) Conference on Computer Graphics and Interactive Techniques in Australasia chance to do even more stuff. Everyone knows confirmed this idea: “I think BioWare is known for a and Southeast Asia BioWare's very focused on making quality games. lot of things, and it's associated with quality,” he Perth We think this gives us even more people to interact said. “We have great people here that make it Western Australia, Australia with, more things to learn, more technology, more happen, and that's only going to be enhanced by December 1-4, 2007 Price: $1,050 AU know-how to share and to do things even better.” this. (EA is) looking for excellence in games, the www.graphite.siggraph.org Pandemic attempted to allay fears that this is an best story-driven games in the world. We're proud to act of hegemony on EA's part, with chief production be part of that team.” Australasian Conference on officer Greg Borrud saying, “Nothing is changing With this acquisition, EA has cemented its position Interactive Entertainment RMIT University internally in terms of management, nothing is as the largest game-related publishing and Melbourne changing in terms of the way we develop games, the developing organization in the world, adding some Victoria, Australia kind of games we want to develop, our core pillars of 800 employees to its growing roster. December 3-5, 2007 building big brands and having event launches, and —Brandon Sheffield, Christian Nutt, Brandon Boyer Price: $520 AU www.ie.rmit.edu.au

WWW.GDMAG.COM 5 Perforce Fast Software Configuration Management

Introducing P4GT, a productivity feature of Perforce SCM.

The Perforce Plug-in for Graphical Tools, P4GT, makes version control painless by seamlessly integrating Perforce with leading graphical tools. Drop-down menus allow access to Perforce from within 3ds Max, Maya, Softimage XSI, and Adobe Photoshop.

Art and development teams can standardize on Perforce to version and manage both source code and digital assets. Enhanced collaboration during the design process helps teams to work together in real time to release small patches or create whole new worlds. P4GT P4GT is just one of the many productivity tools that comes with the Perforce SCM System.

Download a free copy of Perforce, no questions asked, from www.perforce.com. Free technical support is available throughout your evaluation.

All trademarks and registered trademarks are property of their respective owners. Adobe screen shot reprinted with permission from Adobe Systems Incorporated. >> stefan reinalter

SCALING SMALL

PORTING PC TECHNOLOGY TO THE NINTENDO DS

>> AFTER FINISHING OUR PC-ADVENTURE GAME UNDERCOVER: UNDERCOVER: DUAL MOTIVES, the executable was approximately OPERATION WINTERSUN (released in the U.S. on August 28), Sproing 1.5MB, leaving us only 2.5MB for the program itself. After STEFAN REINALTER Interactive Media started to work on its successor UNDERCOVER: deducting another 900KB for playing music and sound effects, was lead programmer on DUAL MOTIVES, a prequel to the original for the Nintendo DS. we were left with 1.6MB for all game elements, characters, text, Up to this point, all our adventure technology was completely and animations. UNDERCOVER: OPERATION PC-based and had to be ported to the DS. Most of the taxing tasks At some points in the game, there are up to seven characters WINTERSUN for PC and centered on the fact that the DS has far less main memory and visible on both screens, with each character taking up 64x128 CPU resources than a standard PC. Because of this, we had to put pixels in VRAM and main memory (see Figure 1). The animation UNDERCOVER: DUAL MOTIVES quite a bit of effort into managing the memory resources, data needed for that number of characters would never fit into for the Nintendo DS and avoiding memory fragmentation, and coming up with new the available memory, so all in-game animations had to be built the adventure algorithms because the existing ones simply didn’t work on the streamed from the cartridge and decompressed in real-time. handheld platform. Animation data consists of single rendered frames for each of technology for both the characters’ animations. These single frames were put into a platforms. Email him at MEMORY LANE large strip for each animation, which in turn were palletized The Nintendo DS has 4MB of main memory in which to fit the and compressed by one of our tools. We used simple Run [email protected]. program executable and all application memory. With Length Encoding (RLE) packing for our compression scheme

WWW.GDMAG.COM 7 SCALING SMALL

FIGURE 2 The decal sprite mask (in white) shows where objects and characters will be occluded.

because, for one, it provides a good video memory in which all the textures used per frame had to tradeoff between data size and fit. With up to seven animated characters at 64x128 pixels and CPU-time needed for two simultaneous scenes at 256x192 pixels, that left us little decompression, and two, each room for anything else, such as text, sprites, icons, and frame can be accessed individually, whatever else might go into an adventure game. which was a must. Because of this, Our main strategy for VRAM allocation was to avoid we couldn’t use other more fragmentation at all costs. Specific assets like backgrounds, in- FIGURE 1 As many as seven characters must appear conventional compression game text, and small menu icons, which were used throughout on screen during the game, and each character eats techniques, such as zipping. the game, were assigned their own fixed region in our texture up 64x128 pixels in VRAM and main memory. Because streaming many chunks manager. In addition, through careful organization of all VRAM of data per frame can quickly allocations along with automatic management of releasing and consume precious milliseconds, we implemented asynchronous reloading the required assets, we ended up having zero VRAM streaming for all animation data. At the beginning of each frame, fragmentation for the entirety of the game! At some points, for the asynchronous calls to the file system are initiated so that example when initiating a dialogue between characters or the streaming process can take place while all the other game switching to the in-game menu, some assets are temporarily freed objects are being updated. At the end of each update cycle, the from VRAM and reloaded later when they are needed. Admittedly, animations are decompressed and uploaded into VRAM. some freeing up and reloading had to be done manually by Decompression of the RLE data was done using standard C++ giving hints to our texture manager, but it was worth it to do so. code, additionally utilizing the SDK’s fast copy-routines for As mentioned previously, there was not much VRAM to spare, larger blocks resulted in a general speed-up. It is possible to so we had to cut down wherever we could. Developers who want squeeze a few more cycles out of the code by using assembler to repeat some of this work should know that if standard 8-bit or resorting to a different compression algorithm, but luckily we textures are used, the displaying text can lower the available had no need to go that far. VRAM pretty fast. In addition to having little memory, memory fragmentation In DUAL MOTIVES, we used a screen-sized (256x192 pixels) 2-bit can be an absolute killer. Because our base technology (and texture in which all currently displayed text was tightly packed. some game-code, too) used Stereo Lithography (STL) vectors Whenever new text was to be displayed, the corresponding and strings, we had to be extra careful about memory usage. We string was streamed from the cartridge and rendered and cut down STL usage as much as possible, and used a separate packed into the texture. heap for all allocations smaller than 256 bytes, in which most of Rendering the text with the given font only had to be done the STL allocations fit. Using about 150KB for this heap proved once using this method (upon the first frame being displayed); reasonable and didn’t fragment our main heap where all the other we were also able to render whole sentences with just a single allocations resided. Of course, we could have gotten rid of the STL rectangle. Plus, we could render the text in different colors using completely, but our implementation shows that it’s possible to flat-shaded rectangles without having to upload new palette use the STL on such platforms too, without any major hassle. data, and we could add outlines to the text with only four Other developers who attempt this approach should know additional rendered rectangles. that if you end up having too little memory during development, you should check the compiler settings to favor either SCROLLING, BITS, SPRITES, compiling for speed or code size. When there are still clock AND SHADOWS cycles to waste, it might be better to opt for a smaller Most of the backgrounds in DUAL MOTIVES are scrollable and do executable and free up some memory. not need to be power-of-two in size. However, the Nintendo DS does demand such formatting, thus requiring us to adapt the AN INTEGRATED WHOLE memory layout of our background images. For rendering in UNDERCOVER: DUAL MOTIVES, we used the All the background images are rotated clockwise by 90 Nintendo DS’ dual 3D rendering mode, giving us 256KB available degrees and are split into two parts: one 128 pixels wide and the

8 NOVEMBER 2007 | GAME DEVELOPER other 64 pixels wide to meet the power-of-two restriction. Using this layout, only one line of new data has to be copied to the texture for each scrolled pixel. Furthermore, every line is aligned on 16-bit boundaries, which allows for faster copying. Upon rendering, the textures are then rotated back 90 degrees. The characters in the game should be able to walk behind objects in various scenes, but we had tight restrictions with the VRAM. The easiest solution would have been to use 8-bit sprites and just render them with a smaller z-position than the characters, but then we would have used up four times as FIGURE 3 A typical background in which pathfinding is necessary. much VRAM as we really needed to. Instead, we used the Nintendo DS’ decal sprite functionality and 2-bit masks for all occluding sprites. Every occluding object is already contained in the background (see Figure 2) and is rendered using the background image with a binary mask at its desired z-position. The DS hardware then takes the source image (the background) and rasterizes the pixels into the z-buffer only where the binary mask is set; the remaining pixels are untouched. At run-time, no 3D information about the scene is available, so we had to fake the character shadows in some believable manner. Our approach was to take the character’s current FIGURE 4 Areas where the player can walk are shown here superimposed on the background. Traversable areas are texture, scale it and skew it, and then render it depicted in green, where as blocked areas are shown in red. Polygon vertices are shown using white rectangles. using alpha-blended rectangles. This resulted in nice smoothed shadows. For additional fine- tuning, the scale and skew values as well as the shadow’s color and offsets can be edited in real time, which gave our designers greater control over this feature. One obvious flaw of this method is that shadows can’t properly creep up on walls, so you either have to come up with a solution for this problem or be on a team with clever artists and designers.

PATHFINDING Our adventure technology on the PC uses the familiar A* algorithm for pathfinding. However, FIGURE 5 The virtual ray cast by our pathfinding algorithm. with the Nintendo DS’s memory and CPU limitations, this is not the number of nodes to 255, each element in the matrix takes feasible in real time, so we had to come up with a different up one byte and is just an index into an array of nodes. Thus, the solution. We used a combination of pre-computed paths and amount of memory consumed by our pathfinding algorithm is ray-casting at run time. (See Figures 3–5.) kept really low. First, the level designer adds polygons for traversable or At run-time, the pathfinding algorithm casts a virtual ray blocked areas in our editor. Then, using these polygons, the (shown in Figure 5) from start to end in our binary mask to check editor computes a binary mask of traversable and blocked areas whether the path is blocked. Ray-casting is done using a standard (see Figure 4). implementation of the Bresenham line-drawing algorithm. Every vertex is used as a node in our pre-process for If the path is blocked, our algorithm finds the nearest node to calculating paths between them. This pre-process uses a the first and last points of intersection along the ray. Using our modified Floyd-Warshall algorithm to determine the shortest pre-computed path matrix, the shortest path between these paths between all pairs of nodes. We use the distance between nodes can be determined with just a few array lookups. the pair of nodes as their weight and set it to infinity if there’s no The last step of our algorithm then optimizes the path by connection between them. The shortest path for all nodes can throwing away redundant nodes, which can be reached from the be conveniently stored in a matrix, where each matrix element start and end points without hitting any blocking area. Again, depicts the previous node to use on this path. By constraining this happens by casting rays in the binary mask image. CONTINUED ON PG 10

WWW.GDMAG.COM 9 SCALING SMALL

CONTINUED FROM PG 9 It should be possible to further enhance our algorithm to account for During development, it proved handy to have a fully functioning working dynamic objects as well, although it was not necessary for UNDERCOVER: environment running on the PC. This way, not everybody on the team DUAL MOTIVES. required a development kit, making turn-around times much shorter. Of course there were specific features of the Nintendo DS (for example, the SCRIPT COMMANDS AND INPUT CONTROLS microphone input and certain mini games) that could only be Our scripting system consisted of small script commands, which can be implemented and tested using a proper dev kit. called from scripts within the code. Scripts themselves are similar to self- contained state machines that only use memory for states and ROOM FOR IMPROVEMENT parameters. Because we’re not using co-routines or something similar for Once we had the streaming of sound effects, animations, and texts in script commands, the scripting system from our PC games instantly place, the cartridge was already becoming quite stressed. However, we worked on the Nintendo DS without any changes. believe that there is still room for improvement for other developers who One thing to keep in mind is that all the scripting code will make your are working on this problem. One possible solution is to stream ADPCM- executable bigger, essentially eating up main memory. compressed audio files from the cartridge to achieve far superior music We wanted to exploit the input mechanisms of the Nintendo DS as much quality compared to using MIDI files. Another option might be to stream as we could; one of the highlights is a mini game that requires the player background animations—our team would need a better suited to fire birdshot by blowing into the microphone. Unlike PC adventure games, compression algorithm than simple RLE-coding for that, otherwise there there’s nothing like mouse-over events on the Nintendo DS, unless you want might not be enough CPU-time left for the remaining tasks with all the the user to constantly move the stylus over the screen. So we had to come streaming and decompressing going on. up with different methods of input—and there was a multitude of iterations All in all, we’re happy with how the development of UNDERCOVER: DUAL during development. In the end we settled for hotspots, pop-up menus, and MOTIVES turned out. The Nintendo DS is a fine piece of hardware and is easily gestures for quick interaction with interactive game elements and characters. capable of doing more than a developer’s first impressions might suggest. * Existing technology made it easier to build a complete editor for our game. We simulated the Nintendo DS’s rendering capabilities using OpenGL, The author wishes to acknowledge his co-workers for their valuable suggestions for this article. and most everything else was already available through existing technology.

10 NOVEMBER 2007 | GAME DEVELOPER ADVERTISEMENT

Unreal® Technology News by Mark Rein, Epic Games, Inc.

Canadian-born Mark Rein is UMBRA JOINS THE UNREAL ENGINE 3 Vice President and Co-Founder Spicy Horse. “Working with the great people at Epic INTEGRATED PARTNERS PROGRAM of Epic Games based in Games China allows us capture rapidly expanding busi- Cary, North Carolina. Epic’s Umbra Software Ltd., the visibility optimization ex- ness and creative opportunities in Chinese and global Unreal Engine 3 has won perts, today announced they have joined Epic Games, gaming.” Inc. in the prestigious Integrated Partners Program for Game Developer Magazine’s Paul Meegan, CEO of Epic Games China said, “We’re Unreal® Engine 3. The industry-standard Umbra(tm) Frontline Award for Best very happy to be working with American McGee and visibility optimization middleware has been fully Game Engine for the past his team at Spicy Horse. American has a reputation integrated into Unreal Engine 3 and is now available for three years and Epic was for being highly creative, and his is one of the first licensing directly from Umbra Software. recently awarded Best Studio independent teams to make games for the global at the Spike TV Video Game UE3 includes occlusion culling, using a mix of marketplace entirely in China. We look forward to Awards. Epic’s Gears of War, automated and manual processes which has been seeing what they do with the technology.” won Gamespot’s overall Game used successfully in many games. With the integra- of the Year and sold over EPIC’S UE3-BASED PC GAMES ALMOST GOLDEN tion of Umbra Software’s hierarchical occlusion culling 4,000,000 units on 360. technology, developers will have a fully automated The Windows versions of Gears of War and Unreal Epic is currently working on system that is scalable to very large worlds. This can Tournament 3 will soon be on their way to stores the Unreal Tournament 3 for result in time savings in content creation, and allow world-wide. publisher Midway and a PC for much more complex version of Gears of War for Both releases are important content. Umbra middleware publisher Microsoft Game milestones for UE3. Gears also optimizes player-created Studios. of War supports Microsoft’s content, effectively allowing Games for Windows LIVE plat- the players to modify worlds form, and Unreal Tournament on the fly. Massively Multi- 3 uses GameSpy’s multi-player player online (MMO) games platform. Our licensees have a in particular benefit from the fast path for integrating either increased freedom of move- Upcoming Epic solution. Plus, our multi- ment brought on by visibility Attended Events: platform approach required optimization. a network abstraction layer Lyon GDC “Several Unreal Engine 3 which makes it easier than ever Game Connection for licensees to use other net- Le Palais des Congrès de licensees already use Umbra’s Unreal Tournament 3 demonstrates the working libraries, or to create Lyon middleware and have been great scalability of Unreal Engine 3 their own in-house solution. December 4-6, 2007 delighted with the results,” said Michael Capps, President, Epic Games, Inc. “They’re We’ve just released the UT3 beta demo, generating GDC 2008 a perfect fit for our partners program, and now it’s feedback from thousands of end-users ahead of our San Francisco, CA easier than ever for Unreal licensees to integrate Umbra retail release. In addition to gameplay feedback, the February 18-22, 2008 software’s technology.” demo helped us gauge our efforts to create a highly Please email: “We’re thrilled to have the Umbra technology inte- scalable graphics engine. We’ve spent considerable [email protected] grated into Unreal Engine 3,” says Farhad Taherazer, time and effort optimizing the engine for older PC con- for appointments. Umbra Software’s VP of Marketing. “Our rock-solid figurations. Feedback from the demo shows this was middleware and the fantastic Unreal Engine 3 are a time well spent, because a surprisingly wide range of boon to all game developers.” PCs can run this cutting-edge game. In fact, UT3 runs smoothly on hardware that was generally available AMERICAN MCGEE’S SPICY HORSE GAMES when the last Unreal Tournament game was released, LICENSES UE3 FROM EPIC GAMES CHINA back in September 2003. Spicy Horse Games, a Shanghai based game developer, UT3 is also in development for PS3, , Mac and together with Epic Games China announced that it has Linux. Gears of War is also in development for Mac. entered into a multi-title agreement to license Unreal Engine 3. Spicy Horse Games is using UE3 for “American McGee’s Grimm” along with upcoming PC and console For UE3 licensing inquiries email: game titles. “Grimm” is a part of the GameTap original [email protected] lineup, expected to launch starting in 2008. For Epic job information visit: “Unreal Engine 3 has given our team the tools they www.epicgames.com/epic_jobs.html need to express their creativity in a rapid and predict- able way,” said American McGee, Creative Director of WWW.EPICGAMES.COM

Gears of War, Unreal and the Powered by Unreal Technology logo are registered trademarks, or trademarks of Epic Games, Inc. in the United States and other countries. All other company and/or product names are trademarks of their respective owners. R NETDEVIL Now Hiring for Universe Tech Lead Programmer Senior Programmers Graphics Programmers Programmers Assistant Technical Director Database Administrator

Art World Art Lead 3D Character Animators 3D Artists Concept Artists Motion Graphics/Flash Animators LEGO Digital Designer Artists Special F/X Artists

Community Assistant Community Manager

Design Senior Content Designer Systems Designer Scenario Designers

Production Platform Producer Associate Producer Submit your resume online: www.netdevil.com/employment/ LEGO, the LEGO logo, the Brick and Knob configurations and the Minifigure are trademarks of . © 2007 The LEGO Group. All rights reserved. NetDevil, the NetDevil logo and all related images are trademarks of NetDevil, Ltd. © 2007 NetDevil, Ltd. All Rights Reserved. >> Chuck McFadden ✔ COMMANDMENTS TENOF QUALITY ASSURANCE

1 Employ the Scientific Method.

Understand the difference between playing a game 2 and testing a game. Spend most of your time doing the latter.

3 Be flexible.

4 Find and report bugs as early as possible.

Think like a hacker. 5 Be creative in finding problems with the game.

Put in as much effort with your regression testing 6 as you do with your initial testing.

7 Don’t let Q/A members test designs they’ve created.

8 Don’t write sloppy bugs. Spell and grammar check everything.

9 Test everything you can reasonably test.

Work under the assumption that most (if not all) bugs can be 10 consistently reproduced.

CHUCK MCFADDEN is an associate producer at Factor 5. He was >> IF Q/A HAD A SET OF 10 COMMANDMENTS, WHAT WOULD THEY BE? previously Q/A manager at Namco Bandai Games, and a member Approximately two years ago, a member of the IGDA’s Q/A Special Interest of the IGDA Q/A SIG. Email him at [email protected]. Group (SIG) posed that very question, which ignited the SIG into lengthy discussions and friendly arguments until, weeks later, we settled on 10. They were compiled and listed on the SIG site, where they have remained in relative obscurity ... until now. This article lists the commandments in no particular order and examines each in detail. Each has equal value; no one commandment is more important than any other. But ignore them and the god of game development will smite you. CONTINUED ON PG 14

WWW.GDMAG.COM 13 3

5 1 9 4 10 10 COMMANDMENTS 2

8 6 OF QUALITY ASSURANCE 7

CONTINUED FROM PG 13

1. EMPLOY THE SCIENTIFIC METHOD. d) Draw a conclusion and communicate the results. Once the When you boil it down, this is what separates a good tester from tester has verified that they can repeat the bug with the minimal a bad tester: the good tester—consciously or unconsciously— number of steps (in other words, once they have verified that uses the Scientific Method. Make this a part of your Q/A team’s the hypothesis is true), they should write it up. How your tester training process, just in case one of your testers paid as little writes up the bug is up to you and your established procedure. attention during science class as this author. If trained well in Regardless of how they write up the bug, if they use this the Scientific Method, upon observing a bug, a tester will: method, the bug will be solidly researched and consistently a) Observe and describe. At the least, the tester should take reproducible. notes on what happened. Ideally, your tester is recording everything (with a VCR or digitally), which helps the tester with 2. UNDERSTAND THE DIFFERENCE the next few steps. Either way, this step simply states what BETWEEN PLAYING A GAME AND TESTING A happened, for example that the game crashed at the second GAME. SPEND MOST OF YOUR TIME DOING save point. THE LATTER. b) Formulate a hypothesis. The tester should speculate on The most common misconception I’ve seen with new hires (and what might have caused the bug. Did they try to save when the with industry colleagues who don’t know much about Q/A) is game was streaming off the disc? Was a character talking when they believe testers “play games all day.” If this is 100 percent the save action triggered? Did the character “die” at the same true with your Q/A team, you release terribly buggy games. time the save initialized? Based on the observed behavior, a Quality assurance is not just a matter of testing how a game is tester can develop a testable hypothesis to repeat the bug. (An supposed to work, but how the game is not supposed to work. inexperienced or less-thorough tester will end the process here, The difference is simple. A good tester knows that losing writing up the bug based on his/her speculation.) needs to be tested as thoroughly as winning. He understands c) Experiment. The hypothesis should then be tested to see if that getting the best lap time in a racing game is only half the it results in the initially observed behavior/bug. Re-experiment job. Otherwise, a bug as simple as a crash at the “game over” to narrow down the steps to repeat the bug. If the hypothesis is screen will never come up if the tester is always playing to win. true, move onto the next step. If the hypothesis is false, refer to This commandment also speaks to another philosophy: Don’t step A and start again at step B. exclusively hire “hardcore” gamers. While employing hardcore a production perspective

MY EXPERIENCE WITH Q/A OVER THE testers to play creatively. There's proof it, then make it more production testing. Ideally you'll years has been interesting. I always one person on the test team attractive or obvious, so that it finish the game from beginning to started out as a tester in 1993, who thinks like that—someone who occurs to maybe 20 percent of end as soon as you can, then spend knowing nothing about software covers the basic route that 90 players.” Working on the DEUS EX a ton of time pounding on it, development. I was an enthusiastic percent of mainstream players will games, which were incredibly free- observing new players stumble video game player, a writer, and a take, then tries five or six creative form, this happened a lot. Even through it, and looking for pen-and-paper RPG fanatic. This list alternatives. After a while, you working on an FPS like BLACKSITE, opportunities to pay off dramatic of commandments would have develop this as an instinct. “Hmm, over the last year we've seen lots of moments. Bringing in round after instantly accelerated my learning this front door triggers a scripted cases where testers approach a round of people who have never by a year. door-opening sequence ... I wonder combat scenario in a way we didn't seen BLACKSITE has taught us Now, as a creative director, I what happens if I break the side expect—routes which might be invaluable lessons about where crave more polish in games relative window and skip the door.” under-supported and cause players get stuck, run out of ammo, to everything else, which usually frustration. In all cases, having get lost, and have the most or least stems from good development and HEARTS ARE MADE great dialogue with Q/A will make fun. I wish we had three to six more tech practices. Best practices FOR BREAKING the game better. months of that sort of thing—it impact gameplay much more than Q/A people know that most games would make a tremendous difference people often acknowledge. Even in can be broken (or will at least THE FINAL PUSH in the final quality of the game. I cases where development teams expose something that looks silly) The very concept of “testing” has think the difference between great are trying something new and if you try hard enough. Citing alt- evolved a lot to include a bunch of and mediocre publishers is the ambitious, a fast frame rate, a solid path problems, then speculating on best practices for the genre, such wisdom to invest in the final period interface, stability and lots of their likelihood is very useful; as blind usability tests and post of testing and tuning; the discipline feedback are the real key to sometimes we take things like that production (as a serious phase of to avoid cheating into this phase, enhancing the player's experience. and run with them creatively. We development). The game never gets even if a game is late. I especially like number five might say “If five percent of testers good as fast as it does in the final —Harvey Smith, from this list, about inspiring think to try this, what if we bullet- months, so it pays to invest in post Midway Austin creative director

14 NOVEMBER 2007 | GAME DEVELOPER

3

5 1 9 4 10 10 COMMANDMENTS 2

8 6 OF QUALITY ASSURANCE 7

gamers is important, it’s equally important to cultivate more Q/A teams are always doing more for their game (and their casual players. As a lead or manager, you’ll be tempted to hire company) than simply testing the latest build for bugs. This the most dedicated gamers in your neighborhood. Unfortunately commandment recognizes and encourages that. Be flexible those testers invariably have the hardest time losing. Moreover, enough to allow your testers to demo their game for the press. the more they “test” your game, the less likely they are to lose. Help your marketing and PR teams with screenshots and/or You can avoid this problem almost entirely if you write good videos. After all, who knows how to avoid all the embarrassing test plans. But if your tester is also conscious of the difference bugs better than the people who found them? The Q/A team between playing and testing, he’s sure to find bugs beyond the knows the workarounds better than anyone. If your company is scope of what the average test plan can predict. Occasionally flexible enough to allow the Q/A team to help out with this work, remind your testers that you’re paying them to do a job. They the results might be surprising. can play games on their own time. While they’re on the clock, Be cautious not to let your Q/A team take on too much work, they are there to test. however. Don’t take on so much extra work that you find your team testing less than they should. If your Q/A team ceases to 3. BE FLEXIBLE. find important bugs, all those screenshots and videos won’t Video games represent a truly collaborative art form. Everyone amount to much. involved in the game development process needs to work with Your Q/A team should also be flexible with the bugs they at least one other person and working with someone else report. As a game nears completion, Q/A will invariably disagree requires flexibility. So, how can Q/A teams be flexible? with the production/development team on some of the bugs usability research commandments

THOSE IN THE TRADITIONAL account for as many sources of bias Most developers aren't interested you may uncover in a usability test. usability/user research field and influence when we run usability in the classic “it depends” answer What is more important is how many (outside of the games industry) tests and collect data, but to something. They also aren't issues you identified, then fixed. have often created golden rules, sometimes the ideal is simply not interested in inferential statistics, When you think you're done— commandments, or heuristics for practical. Don't let Q/A members test hypothesis testing, or the number you're not. As long as designers practitioners to adhere to. Many designs they've created—usability of users you need for a valid test. have questions or new ideas, you'll times they focus on principles of engineers will often have When asked to do something or always have something worth interface design that strive to make recommendations to solve usability answer a question, do your researching. You can always go the things simple, efficient, easy to use, problems, which is great. However, research and testing, and give it extra mile and provide more and so on. These lists haven't really as McFadden points out, it is hard to your best shot. Don't be afraid to feedback and more data to your had as big an impact in the games be objective about one's own design. have an informed opinion, even if partners that will help them make industry. Why? It could be that your research wasn't suitable for a better decisions. usability as a functional discipline USABILITY COMMANDMENTS scientific peer-reviewed journal. is too new to the games industry. It So what else? As a practicing Usability engineers don't own LEARN AND LET LEARN could be that the usability golden usability engineer in the games the market on data analysis. Let's The usability/user research rules just aren't as applicable. It industry who has shipped nearly be clear, just because a usability discipline in games has not could be that the heuristics are fifteen titles over the course of engineer may have a Ph.D. in been around as long as Q/A, so I perceived as a threat to the “art” seven years now, what other Experimental Psychology, that don't feel too bad stealing some of side of game design. commandments would I put forth doesn't mean he or she is the only their good ideas, and I don't feel too Several of the commandments in for fellow usability engineers? Here one who can analyze data. bad that my discipline doesn't have this article jump out loud and clear are a few unrefined ideas I’ve had. Show passion and dedication our own commandments list ... yet. as having just as much relevance to Users have opinions, but equal to your partners. Working in Whether you agree or disagree, I've the usability practitioner as the Q/A designers make the call. During this industry can be a labor of love. thrown out a handful for us to start tester. Employ the scientific your research and testing, users In my experience, the most with. If you've got any more, then method—usability and user research will always have opinions on things successful games I've worked on let's get to it! methods were built on experimental they do or don't like. Your job isn't to have been the ones where the psychology and experimental adhere to user whims—your job is entire team was equally passionate —Randy Pagulayan, Microsoft research methods. To take it even to identify areas where user about what they were making. The user research lead further, usability engineers I work behavior is not consistent with the more passionate you are, the more with (myself included) were all designer's vision. What do you from trust you'll gain, and the more trained in behavioral science there will be context-dependent. effective you'll be. research, so that's an easy one. Be No one likes an ivory tower Iterate, iterate, iterate! It doesn't flexible—it is our job to try and academic (especially in crunch). matter how many usability issues

16 NOVEMBER 2007 | GAME DEVELOPER 10 COMMANDMENTS ✔ OF QUALITY ASSURANCE

they want to close out. Be flexible enough to let less important commandment doesn’t just apply to multiplayer. Thinking like a bugs go (all games ship with some bugs, after all), but insist on hacker simply means looking for the flaws buried deep in the fixing the bugs that make the biggest difference. game, not just on the surface. How do you know the difference? If your Q/A team isn’t already Don’t only play the game the way you think the average using some sort of prioritizing scheme in their bug database, get consumer will. Think of ways to play that no one else will. If the one started. It’s as simple as assigning a letter (or number, or main character is supposed to exit a room by using the door, both!) to a kind of bug. When it comes time to close out the ask your tester to find other ways out of the room. Can the bugs, it can save you hours upon hours of headaches. (For more character use the window? Can he jump through the ceiling? on this, see ‘Setting the Bar,’ January 2007.) Can he walk through a wall? Approaching a seemingly mundane task and finding a creative way through it can result 4. FIND AND REPORT BUGS AS in a lot of surprising bugs. EARLY AS POSSIBLE. This is a tricky one. Q/A is usually employed at the end of the 6. PUT IN AS MUCH EFFORT WITH YOUR development process, which is absolutely the right way to build REGRESSION TESTING AS YOU DO WITH a game. This commandment isn’t condoning full-blown testing YOUR INITIAL TESTING (HALO TESTING). before your alpha milestone. Doing so would only clog the bug Finding and reporting the initial bug, as well as properly database with annoying bugs like “game-has-no-sound.” regressing that bug, are two important and essential job However, it is helpful to have a lead tester review the save flow responsibilities for every Q/A tester. However, there is a third (for example) long before it’s implemented in the game. If an area of testing that occurs: Halo testing. No, this isn’t about the experienced tester can look at a save flow system design and Bungie game. Halo testing is when a tester checks for newly tell you what will fail a technical requirements checklist, it’ll uncovered or added bugs resulting from the fixed bug they are save both the Q/A team and the development team hours or regressing. Successful Halo testing requires the tester to even days of work down the line. possess Q/A experience (or an innate talent for finding bugs), You could also ask a few testers to take a look at the first intimate knowledge of back-end systems, how the product is iterations of your control scheme. Don’t tell them how to control built or developed, and guidance by the Q/A management team the game, just give them the controller and ask them to play overseeing the title. around a little. If they can intuitively understand how to interact Regression testing is more than just reproducing the initially with the game, then you know you’re on the right track with your reported issue. When a fix for a bug is checked in there is controls. If they have problems with certain aspects of the controls, you know what to work on next. This won’t give you the feedback you need if you’re wondering how intuitive a casual gamer would find your controls, but it’s a good place to start. The most effective testers are not those You can have your lead tester look at the game’s text to verify correct usage of naming conventions long before you’ve with the highest Gamerscore, but those implemented the text into the game. These are things they’ll test for anyway once the text is in-game, so why not have them possessing exceptional written and look at it before doing difficult implementation? The save flow, controls, and text check examples are just that, verbal communication skills. examples. There are many little things an experienced Q/A tester can do for you before the alpha milestone. If you schedule these things out ahead of time, and make sure the tester knows what always a risk associated with that fix. That risk must be he/she should not work on, your development team will have evaluated not only by the programmer, designer, or artist but more time to work on more important things and the inevitable also by the Q/A lead and tester. Ensuring the bug at hand is fixed crunch time will be less ... crunchy. is only the first step—the tester must then Halo test around that fix looking for new bugs that could have been a result of 5. THINK LIKE A HACKER. BE CREATIVE IN that fixed bug. FINDING PROBLEMS WITH THE GAME. It’s relatively easy to find a spelling error or a level load bug. The 7. DON’T LET Q/A MEMBERS TEST best testers flex their mentality toward the test cases at hand, DESIGNS THEY’VE CREATED. ranging from a technically skilled hacker to an anti-intuitive four Otherwise known as the conflict of interest commandment, this year old. Crash bugs can be found from altering core files and one can get you in trouble with your ambitious testers. Every manipulating fifteen different user interface screens (hacker) to tester, at some point, has a brilliant idea. Be very careful when smashing your palm on the keyboard and causing a buffer this happens. overrun (four year old). And there are plenty of bugs in between. It’s human nature to be biased against one’s own ideas. Hardcore gamers love to bend the game rules as far as Therefore, when a tester’s suggestion makes it into the game, possible. Keeping this commandment in mind can help you don’t allow her to regress it. By seeing her idea become reality, avoid shipping with those nasty “exploit” bugs found in she cannot effectively Halo test the new feature. She will be less multiplayer games (both console and PC). But this likely to observe any bugs resulting from this feature. Get

WWW.GDMAG.COM 17 3

5 1 9 4 10 10 COMMANDMENTS 2

8 6 OF QUALITY ASSURANCE 7

another tester to put the new feature through its paces. This will tester will take that developer at his word and only test the ensure that the new feature gets the same objective attention change as reported. He would miss the bugs that unexpectedly as any other. resulted from the change to “X bug.” This commandment does not discourage testers from making A good, thorough test plan (one that includes, for example, the leap to level designer or some other position in the larger causing an explosion with every weapon type) can help you organization. Many industry luminaries started their careers in avoid this problem, but no test plan can predict every Q/A, and this commandment recognizes that. But it also serves possibility. Your testers need to be aware that they are as a reminder to resist allowing your tester’s objectivity to be ultimately responsible for the stability of the game. They need to overshadowed by a really good idea. make sure everything works to spec in every situation. They also need to understand that a “simple change” to a seemingly 8. DON’T WRITE SLOPPY BUGS. SPELL AND innocuous feature can have unexpected results. Never settle for GRAMMAR CHECK EVERYTHING. spot-checking and don’t say you’re “done” testing a feature until The most effective testers are not those with the highest you’re ready to ship it. Gamerscore, but those possessing exceptional written and verbal communication skills. This is because clearly-communicated 10. WORK UNDER THE ASSUMPTION THAT bugs get fixed faster and better than sloppy, confusing bugs. MOST (IF NOT ALL) BUGS CAN BE Moreover, as a group whose fundamental responsibility is to CONSISTENTLY REPRODUCED. find other people’s mistakes, it’s simply embarrassing and It’s only a question of how difficult the bug is to repeat. Even the unprofessional when Q/A’s own work is full of errors. most “random” bug is repeatable given enough time and effort. This commandment doesn’t insist that every tester hold a Granted, it’s not always wise to spend time attempting to Ph.D. in English. Even if your testers lack perfect grammar consistently repeat an elusive bug, but if you can, it’s much skills, the least they can do is spell check their work. Most bug easier to fix. databases have a spell check function built in. Insist that your This commandment ties into the first commandment testers use it. (Scientific Method), but also begs the question: How much time should one spend trying to consistently repeat a bug? You 9. TEST EVERYTHING YOU CAN might work under the assumption that every bug is repeatable, REASONABLY TEST. but is it advisable to consistently repeat every single bug? Don’t ignore a feature just because it gives a good first Ask yourself—how important is this bug? If the tester impression. If it’s in the game, test it (and test it often) to “randomly” crashed the game after beating the first , isn’t it ensure it works as designed. justified to spend a day attempting to consistently repeat it? On For example, upon initially testing the newest gun in a FPS, a the other hand, if the tester found that the credits scrolled tester will notice that it fires correctly, the correct sound plays, unusually quickly once out of 10 viewings, you probably don’t it deals the correct amount of damage to the enemy, and it need to research the bug for more than a few minutes. depletes its ammunition according to spec. Oh! And it’s really Consider the severity of the bug when you determine how fun to shoot! At this point, your inexperienced tester (having much time to invest in getting it repeated. You know it can be finished the test plan for this gun) may think he’s done. He’ll consistently repeated, but you need to use your judgment to move onto the next gun. determine if it’s worth the effort. If your testers can’t get the bug to repeat, list how many times they attempted to against how many times they successfully repeated it (i.e. 1 out of 10 times, the credits scrolled at 5x speed). That way, the While employing hardcore gamers is development team can address the bug knowing it’s not yet consistently repeatable. important, it’s equally important to A GOLDEN RULE cultivate more casual players. Summing up these 10 commandments into one all-inclusive statement might look something like this: Test scientifically, creatively, and thoroughly enough to catch all the bugs, but not so obsessively as to jeopardize your ship date. But, what if that new gun, when fired at an explosive crate, Whether you follow one golden rule or 10 commandments, Q/A crashes the game? It seems tedious, but every feature needs to work is as much an art as a science. It’s at its best when a be tested in every reasonable way. That means firing weapons diverse team passionately comes together to work on a at every interactive target (and most non-interactive targets). common goal; to do everything they can to help the Make sure everything from the smallest decal to the biggest development team make the best game possible. Hopefully explosion trigger and play correctly, lest you prematurely these commandments can inspire you and your Q/A team to approve a new feature. better serve that common goal. As another example, at some point we’ve all heard a developer say, “I only fixed X bug. I didn’t touch anything else, so don’t The author acknowledges Rob Thompson, Q/A manager at Sony Online worry about testing the whole Y feature.” An inexperienced Entertainment for his contributions to this article.

18 NOVEMBER 2007 | GAME DEVELOPER

THE STORY OF DEVELOPING BIOSHOCK IS AN EPIC ONE AND ISN’T easily expressed in 10 postmortem points. The team and the game changed remarkably over the course of development. A company was acquired. The team size doubled. The product focus changed from RPG hybrid to shooter. It’s easy to talk about the processes we used to develop the game, but it’s harder to describe the creative spark that somehow managed to turn the most unlikely of premises (a failed underwater art deco utopia set in the 1960s) into a marketable shooter. It took a visionary to make the creative choices to guide the game, and an incredibly talented and hardworking team to bring that vision to life. BIOSHOCK2K GAMES’

WHAT WENT RIGHT Our first public presentation was at E3 EVERY DEMO TELLS A STORY. Demos 2006. We had developed a great deal of 1were galvanizing moments for BIOSHOCK. content before that point, but hadn’t yet They led to a unified team vision, built a space that really demonstrated the identification of problems and solutions, game experience to our satisfaction. The external excitement, and internal support. E3 demo forced us to focus the whole For example, the project was signed after team on what the user experience should GameSpot ran an exclusive feature based be. We defined a message for the demo— on a single-room graphics demo. player choice—and built a narrative Since BIOSHOCK was a relatively unknown around that message. Even though the IP outside the game development experience was highly scripted at the time, community, the public’s impression of it it effectively demonstrated the feel of the would be critical to building the buzz we game we wanted. needed to make it a commercial success. Another example of demo-inspired As a result, every time we took the game development was the “Hunting the Big out in public, we put great thought into the Daddy” demo. Though Big Daddies and message we wanted the demo to deliver Little Sisters had been part of the game in and the level of polish of the presentation. some form since the beginning, initially

ALYSSA FINLEY was the project lead on BIOSHOCK for 2K Boston. During her 15 years of experience in the game industry she has also worked as a lead programmer, technical director, and producer. Email her at [email protected].

20 NOVEMBER 2007 | GAME DEVELOPER GAME DATA

NUMBER OF FULL TIME DEVELOPERS AT PEAK 93 in-house developers, 30 contractors, 8 on-site publisher testers (see the sidebar on pg. 22 for details) HARDWARE PC; AMD Athlon X2 dual core or Pentium 4 Intel-Duo dual core processors; NVidia Geforce 8800 graphics cards; Xbox 360 dev and test kits SOFTWARE Microsoft Visual Studio 2005, Perforce, Xbox 360 SDK, Xoreax Incredibuild, Visual Assist X, Araxis Merge, BoundsChecker, Purify, VTune, 3ds Max 8, Photoshop CS2, ZBrush, Flash 8, SoundForge 8, Sony Vegas, Acid, Ableton Live DEVELOPER TECHNOLOGY 2K Boston and 2K Australia Unreal Engine, Bink, Havok, Fmod PUBLISHER NUMBER OF FILES 2K Games 3,775 PLATFORM LINES OF NATIVE C++ CODE Xbox 360 & PC 75,8903 RELEASE DATE LINES OF SCRIPT CODE August 21, 2007 187,114 DEVELOPMENT TIME 3 years

WWW.GDMAG.COM 21 having only large, constrained physics actors. This would have allowed us to spend much less time tuning the physics of individual objects while allowing the world to seem somewhat dynamic. However, doing so would have removed a huge level of interactivity from the game, so that decision was corrected relatively quickly. In terms of design, we created a depth and density of game systems that fit into a game about character building and choice, but would not have been competitive as an FPS. Around the time that the game went into alpha, we took a hard look at that gameplay and realized that, although there were many choices, they weren’t very compelling. This was because we hadn’t been thinking as much about making a shooter as we should have, and many of our key interactions (weapons tuning, plasmids, length of AI engagement) were designed and tuned for a the player could confront Little Sisters directly without slower and more cerebral experience. To put it another way, TEAM necessarily needing to dispatch the Big Daddy that protected nerdy RPG-like stat changes just didn’t seem meaningful in the BREAKDOWN them. During the development of this demo, the team discovered vibrant and dangerous world of Rapture. that with some polish and tuning changes the act of dealing with Once we recalibrated the game to be more like a shooter, we IN THE BOSTON STUDIO: a Big Daddy could be a truly epic battle in itself. This led to the simplified many of the deeper systems tremendously so that the PROGRAMMER realization that Big Daddy battles should be the key to player user would be able to understand them. We also put more polish 1 growth, essentially providing a roving boss battle that players time into the core interactions of the game, such as the weapons, ARTISTS AND ANIMATORS could undertake at a time and place of their choosing. plasmids, and user interfaces. We ended up with fewer choices 15, plus 2 borrowed from Another example is the graphical effects on the player’s hands overall, but each one of those choices was infinitely more Firaxis when using plasmids, which came out the first BIOSHOCK trailer functional, understandable, and fun than the previous ones. DESIGNERS created with Blur Studios. In that cinematic, the player uses a It was inevitable that we lost some progress due to these 6 in-house, 1 contract hypodermic needle to make his arm into a weapon; after the major corrections. But the team’s ability to pull together and AUDIO DEVELOPERS injection the protagonist’s skin blackens and swells and angry address the fundamental problems was amazing, and the 2 in-house, 7 contract hornets burst out of it to attack the Big Daddy. When working results were well worth it. PRODUCERS with Blur to develop the trailer, we knew that the sequence 3 in-house, 2 contract didn’t accurately reflect the game’s visuals, but we did it INPUT FROM OUTSIDE. The first external BIOSHOCK focus test TESTERS because it really captured the vibe of what the “genetic 3 was meant to be a sanity check: to get a better sense of 13 contract, plus 8 on-site modification” part of the game was all about. what was working well but needed polish and what wasn’t publisher testers working at all. COURSE CORRECTIONS. One of the true successes of At this point we had already done one small round of internal IN THE AUSTRALIA STUDIO: 2 BIOSHOCK’s development was our ability to identify and react focus testing with friends of friends, which had turned out PROGRAMMERS when the game was not shaping up to become what it needed to mostly positive feedback. So, just after the first beta, the entire 12 be. For example, the first vertical slice prototype we built was an design team plus a contingent of 2K producers headed off to ARTISTS AND ANIMATORS non-navigable linear corridor shooter that looked like it took see how a group that knew nothing about our company or 10 place in an abandoned box factory. It didn’t provide a compelling BIOSHOCK would react to the first level. DESIGNERS experience as either an RPG or a shooter. In response, we threw It was brutal. 5 away that prototype and started again from scratch with the The first level, they said, was overly dense, confusing, and not goal of building a single room that felt like the ruined particularly engaging. Players would acquire new powers but AUDIO DEVELOPER 1 underwater utopia we were trying to build. not know how to use them, so they stuck to using more First we did concept art passes. Once we got a concept that traditional weapons and became frustrated. They didn’t interact PRODUCERS 2 worked, we built it. Then we used it as a demo space. We used with the Big Daddies, and they didn’t understand (or care) how that single room (now Kashmir Restaurant in the first level of to modify their characters. They were so overwhelmed by TESTERS 1 in-house, 7 contract the game) as an artistic reference that guided us in creating an dialogue and backstory that they missed key information. A few aesthetic unlike any other game on the market. (For more about of the players did start to see the possible depth of the game, the artistic style of BIOSHOCK, see the free art book download at but even they were frustrated by the difficulty of actually using IN THE SHANGHAI STUDIO: www.2kgames.com/cultofrapture/artbook.html.) the systems we had created. ARTISTS AND ANIMATORS Each department went through a similar crisis moment over Based on this humbling feedback, we came to the realization 12 the course of the project. These frequently came as the result of that our own instincts were not serving us well. We were making DESIGNERS the demos, but not always. At one point, when facing a shortfall a game that wasn’t taking the initial user experience into 3 of programmers and an overflow of tasks, we proposed account, and we weren’t thinking enough about how to make it removing physics objects from the game entirely in favor of accessible to a wide variety of players.

CONTINUED ON PG 24 22 NOVEMBER 2007 | GAME DEVELOPER Mild-Mannered ALM, Super Quality

Developing quality software requires a heroic effort, from tracking thousands of the tiniest details, to keeping team communication flowing smoothly.

TestTrack Studio 2008 powers the application lifecycle, automating processes and keeping track of issues, change requests, test cases, and test results. With TestTrack Studio 2008, you have the tools and the time to prioritize, communicate, and track the status of your projects more effectively, without breaking a sweat.

Let TestTrack Studio 2008 do the heavy lifting—Be a superhero!

Download your fully functional evaluation software now from www.seapine.com/gd08

©2007 Seapine Software, Inc. Seapine, TestTrack Studio and the Seapine logo are trademarks of Seapine Software, Inc. All Rights Reserved. All other trademarks are the property of their respective owners. and an audio designer held a kickoff meeting where they analyzed and brainstormed about each aspect of a single weapon. They came up with a task list for each team member, went off to work for a day or two on their tasks, then came reviewed all the results. When they were satisfied, they moved on to the next weapon. Over the course of development, we created multidisciplinary strike teams to work on a wide variety of problems, including AI, animation, visual effects, and cinematics. The results of those teams were universally better than the previous non-iterative process.

TALENTED PEOPLE, FLEXIBLE STAFFING. 5 BIOSHOCK was initially scoped to be developed in about two years with a small team of 30 people—25 in Boston focused on gameplay and CONTINUED FROM PG 22 five in Australia working on the core engine. As The 2K Boston BIOSHOCK After the focus test, we went back to the drawing board for the the team completed successful milestones and demos, and team. entire learning sequence of the game. We scrapped the made strong cases for more development resources it became gameplay in the first two levels entirely and re-architected them clear that we needed to tap into the Australian office. to be a much slower paced experience that walked the player Initially, Australia was intended to supply a small core through the more complicated gameplay verbs, such as “one- technology team that worked on the renderer, engine, and core two punch”—combining weapons and plasmids. We changed tools and processes for console the medical pavilion from having sandbox-style gameplay to development. The Australians had a using a series of locks and keys that were set up to ensure that tremendous impact on development the player knew how to use at least a few key plasmids. And we because by taking care of the core made a development rule that future changes would be data- engine and pipeline tasks, the Boston driven, not based solely on our own instincts. programming team was free to focus After the first round of changes, we had two rounds of internal on gameplay systems and production. 2K play testing to gather more data about the user experience, One of the fastest and easiest ways releasing builds of the game to several 2K studios and soliciting to staff up any newly-opened position feedback about how far people got and which weapons or on the BIOSHOCK project was to pull systems they enjoyed. We received feedback from 2K game from the Australian team. By the time analysts, Microsoft, and a few other advisors. BIOSHOCK went gold, almost everyone When we brought the demo back to focus testing, which was in the Australian office had worked on barely a month before we were (then) scheduled to complete the game in one way or another. the game, the experience was very different. Although players The huge advantage to using the still got stuck and frustrated at various spots, they understood Australian team resources was that the game systems and saw the potential inherent in them. While they already knew the engine and the we still had work to do to make the game more accessible, at game, and had easy access to the least now the problems were much more easily solvable. core technology team. They came up to speed incredibly quickly, and could SMALL EMPOWERED TEAMS. While developing our first be productive almost immediately 4 internal demo, we realized just days before completing it upon getting project tasks. And that it was on the wrong track. By that point it was too late to although the time difference made take on all the problems in the demo, but we decided to try to communication a challenge, it also improve the core interactions. We used a small, focused strike meant that critical bugs could be team approach to target and solve AI problems, choosing one worked on literally day and night. problem at a time, analyzing and tackling it, then moving on. Although this approach wasn’t enough to salvage the original WHAT WENT WRONG demo, it was recognized in our internal postmortem of the demo EVOLVING PRODUCT as an effective process that we should do more often. 1POSITIONING. The spec of One of the most visible successes of the strike team system BIOSHOCK changed so much over the is the tuning of the weapons of the game. All the weapons had course of development that we been in and working for several months, but as the game got spent the majority of the time closer to content lock, they still weren’t feeling as good as they making the wrong game— an should. To tune each weapon, a team consisting of one designer, extremely deep game, and at times an animator, a modeler, a programmer, the effects specialist, an interesting one, but it was not a

24 NOVEMBER 2007 | GAME DEVELOPER groundbreaking game that would appeal to a wide audience. We game to the outside world, which forced us to carefully consider knew from the start that we’d have to make late changes to the story and takeaway message. In retrospect, we should have really bring the game to life—we had even built our original tried to develop some of that thinking sooner. schedule to allow for six months of finalizing—but the amount of change that we ended up needing seriously exceeded our NARRATIVE CONTENT DEVELOPMENT HAPPENED LATE. We remaining schedule. Ultimately, we were very lucky to get an 2 had many drafts of the story over the course of extension in the eleventh hour. development, but the final draft turned out to be an almost Part of the reason for the late course change came from not complete rewrite. To make matters worse, we failed to fully having our internal product message clear from the beginning. exercise the narrative production path in early versions, so once BIOSHOCK had initially been positioned as a hybrid RPG FPS. The the final draft was complete and recorded, many decision to reposition the game as a focused FPS came later, implementation and pipeline problems appeared for the first after our initial production phase in summer of 2006. Had we time that should have been caught and resolved earlier. been working with an FPS mentality earlier, we could have made The core issue was that a giant pile of content came online better use of our time. well past beta, and the team had to scramble to get that Another contributing factor to the late switch was that the game content correctly installed while also fixing bugs. Competing had been more or less proceeding according to plan throughout demands for time and resources meant that, unfortunately, development, so there didn’t seem to be any emergencies that some of the important narrative details of the game weren’t needed intervention from higher levels of management. Milestones created until the final rewrite, and therefore required quite a were completed, goals were met, development seemed to be bit of work to retrofit them into an existing game. proceeding uneventfully. But as the game neared alpha, key To add to our woes, the first focus test feedback on the people began looked more closely and saw that BIOSHOCK wasn’t narrator’s voice came back extremely negative. People found the on track to become an accessible and marketable game. character extremely off-putting, so we recast the part at the last As mentioned in the first What Went Right point, the real possible moment. On the positive side, this allowed us to refine turning point for BIOSHOCK came when we had to present the several areas of the game (including the intro sequence) to

WWW.GDMAG.COM 25 rather than taking the time for a more efficient implementation. For example, there was no good convention for how to name script actions. Depending on the system, one script action might be called “Change” while another would be called “Set” or “Modify”. With hundreds of scripting actions available, designers often spent way too much time searching for the right tool to use. This could have been avoided with a scripting code standard. The content baking process for the console was time- consuming and difficult to troubleshoot. Frequently the only way to either identify or resolve a bake problem was to re-bake at the cost of up to an hour of work, and if the tools were actually broken in some way, it would take at least another bake cycle to be able to work effectively again. Once we reached crunch time, it ensure that the player knew what to do at the right time. On the was extremely painful to have to wait for the bake process to other hand, it was difficult to get all the content in, debugged, complete when people could have been working productively and polished in the remaining timeframe. instead. We should have put more energy and time into speeding up the bake process sooner. SCALING VISION TO TEAM SIZE. Our goals and vision pretty 3 consistently overreached our production capacity. Ideas POOR DATA COLLECTION. One of the most frustrating things that started out small turned out to require a tremendous 5 about our decision to be more data-driven in tuning the amount of coordinated support to reach a polished state. game was the lack of actual good data to base that tuning on. Our Although we were able to add resources regularly and make game log system was barely adequate to analyze single play- some cuts late in the game, our ability to plan for how much throughs and became completely unwieldy when trying to work it would take to bring any single idea or space from analyze a single log file containing data from multiple play- concept to completion was poor. throughs. We had no good methodology to define what In addition, we didn’t have an effective internal review process information was logged and at what level of detail, so the job of set up until very late in the development cycle. We would work parsing out the logs into understandable “gameplay metrics” was on levels to the definition of a milestone, get feedback, and then painful, slow, and ended with inadequate results. To further set it all aside for a while or leave it in the designer’s hands to complicate the problem, most people in the office used shortcuts polish. It wasn’t until we created a more regular review cycle, or cheat codes at the start of a level rather than playing from the where all the key players sat in one room and watched the beginning of the game, which caused us to base a tremendous gameplay session and someone logged all the bugs, that we amount of early tuning on a shaky set of assumptions about how were really able to define the amount of remaining work to bring players would choose to build their characters. a feature or level to completion. The ultimate reason we were able to pull off the game we BLOCKBUSTING made to the level of polish we did, was the sheer dedication of Our goal when we set out to make BIOSHOCK was very clear. We the team working on it. Even though we had padded the wanted to get to the next level, moving beyond our suite of finalizing schedule, we still far exceeded it. It’s to the team’s critically acclaimed games to make a blockbuster. A lot of credit that they stepped up to the challenge with incredible factors aligned to make this possible: the commercial backing of dedication. The final crunch period on BIOSHOCK was long and 2K; the game design knowledge we’d acquired from building hard. People who had been pacing themselves for six more 2; the technological familiarity with our UNREAL- weeks of work had to reset to three more months of work rather based engine that we’d built with previous games. But we still suddenly. Had we understood our polish cycle requirements had to figure out how to make it all big—blockbuster big. sooner, or had known about the additional time earlier, we could A lot of our problems came from underestimating how big the have paced ourselves better. task of making a triple-A product for multiple platforms and multiple regions really is. And other problems came from over- INEFFICIENT PROCESSES AND TOOLS. Many of the estimating our capacity to solve those problems using our 4 processes and tools we used to develop BIOSHOCK were existing procedures and staffing levels. inefficient or confusing in implementation, leading to slow If there’s an over-arching theme of our development, it’s that iteration cycles and bugs. Using a modified version of the Unreal we, like many other developers, believe that ultimate success in engine, which the team had already used to ship two previous this industry comes from iteration. You have to build, evaluate games, gave us a huge head start in developing BIOSHOCK. The (and have others evaluate) and be prepared to throw things gameplay team was able to mock up a playable version of the away and rebuild. The products we make are just too complex core game mechanics in just a few months, and the team’s and our industry reinvents itself too rapidly to do anything else. familiarity with the tools allowed us to get new gameplay But we believe that if you are truly prepared to turn a critical eye spaces up and running quickly. on your own product and honestly respond to that criticism However, the ease and familiarity of the workflow often led us to you’ll get quality at the end. As to whether you get a accept a solution that was faster to implement but slower to use blockbuster, only time will tell. *

26 NOVEMBER 2007 | GAME DEVELOPER

[]TOOL BOX

SIDE EFFECTS’ HOUDINI 9 BY DAVID MARCH

BEFORE THIS REVIEW, I HAD ONLY HEARD key, saying to myself, “Hey wait a The node workflow is extremely HOUDINI 9 here and there about Houdini, either in minute. How the heck do I navigate?” I powerful, as it allows you to manipulate passing or when some 3D production felt quite silly shortly thereafter because the changes you’ve already made and magazine mentioned that the application you have to use the right, middle, and left gives you much more control to explore was used on this or that big-budget film. mouse buttons to dolly, pan, and zoom. new techniques. Basically it lets you back STATS Maybe it’s just my particular Yep, it’s that simple. up and make a change to what you’ve Side Effects circumstances, but I don’t personally Next I clicked the box icon and— created, plotting out your entire process. 123 Front St. West, know any game developers who use it for shazam!—with no surprises there was a I also felt quite comfortable with simple Suite 1401 Toronto, Ontario modeling, texturing, or animating. basic box with a gizmo around the object node tasks, though the type of artwork I Canada M5J 2M2 Houdini has a reputation for being a tool for translating and rotating. But after was creating was very rudimentary. 416.504.9876 only used by film artists for complex clicking around some more I got stuck. However, I can immediately see how the www.sidefx.com algorithms in special node-based workflow would PRICE effects work. But there’s benefit video game artists in $1,995 no reason game the thick of things, creating developers shouldn’t adopt complex models without SYSTEM it for special purposes—or remembering exactly how REQUIREMENTS Windows and Linux for the whole enchilada, if they got there and wanting operating system. they’re not already to change one of the Support for 64-bit married to one of the three elements without disturbing Windows and Linux packages that dominate the rest of the work. available. 512MB memory required. AMD our industry. I also really like a minor or Intel compatible feature in the node window processor (PIII or later). IF YOU LIKED THE that color-codes different 1GB disk space. ORIGINAL, YOU’LL icons to represent the state Workstation-class OpenGL graphics card LOVE THIS! of an object, such as “active with a minimum After I installed the node” or “node change.” resolution of 1,024x768; software, I really had no Houdini 9’s interface will be comfortable for users already familiar with Maya. After toying around with color depth of 16-bit clue what to expect. All I Houdini, I must say I wish and support for OpenGL 1.2 or later. had read so far was a brief caption on TIME FOR TV every 3D program had such a useful Side Effects’ web site about how the I decided it was high time I watched construction history— Houdini has one PROS company had changed the UI and those videos that I first saw upon booting of the best, if not the best. Side Effects is 1. Construction history “workflow enhancements” to be way up the program. Then, remembering that I clearly one of the few companies in the on crack. 2. Robust channel more “artist-friendly.” had also seen a link on the web site to game market that has evaluated what editing. That being said, I decided to give video tutorials, I instead jetted over to the works in the other software packages 3. More familiarity in UI Houdini 9 the old newbie test, and Houdini 9 interface lessons where I found and has added those features into its for new users. promptly skipped over the UI quick start about 13 bullet tutorials with links to own tools. CONS videos. And there it was ... Maya. Just even more. 1. Would like to see kidding. I mean Houdini. But it really did The only thing I initially stumbled on SPECIAL EFFECTS expanded Sub D remind me of Maya’s UI, with the shelves was the fact that you have to hold the The special effects abilities are what modeling tools. at the top and similar icons, and buttons space bar down to get to the point where really piqued my interest in this 2. Would like quick click normal mapping on the right-hand side. Even the panels you can move and dolly around in and software, but being a video game tools. on the left side have a similar feel, too. out of the object mode. Even though I developer, I wondered, “What am I really 3. Small community of The likeness to Maya made me feel didn’t like doing this for the first few going to do with them?” Maybe I could users in game completely comfortable with Houdini minutes, it became very natural after a use Houdini for pre-rendered cinematics development. from an artist’s standpoint. If Side Effects short time. for cutscenes or pre-visualizations. But did this intentionally, I say, “Brilliant.” based on my professional experience, Without having seen Houdini’s previous A NOD TO THE NODE those things usually don’t happen very versions I cannot compare how much After watching quite a few tutorials and often in games (or at least not the games more artist-friendly the UI is now, but playing around with Houdini, the one I’ve worked on). Still, it’s cool to have Side Effects sure has hit their mark with feature that stands out from other 3D them on hand. the first impression a new user gets from applications is the node-based workflow. Judging by what Houdini has produced the design. It’s construction history on crack. Every in films and by reading about it in I immediately clicked the left mouse decision you make in creating a scene is production magazines, I’d say it has a button while holding down the Alt key, created as a “network node” that you can one of the more advanced particle then the control key, and then the shift come back to and edit. systems on the market today. Version 9

28 NOVEMBER 2007 | GAME DEVELOPER OUR RATING SYSTEM :

EXCEPTIONAL GREAT FAIR POOR UNFORTUNATE

shift, and mix motions and then blend it’s quite obvious why Houdini is used for them to any channel or mix them with pre-rendered cinematics. other premade clips. And you can Technically, if your game world was set simulate motion dynamics on top of it. up to go straight from your 3D application All the basic texturing tools are right into your engine, it could be quite useful where they should be in Houdini, with some of its procedural workflow. I including one for pelt mapping. Pelt don’t know of any engine that could mapping is that tool most 3D apps added handle such a large input of work, but it Houdini 9’s fluid dynamics solver allows about a year or two ago that lets you to could be created somehow to batch liquids, fire, and smoke effects to be used with cut a seam and flatten your UVs, as if process out elements. And I do know of rigid bodies and particles. they were skinned animals, and slap some engines out there that can take your textures right on. files straight from one 3D application also comes with an updated fluid One thing that seems to be missing, right into the engine. (Basically, the 3D dynamics solver, which can simulate though, is a quick way to create normal application is the engine, sort of.) Houdini liquids, fire, and smoke. Not only can you maps, although Houdini does have seems like a candidate that could have simulate these effects, but you can also occlusions and displacement maps. But quite some potential for this type of work. use them with rigid bodies and particles. even in these areas, I felt like Houdini Even though Houdini has all the nuts could use a bit more work. and bolts of any other major 3D package, ANIMATION AND TEXTURES I find it hard to imagine the game Houdini has a robust channel editor IS IT A CONTENDER? community jumping ship from their called CHOPS. The system gives you a Houdini has covered all the bases, with a existing staples. Yet with Houdini’s world of control over the data in your bit of an extra kick in the node-based improved user-friendly interface and solid channels, including layering animation, workflow and special effects. Still, set of tools, it can stand on its own for which is a must with any animation whether game developers decide to sure. I can also see it being used for software. If you can’t layer with your adopt the tool will depend on what they specific specialized purposes within a current animation software, it’s time to are trying to execute in a project. studio—for example, making reusable get new software. I actually tried to dream up a few tools that can automate redundant tasks. In addition to layering and blending scenarios in which Houdini’s node-based motions, Houdini is procedural in nature workflow would be unbelievably powerful DAVID MARCH is lead animator at so there are many other possibilities for for a game engine, but I struggled to Irrational Games in Australia. Send things you may want to do. You can layer, come up with anything solid. However, comments to him at [email protected]. product news

SUPPORT FOR PHYSX SDK EXPANDED , enabling the development of titles for features including the handling of morph AGEIA Nintendo’s console using the latest targets, conversion of surface materials Ageia Technologies expanded its version of the engine also used on and rigging. New enhanced remote licensing and support model for the Bethesda’s OBLIVION. control grants users simultaneous PhysX SDK, in which the SDK binaries will Emergent also unveiled an upgrade to control over multiple translation and be offered royalty-free, while the SDK its engine focused on transform dials. source code is licensed at $50,000 per performance and feature enhancements Also new is non-linear animation, application. Their support model covers for next-generation platforms. The latest dynamic hair, and displacement modeling— game profiling and optimization for release aims to enable dramatic in which the user can paint detail on a console, multi-core and PPU, augmented rendering results while attempting to model using free-form brush tools. with both off-site and on-site support significantly reduce development Symmetrical modeling has been added, options. The PhysX software supports PC, resources required for production. which allows content creators to edit PlayStation 3, Xbox 360, and Wii. www.emergent.net both sides of a symmetrical object at the www.ageia.com same time using a variety of editing CARRARA 6 tools; and in-scattering of light, which WII SUPPORT ADDED TO GAMEBRYO DAZ 3D when combined with the new Ocean EMERGENT Carrara 6 is DAZ 3D’s modeling, primitive, provides water surface and Emergent Game Technologies’ Gamebryo animation, and rendering application, wave simulation. game engine now supports the Nintendo with the latest version adding a host of www.daz3d.com

WWW.GDMAG.COM 29 If you are going to attend one game industry event in 2008, this is the one.

Insider Tip: The event dates are earlier this year so book your hotel asap!

GDC08: Transform Your Game. New for GDC08!

Expanded Summit Lineup: Simplified Pass Structure myGDC: Our New Professional • Casual Games • All Access Networking Resource • Independent Games • Main Conference • Set up profiles • Game Outsourcing (new!) • GDC Mobile • Search and connect with thousands of game development professionals • Serious Games • Summits and Tutorials • Share projects, images, and ideas • Worlds in Motion 200(new!) • Expo 8 Save up to 30% when you register by January 16, 2008. www.gdconf.com MICK WEST

>> THE INNER PRODUCT EMBEDDED SCRIPTING

A Closer Look at Ruby

AFTER DEVELOPING YOUR GAME ENGINE ways of doing things and fine tuning If you choose to adapt an existing in C++ and implementing game content them. Anything that can reduce the cycle language, you benefit from getting the using C++ for a while, you might start to time in this feedback loop is very important. language up and running with minimal consider what options you have for using work. However, there’s still a significant scripting languages. This article looks at ROLL OR ADAPT portion of code to be written: the various options for adding scripting to a Do you roll your own scripting language interface between the script engine and game, with a focus on embedding Ruby or adapt an existing one? There are pros your game engine. But once this interface into an existing engine. and cons of both approaches. If you roll code is written, you’ll have a powerful Implementing game scripting language logic in C++ can work with an extensive set quite well in small of features and games, but in large Adding a scripting language to an generally with a lot of games, the rebuild documentation on time can become an existing game engine can greatly how to write code issue. You may have using it. Using an to spend up to five aid the development process. existing language minutes rebuilding “ also allows you to and reloading the hire script game just to see the programmers who are effects of one change. Scripts, on the your own, then you have full control over already highly proficient in the language, other hand, don’t need to go through the aspects of the script language that could avoiding” a lengthy ramp-up time for a entire compile and link process. You can affect your game’s performance, proprietary language. modify a script and re-launch the game in specifically the speed of execution and seconds. how memory is allocated. This may be CHOICE OF LANGUAGE In an ideal situation, you would be able very important if your target platform has There are several available scripting to make changes to the script and see limited resources and if a more compact languages than can be embedded in a the results in real time. This is not always and targeted scripting language would game engine. Lua, Perl, Python, and Ruby possible, but it is something that should work for your application. are some of the more popular ones. always be kept in mind as a goal. Rolling your own also has the Each comes with its own set of benefits A large proportion of one’s time in game advantage that you will be very familiar and problems. development is spent iterating possible with the inner workings of the script Perl and Ruby are quite well known, as compiler or interpreter, and this will aid they have been used for some time for you greatly when it comes to debugging writing web server applications and issues that have to do with low-level general-use scripts. Perl is the older of problems with scripts or script objects. the two and hence is more widespread, The downsides of rolling your own are 1) but Ruby is increasing in popularity and the large amount of time it takes to get a is considered something of a “modern” fully featured language and 2) the language. Perl usually executes faster inevitable number of bugs involved in than Ruby, but both suffer from being developing something from scratch. slightly overweight and from sometimes Maintenance of the code may also be an taking up a lot of memory. MICK WEST was a co-founder of Neversoft Entertainment. issue if your script programmer leaves; Lua and Python are more lightweight He's been in the game industry for 17 years and currently then extending and debugging the languages, sacrificing some power for works as a technical consultant. Email him at script language may become simplicity, and possibly speed of [email protected]. problematic and messy. execution. Lua in particular has been a

WWW.GDMAG.COM 31 THE INNER PRODUCT

popular choice for game scripting and is used in While Ruby is an interpreted language, it’s actually COMMUNICATION several commercial games including WORLD OF compiled into a tree of “nodes” when the source file Now that you’ve got Ruby to compile and run, WARCRAFT and FAR CRY. Lua is a popular choice for is loaded. This compilation can also happen off line what next? defining the user interface. if you don’t want to ship with your source code. Ruby comes with a fully featured C API that Ruby is a powerful language with a very active Here the call to rb_load_file() will load the allows you to specify all manner of ways of user community. There are several communicating between Ruby and books on the market which your C/C++ code, calling functions discuss how to program in Ruby, and passing parameters. The and many libraries exist for simplest way is show in Listing 2. performing a wide variety of Using an existing language also Everything in Ruby is an object. All functions. Unfortunately, Ruby is a allows you to hire script Ruby objects are represented in bit lacking in documentation C/C++ by a “VALUE” data type. A Ruby regarding the actual internal programmers who are already VALUE is a loosely typed object, and workings of the language. If you “highly proficient in the language. pretty much every Ruby function in want to incorporate Ruby into your the C API takes parameters of type game engine, you would benefit VALUE, regardless of the actual from a little understanding of nature of the object being passed. A what’s going on under the hood. Here we’ll take a source file and compile it into the Ruby node tree. VALUE can be anything from an integer to an array very brief look at what’s involved. It will also set the global variable ruby_eval_tree or hash table of other VALUE objects. to point to this newly loaded set of nodes. ”A VALUE is not an object in the sense of a C++ EMBEDDING RUBY The call to ruby_exec() then executes this object. In C++, a VALUE is (usually) a 32-bit word, The basics of embedding Ruby into another compiled program, and then returns control back which typically is a reference to the actual object. application are relatively straightforward. At the to your code. However, a VALUE can also be one of several time of writing the latest stable version of Ruby With this simple example we can look at some of compact data types, the most common of which is was 1.8.6, on which these examples will be based. the immediate practical implications of using Ruby a “small integer”; in this case, the value is simply Ruby is implemented in C and can be built into a as an embedded language. The most obvious one shifted left and ORed with 1. This is what’s DLL using the supplied makefile, and then linked is the use of memory. happening in Listing 2. in with your project. However, if you’re planning to Incorporating the full Ruby compiler and It’s a bit of a hack to illustrate what’s happening incorporate Ruby at a fairly low level, you may interpreter into a code base may add more than at a low level when passing simple parameters to want to build the source directly into your project, 500K to the executable size. This alone may be a Ruby functions. You can do the same thing with the which will let you customize the language, prohibitive amount for certain platforms with INT2FIX(n) macro. Encoding a concrete data object remove parts you don’t use, and have finer control limited memory. But for something like a PC game, in a VALUE is a much more efficient way of over debugging. or even a PlayStation 3 or Xbox 360 game, it’s not manipulating objects (such as small integers) than The first stage in embedding Ruby in your game an unreasonable amount—about 1 percent of the requiring all objects be represented by reference. is simply to get it to compile and link with your available memory. You’re weighing several factors Suppose you wanted to pass a string to Ruby. code. Then you need a mechanism for loading and here, with more memory used, you get more You would have to make an object of string type executing scripts. The very simplest way is shown power and flexibility in your scripting language. and pass that. Listing 3 demonstrates this. A new in Listing 1. Ruby object is created called “ruby_string.” The first two lines initialize the Ruby system. The LISTING 2 Again, this is just a VALUE type, so for C++, it’s just third line tells Ruby that we’re running from an a 32-bit word (an unsigned long, to be precise, embedded script. The fourth line actually loads which is generally a 32-bit word). Passing this and compiles the script “hello.rb.” string to the Ruby function is exactly the same as C++ Code: passing the small integer, and the Ruby function LISTING 1 rb_funcall(Qnil, rb_intern(“simple1”), 1, (125<<1)+1); LISTING 3 Ruby Code RUBY_INIT_STACK def simple1( arg1) ruby_init(); puts arg1 ruby_script(“embedded”); end VALUE ruby_string = rb_str_new2(“Hello World”); rb_load_file(“hello.rb”); rb_funcall(Qnil, ruby_exec(); Output: rb_intern(“simple1”), 1, ruby_string); 125

Loading and executing a Ruby script. C++ calls a Ruby function directly, passing a parameter. Passing a string object.

32 NOVEMBER 2007 | GAME DEVELOPER THE INNER PRODUCT

simple1 does not care if it’s a string, or an integer, This barely scratches the surface of what’s reasonable if you don’t have an immense amount or a 20MB array of red-black trees, or whatever. possible in interfacing Ruby and C++. You can also of Ruby objects. You could also defer it until a less This loose typing makes Ruby very flexible. The extend Ruby objects by adding C++ member noticeable point in the game, such as a level internal representation using 32-bit VALUES makes functions. You can give Ruby members access to transition. If you don’t use it in the real-time handling Ruby objects reasonably lightweight on your C++ objects. And you can even do all this potions of your game, then it’s less important. the C++ side. automatically using a pre-processor such as SWIG. Functions (or methods) and variables are all These examples should give you a sense of how A GEM IN THE ROUGH referenced by an ID type. Like a VALUE, an ID is a simple it is to incorporate a scripting language into Adding a scripting language to an existing game 32-bit word. An ID represents a Ruby symbol or an existing code base. You can couple them as engine can greatly aid the development process name. The second parameter to rb_funcall here is loosely or as tightly as you want. by allowing rapid iterations of game logic that an ID, and in this case it’s the ID of the function would ordinarily require a rebuild of the C++ code. “simple1.” This simple way of referring to PERFORMANCE ISSUES Adding a script engine creates an immediate functions makes it very easy to reference them In games the two perennial performance issues resource loss by taking up additional memory, and and object methods. are memory and frame rate. With a language like the logic that was in C++ will now be running Going the other way (calling C++ from Ruby) is Ruby, these two issues combine in one particular slower in script. slightly more complicated. To call a function from issue: garbage collection. Generally, these are manageable problems, and Ruby, we first have to tell Ruby that the function In Ruby, as in many scripting languages, you do the benefits of the additional flexibility of scripting exists and what its name is. See Listing 4 for an not specifically allocate and free memory. Instead, should greatly outweigh the negatives over the example. First, we have the function we’re going memory is allocated automatically for objects as long term. to use. needed and is also freed automatically when it’s Ruby is a mature and powerful scripting language. The function load_asset takes two parameters: no longer being used, at least in theory. In practice It might be too heavyweight for some applications, an ID and a VALUE. The ID is the receiving object, what happens is unused objects are kept around but it also could work very well in games that can which in this case will be the Ruby special value until Ruby detects a need for “garbage collection,” afford to spare some memory and CPU cycles. Qnil (4, in this implementation). The VALUE is which happens when a heap gets full. You could be Integrating Ruby with C++ is very straightforward whatever is passed in by the calling Ruby script. It merrily sailing along, when all of a sudden the and should allow you and the content creators on could be any Ruby object. From the point of view heap fills up and a massive garbage collection your team to begin using the language for of C++, it’s just an unsigned long, and we’ll need to operation is initiated which takes a frame or so to scripting after only a few days’ work. * call a Ruby function to get the contents—hence process, resulting in a frame rate glitch. the call to rb_string_value_ptr. We can return a All this is highly Ruby VALUE back to the Ruby calling function, but dependent on several LISTING 4 in this case we just return Qnil. factors, like how you Now that we’ve got our function, we need to use objects, how big register it with a call to they are, and how big rb_define_global_function, which just takes as your default heap is. To // C++ Function to be called from Ruby parameters 1) the name of the function (which avoid garbage collection // with one parameter need not be the same as the C++ name), 2) the going off at an VALUE load_asset(ID recv, VALUE asset) address of the function (using the RUBY_METHOD_FUNC inopportune time, you { macro to cast to the correct type), and 3) the can call it yourself printf (“Loading asset %s\n”, number of parameters (which is over 1, in this case). manually with the rb_string_value_ptr(&asset)); Then we can call our function from Ruby. From function rb_gc(). You return Qnil; C++, we call the Ruby script load_some_assets, could call this every } which simply calls the C++ function load_asset() frame, giving you a ten times, with a different string parameter each fixed overhead, which // Code to register the C++ function time, and then returns back to C++. might be quite rb_define_global_function(“load_asset”, RUBY_METHOD_FUNC(load_asset), 1); // And run a script to test it. rb_funcall(Qnil,rb_intern(“load_some_assets”),0); RESOURCES # Example Ruby script calling C++ Thomas, D. and Hunt, A. “Extending Ruby,” in Programming Ruby: The def load_some_assets Pragmatic Programmer’s Guide. Reading, Mass.: Addison-Wesley, 2001. for i in 1..10 do (Includes the Ruby C API documentation.) load_asset “asset_”+i.to_s+”.jpg” www.rubycentral.com/pickaxe/ext_ruby.html end end Gutschmidt, T. Game Programming with Python, Lua and Ruby. Boston, Mass.: Premier Press, 2004. Calling C++ from Ruby, which is called from C++.

WWW.GDMAG.COM 33 Mnudladq 16,17+ 1//6 Lnmsqd`k B`m`c` O`k`hr cdr bnmfqŽr

Vgdqd sgd F`ld Adfhmr Qdfhrsdq nm khmd mnv sn B`m`c`Ôr L`hm Dudms enq F`ld Cdudknoldms

Mdv hm 1//69 Sgd Atrhmdrr Kntmfd `mc sgd Rdqhntr F`ld Rxlonrhtl

CHRBNUDQ9 ¤ Sgd LHFR Dwghahshnm Ynmd ¤ Rnld enqsx hmsdqm`shnm`kkx qdmnvmdc rod`jdqr9 XNRGH@JH JNHYTLH+ Mhmsdmcn: INM@SG@M AKNV+ Hmcdodmcdms F`ld Cdudknodq: C@UHC ODQQX: * H`m Anfnrs+ Odqrt`rhud F`ldr: Fdnqfd Anqrgtjnu+ Dkdbsqnmhb @qsr VV Rstchn: Lhjd Bgqy`mnvrjh+ Uhb`qhntr Uhrhnmr: Cnm C`fknv+ Rsnqleqnms Rstchnr: Inm Fnkcl`m+ Entmc`shnm 8: Bkhms Gnbjhmf+ Tahrnes: Itkhdm Ldqbdqnm+ Dhcnr: R`ltdk Qhudkkn+ Mdnodsr: Ctmb`m V`hm+ `mc l`mx lnqd---

vvv-rhil-b`

Nqf`mhrdc ax 9 Oqdrdmsdc ax9

Ldf` Ronmrnq9

 STEVE THEODORE >> PIXEL PUSHER EVERY PICTURE TELLS A STORY

Modeling and Narrative

WE GEEKS OF A CERTAIN AGE EXPERIENCED modeling are actually quite similar to Lorne Peterson—even if we never need to a little thrill of nostalgia during the those facing diorama builders and other know the right way to vacuum-form a blizzard of pre- marketing. For real-world model-makers, like effects new Messerschmitt canopy or how to most industry folks, the commercials houses and set dressers. unblock a dodgy airbrush. featuring Stan Winston’s mammoth Physical and digital modelers both “Believe” diorama were an intellectual need to engage their audience in ways PLASTIC TO PIXELS exercise: a chance to speculate about the that differ from most of the other arts. The central task of any modeler, physical end of the trilogy, to nitpick about the Temporal media like animation or comics or virtual, is to give a static object or details of the beautifully executed hand- tell stories by controlling the audience’s scene enough life that it can reach the built models, or to debate the marketing experience of time and sequence. audience emotionally without the kind of merits of the ad campaign. (See framing devices that other media Figure 1.) have. Most of us deal with subjects For the more retro among us, that are basically anonymous: though, the mockumentary footage mass-produced vehicles, showing the painstaking modeling manufactured goods, generic work resurrected some pungent architectural spaces. Only a memories, the lemony smell of fraction of our work is devoted to polystyrene glue, the slimy slide of unique capstone designs that are water-release decals, and the strong enough to capture the tedium of filing mold-marks off of imagination based on design various Panzer sprockets and alone. For every Death Star or TIE Mustang manifolds. Fighter there are miles of faceless The plastic modeling scene of 25 corridors, inevitable period years ago might seem irrelevant to vehicles, and necessary but a magazine that specializes in FIGURE 1 Stan Winston’s “Believe” diorama—the missing link uninteresting bric-a-brac. whiz-bang next-gen game graphics. between modern game graphics and old-school modeling skills. Thus every game modeler faces The technical challenges of the same problem many times: modeling in plastic and in polygons are Traditional graphic arts like painting and How can I make my Sherman tank completely different, but the artistic illustration set the stage with a 2D different from all the other 3D Shermans demands of level design and asset composition that guides the eye and out there? How will my shipping shapes the viewer’s sense of occasion. container yard stand out from all the Physical and virtual modelers, however, other container yards? Even if I’m lucky must both cope with a viewer who can enough to work on a strong, unique inspect the finished piece from any angle design, how can I anchor that design in or distance. Of all the disciplines, physical reality for the players? Those modelers face the toughest challenge in questions would be equally familiar to reaching the audience emotionally. Just earlier generations of model builders. STEVE THEODORE has been pushing pixels for more as animators still find value in the works Real-world modelers and scenarists try than a dozen years. His credits include MECH COMMANDER, of Seamus Culhane or Preston Blair (even to compel the audience by presenting HALF-LIFE, TEAM FORTRESS,and COUNTER-STRIKE. He's been a if they’ve thrown away their pegboards), objects or spaces as slices of living modeler, animator, and technical artist, as well as a frequent modelers should ponder the lesson of the history, not static images. By now most speaker at industry conferences. He’s currently content-side pioneering modelers of the 1970s and game artists have learned the obvious technical director at Bungie Studios. Email him at 80s, artists like diorama builder Shep truth that the world isn’t factory fresh, [email protected]. Paine, miniaturist Bill Horan, or ILM’s and most modelers today add a dash of

WWW.GDMAG.COM 35 PIXEL PUSHER

glory, is the artwork in 2K’s BIOSHOCK. The drowned city of Rapture abounds in well- chosen narrative details, even aside from the important set pieces, which are important to driving the game’s complex interwoven stories. Many of the stories are played out in very literal ways for macabre effect, bodies hung from meathooks, stores looted, and so on. But what really helps sell Rapture’s unique feel are the hundreds of tiny stories scattered throughout the city. Even in out of the way corners, you’ll find small stories that illustrate how or why the utopia failed: a barricaded spare room FIGURE 2 Shep Paine’s Monogram B-17 diorama is a study in the art of bringing backstory and with a filthy mattress, a few bottles of personality to a static model. booze, a couple of books; a policeman’s office, buried under piles of paperwork noise or a bit of wear as a matter of modeling welded together into a single from toppled book shelves; the wreckage course. The classic models of artists like process. The diorama centers on a of a garden party in Arcadia, complete SHEP PAINE DIORAMA IMAGES COPYRIGHT MONOGRAM 1972 DIORAMA IMAGES SHEP PAINE Paine and Francois Verlinden, or the crashed bomber, a subject that could with empty champagne bottles and an miniature work in the pre-CG era Star easily find a home in many game overturned tea table. Wars films, take this principle several settings. The execution, though, shows Perhaps the way the city itself is being steps further. They are built around how the artist’s careful thought has destroyed by internecine warfare and the details that can turn an empty room or a transformed a simple premise into a encroaching sea is the inspiration for the simple object into something like a unique form. Rather than simply layering use of narrative details. Whatever the character with a past and a distinct on scorch marks and gibs, Paine has reason, the overall effect is compellingly imagined the entire crash immersive in ways few games can match. sequence: flak over the target, a limping flight VARIETY Physical and digital modelers both home, the failure of the There’s an obvious cost to thinking about plane’s landing gear(see every modeling task or environment as a need to engage their audience in Figure 3), and a final skid story. Inevitably, relying on shorthand ways that differ from most of the off the runway into the symbolism is easier and quicker than other arts. muddy verge of the imagining an entire history behind every “ landing field. That story drives the details of the final model. personality. Great models never let the Everything, from the streaks of oil smoke viewer forget that every object or scene on the wings to the way the propellers had a past that made it different” from all were bent back asymmetrically by the the others of its kind. Whether it’s a lucky climactic belly flop, helps support the pet name chalked on a tank turret, some background story. Instead of a jerry-rigged repairs on the Millennium forgettable icon that simply checks the Falcon, or just the litter of paperwork and “plane crash” checkbox, the imagined coffee cups on a desk, classic modelers scene invites the viewer to envision the always remind the viewer that what they off-screen drama, as well as appreciate see is a moment in an ongoing story— the final result. The viewer doesn’t need not just a tank, a spaceship, or an office. to decipher the details of the story correctly to be affected by it. The logic of BACKSTORY the imagined events gives the whole model FIGURE 3 The key to diorama is the artist’s Shep Paine’s famous Monogram diorama an artistic unity and authentic presence thorough conception of the events leading up to series is a great example of how details that a random collection of brownouts and the crash. Here the bent and twisted landing can be chosen to create miniature debris could not. gear, the torn control surfaces and the scarred narratives. The B-17 kit (see Figure 2) in An example of the same principle landing field all help convey a complete particular, shows storytelling and rendered in up-to-the-minute shader 3.0 narrative in a single moment.

36 NOVEMBER 2007 | GAME DEVELOPER PIXEL PUSHER

poly and pixel. The time differential may reusability with the power of hand-crafted be a lot less than it seems. The actual individualizing detail is a tough trick. amount of detail necessary to sell a story can be quite minimal. The mental effort, RETREAD LIGHTLY on the other hand, is considerable. One common strategy is to build both Artists who like to wade right into a individualized and generic versions of the project and start laying down polys will same asset. For example, if you have a lot find it uncomfortable to put the building of stop signs in your city, you’ll probably on hold while they ponder a bit of need to reuse them often. But if the mix FIGURE 4 This 4,000 year old Egyptian diorama backstory. If the task seems daunting, is leavened with a couple of variants, displays many of the artistic techniques a modern though, it’s worth remembering that the such as a bent stem from being hit by a environment artist or modeler would recognize. modeler or level designer doesn’t car or a vandalized version with a “‘Stop’ suddenly have to become a screenwriter Eating Animals” sticker, the monotony is history, but you probably don’t want to to make use of narrative detail. The relieved and even the generic variants spend too much time on the life and stories don’t need to have a lot of depth gain a touch of extra depth. times of her toaster oven. or character development; they simply Ideally, the variants can share Although game technology seems to be need to respect and reward the player’s geometry or texture work with the at the height of information age latent powers of observation. generic versions so that the resource modernity, the basic challenges of the There is one practical drawback to costs of the whole package aren’t working artist never really change. focusing on narrative details. The overwhelming. Designing assets from the Learning some tactics from real-world essential point of a storytelling approach outset so they support cheap color modelers isn’t an unreasonable stretch to modeling is to emphasize the variations, part swaps, and decaling for the modern pixel pusher. We’re the individual history—the latest generation in a line “personality”—of the of modelers that goes subject. In games, Respect and reward the player’s back at least to the days unfortunately, we have to of the Egyptian Pharaohs, manage scarce runtime latent powers of observation. who passed into the next resources, and many of world accompanied by the assets we create detailed hand-carved have to be reused. The convincing“ detail makes life much easier as you balance dioramas of daily life in this one. The that turns a model into a uniquely unique details with unobtrusive generics. 4,000-year old diorama in Figure 4, believable object can backfire when it Rigging assets for animation and then despite” its simple execution, still conveys shows up again and again. Asset “re-posing” them to build variants startling immediacy. You can almost hear modelers will have to plan carefully how cheaply is another good investment. the commotion and smell the sawdust in to avoid undermining their own efforts Naturally, of course, the amount of the crowded carpenter’s workshop. through repetition. Even environment energy you’ll put into individualizing Though we work in ways that artists will find that key details will assets will scale with their relative anonymous 11th dynasty craftsman repeat, whether common elements like importance. You probably want the never dreamed of, we’re still hoping to doors and fixtures or, more often, details of the heroine’s car to tell the achieve the same things. Let’s hope we do textures. Balancing the need for player something about her and her an equally good job. * more on modeling

SHEPHERD PAINE’S BOOKS Modeling Tanks and Military which detail choices can take stock subjects and give them Vehicles (Kalmbach Publishing, 1982) and How To Build personality. Many of the best pieces can be seen online at Dioramas (Kalmbach, 1999) are great introductions to Paine’s www.kitpic.com/pf.php?fid=479. narrative approach to detailing. His web site, Lorne Peterson’s Sculpting a Galaxy (Insight Editions, 2006) www.shepherdpaine.com, contains a gallery and is a lushly illustrated tour of the physical models from the reproductions of his famous Monogram series dioramas, early years of the Star Wars franchise, the most famous which show the narrative principle applied to a number of application of narrative detail in modeling. historical military vehicles. The Association of Professional Model Makers is the Bill Horan’s Military Modeling Masterclass (Osprey, 1994) professional group for modelers in the engineering and focuses on the details of painting technique rather than entertainment. Its web site, www.modelmakers.org, has a modeling per se, but it’s still a good showcase for the way in good bibliography of modeling-related books.

WWW.GDMAG.COM 37 NOAH FALSTEIN

>> GAME SHUI FISHY RULES

Water? What water?

I’VE RANTED BEFORE ABOUT HOW PEOPLE examining our most basic assumptions that can even be called a game? I can have told me I’m missing the most may reveal some important facts to conceive of games that minimize choice, important rule of game design: “Make it which we’ve become blind. but if you eliminate it completely it fun!” I usually try to politely explain that seems that it’s not a game anymore. it’s such a basic rule that if it’s news to THE FISHWATER RULES someone, they should reconsider What are these rules of game design that HAVE GOALS becoming a designer. are so basic every game—or at least 99 I’ve written previously about more But is that necessarily true? I’ve percent of them—have them as part of sophisticated rules for giving the player written before about how I’m not crazy their basic DNA? Are they rules that help short, medium, and long-term goals, or about the term us define what a game is? how to use visual or implied goals. Will “serious games” I’m not sure I trust myself to even see Wright is fond of so-called software toys for games that them, as by definition they should be that lack explicit goals, but even those have a purpose nearly invisible to me, so I’m working on have pretty strong implicit goals. It’s hard beyond instinct and feeling and am ready to be to get people to define a game, but entertainment corrected by my readers. That said, here something fun without goals tends to be because most— are a few that come to mind. called a toy or perhaps a hobby or pastime. but not all of them are supposed to START WITH WHAT NEAR-UNIVERSALS be entertaining WORKED BEFORE I considered other possible rules that are and fun too. It’s Starting with what has been proven common to many games, but with some possible to successful in the past is not so much a significant exceptions. For example, the conceive of a rule as a truism. Virtually all current vast majority of games involve some sort Will Wright’s “software game that very effectively categorizes games are heavily inspired by previous of gradual increase in difficulty, or at toys” such as SIMCITY photographs or awakens people to take ones. I’ve been a game developer long least in scale or complexity. But somehow 2000 may lack explicit action against genocide that might not be enough to remember the 1970s, when that doesn’t seem inherent to actually goals but they often have fun per se, but it might be quite effective we had no idea what was even possible being a game. I can even think of some fun strong implicit goals. in its main purpose. for video games, and tried all sorts of games that maintain a pretty consistent Perhaps stating the blindingly obvious wild experiments. difficulty like THE SECRET OF MONKEY ISLAND is useful in getting us to challenge our But now, for people who have been series, which entertained more through assumptions, which is a useful rule. Like exposed to games for decades, I doubt humor than through challenge. the old cliché about fish not being aware it’s even possible to truly start fresh. Similarly, almost all games have a of the water they’re swimming in, Certainly when people begin with the theme and often a story or narrative, but pitch, “I don’t play games, but I’ve come there are some very abstract puzzle up with an idea so new and exciting that games that are so lacking in this respect even I’d play it, so I know it’s good!” then I hesitate to suggest it. often the idea is one that has been done dozens of times before. WHAT’S THE POINT? Some of the current masters of Why is it worth questioning our basic experimental gameplay manage to assumptions about what must go into a consistently break rules and come up game? I believe that if we are to continue with interesting things, but even their advancing the state of the art, it’s very games often share a basic structure with helpful to know what assumptions we preexisting titles. make in case we’ve been treading down a NOAH FALSTEIN has been a professional game developer road for years without even noticing it’s since 1980. His web site, www.theinspiracy.com, has a INCLUDE INTERACTIVITY not the only option. Just because everyone description of The 400 Project, the basis for these columns. Also Our medium is about setting up lots of does it doesn’t make it right. Or to quote at that site is a list of the game design rules collected so far and interesting choices for the player. Is it another saying I believe in, “Everybody tips on how to use them. Email him at [email protected]. possible to make a title without choices knows that” is not a valid proof. *

38 NOVEMBER 2007 | GAME DEVELOPER February 18-22, 2008 San Francisco www.gdconf.com Visit gdconf.com for more information & event updates

New for 08! Purchase a Conference Pass and Gain Access to

The Ultimate Game Developer’s Networking Resource

myGDC enables you to:

• Create and customize your profile on gdconf.com • Search a database of thousands of game developers attending GDC • Message and network with other members of the myGDC community • Share your profile, projects, and ideas with your peers

Connect with the most influential and internationally diverse audience of game industry professionals 2002008 before, during, and long after the conference! 8

Learn more about at www.gdconf.com JESSE HARLIN

>> AURAL FIXATION

SPEAKING IN TONGUES

Localizing at home and abroad

THE GLOBAL ECONOMY NECESSITATES good reason, as few of these teams EA are available for hire to smaller teams global communication, and for game include native speakers of a worldwide as well. Companies such as SideUK, development that means ensuring your collection of languages. France’s La Marque Rose, or Germany’s final product is translated into a host of The standard range of localization Effective Media can handle all aspects of local languages. To help combat piracy includes French, Italian, German, and localization from casting to recording to and extend customer appeal to non- Spanish (often abbreviated as FIGS) as delivery, depending on the project’s English speaking countries, international well as Japanese. As more markets open specific needs. These companies are versions of games must also tasked with be produced alongside translating the full domestic products to Actors in Europe are often domestic script into the ensure a simultaneous affiliated with recording studios various target languages, worldwide release. This a job undertaken by process, known as rather than talent agencies. native speakers of the localization, can be languages hired by the complex with endless localization company. opportunities to introduce language-“ up across the globe, though, additional related bugs into the game. languages are making their way into MULTI-LINGUAL ACTORS Luckily, well-established practices are games, such as Mandarin, Arabic, Korean, Once” the casting and translation is slowly developing to help teams steer and even Polish. completed, the various versions of the clear of the potential pitfalls of localization. Localizing a product begins with game’s script go into the recording studio. One aspect in particular that is seeing casting the domestic title. Once cast, a There are three main ways to record more and more best practices is the casting package is assembled by international dialogue: recording of international voice dialogue. producers or a head writer who might have some input as well. The package 1. Have the actors perform it as written M’AIDEZ! includes concept art and descriptions of without any other restraints. The most common process of localization key characters; for example, “male, 17 2. Ask the actors to constrain themselves involves translating game text and years old, computer nerd with high voice to an approximate time with an recorded dialogue from an original and a slight lisp.” acceptable variance of about 10 English source. It’s common for tens—if Ideally, the package should also include percent of the original domestic line’s not hundreds—of thousands of dollars to some audio reference of the domestic timing. be spent on scriptwriters, voice talent, actors. Interestingly, actors in Europe are 3. Have the actors perform so as to be and audio professionals, all to ensure the often affiliated with recording studios lip-synced for cinematics or highest quality source material during rather than talent agencies, so selecting important in-game animations. domestic development. However, outside a studio goes a long way toward casting of a few ancillary tasks, this critical the FIGS voice set. A large percent of the actors employed domestic audio team rarely has much The casting package is typically sent to by these European localization involvement in the creation of the the publisher’s international partners, companies are Automatic Dialogue international voice assets—and with whether Sony Computer Entertainment Replacement (ADR) actors from European Europe, Europe, or domestic film and TV, so they’re well versed in the companies such as Babel Media or process of time syncing voice. If they feel Medialocate, which specifically handle too restricted by lip-sync or timing international localization. It’s these issues, the actors may improvise with international partners who then handle more colloquial or truncated versions of outsourcing the FIGS voice set to established the lines so as to make the dialogue fit European localization companies. the scene. JESSE HARLIN has been composing music for games Luckily for domestic audio teams After the raw international assets have since 1999. He is currently the staff composer for tasked with localization, the same been recorded and edited, if the domestic LucasArts.You can email him at [email protected]. companies used by the likes of Sony and audio team is going to be responsible for

40 NOVEMBER 2007 | GAME DEVELOPER anything more before final delivery, it’s similar. For games from Japan, translation In the end, the process of localizing now that they may find themselves work is done by native speakers of game dialogue for a global market is a involved in specific or complex creative English after which voice direction is global endeavor, as it should be. Efficient processing or international cut scene frequently outsourced to Hollywood film international systems exist to ensure not mixing. Otherwise, the international voice and animation voice directors, such as only the widest reach of your game’s script, files are delivered and implemented into Jack Fletcher (FINAL FANTASY X) and Ginny but also your game’s unique voice. * the game. McSwain (RESIDENT EVIL 4). Once everything has been implemented, Rather than utilizing studios with a the international voice set undergoes stable of ready talent as in Europe, these linguistic quality assurance. This testing voice directors most frequently utilize RESOURCES is handled by either the publisher’s the available talent pool of Los Angeles Babel Media, U.K. international partners, the company voice-over actors. These actors perform www.babelmedia.com contracted to create the FIGS assets, or in the same manner as European actors, both, and consists of native speakers recording either with timing or lip-sync Medialocate, U.S. www.medialocate-usa.com playing through the game to make sure concerns, or freely without any restraints the dialogue makes sense or hasn’t to their performances. However, it’s much SideUK, U.K. accidentally had the wrong language more common in Japanese game www.sideuk.com implemented into the wrong SKU. development than in English-language La Marque Rose, France development to have the game’s director www.lamarquerose.com ORIGINS IN THE EAST or producer on hand at the localization When English isn’t the initial source sessions actively partaking in the Effective Media, Germany language, the process is relatively direction of the voice talent. www.effective-media.de

)FNQ^,FRJ*[JSY(T[JWFLJ

=SYVGSQTVILIRWMZI7SYVGIJSV+EQI-RHYWXV] -2*361%8-32 8MQIP]&YWMRIWW 1EREKIQIRX9THEXIWˆ&VIEOMRK2I[W*VSQ7IEWSRIH)HMXSVW -RHITXL*IEXYVIWF]-RHYWXV]0IEHIVWˆ'VYGMEP'EVIIV )HYGEXMSR6IWSYVGIW

WWW.GDMAG.COM 41 J>;'&J>7DDK7B ?D:;F;D:;DJ =7C;I<;IJ?L7B <;8HK7HO(&#(("(&&.šI7D

FB7OJ>;8;IJ?D:?;=7C;IE<J>;O;7H J>;?=<F7L?B?ED7J=:9(&&. I7D

)) 8G:6I>K:86G::GH 1   /!   /5* %))%!   /5* 6% +7! 3 %%" 5 "  % "30#>(  =+ ,//'"3((+ 883 0++%%% /%)"=+ " +(  =+ %) .#1.<3  (  0++%% /9 +&  %  10  !%    2#.3  (  0++          0   /; +%"(  %" 5 )!  %  C 9 %"#.; %%+ ' /@  +;% %%(+ 83"8+ CDK:B7:G'%%,q<6B:9:K:ADE:G 3    <# 1"#. #.I "#  .".# #1"# .I ". #.". "# './%76. ++    + +- :&% +3    .)7 .  6! /  + ) 3 % %  +  #"< / %   6! /.  +.7   &% +%    1"#. + &% +%   6;'(  +5 %+ )( 7   + +- :&% +3   #1"#  0  3 %= )  + +- :&% +3     3 %6 %%: 7  .=C   +  /3    G! /.67"67"67" +6#7H  -% !  % "< " 67$ ++  +-:&% +( !%   %  & +3% +5  (.<  1  ."  "#. ."11   67 &% +3 %%  +5 %+ )(  67 &% +3 %%  +)  ) )@!!' 67 &% +3 %! + ! .# #"#  6#7:&% +3 %%  +'5 )(  67! %)  ) % +3 %"!   673 %:&% +'= '%/  5 )3 %%% /(  3 %%%)  ) )@!!  %  ! + ! .# %    = '%'   6$ + + %E% / +C )  %7 ! +  .# 6 A! +%" +!) *%"!) * %" +5 )!  %7 :&% +%   5 %+@!! F + %"3  ! %" +5 ) +     !"# ! %9 % 3) +  + ( )%    ! "#$%% & '( %% /4 * 5//  /  6  73((+ 883" "19 % ! "!   % "30#5* 3((+ %)* +  ) %% / )% ! 3 %%"3((+ 883"19 % ! "!   % " A/ %:+"8 + "!=B@?"@44 * ; +) +%"(   ;% %%5//  /%)6  73((+ 883      %  $%%%)+ %  $%%  +  ( )     ( )%     ( D #$%% / 3  )'* )   +, -,'%%. /$%%% 19 % ! "!   % "30#3 % : '   !  +  /=+ "%)";% %%  883"13   '"( ) %% "?"  + " %" +5 )!  '9 +%5*   9 +    "19 % ! "!   % "30#  % + 30#>=+ ; + !)//+"3((+ 883"19 % 3 % /!    ; *5  ( " 5*  ; ')  %)+0  ' 3  (  (  /  *) ' * + ! "! Game Design at Film School

The Leader. Dave Warfield, 15-year veteran game Jeff Plamondon by VFS Student work designer for over two dozen titles.

The Know-How. In just one year, you’ll learn every aspect of game design. Your portfolio project is a playable, industry-ready video game.

The Results. Our graduates work at top game companies including Backbone Entertainment, BioWare, EA Black Box, , and .

vfs.com/enemies )+ <:I:9J86I:9 CDK:B7:G'%%,q<6B:9:K:ADE:G <:I:9J8I6I:9 ), 800.658.5744 LLL#<9B6<#8DB GAME PROGRAMMING > but are you geeked? www.uat.edu Here’s a chance to prove it. Here’s You may speak the language, You Please geek responsibly. GAME DESIGN ANIMATIONDIGITAL LIFEARTIFICIAL NETWORK SECURITY COMPUTER FORENSICS VIDEODIGITAL ENGINEERING SOFTWARE WEB DESIGN TECHNOLOGY MANAGEMENT  - %  ' %:5 & + / 333" )

 %

 3+3* # % "0 #* +  &       " #?& %&& "  ' 2         

    '%(%%% ( -0 %" 

$/  %&"#'&" '% ((") *"*+ *  -  # $2    $/ $/         -    $  ,,        3   $ -2 . % ! % $ 1    3  (%% 0%4&&5* & +0%6,&

    (%%(&)("(%-  0& *&     7%, (%( %&   89(:5# & +; %( ' *** *33%0 93+3* # *&)%(%(  '% ((")    -00(& )%(%( 3*#* + 3%0 93*  %&   /-%0%12   !!"12&   ""      "  

") " &=&>9 *"77"!## 3 *&'% (76%    !!"#$ %  &        ,-                                   ! #  $ % ( * +    4&&% 4&&0% 6 4&& ,  %,%& %(  -   %& #+")-%&* & 0 93+3* # *&  %%(  ! 6%("@##*#  &  0%4&&8   3 ( -1 <,%" &=&>9 *"77"!## 3    #&  %( ,%- % .% (  0%4&&3 + * %0 93*#* +  & A8    "!!"%6( &<B  RUSSELL CARROLL

>> BUSINESS LEVEL

WHERE CREDIT IS DUE

QUICK, NAME A CASUAL GAME DEVELOPER Entertainment, a game developer which description next to it, but without any other than PopCap! You didn’t come up also runs www.reflexive.com, a casual mention of the artist. Imagine further with anything immediately did you? Even game distribution portal that does that each art piece had an imprint of the for those who work in the casual game include creator credits. Take as many gallery’s name on it equal in size and industry, naming more than a handful of grains of salt as you need. prominence to the artist’s signature. developers can be difficult. This is true With that said, I have some thoughts on Though this example may seem a bit despite the fact that there are many why portals are not crediting game extreme, a search through the forums on casual game developers making a very creators. The reason is tied into the value any portal finds that the customers lucrative living. of traffic to the portal. As is true in all believe the portal to be the author of the Why is it that many of the extremely businesses, casual game distribution games they are enjoying. successful developers in the casual space portals need customers to survive. To In considering the problem, it seems haven’t gained any name awareness? accomplish this, the portals take every clear that some changes are needed. The Though it is probably only a part of the opportunity to keep all the eyeballs on IGDA casual games steering committee is explanation, an interesting phenomenon themselves. Not crediting is only one of currently considering an initiative to has occurred in the casual game many things done to accomplish this goal. standardize developer crediting to ensure industry. When you purchase a non- While the portals don’t credit the that developers and publishers receive casual game in a retail store or at an games’ creators, they do require a portal credit for the games that they create. online store such as Amazon, you will credit of sorts inside of the games they In considering different options, one always see credit given to the creator. distribute. You may have noticed that suggestion may please both creators and The creator’s name and logo usually every casual game that you download portals: game credits that link to a page appear on the front, spine and back of the has the logo of the distribution portal it containing a selection of the developer’s game box. The creator’s name is credited came from inside the game. In fact, every games within that portal. One of the most on the product page in online stores. major portal requires that their logo difficult things for portals to do as their However, this is not the case when you appear in equal size and prominence with catalog of games expands daily is help look at the majority of the casual game the developer’s logo, wherever the their customers navigate to relevant distribution portals. When visiting Real developer’s logo is displayed in the game. games. As different developers have Arcade, MSN, iWin, Big Fish Games, Imagine if this happened in other parts different styles, using linked game Yahoo! Games and most other portals, of the industry. Can you picture a credits could be used to direct customers there is no mention of either the Walmart splash-screen at the beginning to other games that might appeal to developer or the publisher on the game of HALO 3 if you bought it from Walmart them. This provides credit to the game product page. Clearly the lack of creator and a GameStop screen if the game were creator, and potentially creates revenue credit is not an oversight. Real Arcade, for purchased at GameStop? from increased cross-selling on the example, formerly included credits on However, the fact that the mainstream portal. Reflexive, and to some extent Big their pages, but has since removed them. game industry readily credits creators and Fish Games, are both currently using Why don’t the portals want to give not the point of purchase is not a good linked credits on their pages, and I can credit where credit seems due? Are reason for the casual industry to change. say for the Reflexive side that the results portals marginalizing developers in order to They are different industries and you have been positive. try and keep another PopCap from rising could argue that without the portals, there The creator of a work deserves to be up? This is a question that most portals wouldn’t be a casual games industry. The credited for it. While some portals are avoid answering. portals invested in the infrastructure and crediting developers, including PlayFirst, Now before going further I should the marketing to create the customers. Shockwave, and a handful of others, mention that I work for Reflexive Don’t the portals deserve to recoup on most of the casual game distribution their investment in the way that makes portals do not. With the IGDA casual the most business sense to them? games steering committee currently The answer to this question is ‘yes’ with considering this issue, it’s a good time for one very important caveat. Misleading game creators to do likewise and push customers in regard to who has created a for the casual game industry to adopt RUSSELL CARROLL is the director of marketing for game is nigh unto plagiarism. guidelines that will help give credit where Reflexive Entertainment. Email him at [email protected]. Imagine going to an art gallery where credit is due. * Email him at [email protected]. every painting had a plaque with a

48 NOVEMBER 2007 | GAME DEVELOPER