JANUARY 2013 VOLUME 20 NUMBER 01 www.unrealengine.com
much all of the engine’s features at one point experience, Ninja Theory built new technology Ninja Theory and Capcom or another during the game’s development. on top of UE3 to customize lighting and Reboot Devil May Cry with “One really useful aspect for us was shadowing and to create faster and more Unreal Matinee, as this allowed us to easily accurate cloth simulations and faster particle Unreal Engine 3 set up complex cutscenes and really get systems. They also worked with Epic Games into the minutiae of achieving the fi lmic and other UE3 teams on the Unreal Developer Dante is getting a makeover. The look that we’re after,” said Matthews. “On Network (UDN) throughout the process. mercenary demon hunter is back in a related front, the material system gives “UDN is great for quickly looking up action in DmC Devil May Cry, a highly us complete control over the look and feel documentation, but it’s the community anticipated reboot of the franchise. of every surface – early on we made the forums that are invaluable,” said Matthews. By working closely with Capcom, decision to allow our artists to create their “All UE3 licensed developers have developer Ninja Theory stripped Dante to own materials and this really helped us access to the forums so there’s a lot of the bare essentials to incorporate the story achieve the distinct atmosphere of the game.” experience to draw upon, which always of his origin into this new action adventure. Ninja Theory has been at the forefront helps when there is a tricky issue to solve.” The UK studio utilized Unreal Engine 3 of performance capture, having worked “Having an engine capable of cross- (UE3) to bring this multi-world story to life. with actor and director Andy Serkis on platform development from the start provides Previously, Ninja Theory utilized Heavenly Sword and Enslaved. In DmC, a huge advantage,” said Matthews. “The UE3 technology to ship Namco Bandai’s Dante and the other characters are being platform fl exibility that UE3 demonstrates Enslaved: Odyssey to the West. brought to life using the studio’s latest was a key factor in allowing us to concentrate “We’ve worked with the Unreal Engine for performance capture technology, which on the game itself. Rather than having to a long time now, and we found that the engine has excelled at pushing things forward designate one console as a lead platform would enable us to achieve what we wanted over its past story-driven action games. we were able to treat them as equals. There with DmC, whilst at the same time allowing us “We’ve developed an in-house facial are, of course, systems that work differently to get involved in making the game straight motion capture solver that we used for all of between platforms but, thanks to the engine, away,” said Dominic Matthews of Ninja Theory. the cinematic scenes in DmC Devil May Cry,” these are the exception rather than the rule.” “A new engine would have meant at least six said Matthews. “This allows us to deliver top By allowing UE3 to do a lot of the heavy months’ worth of learning before we could quality results without having to pay external lifting, Ninja Theory was able to focus its get started with the actual development.” companies to wrangle content for us.” efforts on creating a fresh approach to a Matthews continued, “We’ve learned what Performance capture plays an important beloved video game protagonist. DmC pushes we can do with the engine and how we can role in bringing a Hollywood cinematic feeling to the gameplay forward by giving players more modify it to our needs. Everything that we the game. Early on, Capcom told Ninja Theory choices, while offering a cinematic experience learned during Enslaved development we’ve to think of Dante and DmC as a contemporary that’s sure to attract a wide audience. been able to take into our work on DmC.” movie, as one goal is to introduce a Alex Jones, producer at Capcom, said fresh take on Devil May Cry to a wider Thanks to Ninja Theory for speaking with freelance reporter John Gaudiosi for this story. UE3 allowed the team to create larger open audience, while at the same time preserving areas than they’d done before, moving and building on the DNA of the series. UPCOMING EPIC ATTENDED EVENTS away from corridors, and gave them more “This idea of creating a Dante as if he were D.I.C.E Summit fl exibility in opening up the gameplay. in a modern day movie has guided us through Las Vegas, NV “Unreal Engine scripting is very development,” said Matthews. “We’re very February 5-8, 2013 fl exible, so some of our game events are happy with where we’ve ended up and I hope Cloud Gaming Europe a little more involved than in previous that those new to the series and existing Devil London, UK Devil May Cry games,” said Jones. May Cry fans will fi nd a lot of fun in the game.” February 21-22, 2013 Matthews said Ninja Theory used pretty In order to improve the overall game Please email [email protected] for appointments
© 2012, Epic Games, Inc. Epic, Epic Games, Unreal, Unreal Developer Network, UDN, Unreal Matinee, Unreal Engine, and UE3 are trademarks or registered trademarks of Epic Games, Inc. in the United States of America and elsewhere. All other trademarks are property of their respective owners. All rights reserved. toc 001 COntents_January 2013 Volume 20 Number 01
Postmortem
030 Papo & Yo How would you make a game about growing up with an alcoholic parent? Find out how Minority Media made it work in this Papo & Yo postmortem. By Deborah Chantson and Julien Barnoin
Features
008 Front Line Awards The Game Developer readers have spoken: Find out which dev tools were the best in the business for 2012. By Staff
018 Bring Your Tools to Browsers The web isn’t going anywhere. Insomniac Games senior engine programmer Chris Edwards explains how—and why—they migrated their dev tools to the web. By Chris Edwards
025 Remixing Classics: interview with Masaya Matsuura Game Developer caught up with PaRappa creator Masaya Matsuura to chat about game developer magazine the Japanese game industry, tech, and the new indie generation. By Patrick Miller
037 Players Make the Rules A game is only as good as your players will let it be. Don’t let your best-laid game designs be ruined by contagious “bad” player behavior. By Nils Pihl
Departments
002 Game Plan [Editorial] 004 Heads Up Display [News] 006 Educated Play [Education] 007 Good Job [Career] 016 GDC News [News] 040 Toolbox [Review] 043 Inner Product [Programming] 046 Pixel Pusher [Art] 049 Design of the Times [Design] 052 Aural Fixation [Sound] 054 The Business [Business] 055 Insert Credit [Editorial] game developer magazine 064 Arrested Development [Humor] game developer magazine 001 002 game developer magazine w Corrections Readability) thatmakes itpossible to actually reader mode(similarto Instapaper or there isalsoanew just text-and-images readable (especially onRetinadisplays),but been bumpedupto make themagazinemore improvements; notonly hastheresolution has seenafew majorunder-the-hood about ayear ago,andtheiOSappinparticular edition hascome along waysince itsrelease IMPROVED DIGITAL VERSIONOurdigital the smallthings,you know? those ofyou collecting the print versions). It’s now we getaspiffybookspine(handyfor perfect binding,whichismostly neatbecause saddle-stitched bindingto what’s called upgraded ourmagazine’s bindingfrom the tweet your feedback to meat@gamedevmag. excited to seewhatyou allthinkaboutit,so (especially ifyou’re reading onatablet). I’m when you’re digginginto ourlatest postmortem look shouldbealittle biteasieronyour eyes grungylookThrasher go,butthisnew, clean said “Okay.” Joseph Mitch to redesign themagazineandhe have timefor that,sowe just told ArtDirector of mock-upsandapprovals, butwe didn’t consuming endeavor thattakes several months Magazine redesigns are usually abig,time- we’ve taken: GameDeveloper hasanew look! You’ve already noticed thefirst bigstep the new GameDeveloper magazine! NEW LOOK, SAMEBOOKFirst: Welcome to readers, willkeep meabitmore accountable thanmydentist does. improvements we’re makingto GameDeveloper in2013,thehopethatyou, dear tell you how thefirst oneworked out.)ButI’mgoingto walkyou through afew planned every dayandstart flossing myteeth. (Pearl, ourpublisher, willbemore thanhappyto Every year Imake afew New Year’s Resolutions;last year Iresolved to wake upby8a.m. GAME DEVELOPER’S SELF-IMPROVEMENT GOALS FOR 2013 Our New Year’s Resolutions w GAME PLAN_ 002 we ran awhole bunchofphotos ofthereal JonMakinthe published for Jon Mak from QueasyGameswasthewrong JonMak.Sorryaboutthat.(Fortunately, Blast Furnace for hiswork on From theNovember 2012issue’s Power 50feature: We incorrectly credited “DanMiller” from The In additionto thenew design,we’ve also We were allsadto seetheripped-from- right here. We regret theerror. Mare Sheppard’s entrywasnotactually Mare Sheppard. ThisisMare Sheppard From theDecember 2012issue’s Year inReview feature: Thephoto next to December 2012,soyou shouldhave apretty goodideaofwhathelooks like bynow.)
gp January 2013 P ITFALL ! for iOS;thecorrect nameisDanRoberts.Also, thephoto enjoy themagazine! forward to making2013even better. Hopeyou 2012 wasabigyear for usandwe’re looking that whenyou seehimatGDC2013.) Gamasutra Editor-in-Chief KrisGraft about of GameDeveloper magazine,”sotease for Gamasutra calls itthe“free onlineversion RSS sweep. (Fun fact: TheGoogle description articles thatmightgetmissed inyour daily give somelove to someoftheirlonger-form for Gamasutra, it’llbeaneatopportunityto for awideraudience to read anddiscuss, and some ofourexcellent content freely available print/digital magazines,butwe wantto make Cross-Platform), andvice versa. We love doing show upinGDMag(inournew sectioncalled start seeingtheoccasional Gamasutra feature our sister site Gamasutra. Thatmeansyou’ll we’re goingto tryto playmore nicely with GAMADEVELOPER MAGASUTRA Thisyear, (that meansyou, @SnakeEaterITA). were onAndroid can rejoin theflock very soon that you wouldn’t beresubscribing untilwe assured thatallofyou whotold meonTwitter might beoutbythetimeyou read this),butrest out ourspecific launchplans(and,infact, it finally coming along! We’re still tryingto figure instead of“iPhone”because ourAndroid appis smaller-than-a-tablet device. read the articles onasmartphoneorother And yes, Isay“smartphoneorotherdevice” S OUND S HAPES postmortem in —Patrick Miller Mare Sheppard. @patthefl ip CONTRIBUTING WRITERS Joseph Mitch [email protected] ART DIRECTOR Dan Mallory [email protected] MANAGER, PRODUCTION Brandon [email protected] EDITOR EMERITUS t: 415.947.6241 Gina Gross [email protected] GLOBAL ACCOUNT MANAGER, RECRUITMENT t: 415.947.6227 Jennifer [email protected] MEDIA ACCOUNT MANAGER t: 415.947.6227 Aaron Murawski [email protected] VICE PRESIDENT,SALES ADVERTISING SALES Mike Acton Insomniac Carey Chico Independent Mark DeLoura Independent Bijan Forutanpour SonyOnline Clinton KeithIndependent Brad Bulkley Microsoft Mick West Independent ADVISORY BOARD Underland Alexandra Hall,Matthew Wasteland, Magnus Schubert, DamianKastbauer, DavidEdery, Llopis, JonBeilin,Steve Theodore, Damion Chris Edwards, Deborah Chantson,Noel Patrick Miller [email protected] EDITOR Pearl Verzosa [email protected] Simon Carless [email protected] PUBLISHER EDITORIAL www.gdmag.com/contactus [email protected] t: 800.250.2429f:847.763.9606 ADDRESS CHANGES FOR INFORMATION, ORDERQUESTIONS,AND SUBSCRIPTION SERVICES t: 415.947.6000f:415.947.6090 San Francisco, CA 94107 303 Second Street, Suite 900,SouthTower UBM LLC. ubm.sms-inc.com [email protected] t: 631-787-3008x3020 Specialist Marketing Services Peter Candito LIST RENTAL Nancy Grant e:[email protected] AUDIENCE DEVELOPMENT MANAGER AUDIENCE DEVELOPMENT t: 877-652-5295 Jason [email protected] - WRIGHT’S MEDIA REPRINTS t: 516-562-5134 Pete [email protected] PRODUCTION MANAGER ADVERTISING PRODUCTION t: 415.947.6223 Rafael Vallin [email protected] GLOBAL ACCOUNT MANAGER, EDUCATION WWW.UBM.COM WWW.GDMAG.COM MAGAZINE GAME DEVELOPER Entertainment
004 game developer magazine THE LITTLEGUY. ABOUT STICKINGUPFOR (NEWMEDIARIGHTS.ORG), NEW MEDIARIGHTS LEGAL AIDNONPROFIT ASSISTANT DIRECTOROF TO SHAUNSPALDING, THE BANK?WETALKED LAW WITHOUTBREAKING THE RIGHTSIDEOF STUDIO DOTOSTAYON WHAT CANASMALLDEV h SHAUN SPALDING: PATRICK MILLER: LEGAL ADVICE NEW MEDIARIGHTSGIVESGAME DEVSFREE ACE to shutdown your phoneservice onpublictransportation. legal. We alsotold theFCC thatthegovernment shouldn’t beable groups thathelpedensure that jailbreaking your phoneis still comments. For example, earlierthis year, we were oneofthe regulations attheFCC andCopyrightOffice through regulatory videos, andspeakinthecommunity, andwe dothingslike change can andcan’t dolegally isGoogle. and theonly resource we normalpeople have to figure outwhatwe companies, butthosecompanies have hugelegal departments, a lot oftalent can create work thatcan compete withlarge media Internet hascreated anera where individualswithnomoney and a private lawyer, we give awayfor free. We dothisbecause the legal weight to bully you, you can come to us. before they show up,orifyou getaletter from someoneusingtheir are starting acreative project andneedhelppreventing issues to independentcreative people andaverage Internet users. Ifyou California Western SchoolofLawthatprovides free legal assistance HEADS-UP DISPLAY_ 004 We alsodoeducational andpolicywork; we create guides, The sametypeofassistance thatcosts $300anhourfrom ATTORNEY What isNew MediaRights? New MediaRights(NMR)isanonprofit program of h January 2013 games, working withbusiness partners, andmakingfan films. and how to react ifyour gameiscloned), usingreal people inyour of ourtopics includecloned games(whatcan andcan’t becloned, it, andaudio/videoinadditionto text seemslike the wayto go.Some trying to getthisinformation to people anywaythey wantto accept read something. Creative people are visualandauditory, sowe’re we doalot ofourotherguides,butalot ofpeople don’twantto just there inaformat thatpeople would wantto engagein. we decidedthatwe shouldrelease allthegeneral information out having to dothespecific, technical work afterward, too. That’s when all. We were writingallofthisgeneral information ourselves, then realized there wasnogeneral information we could pointthemto at that. After astring ofgamedevelopers came to usinFebruary, we the people we helpdon’t inform themselves. —Patrick Miller to read ourguide thatwe’ll bepublishing,and guideslike ours, to self-promotion, butthe best wayfor indiesto protect themselves is is mostly legal, butinsomesituationsit’s not.Notto dotoo much this interview withspecific tips.Longstory short: Cloning games cloned games,but thatsubjectiswaytoo hugeto talk about in anticipate whathappenswhen thingsactually dogowrong. because thenyou can eitherdoenough research to fix it,orbetter situations where there could beaproblem thatyou mayneedto fi x, your element andyou needhelp.Thebest thingyou can doisrealize to business orlegal issues, soyou can realize whenyou’re outof you don’tknow. Try to read uponabitofeverything whenitcomes and have alot oftrouble retooling your gamelater on. Monopoly, are byfar theeasiest wayto getyour gametaken down when your gamehasnothingto dowiththecompany thatmakes Trademark issues, suchascalling your Monopoly gameSuper about theprocess ofpickinganamefor your studio andgame. talk about,we’ve assisted withgameslike is thatwe’re underconfidentiality obligations.Ofwhatwe can what inspired them?Whouses from other devs cloning theirgames? SS: PM: SS: PM: SS: PM: SS: PM: the mobile game and won against anorganization thatwasimproperly threatening creator ofthewell-known Buffyvs. Edward mash-up.We’ve fought Sarkeesian ofFeminist Frequency, andJonathanMcIntosh, the mod. We’ve defended thework offeminist mediacriticslike Anita ensure they could legally release astandalone version oftheir T HE Our goalwithoureducational work like LAGD isto make sure that We’re actually puttingoutawhole huge10–20pageguideabout First off:Ourthree-part trademark episodeofLAGD talks Since we’re attorneys, ourbiggest publicrelations problem What shoulddevs know aboutbefore starting theirown studio? The Legal Assistance for GameDevelopers seriesof videos— You mentioned cloning earlier. How candevs protect themselves Got any success stories sofar? Since we already hadtext, we could post itonourwebsite like The more general numbertwo is:Always tryto figure outwhat D ARK M OD . W ORDSMITH need lawyers. LAGD isjust anextension of . T HE D ARK M OD to A Twine project. has great visualfeedback,” shesaid. languages (HTML/CSS/JavaScript), and since HyperCard, scales withexisting “Twine isaccessible onalevel unseen another strong advocate for thesoftware. recently hosted aTwine gamejam,is biggest reason whypeople are taking itup.“ effectively for Twine. Ithinkshe’s thesingle credit AnnaAnthropy for advocating quite the directions they’re taking itin.Ihave to of all,people are usingit,andsecondly, been kindofastonishing to seethat,first as recently asayear ago,”saidKlimas.“It’s “I really thoughtTwine wasadeadproject original creator, isassurprisedanyone. in thelast year orso.ChrisKlimas,Twine’s but ithasonly really risento prominence (gimcrackd.com/etc/src/). hypertext creation tool called Twine is enthusiastically adoptinga diverse group of“othered” creators fiction (IF)community, where a is playingoutintheinteractive demographic. One suchepisode industry’s focus onthe18–34male who fall outsideofthegame or otherwisemarked “different,” developers, bethey female, queer, increasing visibilityofplayers and most notable shiftscomes inthe industry change, oneofthe In anera oftumultuousgame Porpentine, aqueerwoman who Twine hasexisted since atleast 2009, for writers, notprogrammers.” when you were ready. Iwanted to make it you could alsodipyour toes into thatwater get pretty far withoutwritinganycode, but had inmindwasthatyou would beable to HyperCard,” saidKlimas.“Theconcept I no accident. “Iwanted Twine to belike notecards thatcan beconnected.” non-programmer artist—like atable fullof can thinkofthatactually feels goodto a “Twine isoneofthefew applications I to make games. tool to allow awidervariety ofpeople twine/). SheseesTwine asanideal authoring (auntiepixelante.com/ a simple how-to for Twine game F from learning to program, to goingto told GameDeveloper. “They’re dissuaded to thesamemeansofcreation,” she [the outsiders] don’tgenerally have access to queerpeople, to trans people, andso what they perceive astheother,to women, communities are really hostile to alot of kinky, adult-themed Twine in 2011 to create games like the Twine explosion. Shestarted using as anyone to theepicenter ofthe game-creation manifesto, isasclose Videogame Zinesters isasortofDIY and criticwhosebookRiseof the UCKME Twine’s similarityto HyperCard is “The mainstream sortofgame Anthropy, theoutspoken developer , andmore recently published NEW CREATORS FINDTHEIRVOICES THROUGHHYPERTEXT THE E NCYCLOPEDIA TWINE HEADS-UP DISPLAY_
included anumberofseniorcitizens. diverse crowd offirst-time gamemakers game jamsheheldinToronto, where the Anthropy furthercited anhour-long Twine Twine game.Andalot ofpeople can write.” almost alltheskillsyou needto make a said Anthropy. “If you can write you have to makinggamesfor alot of people,” a really traditional technological barrier almost no programming involved, and that’s that systemic disadvantage. “There’s those kindsofskills.” traditionally have themeansto develop engineering schoolorwhatever. They don’t and demonstrating thatyou exist.” get ontheweb andstart putting flags up and feeling isolated andinvisible, you can people. Wherever you are, ifyou’re queer J Chastain. “Ithink it’s helpedtalk to some CHAOS and day-to-day life incaptivity. that mayornotbeaboutlost love, VR, evocative languageto weave aloose tale html), meanwhile, usesbeautifully com/uploads/twine/howling%20dogs. Porpentine’sPorpentine’s howling howling dogs(aliendovecote. dogs(aliendovecote. wall-breakingwall-breaking monologue monologue from from theauthor. theauthor. transmutes into asoul-baring,fourth- increasingly nonsensical asthenarrative its stereotypical IFcommands become pretenses ofatypical text adventure, but Chaos/ratchaos.html) beginsunderthe com/games/2012-07-18%20Rat%20 J Chastain’s rat chaos(monsterkillers. dogs, two key gamesfrom thenew scene. to describebothrat chaosandhowling genuinely different.” which isreally interesting. Itlooks communities inthemainstream, inversion ofmost game-making authors. Imean, it’s basically an queer, gender-nonconforming really noticeable majorityofwomen, much atall,”shesaid.“[There’s] a renaissance. ”I’mnotcherry-picking that’ve sprung upduringtherecent a list ofnotable Twine games creators are noticing.“[Releasing games are not. Twine’s easeofusehelpsto mitigate “Genuinely different” isagoodway On herblog, Anthropy posted Other sidelined,would-be games REVOLUTION ] waslike raising asmallflag,” said h January 2013 005 —Alexandra Hall
Z ORK
RAT these
h
005 game developer magazine 006 game developer magazine to invest in timeto experiment with games, itwould have beendifficult to convince abigcompany Was that easierto get off theground inacademia? http://raddragon.com/shove-pro Shove Pro EDUCATED PLAY _ 006 TD: AH: TEDDY DIEFENBACH: MS: AH: MIKE SENNOTT: since originally you shoppedaround for aschool? Alexandra Hall:Hasthegameeducation landscapechangedalot cultivated for us. we leave room for theexperimentation andfast pace thattheIMD of business planningandstrategy, it’s very important to usthat mentioned into ourcompany. While we now have to becognizant didn’t seeanyreason whywe couldn’t carry theculture Mike to form Rad Dragon instead oftaking jobsafter school,we MFAs, sowe hadthatperspective our goingin.Whenwe decided industry before we joinedtheInteractive MediaDivisionfor student to stand outinthefield. in, butasaresult it’s goingto getincreasingly difficult for a chance to develop theirskillsandcreate somethingthey believe It isunambiguously awesome thatmore people are gettingthe get asmanyweird looks for spendingmoney onagamesdegree. so there are programs inmore places, andyou probably won’t take fulladvantage ofthatpotential for drive andagility. excuses notto getthingsdone.IthinkUSChasprepared usto people orpushing for approval, butasindiedevs we have no advantages. Atbigcompanies there’s alot ofwaitingonother think carrying thatattitudewithusisoneofRadDragon’s main that we hadto doourbest instead ofpsyching ourselves out.I producing shockingly goodwork invery little time,andwe knew the culture ofgettingstuff done.We could seeourclassmates But maybethemost helpfulthingwe gotoutoftheprogram was such ascoding, iterative design,leadership, andscoping down. there andmakingstuff, sowe learned practical development skills “real-world” development? they have with PowerPoint andsomeconcept artthat people would connect like cartoon storytelling, anditwould be hard to prove withjust a Before we’d hadtimeto prototype anddevelop ourthesis Both of thesisprojects your feature elements. story interactive AFTER GRADUATION. THEM TOHEARTHEIRTHOUGHTSONUSC’SGAMEPROGRAMANDOFDEVLIFE QUICKSILVER: INFINITESTORYANDTHEMOONLIGHTERS.ICHECKEDINWITH ARE NOWWORKINGTOFURTHERDEVELOPTHEIRRESPECTIVETHESISGAMES, STUDIO WHICHRECENTLYRELEASEDSHOVEPROFORIOS.THEUSCGRADS MIKE SENNOTTANDTEDDYDIEFENBACHCOMPRISERADDRAGON,ANEWINDIE Definitely. USC’s grad program isvery focused ongettingout Are satisfi you ed withhow USC’s program prepared for you Games education hascertainly grown inpopularity, T HE Mike andIwere bothfortunate to work inthe M OONLIGHTERS January 2013 January 2013 , aheist game aboutwashed- Q UICKSILVER ’ S procedural and theinteractive field can still profit from your time. like anindiemight. You can write apaperonwhyitdidn’twork, idea doesn’tturnoutlike you’d planned,you won’t gobankrupt sort ofriskwithoutfearing failure. Inschool, ifyour grand game emphasis isonexperimentation andlearning, can you take that a muchbetter-designed iteration. Only inacademia, where the style? TD: AH: Q MS: be makinggames for alleternity. —Alexandra Hall more ambitiousideas and grow RadDragon into astudio thatwill design. Withany luck, we’ll beable to continue forward withour incorporate exciting originalconcepts ingameplay andnarrative the freedom to dowhatwe do—buildgamesthatentertain, but to take thefinancial riskourselves andform RadDragon. We love burning desire to create together, andtheonly waywe could was with theirwork! There are just somegameideasthatwe have a at L.A.triple-As like NaughtyDogandInsomniacblow ourminds so long aswe find away to make ithappen. writers, producers, andpitch men.We can dowhatever we want, games atRadDragon, we’ve hadto begamedesigners, coders, but we have tighter resources. For ouracademic thesesandour a double edged-sword. Noonestops usfrom tryingthesethings, industry. Butthefreedom ofacademia andindiedevelopment is out to contribute somethingvaluable andoriginalto thegame up 1950scrooners. USC’s MFA program insisted thatwe set UICKSILVER It’s never really beenabout Bigversus Indieto us.Ourfriends Given your trajectory, might your abigstudiosituation cramp trajectory, your Given AtUSC,Iwasable to spendmuchofayear working on rent, ramen, andresources A FUNFACT # OFLINESCODEINTHEGAME rent, ramen, andresources DEVELOPMENT BUDGET DEVELOPMENT TIME RELEASE DATE DEVELOPER PUBLISHER game’s useoftheme“tangential bullshit.” theme was“shadows.” Thejudgescalled the prototyped for aUSCgamejamwhere the , scrap it,learn from it,andspendmythesismaking RadDragon
RadDragon S HOVE November 8th,2012 P 3.5months RO $17,996.24’s worth of wasoriginally 14,638 w w Who Went Where w w Tornquist willalsoremain inanadvisoryrole for TheSecret World. NEIL YOUNG ANDBOBSTEVENSON SIM DIETRICH The Secret World‘s creative director, product managerfor thegraphics company’s Tegra lineofmobile processors. development. Chen comes bywayofPapaya Mobile andNvidia,where hewas Mobile gamescompany PlayFirst has hired 2010. Young andStevenson are saidto be“moving onto our next adventure.” the company wasboughtoutbyJapanesesocialgamesgiant DeNAfor $400millionin Ngmoco, have left thecompany to move onto other opportunities.Founded in2008, technologies duringhisprevious engagementswithIntel andNvidia. performance teams, andiscredited withtheinvention ofseveral patented comes from OnLive, where hemanagedtheplatform, UI,engineeringandgame rights to create asequelto hisadventure game classic, launch. Thanksto arevenue-share dealwithFuncom, Tornquist’s acquired the Funcom to create anew independentstudio following thepremium MMO’s rocky the hopto KIXEYE? U.S., anyway). What prompted trendindustrywide inthe (well, with ngmoco before an that was then jumpinginto free-to-play the bizfor awhile, first at EA, them again. at thechance to work with a few people here andjumped drive thestrategy. PlusIknew fundamental level—and help where Icould contribute ata a really strong focus onquality looking for acompany thathad social gamesto mobile. Iwas shift andbringourclass of great moment to make the Facebook, Ithinkthisisa synchronous PvPgameson KIXEYE’s dominance with just now opening,andgiven for mobile isadoorthat Developing midcore games a hugeopportunityhere. U of beginning withthelaunch to move furtherinto mobile, me atallwilltell you I’mnot video. Most people whoknow posters onBART? it?Orthosememe wasn’t recruitment videoonYouTube, CS: PM: CARYL SHAW: PATRICK MILLER: NLEASHED B Heh. Iactually loved the Be honest—it was the Be honest—itwas ACKYARD hasjoinedfree-to-play mobile MMOdeveloper MachineZone.Dietrich KIXEYE isstarting , andIjust saw M You’ve beenin ONSTERS : , two oftheoriginalfounders ofmobile gamescompany RAGNAR TORNQUIST personality would fit inwell. where myvibrant andcreative it seemedlike acompany a terribly shyflower, and Why get into socialgamesnow? layoffs andexec departures. notably punctuated by Zynga’s in thesocialgamesbiz,most saw something of adownturn CS: PM: and competition. Ithinktrue ways to promote collaboration that you do)opensupnew enjoy thesametypesofgames interest graph (people who (people you know) orinyour people inyour socialgraph Whether you are playingwith will definitely needto evolve. games aren’t goingaway,but games. Socialinteractions in with eachotherthrough to compete andcollaborate goal isto provide players ways meaningful for thegamer. My be doneinawaythatfeels to stay, butIthinkithasto Ibelieve socialishere Toward theendof 2012,we PAUL CHEN STILL THEPLACETOBE. FOR ANEXECUTIVEPRODUCERGIG.SHETELLSUSWHYSOCIALIS MAXIS/EA/NGMOCO PRODUCERCARYLSHAWWASHEADINGOVERTOKIXEYE WHY WEATGAMEDEVELOPERWEREINTRIGUEDTOHEARTHATFORMER THEY HADBEENJUMPINGINATTHEBEGINNINGOFYEAR WHICHIS EXECUTIVES ALIKEWERELEAVINGSOCIALGAMESJUSTASFAST BY THEENDOF2012,ITSEEMEDLIKEEXPERIENCEDDEVELOPERSAND Shaw’ll ReadyFor This? asvice president ofbusiness , hasparted wayswith T HE L ONGEST J OURNEY game footage for thenew biz for awhile. miss Doyou it? packaged-product sideof the console/PCtraditional S CS: PM: explore andmake themost of, something shinyandnew to my ADDside—there’s always mobile world appealsmore to fast-paced, server-based assigned to me!Butfrankly, the having never hadonebug a MaxisgameI’llgetto play for doingit.They are making again, butIlove thoseguys five years working ononetitle that. I’mnotsure Icould spend career shiftto mobile even for overall Iwould nottrade my contribute to thatgame,but Maxis. Iwould have loved to homesick for mytimeat the next few months. wait to seewhere thatgoesin from social games,andIcan’t competition hasbeenmissing IM Watching thevideosof You’ve beenoutof the C ITY . makes mesuper u New Studios u u to to 360: BlackTusk Studios. Drawing acomparison will focus oncreating triple-A gamesfor theXbox formed anew studio, TAKE-TWO ISMOVING MICROSOFT’S OPENEDANEWSTUDIO development team behind Since beinglaidofffrom Reverge Labs,the upwards of150employees. Vegas. Thenew location willlikely support from Northridge,California to downtown Las Perhaps influenced bylocal financial incentives, something from theground up.” big entertainment franchise …We are building that thestudio is“working onMicrosoft’s next continue supportingitshardcore 2D fighter. with publisherAutumn Games,LabZero will H ALO , studio managerMike Crumpsays GOOD JOB_ the time. plus I’mlearning new stuff all paying attention to? (and everyone else)shouldbe dev market trend that we of gaming. to foster theirnewly found love innovative gamesthatcontinue expectations andmake truly creatively address thosenew consumers, andit’s ourjobto to mature asgamers and those folks are goingto start the not-so-distant future, themselves asgamers. In gamers whodon’tthinkof last year ortwo—the casual started playinggamesinthe watch are thosethatjust PM: CS: its2KWest QATesting studio CARYL SHAW HEADSTO KIXEYE I thinkthecustomers to What’s thenext biggame LAB ZEROGAMES S gj January 2013 KULLGIRLS inVancouver that 007 They’re going experiences. game from their expectations having higher —Patrick Miller . Stillworking has
007 game developer magazine 008 game developer magazine 2012 Aw Line Front the 15thannualGame developer front lineawards_ 008 nod intheProgramming category. Also,we nixed the modo 601managedto unseatAutodesk 3dsMaxfor best Arttool, andBugzillafinally won a much-deserved yet stay thesame. Havok Physics, Pro club, whichisnotsosurprising, considering how ourindustry somehow manages to simultaneously changeand Front LineAwards. Here’s how itworks: For 15years, we atGameDeveloper have continued to honorthebest development tools inthebusiness withour important for devs to make sure they can work with tools thatdon’t break their(nonexistent) budgets. as more andmore game developers start working insmallandscrappy indiestudios, itbecomes ever more a list offinalists that we put to a community vote to determine which tools come outon top. editors, withalittle helpfrom ourrespective advisoryboards, sorted through those nominationsto come upwith large community members could nominate theirfavorite tools. From there, theGameDeveloper andGamasutra T Congratulations to thewinners! Here’s to anotheryear ofgreat games—andthetools to build themwith. his year’s crop ofFront LineAward winners includesafew repeat winners and afew new members to the
fl a a January 2013 rds T ools, andUnreal W e started withanopennominationprocess where readers andat- N etworking category infavor ofaBest Free E ngine 3hadrepeat wins thisyear, while Luxology’s T ool category; —Patrick Miller because itoffers afree basiclicense and reasonable pricing particularly usefulfor smallstudios andindies, especially standardize engineers withdisparate skillsonto onetoolset. interested incross-platform releases, orifyou needto options that that integrates withtherest of a boonifyou needto provide extra supportfor non-coders through code, allowing you to tailor your own tools, whichis struggling against using code-based solutionsandtool-based solutionswithout a powerful combination thatallows you to fluidly move between coding support;thewhole packageplays nicely together. very few barriers to gettingyour handsdirtywhenyou need importing, animationtool, particle designer,andsoon). the commonly useddevelopment tools (level editing,asset meshes well withthe the transition for web developers. partly familiar withit,while itsJavaScript supporteases built on architecture thatisbothpowerful andflexible. Since it’s simply anice experience; ithasaclean, component-based this isarguably Speed ofdevelopment isakey factor inmakinggames,and offering established developers acompelling tool. the gamedevelopment scene while simultaneously value, andease ofusethathasputnew faces in to thetop, offering anunprecedented mixofpower, O most important tools to come outofthisera is the indiesector’s riseto prominence, andoneofthe board are easierto obtain anduse,whichhasenabled development. Fast-forward to 2012: tools came anincreased focus onspeedandeaseof for free orcheap.Along withthisdemocratization of cost barriers, were beingopenedupto themasses development tools, historically hiddenbehindhigh- planted theseeds ofchange.High-quality I n theearly partofthedecade, ut ofthisstorm ofexperimentation, U U nity’s potential for speedydevelopment makes it nity alsohasalot ofpower inthenon-coding tools, and M ono, thosewho’ve hadrun-inswith. U nity provides are alsoabigtimesaver ifyou’re U nity’s strongest suit. U nity. U nity Editor, whichprovides manyof T he editor itselfcan bemodified U nity. T he code sideofthings the gameindustry T C he broad deployment oding for T ools across the U nity bubbled N E U T willbe nity is U T nity. his is his is independent studio onagamecalled for itspro andplatform licenses. results for theamount ofeffort you putinto it.What’s more, a financialand technical perspective, andoffers excellent development to thosewhoaren’t involved inreasonably efficient rendering, openingthegate of it abstracts awaymuchoftheextremely technical work but for manydevelopers thetradeoff iswell worth it.Plus, compromises thatkeep itfrom beingacutting-edge tool, been tough ifwe hadtaken adifferent production path. we gotthegamedoneonatightschedule, whichwould have a bunchoftools from scratch, sowe chose and we wouldn’t have somegreat games withoutit. U four-person team atagamejamto thetriple-A juggernauts. speed, itcan have aplace inallmannerofstudios, from the developers needto address, andwithitsswift development U past several years intheindustry. for quickly prototyping, iterating ideas,andtinkering. workflows thanwhat studios operating onthebleeding edge,orwhoneeddifferent you neednotquite aspainful. it’s acentralized repository of tools, makinghuntingfor what Beyond providing ameansfor developers to selltheir tools, allows developers to distribute plug-insthatthey’ve created. also provides thecommunity withtheAsset Store, which share knowledge with and support other devs. T of whatmakes solo while still goinghomeandgettingsomesleep eachnight. Would my standard tool for gamejamsaswell. a little bitof all handsondeck.We were allpretty well-versed in one oftheengineers didn’tknow native code—but we needed here are alot nity hasopenedthe doors ofgamedevelopment for many, nity thrives inthediverse ecosystem ofdevices thatgame U U We would beremiss ifwe didn’tacknowledge thatpart O nce nity reflects thechangethathasbeenoccurring for the nity isstill ageneralized engine,whichmeans M olydeux?” jam,andwasable to finishthegame coding I *** gotcomfortable using U ElijahO’Rearisasoftware Studios. engineerat Midverse nity experience, anddidn’thave timeto build ofpeople using U nity specialisthecommunity of Unity U nity hasto offer, itcan still bevaluable Te chnologi U nity, whichmeansit’s easyto U I I D t’s approachable, bothfrom worked atasmalli Unity 3D nity, irect3 G rem I started usingitas I used it at the “What useditatthe“What D / e O L U s unity3d.com penGL gurus.For nity. With egends T he U hall offamE nity devs. U C nity team , and O #, had U S nity
009 game developer magazine 0010010 game developer magazine lu luxology modo 601 art front lineawards_ 010 xo l ogy.co m
/ fl m a o d o January 2013 for arendered FMVorprinted promotional reference—if someoneneedsadetailed model is mostly usedonly for texture orre-topology generated inexternal sculptingapplications, and game model.Thehigh-resolution modelisoften source for texture mapsto beappliedto thein- version ofthesamecharacter that is usedasa models: areal-time mesh,andamore detailed started onacharacter idea ordesign. that fully represent whatIhadimaginedwhen polished high-resolution modelandrenders from concept art,to real-time content, to a game character from beginningto end,starting able to realize thepromise ofcreating anentire (NPR) shaders andcharacter riggingtools, Iam implementation ofNon-Photoreal Rendering rather timely launchofmodo601.Withits were thesameonesIhadusedto editUVs. rendering andcleanup, asmanyofthetools for othertasks, suchasmodelingandtexture gradually found myselfusing modomore often with comparable applications atthattime.I character modelsmore easily thanIcould 2007—I picked itupto edittheUVs onmy character production on ways to improve thequalityandspeedof I first encountered modowhile looking for among 3Dsoftware packages. shaders—which isstrangely unique use character rigging,texturing, and seamlessly incorporates easy-to- modeling andrendering tool that 601, Luxology hascreated acompelling ecosystem. Withtherelease ofmodo ideas rather thanacomplementary more like acollection ofseparate using last-generation tools thatare asked to create next-generation art As aresult, today’s gameartists are interfaces, workflows, andfile formats. applications thathave different user has to adaptto apipelineoftools and console game.Avideogameartist packages to create assets for amodern need to useseveral different software 3D artists ingamedevelopment often Typically, agamecharacter requires two Fast-forward to spring2012withthe G olden A xe in classic represent theoriginalsignature style ofthe was to make thein-gameassets faithfully so) from theactualin-gamecharacter. result looks different (sometimesdramatically and touching themupinPhotoshop. Theend or just make dobyrendering in-gameassets images, theartist willeithermake anew model mistaken asfinalartfrom time to time. lighting andposetests were sometimes marketing efforts; indeedeven ourquick provide high-qualityimagesto Sonyfor their and posingtools, we were able to rapidly their subtle style andform. consistently represent thegamecharacters and geometry, therendered imagesaccurately and high-res modelsusedto create thein-game of thegame.Since Ihadbeenreusing thesame painterly look thatmatches to theoverall style and textures to getarendered, slightly stylized, combination ofcel shaders, material presets, compositional narrative. that show offtheirpersonality orprovide position thecharacters into various poses a skeleton, andthenusethePoseTool to created for thein-gamemodel,quickly add res model, Icould apply thesametextures Sub-D model.Since Iusedmodofor thehigh- convert thelow-res modelto ahighly detailed a single scene byusingitssculptingtools to both thein-gameandhigh-res modelswithin console game.Withmodo,Iwasable to create same timeupdatingtheirlook for amodern For Thanks to modo601’s new shader The last step wasto render usinga S S ly ly C C ooper ooper *** John Hayes isaseniorcharacter T characters, while atthe hieves artist at Sanzaru Games. at Sanzaru artist
in T ime , ourgoal Havok havok.com/products/physics Havok Physics middleware P ( helicopters, andhybrid vertical takeoff or land and buildallkindsofwatercraft, airplanes, and motors withour vehicle weapon system; turret physicsbycombining friction issimulated; make ourown tank drifting physicsbychangingtheway vehicle top ofit.We were able to implement ourown foundation andthen customized andbuilton we usedthe provide better vehicle physics. ways we can customize itandextend it. the physicsengineprovides, butalsothe us, it’s notjust aboutthefeatures that have itproduce somethingrealistic. For to take thecraziness we throw atitand We’ve beenable to rely on a problem for a physics engine like make itallhappen.Fortunately, thisisn’t the hoodthere issomeunusualcode to shouldn’t besurprising,then,thatunder could thenexpand. provided asolidfoundation uponwhichwe representation ofourterrain collision. result wasafast andvery memory-efficient custom tailored to ourusage needs. provided optionswithourown storage scheme implement our own byextending oneofthe terrain collision representation, we choseto A limits ofcurrent consoles ischallenging. S M S T R known for itsover-the-top gameplay,and VTO aint lthough he hysics isalways improving. New features, aint ow aking aworld aslarge anddenseasthatof Even with everything italready does, V L) vehicles bybuilding ontop of games,sowe are constantly striving to ehicles are very important in S s aint s R R ow H ow avok provides multiple optionsfor s : R H T : avok vehicle physicskitasa he ow T he
T serieshasbecome hi
T r hi d r inside the memory insidethememory d isnoexception. H H avok constraints O avok nce again, S aints T H P he he H avok. hysics hysics H avok H avok.
avok I t t advantage ofbetween developed, whichwe were able to take optimizations, andfixes are constantly being H crazy problems, it’s comforting to know games. Whenthosegamesruninto equally can expand uponthemto make crazy new new features are beingadded,sothatwe worry aboutthemlike we usedto. behind thescenes sothatwe don’thave to cross-platform differences are handled better andbetter. several years, anditjust seemsto begetting end ofaproject. site for somehands-onattention toward the versions. for feedback onwhatto improve for future of theirfuture plansfor theengineandask asked, they alsocontacted usto inform us with difficultbugs.Beyond just helpingwhen made abigdifference whenwe were dealing tools, suchasthe knowledgeable team andexcellent support team helpedustrack down theissue. into over-the-top bugs, Whenever ourover-the-top physicsran so thatwe could focus onotherdetails. the physicsengine’s cross-platform support H difficult andtime consuming. Fortunately, performance across platforms can be 3 andXbox 360can attest, gettinggood experienced withsupportingboth in thefuture. P has really benefited from itsuseof S aint hysics, andwe look forward to usingthem avok supportisthere for us. avok continued makingimprovements to We’ve beenusing Finally, s R ow O n occasion, we even hadthemon- H : : avok supportistop-notch. T he
T M H hi *** ore andmore ofthe avok r H S programmer at Volition Inc. d Shawn Lindberg isasenior avok H aint . V A avok’s support isual s developers P s R hysics for S front lineawards_ ow aint D ebugger, P I 2 nteresting H lay s and avok R T S heir ow tation
January 2013 fl a 011
0110011 game developer magazine 012 game developer magazine day isn’ttoo far away. software to create onepipelinefrom asset creation to integration. Hopefully, that compression. are widely regarded asthehighest qualityinthebusiness from ampsimulationto matter to upgrade to When you decideyour wallet and your needsrequire thetop end,it’s asimple huge studios, optfor as thebudgetstudio, soifyou’re looking for somethinginthesamefamily asthe with aSound the engineers “just don’thave to worry about.”Unless you are recording inthefield the road orat through theroof, you needa sound sessions, where somanypeople are working thatyour hourly rate starts going rock-solid performance isamust. crashing are almost zero—and whenyou’re recording expensive star voice talent, time. VO perform aspectrumanalysis, andbased onscripting,correctly process andname and proprietary voiceover software thatwillautomatically trimvoice recordings, I can’t afford to lose data duringarecording session oranexport. hundreds ofthousandslinesdialogue inacomplex chainofintegration, you reliability. When you are faced with linking T well asjust aboutevery majorgame-centric audiostudio. But thesedaysjust aboutevery publisher longer to findacceptance amonggame studios due to itshighprice tag. major recording studio around theworld bythemid-1990s,ittook alittle digital audioworkstation ( When itcomes to digital audio, avid.com/US/prod A Avid Pro Tools audio have used he mainedge V front lineawards_ 012 takes. ID I A I When itcomes to dealingwithrecording ahundred orchestral players andfoley ’m waitingfor the day n addition, nother thing I technology f your M any P P D ro A ro T evices orNagra system, P bbey here are alsoagreat dealofvirtualinstruments available. P DA
T ro T ro ools inconjunction withbothcommercial (Gallery Software) ools system issetupproperly from theget-go, thechances ofit P fl Ws tend to stumble, crash, andhangthesystem from timeto ro T T a R ools hasmadeaneffort to bereachable to the ools hasover just aboutevery oneofitscompetitors is P P oad, most likely you’ll finda T ro ro ools hasgoingfor itare its outsourcing group, andvice president of Guild. theGame Audio Network u ct T T P ools Express or ools|H ro s DA *** DA /family/pro-tool T W thatdoesn’tlet you down. Whether recording down ools willdirectly connect withgamehardware and W). While Alexander isthepresident Brandon of Funky Rustic, anaudio D . P ro January 2013 P T ro ools isconsidered thestandard P P T P ro ools willbethere. ro ro T T I ools SEwithan ools to your game engine to process ’m aware ofuses T ools wasamust-have inevery P RTA ro s T S and ools system connected that AA X plug-ins,which M F box interface. or example, PC P ro useraswell T ools, as B T developing aneffective engine. knows whatit’s doingwhenitcomes to documentation, it’s pretty clear thatEpic UDK, new updates every month,andgood growing list ofindependentreleases viathe of highly successful triple-A gamesanda game technology, anexpansive portfolio of experience beingatthefront lineof to working withUnreal. Withtwo decades again inearly 2009,Iwent straight back when Ibeganworking onmyown games damage thatbadtools could doto aproject, stuck indevelopment hell.After seeingthe time andunderbudgetonethatgets between agamethatgetsfinished on every dayto effectively dotheirjobs. tools thatartists anddesigners needto use programmer can useto getthejobdone,and the enormousdifference between tools thata the tools were amess. Ilearned to appreciate the company usingtheirown proprietary tech, days, dueto Unreal’s mature, efficient toolset. into fully fledgedprototypes inamatter of pre-production, designspecscould beturned what we were already familiar with.During essentially just amore up-to-date version of tools available to usasfulllicensees were unannounced Unreal Engine 3game,the by alarge studio in2008to work onan games suchas that Epicanditslicensees usedto create commercial titles, usingthesametools Kit, you can create high-quality,standalone with themost affordable Unreal Development Available undermultiple licenses, starting your radar isUnreal Engine3. one thingthatshoulddefinitely behighon develop thenext bigthingonconsoles, mobile markets, orastudio looking to aiming to make asplashinthePCor game development, anindiedeveloper Whether you’re astudent tryingto getinto creating modsfor through auniversity degree thatincluded ournament orderlands Good tools can bethedifference When Ilater worked onothergamesat I wasfirst introduced to Unreal 3in2007 . Whenafew ofuswere hired , and G ears R I oblitz nfinty
of W ar B and , M lade ass U . nreal E ffect front lineawards_
Unreal Engine3 , the Unreal Editor, Imanagedto create you, though. execution speed.Don’tlet thatdeter development simplicityandpower over raw combination ofC++andJava, withafocus on it. UnrealScript islike auser-friendly C++ code thatrunstheenginebeneath UnrealScript, notthelower-level native higher-level scriptinglanguageknown as of. TheUDKwillonly give you access to a there are a couple ofcaveats to beaware Development Kit,suchas have beendeveloped using theUnreal lower-level native C++code. without ever havingto gonearanyofthe at the2012IndependentGamesFestival, even won theaward for Technical Excellence programming, design,andartmyself, inverse lightingsystem. Ididallofthe techniques, edgedetection, andacustom visual style madeupofmultiple rendering spatial navigationrules, andaunique complete withcustom physics,obscure Euclidean psychological exploration game, reinventing thewheel. the boundariesofgamedesign,butIhate actually care about.I’minterested inexploring I can just focus onworking onthethingsI core foundational work inthehandsofexperts, where to start. ByusingUnreal andleaving the staring atablankslate, tryingto work out to me,there isnothingmore dauntingthan like havingcontrol over every single detail, but strengths andweaknesses are. Somepeople developing gamesisknowing whatyour team withnoprogramming experience. released onSteam atthestart of2012bya interesting case wasQUB the transition to consoles. Oneparticularly upgraded theirlicense whenthey made development usingtheUDKandthen A such as S E anct nt pic Using nothingbutUnrealScript and From aprogramming perspective, Several successful independenttitles One ofthemost important aspectsof *** i cha G um Alexander Bruce isanindependent developer ames Unr D mb , u and n er g eon , anaward-winning non- H a and thecreator of w
D ken ea efenders
l . Othergames, fl e January 2013 E T n a , whichwas he gi 013 B , began n all A e nt . co , i
cha m/
engine mb udk er .
013 game developer magazine 014 game developer magazine than anyofAutodesk’s products in terms ofmodelingand experience, Ihave actually found speed they hadonthesoftware they were usedto. Inmy artists at interface andcustomizing ourkeyboard shortcuts—the 3 taught to useitwhen they start outinourcompany. used with thatsoftware wasastrong asset andIwashired. I’ve founder started gatheringateam, myprevious experience $5,000 perheadfor commercial 3 small budget,sowe opted to use in new ways. and ishelpingartists around theglobe to express themselves Max. university years learning to useSoftimage XSIand3 with computer graphics thatled meto spendtherest ofmy working toward myclassical artdegree, andfelt an affinity I first started working with professional-quality movies andgameartwithfree tools. community demonstrates thatyou can still make rendering tools thatisgrowing innotoriety asitsuser combination ofpowerful modeling,unwrapping, and B blender.org T Blender free tools front lineawards_ 014 he Blender lender isafree, open-source 3 After afew weeks ofadaptation—getting usedto the O ur development studio ( B B lender’s accessibility remains oneofitsstrong points lender ever since, andnew N ine
D ots were able to reach thesame production fl F oundation (opensource) a B lender sixyears ago,while N ine B B D D N lender to befar faster lender instead ofpaying software. Asthestudio’s ots) wasfounded ona January 2013 ine D artsuite with a D ots artists are D Studio D
working onourfirst game, video games. unwrapping, atleast for thelow-poly modelsrequired for For videogamecreation, Ican speakfrom experience that that can beoptimizedto greatly increase production speed. characters. started work onamore ambitiousproject withfully detailed refines its strengths andirons outitslast kinks! those ofitscostly competitors. I’meagerto see itgrow asit B streamlined, savingussomeprecious time! with therendering software, theproduction pipeline is gameplay videos;since thevideoeditingtool is integrated We alsoused bodies andfaces ofourhuman(andnonhuman!)characters. for creating anelegant facial geometryandfor animatingthe painterly look for ourgame. I found while exploring thesoftware hashelpedusobtain a baking theresult inthediffusetexture. Thatsingle feature manipulate thegeometryinamannersimilarto Z as thenewly implemented sculptmode,whichlets theartist I drew thelightsandshadows onthe3 lender’s modeling andunwrapping tools are onparwith I also made good use of my graphics tablet in In short, After we released O B nce again, B lender isanaccessible andcustomizable tool *** lender to editsomeofourtrailers and Etienne Vanier is thelead at NineDots artist Studio. B rand B lender hasproven to beagreat tool B O rand onXbox 360andPC,we ther features usethetablet, such . UsingthePoly Paint mode, D meshitselfbefore B B lender while rush. consider thelicensed per-seatsolutionsthatare currently onthemarket. do ourpartto keep italive well into thefuture. their timeto make the product even better, andhopethatwe inthe gameindustry now automatically look toward opensource solutionsto ourtool problems before development toolsets. Because ofmypositive experience working withBugzilla, with new cloud subscriptionmodelsthathave become thenorm for many products, Bugzillaisawelcome respite to theincoming tool costs associated enormous host ofsmaller developers working withlower budgetsto make their source product. Thiscannot beunderstated. allows theteam to setdeadlinesandtest against usertimeestimate accuracy. find potential bugduplications before they are committed to thedatabase. Timetracking timeframes. react to updates andcommunicate build-testing results backto theteam withinshorter contribute to itsutilityandusability. to roll upnew features for theteam to implement. because we could earmarkrequests withtheirown category, whichcould thenserve each prioritycategory were remaining. Thiswasusefulfor feature tracking aswell, our list, whichusers were behindinclosing theirissues, andhow manybugsof gave meanup-to-date chartthatshowed how quickly we were closing bugsoff convenience process. Theabilityto markorupdate multiple bugssimultaneously wasaworkflow was efficient,quick,andeasy to learn anduse. disciplines working onbuildingafree-to-play onlineP team in For me,Bugzillawasparticularly convenient while the development process. one ofthosetools thatwe allrely onduringthemost critical momentsof software. Butit’s oneofthoserequired tools inourdevelopment arsenal, Bugzilla isn’tthesexiest product intheworld—after all,it’s bug-tracking B mozilla foundation (opensource) Bugzilla programming u gzilla.org To thatend, Perhaps themost usefulpartaboutBugzilla,though, isthatit’s afree, open- Bugzilla’s tracking features are complemented byawhole host ofotherfeatures that Bugzilla hassomekey features that *** Carey andamemberof Chico veteran theGameDeveloper isagameindustry board. advisory C hina. I I ts automatic duplicate detection feature (aform ofautofill) lets theuser could notlive without. I I n thissituation,we hadagroup ofabout20developers ofall salute the Bugzillateam, aswell aseveryone elsewhoisoffering E Unreal Engine3 pic front lineawards_ G ames Unrealengine.com/ I I ts emailnotifications allowed me to immediately alsoappreciated thetracking reports, which engine I found essential inourdevelopment I n anindustry thatisnow partyto an
I wasworking withabilingual C game.
fl January 2013 I a n ourcase, Bugzilla u dk 015 I
I
015 game developer magazine 016 game developer magazine MARCH 25–29,2013MOSCONECENTERSANFRANCISCO,CA GAME DEVELOPERSCONFERENCE more dueover thenext few weeks. Schedule Builder,withhundreds more than20sessions viatheinitial the show’s organizers have debuted in SanFrancisco now underway, With planningfor March’s GDC2013 HIGHLIGHTS NEWROUNDTABLES GDC 2013DEBUTSSCHEDULEBUILDER, most pressing issues facing today’s game art teams. Thissession willaddress the should manage,lead, anddirect their to exchange ideasregarding how studios open forum for artists andartdirectors Artist Roundtable,” whichwillprovide an MMO, willhost the“Art Director andLead the company’s unannounced next-gen director atBlizzard Entertainment on from their fellow developers. their personal experiences, andlearn engage inface-to-face discussions, share attendees to sitdown withthehost to these roundtable sessions allow GDC’s standard lectures and panels, into your production processes. Unlike art teams andincorporating designers roundtable talks focusing onmanaging organizers have alsoaddedapairof Frictional Games,andMicrosoft. scoring, plustalks from Double Fine, including a“poster session” onMetacritic highlights to befurtherexplored soon, via itsofficial Schedule Builder,with announced talks are now available online part ofthisprocess, GDC2013’s very first stages andinto theofficial program. As talks through multiple submissions members, whoare individually mentoring working closely withtheadvisoryboard As always, prospective GDCspeakers are (Dtecta), Stan Melax(Intel), Squirrel Eiserloh (TheGuildhall atSMU),RobinGreen (Microsoft), andGraham Rhodes(AppliedResearch Assoc., Inc.). principles to thecomplex topics every programmer shouldmaster. session, titled “Mathfor GamesProgrammers,” willbringtogether ahost ofprogramming experts to cover everything from basicmathematic game writers andtherest of the development team. dialogue writing.Ofcourse, developers inotherdisciplineswillbenefit from thistutorial aswell, asthey willlearn how to bridgethegap between this session, he’llprovide acomprehensive primerfor gamewriters, covering thebasicsofgoodstory structure, character development, and content, andunderstand themathematicprinciples behindmoderngameprogramming. tutorials to helpattendees sharpentheiressential skills. is whythenext GameDevelopers Conference inSanFrancisco willfeature anumberofrobust No onecan make atruly great game withoutfirst understanding thebasicsofdevelopment, which GDC 2013’SSPECIALIZEDTUTORIALS BECOME ABETTERWRITER,PROGRAMMERWITH First, KeithSelf-Ballard, aart Alongside theSchedule Builder,GDC Confirmed speakers for thissession includeJimVan Verth (Insomniac Games),MannyKo(ImaginationsTechnologies), Gino van denBergen The second new tutorial isanotherGDCfavorite aimedathelpingdevelopers understand thefoundation ofmoderngameprogramming. The In thefirst tutorial, LucasArts lead narrative designerEvan Skolnick willreturn to GDCto host “GameWritingFundamentals inaDay.” During GDC 2013’s organizers have debuted a pairoftutorials to helpdevelopers create better narrative ® Technology professor David Wessman (TIE developer andUniversity ofAdvancing overcome thesechallenges. with abetter understanding ofhow to artists, andattendees willwalkaway E their entire studio. a more collaborative atmosphere across cross-studio communication, andcreate understand eachother’s roles, improve will helpdesigners andotherdevelopers Designers andDevelopment Teams,” “Whose DesignIsItAnyway?Game other disciplines.Hisroundtable, dubbed should interact withdevelopers from will helpattendees look athow designers F IGHTER SCAPE In thesecond new roundtable, storied
FROM , T HE C B HRONICLES UTCHER B AY
OF , S R AINTS IDDICK R OW : ) as isGameDeveloper.) is owned andoperated byUBMTechWeb, updates viaFacebook, Twitter, orRSS. (GDC www.gdconf.com, orsubscribeto regular the GameDevelopers Conference, visit event. For allthelatest information on more talks to announce for theupcoming weeks, as the show’s organizers have plenty more updates onGDC2013inthecoming Center inSanFrancisco. will take place March 25-29attheMoscone show’s offi cial website, andGDC2013itself Early Bird registration isnow openonthe Main Conference pass holders. Discounted Conference, whichisopento AllAccess and take place aspartofGDC2013’s Main Be sure to keep aneye outfor even Both oftheabove sessions will
PHOTOS COURTESY OF GAME DEVELOPERS CONFERENCE
018 game developer magazine By ChrisEdwards was here to stay, andwe shouldstop ignoring it. our enginedirector liked to pointout,theWorld WideWeb up moving ourdevelopment tools into the web browser. As opportunity to rethink ourtools architecture—and ended more tightly withtheengine.Sowe took this task asan us to cutiteration timebyintegrating ourdeveloper tools on PCbecame partof therewrite, because itwould allow the gameproduction phase.Makingtheenginealso run consoles, withafocus on improving iteration timeduring and tools) team beganrewriting itsengineto supportboth shipping onPS3andXbox 360.Insomniac’s Core (engine focus hadto beondeveloping anengineandtools for shipping supported, withalot ofdebugging anddiagnostic tools. Our Chrome. Most ofususedChrome anyway,anditseemed well mitigate theriskswe were taking. unknown factors, sowe settled onanumberofconstraints to experience withbrowser technology andwe faced alot of a new challenge for Insomniac’s Core team. We hadlimited WORLD WIDEWHAT? Developing abrowser-based toolset was cross-platform console title, A couple ofyears agoInsomniac beganwork onitsfirst First, we decidedto support only asingle browser: Google F USE , which would be , whichwould be be loosely coupled with theengineplug-in. editors can useitto visualizethe3Dassets. Theeditors tend to embedded inthe web browser asaplug-in,sothe various and visualscripts, just to nameafew. Ourengineisalso separate editors for working withlevels, materials, animations, and ismostly written inJavaScript andHTML.We have INTRO TO LUNASERVER Thetools UIrunsinaweb browser, attempt to keep thisparadigm unchanged. files ondisk,managedbyrevision control. Thetools would to focus onmulti-usersupportatthisstage. Insomniacs connected to thesameserver, we weren’t going Although nothingwe didprecluded havingmultiple a standard usecase ofonly asingle connected Insomniac. a local client.Thisalsoenabled usto develop theserver with involved inmoving thatinformation from aremote server to with large dataset, andwe were concerned aboutthelatency run onthesamemachine.We knew thatwe would bedealing differences amongbrowsers. F F USE USE The othernotable constraint wasthatasset formats for Next, we decided thattheclientandserver code would were already beingdeveloped, andthey were individual , sowe couldn’t become boggeddown inthesubtle game developer magazine_january 2013
f 000 COLUMN_January 2013
The web pages and engine plug-in are the clients work together (called session data). Admittedly, this session that make up the UI used by Insomniacs. The clients data is a deviation from REST’s design, but it does allow the communicate with a web server via HTTP to make changes server to provide some useful features. to data, and they poll the web server to discover when they LunaServer spawns a number of threads on startup, need to update their own views of the data. For this article and those threads sleep until client requests start arriving. I will mainly focus on the design and development of the When requests arrive, the receiving thread often handles web server. You can see a general overview of the different them immediately. Some requests need to be handled in a components of our toolset in Figure 1. nonconcurrent fashion, and these are placed into queues that The backend for the tools is a C++ web server built on belong to various worker threads. The thread that received top of Mongoose (Reference 3), which we call LunaServer the request then sleeps until the worker thread handles the (we love our moon references at Insomniac). LunaServer request, and then sends the results back to the client. provides access to fi les on disk, such as tools UI, scripts, With LunaServer, clients can edit assets; access source source assets, and built (platform-dependent) targets. asset fi les, built asset fi les (with dependency tracking for We built LunaServer to provide a RESTful interface knowing when to build assets), and the revision control system; to its resources, though we are a little loose in our and they can automatically convert data when the source implementation of REST. REpresentational State Transfer formats change. It also supports a unifi ed undo/redo system. (REST) is an architecture for defi ning web services (Reference 1). Its principles include a client-server WORKING WITH ASSETS ON THE WEB Source assets architecture where the client manages state. are individual JSON (JavaScript Object Notation) fi les on LunaServer does not directly monitor clients, though it disk. For those unfamiliar with JSON, it’s a rather commonly does keep a running log of the changes that are made by used text format that describes objects in terms of key/ clients (called a changelog). It also provides a scratch area value pairs (Reference 4). The JSON asset fi les contain where loosely coupled UI elements can share information to various settings that are utilized in the game. Most of these game developer magazine 019 020 game developer magazine data storage elements. provides interfaces to thedifferent MongoDB, kicksoffbuilders, and LunaServer. LunaServer updates system andreports changesto LunaTracker monitors thefile the UIfrom thedata storage. Figure 1:LunaServer separates to thebacking JSONfile andputunderrevision control. database (seeFigure). Thosechanges 3can thenbesaved those changesto theappropriate asset documentinthe each asset. collections andcontain themost up-to-date changesto collection inMongoDB.Theseare the“live asset” disk becomes adocument(row) insideoftheappropriate materials are inanother,andso on.Asingle asset file on asset type.Allthe levels are inonecollection, allthe manipulating thedata thatitstores, allviaJSON. to make. MongoDBhasarobust languagefor queryingand already inJSONformat, thiswasasimple transition for us and collections astables. Because allofourasset data was an SQLbackground, you can thinkofdocumentsasrows easily created from JSON)into collections. Ifyou come from BSON documents(BinaryJSONdocuments,whichare database. MongoDBisaNoSQLdatabase thatarranges files into adatabase. game. LunaServer alsoaccumulates alloftheJSONasset data into platform-dependent formats thatare utilizedinthe disk, builders are automatically kicked offto convert source the fi Asfiles inadatabase (seeFigure 2 ). les changeon to LunaServer, whichtracks allthedependenciesamong called LunaTracker. Changesto thefile system are reported and available to therest oftheproduction team. and saved, theasset issubmitted to therevision control system control to make editslocally. Once alltheeditsare completed edit anasset, they checkthetext andbinaryfiles outofrevision (such asgeometryortextures). WhenanInsomniac wantsto have references to otherfiles thatstore thistypeofinformation development ofthegame. settings are theproperties thatneedto betweaked during BRING YOUR TOOLSTOBROWSERS_ 020 When clientsmanipulate assets, they directly make Insomniac’s data isorganized into collections by We choseMongoDB(Reference 5)asourbacking The file system ismonitored byaseparate application The asset files donotcontain binary data, thoughthey will assets
MongoDB changelog SceneEditor (3DView) sessions January 2013 (mainly usedfor queries to locate assets basedupontheir article. There are also URLs that allow raw database access and changelog items, which are themainfocus of this starts with“api.”Dynamiccontent includesasset, session, a database. We identifydynamiccontent withaURLthat requires someamountofprocessing orinteracting with maps directly to afile ondisk,anddynamiccontent that LunaServer how to act(seeFigure 4). combination oftheURLandrequest methodtype tell of theavailable HTTPmethods(Reference 2) . The toward supportingfewer URLs,butmakinguseofmore it hasbecome more andmore generic.We have moved method ofHTTP. However, astheserver hasmatured, and allcommunication wascarried outviathePOST created LunaServer, ithadalot ofvery specializedURLs, DESIGNING URLSFOR LUNASERVER Whenwe first that crash withoutshuttingdown properly). purges anyoutstanding session data (to account for clients sessions whenthey exit. WhenLunaServer isrestarted, it create sessions whenthey are opened,anddestroy the other preferences specific to thateditor’s view. Editors current selection, which assets are currently open,and make upasingle editor. Itincludesthingssuchasthe we refer to thatassession data. another class ofdata necessary for designinganeditor, and all clientsthatare showing thatasset. However, there is the game.Changesto anasset needto bereflected in of thetools, andiseventually builtinto formats usedby database. changes byLunaTracker, andLunaServer willupdate the revision control). LunaServer willbenotified ofthese editor, for instance, orbypullinganewer version from Also, assets can beedited outsideofthetools (inatext Also, assets can beedited outsideofthetools (inatext The URLsare categorized into static content that Session data isshared amongalltheUIelements that To summarize,asset data ispersistent between runs LunaServer Revision Control Builders Web Browser UI LunaTracker File System h Dve will notice thattheentry inthechangelog The 3Dview will pickupthat there wasanentryaddedto the changelog. the undosystem. propagate throughout theUI,andforms thebuildingblocks of the changelog collection. Thisisthebasisfor thechangeto These items are combined into anew documentandaddedto previous value (there wasno level file openinthis session). (in thiscase, thepathto thelevel thatwasopened), andthe single, atomic call, soLunaServer now hasthenew value document andfetch theprevious values ofthosefields ina functionality. Thisoperation allows you to editfields ina maintained inMongoDBbyusingMongoDB’s findAndModify change to LunaServer. level asset into alist insidethesession data andsendsthat the level you wishto editintheVault, JavaScript records that database access to queryfor levels byfile path.Once you find that serves thispurpose,anditjust usesLunaServer’s raw searching for alevel byname.There isaUIcalled theVault JavaScript 2DUIandtheC++3Dview. determined session ID,sothatitisshared between the of ourengineplug-inandpasses along thepreviously 3D view ofthelevel; theJavaScript code creates aninstance example, oneofthemainUIelements inthelevel editor isa disparate pieces ofUIthatmake upthesameeditor. For to thatsession. Thesession IDisalsoalinkbetween editor sothatLunaServer can provide undo/redo functionality which isusedto track thechangesmadebyaparticular communication withLunaServer. This isaccomplished viaaJavaScript class thatmanages the first thingsitdoesiscreate anew session ontheserver. operate. Whenthelevel editor web pageisopened,oneof at Insomniac’s level editor for anexample ofhow thetools TEST CASE: OURLEVELEDITOR web pagesthemselves). (static HTML,JavaScript, images,etc. thatmake upthetools Any otherURLsare assumed to bepartofthetools install directory. Clientscan read orwrite to anyofthesedirectories. and ifitbeginswith“user,”refers to theuserpreferences it refers to thedirectory populated byasset builderoutput; to theroot ofourasset source tree; ifitstarts with“built,” different URLprefix. IftheURLstarts with“source,” itrefers to three mainfolders onthelocal disk,eachdesignated bya See Figure 1for atable ofURLsandoperations. file namesor otherattributes) andrevision control access. keeps MongoDB insyncandkicksoffbuilders. and notifies LunaServer whenfi les are updated. LunaServer Figure 2:LunaTracker monitors thehard drive for changes Revision Control Meanwhile, the3Dview is busypollingLunaServer and LunaServer updates theappropriate session document The Insomniaccan now openalevel, whichconsists of This session isidentified byarandomly generated ID, In additionto dynamicdata, LunaServer provides access File synced to local disk file.model } } geofile:“file.dae” geofile:“file.dae” lodDist:15, lodDist:15, { Let’s take acloser look File changepicked up File changepicked up LunaTracker BRING YOUR TOOLSTOBROWSERS_ PUT: api/asset/model/100 PUT: api/asset/model/100 the lookout for anychangesto theirshared session data, for changesataboutfour timespersecond. They are on lights, andvolumes. view withthevisible elements ofalevel, includingmodels, instances initscopy ofthe level data andpopulate the3D organized byname.The3Dview willwalkover thelist of that shows ahierarchy ofall theinstances inthelevel, code willuseitscopy ofthelevel data to fill outanOutliner the latest copy ofthelevel from theserver. TheJavaScript related to thecurrently loaded level, sothey bothwillrequest 3D view. there isnow alevel open,anditshouldbeshowing inthe launch, andsoitwillinspectthechangediscover that matches thesession IDthatwaspassed to theview on The 3Dview and2DUIwillcontinue pollingtheserver Both the2DUIand3Dview needto show information LunaServer Insert documentinto MongoDB Kick offmodelbuilder } } } } geofile:“file.dae” geofile:“file.dae” lodDist:15, lodDist:15, { { asset: asset: saved:“1/1/121:33pm”, saved:“1/1/121:33pm”, modified:“1/1/121:30pm”, modified:“1/1/121:30pm”, path:“file.model”, path:“file.model”, _id:100, _id:100, { { asset.model Model builder Produces builtfile
for thegame for thegame January 2013 021
021 game2013 developer magazine magazine_january developer game 022 game developer magazine records thechangeinaseparate collection. is edited. LunaServer updates theasset inMongoDBandalso Figure 3:TheUIposts changesto LunaServer whenanasset that there ismore thanone wayto fetch asset data from CHANGING DATA FORMATS Itisworth mentioning undone (orredone) automatically. that match thatitem’s batch ID.Anymatches are also operation, itwillcheckto seeifthere are anyotherchanges If LunaServer attempts to undo(orredo) aparticular ID, they can beundoneandredone asasingle operation. is recorded separately, butifthey allshare thesamebatch documents andoneormore asset documents.Eachchange means thatclientscan issue aseriesof changesto session Redo works inasimilarfashion. changelog, whichtells themwhatfields they needto update. editors thatare openwillpickupthisevent asthey pollthe the samesession thatinitiated theundooperation. Any document andinsertsitinthechangelog, referencing that were changed.Thisprocess constructs anew change document andretrieves theprevious values of thefields change: AfindAndModify command updates theappropriate the oldfield values to create anew changerequest. for themost recent entrybelonging to thatsession anduses undo request ismade,LunaServer searches thechangelog new value for anyspecified fi elds inthechangelog. Whenan undoable, LunaServer willrecord the oldvalue aswell as the the change.Ifclientwantsto make aparticularchange merely an option that the client can specify when they submit are sent to LunaServer are required to beundoable—that’s HOW THEUNDO/REDOWORKS Notallchangesthat system to alleditors. change, whichishow LunaServer provides aunified undo changes are marked withthesession IDthatoriginated the a modelinstance wasmoved to anew xyzlocation). All for example), orasanupdate to thelevel asset (perhaps server eitherasanupdate to thesession (selection changes, interactions bytheInsomniac.Changesare reported to the the specified item. TheUIisoperational andresponding to server only returns new changesthathave occurred since LunaServer thenext timethechangelog ispolled, sothe using theIDoflast entryseen.ThisIDissentto the changelog, they track theirpositionwithinthechangelog changes can beignored. As they handle orskipentriesin or thelevel asset thatthey eachhave acopy of. Anyother inside fiinside file.modelle.model toto IodDist IodDist fi field eld InitiatesInitiates change change SessionId:SessionId: 0x13 0x13 UI BRING YOUR TOOLSTOBROWSERS_ 022 The undo/redo system alsosupportsbatching. This This new changeisexecuted muchlike anormal
} } } } lodDist:20 lodDist:20 { { change: change: sessionId:0x13, sessionId:0x13, { POST: api/asset/model/100 January 2013 LunaServer together for atools release, sotheclient code always requests. The client andserver code are packaged client, andalways thesame,even ifthere are concurrent is beingrequested, buttheactionistransparent to the request mightactually make achangeto theresource that hear thegroans coming from theW3Conthatone.)AGET to revision control, butthattypically doesn’tmatter. (Ican no longer matches thesaved version thatiscommitted next timethatitis requested. Theasset inthedatabase the database sothatitdoesn’t needto beconverted the and returns theupdated asset. it’s notthelatest version, LunaServer runsthe converter checks thatitisofthelatest version before returning it.If fashion—when anasset resource isrequested, LunaServer script. Theversion upgrades are performed inalazy increment theversion numberandwrite theconversion a large data rearrangement for aparticularasset type,we the previous version to thenext. Whenwe needto perform and we maintain aseriesofscriptsthatcan convert from provides amechanismto transform data inthisway. occurrence duringdevelopment ofagame,LunaServer consume thenew format. Because thisisafairly common to work asyou develop new UI,builders, andgamecode to is necessary to transform existing data sothatitcontinues degrees andnow we wantto store radians. Inthiscase, it data—for example, maybewe were storing angles in update inthedatabase. need to know thedocumentschemas,sothere’s nothingto particular asset, just assume thedefault. MongoDBdoesnot the UI,builders, andgame.Ifthatfield ismissing from a default, andthenyou can start referencing thenew field in do anyextra work—add thefield andgive itareasonable adding new fields to adata structure, you don’tneedto sometimes just to satisfyprogrammer OCD.Ifyou are just demand it,sometimesto improve performance, and constantly changing—sometimesbecause new features documents match, butthey can alsodiverge. is fetched from MongoDBandreturned. Usually thesetwo returned, andiftheURLstarts with“api/asset,” theasset “source,” theasset file isfetched directly from diskand LunaServer: Iftherequest comes viaaURLthatstarts with “source,” theasset file isfetched directly from diskand LunaServer: Iftherequest comes viaaURLthatstarts with LunaServer alsowrites theupdated asset backinto Each ofourasset typesisassigned aversion number, However, we often find theneedto rearrange existing Over thecourse ofdevelopment, data formats are Adjusts the model inside MongoDB and Adjusts themodelinsideMongoDBand retrieves theoriginallodDist value. retrieves theoriginallodDist value. Builds a new document describing the change Builds anew documentdescribingthechange and insertsitinto thechangelog inMongoDB. and insertsitinto thechangelog inMongoDB. } } } } geofile:“file.dae” geofile:“file.dae” lodDist:15, lodDist:15, { { asset: asset: saved:“1/1/121:33pm”, saved:“1/1/121:33pm”, modified:“1/1/121:30pm”, modified:“1/1/121:30pm”, path:“file.model”, path:“file.model”, _id:100, _id:100, { { asset.model } } } } lodDist:20 lodDist:20 { { newvalue: newvalue: }, }, lodDist:15 lodDist:15 { { originalValue: originalValue: collectionId:100, collectionId:100, collectionName:“asset.model”, collectionName:“asset.model”, sessionId:0x13, sessionId:0x13, _id:1, _id:1, { { changelog game developer magazine developer game game developer magazine_january 2013023
023 January 2013 January ATCHET R
and Figure 4: LunaServer’s URL 4: LunaServer’s Figure schemes and corresponding operations. —and we know that that know —and we ESISTANCE R USE F as well as the USE F franchises. He has been professionally developing artistic developing franchises. He has been professionally Running the server and client on the same machine was Running the server on a platform develop to prepared quite also weren’t We started Chrome to update one recent example, For has been architecture tools All in all, our new LANK we’re just barely scratching the surface of what we can do do can we of what the surface scratching barely just we’re architecture. with a web-based *** Games, Insomniac at is a senior engine programmer Chris Edwards on he worked where & C tools for over a decade. over for tools very helpful in getting this architecture up and running, but this architecture helpful in getting very if the cally, improperly—specifi if that machine shuts down underlying improperly—the down shuts process database be rebuilt can That database MongoDB might get corrupted. be a time- on disk, but it can les fi the individual asset from be needs to if everything particularly process, consuming platforms. the various for rebuilt and then we’ll now that may change at any moment; every bugs that causes Chrome Google to update see an automatic highlight just of the time, though, these Most in our tools. should have that we ciencies in our implementation defi anyway. addressed which with LunaServer, all of our interactions caching ooded fl and rapidly in the editor results incorrect produced poll of entries (including every with gigs of cached drives hard was not properly As it turned out, LunaServer the changelog). dynamic content, to requests for headers lling out the cache fi build Chrome the new after a problem became but it only hints. those cache to paying attention started cross-platform rst in helping us build our fi successful ed undo and a unifi upgrades data Automatic title. console cial to benefi been extremely in particular have system on worked Insomniacs as they _ TO BROWSERS TOOLS BRING YOUR Fielding, et al. - http://www.w3.org/Protocols/rfc2616/ rfc2616-sec9.html mongoose/ Software Architectures” - Roy Fielding - http://www.ics.uci. - Roy Architectures” Software elding/pubs/dissertation/top.htm edu/~fi Also, the complete decoupling of the client and server of the client and server decoupling Also, the complete api/changelog GET that token all changes since returns a token, Given Changelog Operations Changelog api/session/undo/{SESSION_ID} api/session/redo/{SESSION_ID} GET POST DELETE this session for available operations on the undo/redo Returns information this session for changelog in the operation this session recent this point for the most beyond operations Undo or redo undo/redo Prevent Undo/Redo Operations (session specifi c) specifi (session Undo/Redo Operations api/session/{SESSION_ID} PUT session a new Create GET POST DELETE a session for Returns all data session an existing Modify a session Remove Session Operations Operations Session api/asset/{ASSET_TYPE}/{ASSET_ID} PUT ed asset the specifi Create/replace GET POST format) DELETE latest the to converted (*automatically asset an Fetch be applied) partial changes to (send Modify an asset the database from an asset Remove Asset Operations Operations Asset 2. Hypertext Transfer Protocol -- HTTP/1.1 - RFC 2616 -- HTTP/1.1 - RFC Protocol Transfer 2. Hypertext - http://code.google.com/p/ server 3. Mongoose web JSON - http://www.json.org 4. Introducing 5. MongoDB - http://www.mongodb.org/ 1. “Architectural Styles and the Design of Network-based of Network-based and the Design Styles 1. “Architectural REFERENCES processes means that each one is insulated from crashes crashes from means that each one is insulated processes a changes into writes LunaServer Because in the other. are if they even crashes, to resilient it is relatively database, page and the web the server Restarting itself. in the server off. left you where continue to you allows expects to work against the latest asset defi nitions, and this defi asset the latest against work to expects This automatic that is the case. sure mechanism makes coordinate to means that it is not necessary system upgrade the entire scripts across xup run fi to check-ins of all assets tree. asset has architecture WEB Our web-based ON THE WORKING anyone starters, ts. For us with a number of benefi provided of on top tools build their own can cient motivation with suffi leverage can and these tools infrastructure, LunaServer’s for available and libraries the multitude of technologies new prototype also easier to It’s on the web. working than faster a lot page is a web refreshing since features, code. source recompiling
CLASSICS REMIXING SOCIAL SCENE MUSIC GAMES, ANDADAPTING JAPAN’S MOBILE/ MASAYA MATSUURA ABOUTINDIES,THEFUTUREOF WE SPOKEWITHPARAPPA THERAPPERCREATOR successful titles witha play someofour existing MASAYA MATSUURA: PATRICK MILLER: THE Sha founder and Choice Awards, NanaOn- At the2004GameDevelopers been goingfor you? touchscreens). How hasthat for mobile games(and trouble adapting to designing some developers having 16 years since predators. Now ithasbeen into water thatmighthave who isbrave enoughto jump the first penguininacolony was originally namedfor called thePioneeraward— waters he’s divinginto next. with Matsuura andseewhat we thoughtwe’d catch up R and gameplayin work integrating music Penguin award for his Matsuura won theFirst U IBBON M J R AMMER APPER . Thisaward—now L creator Masaya AMMY We’ve seen P We triedto A P P R A A , and APPA R R APPA APPA , and V IB ,
- touch for ashorttime,then gameplay. Everyone wantsto game time.It’s fragmented mobile game is choppingtheir me isthateveryone playinga it’s changingnow. that wasaproblem for me,but I wanted to dowiththem.So couldn’t thinkofanythingnew satisfied withallofthem;I touchscreen, and I was already The important thingfor grow up, the games they played I’m very afraid thatwhenkids with achance to playgames? a goodwayto provide thekids are goodfor them.But isthis be calm, smartphonegames the kidsto concentrate and time, andiftheparents want is thatkidsare annoying allthe mobile games]for theparents, need to solve thatproblem. with smartphones,andwe appeal to younger audiences right now, we have nowayto players won’t have one.So cards, butmanyyounger smartphone users have credit a younger audience. Older how we can be successful with particular challenges?particular MM: PM: game. It’s very difficult. should bedesignedinto the this kindofrolling mission touching, talking, emailing, kind ofbalance, watching, do nothing,thentouch. This Have you runintoHave you any The good thing [about The goodthing[about We’re tryingto figure out us rightnow. Ofcourse, we’ve puzzle gamewas20years ago. addicted to asimple graphics was addicted. Thelast timeIwas a very goodgamefor me,andI brain. Calculating. Thatwas sophisticated. Itrequires a a very simple onebutvery Plus? Itwasa puzzle game, the first oneonGoogle mobile/social market? foundhave you inJapan’s good childhoodmemories? makethat thinkwould you for any gamesonnewer platforms MM: PM: MM: PM: sense rightnow. kind ofthingisnotcommon idea, butunfortunately, that for thekids.Noonedeniesthis more important experiences their parents would bemuch communicating physically with for goodmemories.Ithinkthat on smartphoneswon’t make What kindof opportunities Interesting. seen Have you That’s avery bigissue for What wasthatonegame,
025 game developer magazine 026 game developer magazine good memories.” on smartphones won’t make for grow up, thegamesthey played “I’m very afraid thatwhen kids composer, andwhathe was just a songwriter and ericwhitacre.com/). He named EricWhitacre (http:// an interesting TEDtalk, the games to bemore thanjust about how wanted music you expanding anymore. and we’re notthinkingabout now, ourparadigm hasshifted expanding something,but trends were always about products andtrends. Thepast and thewaywe thinkofnew way we thinkofoureconomy, last year, it’s changedthe you know, withtheearthquake ongoing challenge for us.And, money andisfunan making agamethatmakes something rightnow, and social games. to find adifferent direction for I’m okay,butIthinkwe have kind ofdirection isthecenter, some unknown area. Ifthat It’s alittle bitofabendinto straightforward future, Ithink. tendency, butit’s notthe any fun;thisisaninteresting money from people without the important thingissucking potential there? Japanese devs similar? is theperception among look down onsocialgames; games going? now, where seemusic doyou genre haskindof imploded by rhythm game.Consideringthat MM: PM: MM: PM: MM: PM: more sophisticated one. tune thiskindofera into a social games,Ithinkwe can countries andterritories with don’t have aborder between and theindustry. Since we right tweaks for themarket very important to make the a gamedeveloper, Ithinkit’s avoid thiskindofthing.Butas have problems andwe can’t because new thingsalways much aboutthiskindofissue, gacha schemes.Idon’tcare so big trouble withthekompu- gaming inJapanhashadsome based something, butsocial been tryingto make asocial- Yes, ofcourse. Right now, In the past, you’ve talkedIn thepast,you’ve thinkthere’sDo you more Many gamedevs intheU.S. We’re tryingto make G I sawoneguywhodid Yes. UITAR H ERO /B EMANI -style comes out. plays poorly, theugly sound playing too, sothatiftheplayer that, andthey played theugly violin playing,andwe recorded played aperfect, attractive actual violinplayer, andthey lesson case, we hired the the ugly playing.Inthisviolin playing. Ireally love to see about reproducing perfect that musicgamesare notjust interesting; Ialways think something like that. have anotherchance to expand looking forward to how we can rapidly. It’s very interesting. I’m download numberisincreasing but thepublishersaidthat played 3DSdownload games, game. Ithoughtthatnoone the kids—it’s aviolinlesson a 3DSdownload gamefor recent product; we released games recently. I’mplayingour the attractiveness of Q-Games on playing lately? that theirfocus isonadigital proper game. the designers’ desire to builda the musicsoundgood,with the musicians’ desire to have they hadahard timebalancing and initthey talked abouthow MM: PM: MM: PM: something like that. as akindofevaluation, or use theYouTube viewer number audience; we could instead to evaluate themusicfrom the wouldn’t wantthegamesystem It’s notagamerightnow, butI singing something inkaraoke. because everyone isgoodat to collaborate witheachother, example, singingisthebest way new musicexperiences. For has bigpossibilities to make unsynchronized collaboration new interaction, new never seenbefore. make abigchoirthatwe had mix allthevideostogether to conducting, andhedecidedto people posted according to his conducting, andfinally 2,000 own singing while watching his fans posted recordings oftheir YouTube withnosound.His of himselfconducting on did washeposted avideo We from hadapostmortem What been have you What we didwasvery This kindofnew experience, I haven’t played many A very important pointof P IXEL J UNK 4 AM 4 AM is , the camera; they already keen to seehow they support different interaction. Iam also tablet could beacompletely but havingakeyboard and of atouchscreen device, people digthepossibilities think thatalready many the Microsoft Surface. I us, andI’mkeen to see Windows 8isachance for of thePCmarket changing? perceptionJapanese industry specialized niche.Isthe beenkindofalways ahighly in Japan,thePCgameshave are onthePC,but doingwell MM: PM: and avery different direction. it poorly. Thisisvery practical, how andwhere they’d played so alltheplayers can detect show avery explicit result, In ourgame’s case, we would whether it’s “good”ornot… and kindofhard to evaluate music isalways very abstract, type ofmusic.Thiskind Indies inWestern markets I really hopethat f 027 COLUMN_ tech. Music isavery strange areas, butthatrequired AI wider andmore attractive music gamepossibilities to really wanted to expand the those gamesdon’tchange.I music-based game,well, misunderstanding. RPGs. ButIthinkthatwasa handle enemies’ activitiesin for AI;Ithoughtallitdidwas didn’t have somuchintention games yet. use itinpractical waysfor not sure abouthow we could technology for games,butI’m I thinkit’llbethenext big interesting to merightnow. Facebook, andthey look very his AIthingsandideason a Facebook friendthatposts and interesting ends.Ihave industry to more attractive a bigpossibility to expand our interested inAI.MaybeAIhas Recently, I’ve beenreally looking forward to? major tech advancement you’re What’shis work. thenext about how technology informs speaksomuch studio would that theheadof suchacreative business battlefield. very hard to understand the so it’s very competitive, andit’s services thatsupportWindows, based, web-based game Already, we have many Internet- directly to thecustomer. it’s very hard to sellproducts PC games,because onthePC very risky,sofar, for usto make could beachance for us.It’s change theirstrategy, which Surface, Microsoft mayhave to is too strict for me.Withthe same kindofthing.Itsfocus environment doesn’thave the disappointment. TheWindows dreamy company, butalsoa I know thatApple can bea My first wasanApple II,so history withApple products. some aren’t. I’ve hadalong me, are understandable, and interests me;someparts,to me anything. course, Microsoft hasn’ttold possibilities asdevelopers. Of Surface, we’ll have many technology andputitonthe and ifthey can minimizethe have theKinectexperience, MM: PM: You know, Ididn’texpect The first timeImadea Just afew years ago,I The fever for Apple products That’s agoodquestion. January 2013
027 game developer magazine 028 game developer magazine 100-yen coins. just sitthere with astack of programmer for Endo-san, well known as the developer inJapan,Masanobu one very well-known game expand them. games are okay,butlet’s with more interactions. Violent expand agame’s expression appeal to more, better waysto the gameindustry, Iwantto from theJapanesestance in violence isirresistible, but them!” Iunderstand that in themarket, butIstill love games shouldbedecreasing Matsuura, you saidviolent with Brandon. Hesaid“Mr. little bitafter mylast talk violence now? What’s take your ongame onmakingviolentwas games. focused thegameindustry outspokenrather abouthow spoke were you withyou, Sheffiemeritus] Brandon eld MM: PM: primitive activity. to work withthiskindof I thinkthatAIisneeded to make somethingunified. emotions andexpressions people synchronize their with almost nothing,and synchronizes humanactivities expression; itunifies and addicted to More than25years ago,Iwas Last time[GDMageditor I hadavery goodtalk with I changedmyminda X EVIOUS X EVIOUS , andI’d . We first programmed asked thiskind ofquestion! surprised. “Noonehasever Endo-san directly, andhewas couldn’t detect it,soIasked the enemy,ormyplane,butI whether thesoundcame from out, andIdidn’tunderstand this kindofsoundcomes computer, orsomething. is laughing,orabuginthe hmm, soundslike theenemy “piroriro, riroriro.” Itkindof, sensitive, ostinato sound,the you hearavery strange, game started, inthegame, play thegame.Butwhen that encourages theplayer to ja”—a very warlike sound (staccato) “jajaja, music. like music,orgraphics, that leave otherimpressions, but ifwe can produce games attractive to gameplayers, someone elseisvery from mine. completely opposite But Endo-san’s feeling was practical, very algorithmic. scary. It’s very smart,very I never felt thatgamelooked music for thegame. was thereason to addthe some kindofmusic.”Sothat too scary, sowe hadto add without anymusic,butitwas with I didn’tunderstand why The feeling ofbeating I wassurprised,because My biggest question X EVIOUS X EVIOUS wasaboutthe started with X EVIOUS more chances to collaborate is, thesmalldevelopers have other more easily. Myfeeling can collaborate witheach so individualsmalldevelopers experience witheachother, Unity, it’s easierto share the small developers. With Unity, especially independent developers have beenusing Around me,atleast, many use do nothing.[Sony]decidedto the case? than American devs. Isthisstill techniques witheachother development technology and less likely to share game developers have been that, historically, Japanese foundyou outthat MM: PM: MM: was goingto bein was PM: this kindofthing. developers don’tcare about think thatmanygameplay something higher…Well, I or somethingto express It’s asense. look soviolent. Idon’tknow. fighting eachother. Itdoesn’t characters, real graphics look soviolent. It’s notreal kind ofexpression doesn’t gameplay, andfor me,that ideas, andIchecked the A LL I’mundertheimpression So what’dthinkwhen you So -S It’s gettingchanged. Well, inthatcase, Ican P A TARS R APPA B ATTLE for theirgame P P R LAY A OYALE R APPA S TATION ?
I really liked people tryto donew things. developers andyounger really wantto see how new answered withourgames.I childhood, andmanyofthem what gamesthey played in she always asked them younger musicians,and chances to interview the and shesaidhadmany music andgamejournalist, to chatwithaJapanese and new developers. people—experienced people companies sucked upallthe or three orfour socialgame social games,andthebigtwo the bigtrend comes outfor important point;inJapan, since in Japan? studios; isthere asimilartrend theirownstart independent established devs intheU.S. F MM: and gamemechanics? think differently aboutmusic influenced devs to younger came thinkithas out.Doyou PM: MM: PM: other teams. make ajointventure with that every timewe have to so manydifferent platforms are so manyopportunitiesand with eachother,because there EZ It has been 16 years It hasbeen16years We’re alsoseeingalot of No, actually. Thisisavery isalsointeresting. Yesterday, Ihadachance P A R APPA S
OUND THE R S APPER HAPES gd ;
pm 031 postmortem_January 2013 030 game developer magazine pm 031 postmortem_January 2013
apo & Yo first went live for pre-orders on the PlayStation
There’s a little video floating around of that moment when P Network. Our creative director and co-founder Vander Caballero calmlya pplacedo & Yo his was pre-order, trending andworldwide then walked on Twitter. into the TV room to announce it to the rest of the team. There were high-fives all around, and the excitement in the room was palpable—it was a brand-new sense of accomplishment for the project being one step closer to launch. The next day, our live-action cinematic launch trailer had over 50,000 hits, and P apo & Yo has been quite the ride. Minority Media is a small band of triple-A developers—used to working Developing P in large teams with abundant resources—who went indie to create games, taking advantage of digital delivery systems. apo & Yo got its fair share of media detractors, it also garnered a whole lot of deeply personal press And while P coverage, with journalists and fans telling their own stories in response. It was these heartfelt and profound messages game developer magazine that told us we did something good. 031 032 game developer magazine unexpected challenges, like planning andimplementing theright the gameisautobiographical innature, we encountered some was touching andentirely uniquewithanartistic depth,butsince meant beingable to make adifference increating somethingthat stories byoffering uphisown story to start. Beingapartofthat Vander wasfighting to changetheindustry withmore emotional quiet andeventually said,“Itis.”People understood. to hangoutwithyour dad.”WhenVander read this,hewent really week after release, afan tweeted, “Itwould besosad,beingafraid ultimately Vander istheonewhoknows whatitshouldfeel like. A Some fans were upset atthechangewhenwe first showed it,but describes as“distant andscary, butatthesametimeprotective.” evoke thesameemotionshehadwhenseeinghisfather, whomhe because Vander found theoldonetoo nice andlikable. Itdidnot “That’s notwhatitwaslike inreal life. Mylife.” and helpedfilter creative ideaseffectively, because he could say, and lows. Deferring to Vander helpedgeltheteam anddesign, working onafilmwithdirector, includingtheemotionalhighs vision, andintheend,itshapedexperience asifwe were First, it’s mucheasierto stay oncourse creatively ifthere’s one was aunifyingfactor throughout thewhole development process. Colombia. Vander’sin father childhoodwithhisalcoholic,abusive an uncontrollable fierydemon.It’s anautobiographical metaphor of belly asatrampoline—but whenMonster eatsafrog, heturnsinto friend andfoe. Monster can behelpfulandkind—Quico can usehis act asajetpack.Quico issoonintroduced to Monster, whoisboth with housesthatcan sprout legs andfly,a robot friendwho can his imagination,Quico escapes to amagical world ofcolorful favelas, boy hidinginhiscloset from thunderous footsteps outside.Through emotional adventure filled withpuzzles. You playasQuico, a young 1 Choosingastory that mattered WHAT WENTright postmortem_ 032 Development B L # ofDevelopers 12inthecore team andapproximately 21contractors P R P Developer MinorityMediaInc. ength ofDevelopment 18months latforms PlayStation ublisher MinorityMediaInc.,Sony(PubFund) elease Date August 14,2012 u Secondly, theteam’s personal buy-inwasabigmotivator. For instance, Monster’s designwaschangedlate intheproject In manyways,beingable to tell thatonetruepersonal story d get $1.5m T ools Unreal Engine3,VisualStudio, 3dsMax pm
January 2013 P a p o & Y o is an isan 3) multiple roles given thesizeofteam. and accountability for theirpartinthegame,whichconsisted of better. Inthesamevein, everyone felt ahigherlevel ofownership was still hard, butbeingable to roll with it madetheendproduct even wheneverything wasconstantly changingaround them.It the team helpedthemprioritizetasks to deliver thingsontime the emotionswe wanted itto, andthehighlevel ofexperience of and were notgettingasattached to himaswe wanted themto. not have enoughoccasions to interact withhiminhisfriendly state, was avery late additionto thegame,whenwe realized people did For instance, throwing soccer ballsbackandforth withMonster tests, andnew gamemechanicswere introduced asthestory evolved. it. We modifiedand redid puzzles several timesin response to focus we started production, andwe hadavery organic approach to building experimental game.Thegamedesignwasbynomeansfinalwhen when you seeyour colleagues more thanyour own family. having asmallfunctionalfamily, especially whenthere are times that havingthiskindofclose-knit core developer team islike with athird-person camera. Vander hasoften saidininterviews allowed ustheopportunityto usesomegreat character animation For example, havinganexperienced animation programmer were able to make designdecisionsthatplayed to ourstrengths. with friends.Manyofushadalsoworked together previously, sowe personalities, sooften, itdid(andstill does)feel like goingto work people ontheteam, there wasgoodchemistry andagreat blend of quarters andlong days.Asidefrom havinggreatly experienced trust andwork withwell, especially whenitwasgoingto beclose ground up,itwasimportant to bringonpeople thatwe could both 2 ChoosingtherightpeopleInbuildingateam from the situations differently. temper andyells athisfive-year-old son,sohe’llhandle tough that hedoesn’twantto appearlike Monster whenheloses his them. Orthesingle dadwhowrote usaFacebook message to say healing orgainingtheconfidence to talk aboutwhathappened to mail thatwe would receive, like children ofalcoholics finding but we never imaginedthequantityandkindofmeaningfulfan just asdedicated to them just like they were partofthecore team, because they were actually feel like outsourcing. Instead, we were collaborating with D’Oliveira andhisteam at La HaciendaCreative, butitdidn’t our musicandaudiowork to composer/sound designerBrian story thatVander wanted to tell. a project thisprofound, anditwasimportant for usto convey the evoke empathythrough interaction. Noneofushadever worked on emotional curves for how we wanted players to feel, striving to E We were constantly course-correcting to getthegameto evoke The experience oftheteam wascrucialindelivering such an We found that x c ellent audiooutsour P a P p apo o & Y & &Y o madeadifference inpeople’s lives, o aswe were. c ing studioWe outsourced f 000 COLUMN_January 2013 033 January 2013 pm
m rte mo st o p game developer magazine 033 034 game developer magazine 4) Unreal finish line. immensely inthe last sprinttoward the was anamazingmorale booster andhelped in awhole new way. Addingthatdimension motivating for us,andmadeusseeourwork soundtrack in-gamewas incredibly it thebest thatitcould be. endeavor wasdriven bypassion for making processes. Ultimately, thewhole soundtrack also helpedimmensely instreamlining engineer withamore seniorone,which needed. Later on,we paired ajunioraudio and providing themwiththefeatures they them inhow to make themost oftheirtools with theaudioandteam, guiding Frédéric spentagreat dealoftimeworking video gamesounddesign,ourprogrammer floss onapiece of wood andplayit.” “That guyissotalented, hecould string As programmer Antonio Maiorano said, on top ofthat,hehandcrafted somehimself. some sourced from allover theworld. And in thegame,havinglearned about15,with Brian playsabout80%oftheinstruments various actionsandlooping dynamically. sound effects, alldifferently triggered by 30-40 layers ofmusicand60-70layers of of soundsare woven into audiodesignsof the team hadalready shippedgameswith option thatwasavailable to us,asmost of frog sounds andmonkeys howling. middle ofthenightto capture thingslike ambiance, sometimeswakingupinthe expedition to SouthAmerica to record field in theLaHaciendastudio. Briandidan either captured from thefieldor recorded so allofthegame’s musicandaudiois sounds orsampled virtualinstruments, the game.Briandidn’twantanycanned added alot to thefeel and authenticity of ever-changing soundenvironment, which allowed themto create adynamicand Audiokinetic’s Wwiseaudiomiddleware by aninteractive medium.Working with they understood theopportunitiesoffered though they were new to gamemusic, hand atworking onavideogame.Even TV studios, butthey wanted to trytheir music andsoundservices to filmand devotion shows inhiswork. an immensely personal project, andhis childhood himself. For him,italsobecame in Venezuela andexperiencing atroubled working on but somehow, thingsjust clicked for Brian and Brianhappenedto meetataparty, collaboration. It was by chance that Vander the-mill outsourcing contract into areal was how we turnedanotherwiserun-of- had apassionate composer. Thispassion audio, andontheLaHaciendaside,they programmer (Frédéric Hamel)wholoves postmortem_ 034 Hearing eachnew piece ofthe To facilitate LaHacienda’s first foray into In somelevels of La Haciendanormally provides On ourside,we hadapassionate E P ngine 3Unreal wasthebest a p o & Y & pm P o a , havinggrown up p
o January 2013 & Y o , these types , thesetypes on thePS3without mucheffort. We were art, andcinematics, andhave themrun allowed usto quickly start producing levels, Unreal’s editor wasagreat asset that “You’re able to dosomuch,crazy fast!” editor I’ve ever usedinmylife,” hesaid, game andsmallteam size. UE3 wastherightfitgiven thescope ofthe avoid buildinganenginefrom scratch, and Upsetting” Non-Award Award. We wanted to Only GameandBitmob’s “ThisisKindof Gamer TheoryMediaBest’s Downloadable Game ofE3awards from IGNandGamePro; and Best Downloadable Game;Best Puzzle from GameSpotfor Best Adventure Game at E3thatwon sixawards, including two 2011 presented aplayable demoonPS3 company inNovember 2010andinJune running innotime.We were settingupthe very well. Thishelpedgettheteam upand it, andknew itsstrengths andweaknesses Vander loves Unreal. “It’s thebest level 5) Open,incl support andothertechnical details. gameplay mechanicsinstead ofplatform able to direct ourefforts to creating unique P you runand jumpinacertain direction. and how you can catch theballinmidair if it would becontrolled, how Monster reacts, that to happen andbefun,figuringouthow experimented withvarious waysofgetting him. Aprogrammer andananimator then throwing asoccer ballbackandforth with for awayto have funwithMonster by with broad strokes, for instance, asking liked best. Hewould paintthemechanics in byothers ontheteam inthewaythey left manyofthe particulars to befilled mind whendesigningthegame,buthe had specificmechanicsandintentions in people whoworked onit.Vander definitely and flavored bythepersonalities ofthe a p o & Y o wasguidedbyastrong vision, u sive creative pr o cess
2) Bug time to polishcertain areas. we didnotwantto compromise, even ifthatmeanthavingless game compared to originalplans,butwe hadastory to tell that certain thingsjust couldn’t becut.We didreduce thescope ofthe impact oniteration, level design,andquantityof assets because While ithelpedto tailor thecreative direction, italsohadahuge or makingQuico’s robot Lulainteract withelectricity andwater. remove, like climbingonMonster’s backto control hismovement, nearly every puzzle), we hadplansfor several more thatwe hadto stands (new mechanicsare introduced throughout thegamein color, withoutcompletely changingthebackground. scenes through lighting,weather, andchangesintexture and the settingsbyfocusing onthefavela alot more, differentiating w ruins insideamountain. Aswe progressed, we realized thatthis from the favela to atree village,anelectric plant,andancient help finishthegame. like otherpeople from alternate studio locations jumpingonto constraints couldn’t afford usthefreedoms thatwe were usedto, end product, butalsofor ourselves. Thereality wasthatbudget of most triple-A titles, we were still aiminghigh,notonly for the to beinvested inrewiring everything to make sure itisbug-free. variation onthespaghetticode problem, andlots ofeffort needs left unchecked, theproject can devolve into quite aliteral require alot ofdisciplineto keep clean andmaintainable. When iteration, butmade thingsharder to debugintheend. (Unreal Kismet),whichwasinvaluable for quickprototyping and different from thenext. Thismeantheavyuseofvisualscripting with lots ofunique logic ineachlevel. Every puzzle iscompletely more timefor polish,and securingalarger testing team. new projects, we’re holdingfrequent playtest sessions, leaving of possible actionsofagenuinely confused orlost player. Onour game bymakingthewrong decisions,itishard to match the range solve thepuzzles, andwhile they madeevery effort to break the the solutionto thelevel. Ourtesters quickly discovered how to bug-prone situationswillonly arisewithplayers whodon’tknow remaining oneswere simply notdiscovered before release. in thegamebefore releasing, sothiscaught usbysurprise—the the process offixingsomeothers. We fixed alltheknown bugs of thesehave beenaddressed inaday-onepatch, we’re still in remaining bugsinourfirst release ofthegame,andwhile some talented QAcompany, we unfortunately shippedwithanumberof 1) Scope t WHAT WENTwrong group effort. can feel agreater senseofpersonal accomplishment toward the down hintboxes, came from theteam, andintheend,eachperson personally invested intheproject. be considered madeabigdifference, especially for beingso it into thegame,knowing thatyour suggestions would atleast product. Even thoughthere were manyideasthatdidn’tmake added awhole new value anddepthto thedesignoffinal while thebudgetfor our own expectations quite high,coming from bigstudios. And project for suchasmallteam to make, especially aswe set as more work thanwe could handle, andwe hadto consolidate Keeping to thegame’s story wasbothablessing andacurse. Even thoughthegamehasawidevariety ofmechanicsasit We initially plannedfor muchmore variety insettings,going Visual scriptinglanguagesare very easyto prototype with,but Another issue isthat ourgamehasheavily scripted levels, One issue withdebuggingacomplex puzzle gameisthatmany In general, we really enjoyed thiscreative freedom, which Many key gameelements, like the chalkoutlinesandupside- s Despite ourbest efforts atbughunting andhiringavery P a
p o & Y &
o P wasdefinitely anambitiousandchallenging a p o & Y & o wasapproximately amere 3% postmortem_
pm January 2013 035
035 game developer magazine 036 game developer magazine before eventually introducing somehierarchy inthemiddle ofthe for monthsasaneven smaller group withnodefinedprocess board, we still hadto endure somegrowing pains.We worked environment artist to steer theartdepartment. at thebeginning,andthatputagreat deal ofpressure onour as itshouldhave been.For example, we didnothave alead artist with us,whichmeantthatnotevery positionwasfilled asearly team members to make sure they would beagood fit to work successful E3showing. We took timeto carefully select new essentially four people, andwe gradually ramped upafter our 4) much from ourvery dynamiclevel-design process. each scene sothatourcinematicsproduction doesn’tsuffer as about havingastable pipelineandbetter-defined constraints for not simplifytheprocess. Inthefuture, we’ll be muchmore careful maintaining several pipelinesfor doingthesamething,whichdid to gobackandredo previously authored cinematics, thismeant some oftheseinterdependencies, butsince we didnothave time new waysofintegrating cinematicsinto thegameto resolve for everyone. animation, andsubsequently music—allcausing majorheadaches, multiple changes to thecinematicdirection, inandoutpoints, on manyofthelevels untilthevery end.Thismeantwe hadto make areas where they took place were still evolving—indeed, we iterated as thegameplay. integrated withthegame,asifthey took place in thesamesetting only betold through cutscenes, sowe wanted themto feel tightly we realized thatanumberofimportant partsofthestory could mad whenheeatsone,soyou must experience thatfirsthand. But doesn’t tell you thatMonster cannot resist frogs orthathe gets direction wasto create empathythrough interaction; thegame much players are playing, and how much they’re watching. Vander’s such acomplex story interactively isinthebalance between how particularly inthewaystory wastold. Thechallenge oftelling luxury isnow reserved for ournext title. could have worked outpriorto starting, butunfortunately, that cinematic production pipelinewasoneofthekinkswe wishedwe 3) Problematic cinematic opportunity to make thelevel scriptsafer andmore robust. level directly onthefirst draft, whichallows aprogrammer the the needto implement prototypes instead ofbasingthefinal programming languages.Onelesson we willdraw from thisis and evolved thantheonesavailable for more widespread Another issue isthatdebuggingtools are typically less powerful postmortem_ 036 O Even once we gotevery memberofourdream team on We triedto improve thesituationinvarious waysbydeveloping Unfortunately, thismeantthey hadto bedeveloped while the We wanted ourgameto beinnovative inseveral respects, and rg charthierarchyissues In2010,thecompany was pm
January 2013 p roduction p i p Our eline Our real collaborative experience. can make allthedifference intransforming outsourcing into a approach, combination ofpeople, andmost importantly, passion, approach outsourcing from theoutset.Havingrightattitude, an attractive option.Thelesson to learn here isreally inhow we modelers, butwithourcurrent resources, outsourcing isstill have brought inexperienced, full-time,in-housecharacter internal workflows. pipeline delayscontributed to avery long process thataffected schedules, subsequentbreakdowns incommunication, and (and didso,immensely), butthefactors ofdifferent timezones, Vander’s talented friendswhowanted to helpwiththeproject resources, character modelingwascontracted to someof was character modeling.Withoutanabundance ofstart-up not in-house. harder to communicate anditerate withsomeonewhenthey’re people we could nothave otherwiseworked with,butit’s always outsourcing. Thisallowed usto afford theservices ofvery talented at thesametime,butfor someotherthingswe hadto resort to needs byhiringversatile people whohelpedonseveral things needed to getafullgameofftheground. We covered manyofour we could notafford to hire specialists ofevery single discipline 5) careful planningandmore structure inplace. be looking atpotential interns for future projects, butwithmore and we were very busyproducing thegameitself. We willstill did nothave asolidmentoring andleadership structure inplace, not always able to make themost efficientuseoftheirtime,as we project along faster toward theend.They didhelp,butwe were feel bypassed orthathisauthoritywasbeingundermined. was onboard before makingadecision,orelsesomeonecould development process. Thismeantwe hadto make sure everyone CONCLUSION that’s notweighed inMetacritic, we’ll happily take thatinstead. read fan mailfor changingsomeone’s life untilnow, andeven if bad reviews can behumbling.Butnobodyontheteam hadever achievement for havingpulled offwhatwe did. Undoubtedly, the build ismore robust from thestart. games, while developing ourworkflow to ensure thatwhat we of thedebuggingtimerequired for puzzle- andexploration-heavy process andrelated marketing efforts. We’ll alsobemore mindful for polish,accounting for thetimeneededfor thesubmissions in outsourcing andhierarchy structures. We’ll allow more time senior members to ourteam, whocan helpuswork outthekinks it upover thecourse oftheproduction, andwe have addednew with afully functionalteam from thestart, rather thanramping better shapeto handle thenext projects. We’ll beable to start see how muchwe appreciate itonafrequent enoughbasis. positive attention thatwe never anticipated, andwe hopeourfans birthday cake for his daughter (alsoasuperfan). It’s anew kindof who’s played over 70timesandisonamission to have aLula $2.04 just because hewasbuying GameStop store managerwhocovered someone’s balance of and sizes,like thepositive review inTheNew York Times,orthe dreams docome true.Highlights for ushave come inallshapes successfully shippingit,we feel (asclichédasitsounds)that and co-founder for Minority. manager/writer for Minority Media,andJulienBarnoin,lead programmer co-written was This postmortem by Chantson, community Deborah *** O Had we beenable to throw money attheproblem, we would One particularaspectthatfell victimto budgetrestraints We alsohired asmallnumberofinterns to helpmove the We have anincredible senseofprideandanew level of Now thatwe’ve beenthrough thefirst title, we’re inmuch utsourcing Beingasmallcompany withlimited funding,
P apo &Y o
wasMinority’s first game,andafter P apo &Y o , orthesuperfan pm encour nils pihlexploreshowmultipl you neverintendedittogo? Are pl a a ge good yers pushingyourg behavior isagraph attempting to make senseofthedata. be. Whereas anaction could bedescribedas adata point, action mightbe, and actions, withtheactionsthemselves. behavior, whichisamodelfor describingsomeone’s or stimulus. It’s important here thatwe don’tconfuse way someoneactsinresponse to aparticularsituation understanding player behavior Behavioristhe behavior itself. we willfirst have to gainarudimentary understanding of players might behave within the game? To understand how, culture. Thegameisonly asgoodtheplayers. in every sensecan still fall shortto anunhealthy in-game tremendous importance. Gamesthatare well developed and behaviors oftheplayer isadauntingtask, butoneof a waythatwillberewarding. Managing the expectations struggling withhow to encourage theplayers to playin for theplayer, andgamedesigners often findthemselves an enormousimpactonhow enjoyable thegamewillbe How theplayer behaves withinthecontext ofthegamehas of theauthor’s instructions. the most interesting thingsaboutgamesbetween thelines are much like booksinthismanner,andwe will often find characteristics ofthegamewe wantto interact with. Games measures ofsuccess, andwe choosewhichoftheoriginal We addnew rules, new contexts, new narratives, andnew game is,there isalways room for ourown creative input. helps designthem.Nomatter how simple orcomplex the An interesting thingaboutgamesisthattheplayer always even ifI’mtired now” “I amgoingto sleep” So how doesonemanage,or even anticipate, how When designinggames,thisisbothablessing andcurse. a nd b a d pl
“I willgoto sleep after thisTVshow,
shows uswhat abehaviorwould a yer beh a
is agoodexample ofwhatan me indirections I a n this yer g a viors. a mes a rticle,
coined theterm “meme”inhisbook life oftheirown. culture are fairly limited. Behaviors andideasseemto have a play indetermining whatbehaviors are prevalent inour explain theseirrational behaviors? gambling, unprotected sex, andspeeding. How can we the behaviormighthave. Considerthingslike smoking, even whenwe are very well aware ofthenegative effects We routinely engageinbehaviors thatare badfor us, their teeth withbleach. but only very few willmake theleap andattempt to brush We brushourteeth withtoothpaste to keep ourteeth white, rationally choosesomeofourbehaviors, andavoid others. wasteful, detrimental, anddestructive to us.Thishelpsus things thatare goodfor us,while otherbehaviors can be extrapolate, derive, andexperiment. If we have agoodmodelfor someone’s behavior,we can This gene-centric view ofevolution hashelpedshed alot selection actsonthegenes,rather thantheindividuals. and mutated. memes, andthey are ideasthat can beobserved, copied, fold ourlaundry,the waywe getourhaircut,these are all and gestures we use,thephrases we choose,thewaywe Memes are thebuildingblocks ofbehavior. Thewords gene—that can getcopied from oneindividualto another. could move from isolated behaviors into therealm ofculture. things thatplaygenerated gotto besopopular—how they a complete model.Dawkinsfound awayto explain how the our desire to playwaswhatgenerates culture, butthatisnot enthusiast, you mayremember thatHuizingathought attempt to better explain whatgenerates culture. Asagame The famous evolutionary biologist Richard Dawkins The key liesinunderstanding thattheroles we ourselves But we aren’t thatgoodatavoiding destructive behavior. Some behaviors are particularly successful atachieving In A memeisachunkofbehavioral code—a behavioral
The Selfish Gene,DawkinsexplainsThe Selfish to ushow natural
Cross-platform_
The Selfish Gene,inan The Selfish 037 Nils Pihl
0037037 game developer magazine 038 game developer magazine algorithms we are incomplete control When programming thingslike genetic evaluating thefitness ofanentity. will emerge. we can make somepredictions aboutwhat environment thatthememeswillpopulate, selection itself. Bycarefully designingthe selection, we can alter theenvironment of which particularmemeswillemerge from place we want.Althoughwe can’t choose the evolutionary process ofmemesto a memes; there are waysfor usto guide not completely atthemercy ofthese potentially viral, strains ofideas. copy themselves andmutate into new, (even involuntary observation), andthey Memes spread through observation unfortunate hosts ofthissecond replicator. our genesdo,andwe are thesometimes- ideas have aviral life oftheirown, just like spreading more memes.Behaviors and our brains andmake usinto machinesfor to otherhosts. Memesseemingly hijack host, butrather byhow well itpropagates not determined bytheeffect ithasonits spread. Thesurvival fitness ofamemeis ideas helpsusunderstand whybadideas that sameprocess ofnatural selection on any physical senseoftheword, imagining sole purposeofreplicating genes. a machinebuiltbyandfor genes,withthe own modelofevolution. Theindividualis more usefulmodelthanCharles Darwin’s like diseasesandcancer, andisnow a view ofevolution hashelpedexplain things environment they live in.Thegene-centric organisms thatare very well adapted to the will oftheless successful genes. see more ofthesuccessful genes thanwe successful genesand,withtime,we will successful geneswilloutperform theless being reproduced thanothers. Themore that certain genesare more successful at aspects ofbiology. Thetheoryshows us of lightonsomethemore peculiar Cross-platform_ 038 in A fitness functionisamodel for When designinggames,we are Although they obviously donotexist in This simple process generates ex t ernal r t ernal r u les u
les
Nils Pihl Cu I n-ga l tu at competing for amate. safety from predators, andafair chance will require asteady source offood, relative survive long enoughto reproduce, andthis The victory condition for agiraffe isto where they have anopportunityto thrive. giraffes evolving over timeto fillaniche environment we created. to modelhow itwould work inthe we can approach itsideways andtry direct authors ofthefitness function, ourselves—but even whenwe are notthe of thefitness function—we authorit The Uroboric conditions ofthegame. certain behaviors byexamining thevictory trees, we can anticipate theemergence of untapped resources intheform oftall, lush can bepredicted byseeingthatthere are emergence ofsomethinglike giraffes living conditions. Just like the possible grows inresponse to theimproved with less competition, andthepopulation necks allow themaccess to afood source further. Thewaythatplayers behave players, thesituationgetscomplicated to scale. for many,hard to manage,anddifficult end upwithaproduct thatisunenjoyable with theoptimalwinningstrategy, you can desired behaviorofaplayer isnotaligned that we wantourplayers to do.Whenthe the optimalwinningstrategy issomething create thegameinawaythatensures that behavior we wantto observe. We needto rules create aproblem thatissolved by great care to make sure thattheinternal function for behaviors, sowe must take are the first buildingblocks for thefitness the gameputsinplace (theinternal rules) with time.Therules thatthedesignerof get better andbetter atwinningthegame better atwinning.Simply put,people will observe willdrifttoward strategies thatare and given enoughtimethebehaviors we there are strategies (behaviors) for winning, m re In thereal world, we can seethingslike In any game environment withmultiple e C m ycle For every game, e m es
Their longer
behaviors in of themost frustrating andprevalent element ofthemapthatgave riseto some play styles, butthere wasacrucialdesign because itsupported arange ofdifferent because ofthegame’s internal rules. detrimental memecan gainafoothold W dominate thememepool until onememeissuccessful enoughto of Modern Warfare and better winningstrategies. shaping thein-gameculture toward a partoftheenvironment, constantly been anticipated). creators (althoughitmightwell have not initially designedbythegame’s environment—an environment thatwas have to respond to thisnew competitive When thishappens,allplayers will develop thatare more competitive. to goaround, andstrategies can quickly resources. There are only so manykills compete witheachotherfor limited however, theplayers willhave to ever closer-to-optimal way. players willintuitively play the gameinan accuracy andmobility,withtime, will have to strike abalance between Player strategies inthisenvironment methodical player movement meme. tactical shooter willfavor aslower, more could behow aslow-closing reticle ina are more successful. Anexample ofthis will helpdetermine whichstrategies strategies are tried,theinternal rules function for player behaviors. Asdifferent as aninitialfirst-generation fitness process of fitness function even further. Thisiterative new setofexternal rules thatwillalter the that we can expect from themactasa other players, andtheprevalent behaviors several players dependsgreatly onthe changed environment. generation ofmemesinresponse to the fitness function,andgive rise to anew will changethegame,andthereby the of your starting location andmove into the you would have to leave the relative safety and otherobstacles. To getto theenemy, of themap,separated byvarious buildings opposing teams would start oneitherend the intent. Themap on theleaderboard... Atleast, thatwas hard, andnoteveryone can becompetitive thinking. Beinggoodat coordination, andafair dealofstrategic required great reflexes, fantastic hand-eye- and nerve-wracking. Beinggoodatit popular first person shooter—fast-paced M o arfare d t The Crossfire mapwas very popular The The players themselves become In amultiplayer environment, How to best playagamewith ern he
internal rules C W illustrates beautifully how a o
uroboric balancing mm arfare M o ons d ern
is atremendously
C Crossfire all W
of thegameact C arfare .
all of t D he Tragedy
of
in uty will continue . The . The D M
4: o uty d ern is is
being taken outinthe first 20seconds of the battle even began.Needless to say, side would be taken outofcombat before determine how manyplayers from either seconds ofthegame,andchance would throw grenades over thewallinfirst 20 expected behavior. Bothteams would the memewassoprevalent thatitwas the faster itspread, andafter awhile very addictive. successful atalow cost, anditwas the required actions,itwasfairly was soeasyto observe andunderstand meme thatwaseasyto copy because it desirable pointsinexchange. Itwasa cheap grenade, andyou could winvery scenario. Allyou hadto wagerwasa grenade into ahighly addictive gambling hit anenemyornotturnedthrowing the The fact thatyou didn’tknow ifyou would schedules can beincredibly addictive. second rub.Randominterval reward early inthegameandhopefor the best. on, soyou mightaswell throw afew off it would behard to usethe grenades later paced environment oftheCrossfire map, was alsoexceedingly low—in thefast- gravitated toward it.Thecost oftryingit at afree pointortwo, soalot ofpeople or exertion wasneededto have achance because itwaseasyto use.Very little skill of unfortunate circumstances. spamming” memewastheperfect storm being unfairly killed early on.The“nade the chances ofahapless opponent thrower gettingapoint—butincreased decreased thechances ofeach individual throwing grenades over thatwall,which More and more people started blindly requiring anyparticularskillatall. that thememewaseasyto copy, without game andthemap.Theproblem was have avery intimate knowledge ofthe invented thetechnique, you neededto was undoubtedly impressive—to have to getastylish kill. the teams hadallowed onecreative player points andinsufficient obstacles between The combination ofpredetermined starting determine ifyou gota“free” pointornot. be ontheotherside,andchance would statistical likelihood thatanenemywould thrown to theotherside.There was agood was low enoughfor agrenade to beblindly separated thetwo teams early inthegame get cheappoints.Oneofthewallsthat prove very difficult. leaderboards ontheCrossfire mapcould a lot ofroom for improvisation. Topping the tactical retreats—it wasadiffi cult mapwith balance between forward momentumand Crossfire map,you hadto strike adiffi cult the map.To beasuccessful player onthe more dangerous warzonesinthemiddle of The more people copied thememe, And inhopingfor thebest laythe The strategy wasattractive to players The very first timeithappened But players quickly found awayto from havingagoatit. no mechanismfrom preventing everyone many people to nadespam,butthere was with scale. There wasonly room for so widely adopted, thesituationchanged entertaining before thememebecome perfectly rational, beneficial, and behavior andjoinedin. Teammates onbothsidesobserved the reciprocated withmore nadespamming. and thevictimsquickly caught onand the momentsbefore your avatar’s death, meme to spread; KillCamswould replay game madeitfantastically easyfor the be contained. Theinternal rules ofthe viral memewasspreading too fast to a task ofSisypheandimensions.The hosts to kickoffoffenders proved to be map itselfwasprohibitive, andfor game eradicate—the cost ofchangingthe that thememeproved very difficult to taking asevere hit.Theproblem was and theoverall funofthegamewas many people were nadespamming, to gainanythingfrom itanymore. Too popular enough,noonereally stood with your teammates. forfeit anopportunityto stay competitive you could getkilled early, you would you choseto avoid thesituationwhere the gameisincredibly frustrating—but if M the gamewillbe more enjoyable for If everyone agrees notto nadespam, to cooperate in maintaining itsspread. an agreement (explicit orotherwise) copied, players would have to reach theory classic: thePrisoner’s Dilemma. is better explained withanothergame preventing theTragedy oftheCommons, problem ofcontaining thespread, and kinds ofeveryday situations.Butthe surprisingly common occurrence inall Tragedy oftheCommons,anditisa ODERN In gametheory,whathappenedto Although thebehaviorhadbeen Once thememehadbecome Because thememewassoeasily W ARFARE isreferred to asthe find thefulltext here: http://bit.ly/12hReNW article originally You posted onGamasutra. can Editor’s note: Thisarticle isanexcerpt from an behavioral engineering, andgamemechanics. fi rm that specializesin engagement design, (www.mentionllc.com), aninternational consulting Nils Pihlisoneof the founders of Mention LLC *** the environments inwhichthey spawn. tamed, we are ultimately thearchitects of foe, andalthoughthememecannot be meme can beavery powerful friendor than your own direct designinput.The can have agreater impactontheproduct culture thatthegamewillinevitably have rules oftheir products, asthein-game great care whencreating theinternal IN CONCLUSION Designers shouldtake the desired behaviorofplayers. winning strategy thatwasnotinlinewith internal rules gave birthto anoptimal At theendofday,ModernWarfare’s recruit more wrongdoers ontheother. one hand,they punishwrongdoers, but the KillCam are double-edged swords: On for thememesto spread. Measures like created anew andvery effective vector penalizing thebadbehaviors, italso KillCam introduced anelement of and spawncamping. Althoughthe negative behaviors like nadespamming of deterring people from engagingin the KillCamwasdesignedasaway documentary Nice FinishFirst. Guys Prisoner’s Dilemma very well inhis1987 the Tragedy oftheCommonsand theory, explains thephenomenaofboth Richard Dawkins,thefather ofmeme toward theTragedy oftheCommons. defector to nudgetheuroboric cycle back it getsvery high—anditonly takes one the winningpotential for someonetrying people have stopped nadespamming, everyone. Theproblem isthatonce CROSS-PLATFORM_ Interesting to note isthat C ALL
OF D UTY : MODERN 039 039 _
Nils Pihl Nils Pihl WARFARE
039 game developer magazine 040 game developer magazine S GameMaker produced manythousandsoflittle games,andafew gemslike thefree version of and recently wasboughtbyYoYo Gamesandre-released asGameMaker Studio.Along theway, starting waybackin1999.Since then,ithasevolved withthetimes,addedalot ofnecessary features, Windows, MacOS,iOS,Android, Windows Phone8,andHTML5.GameMaker hasalong history, through GUIactionsrather thanaprogramming language.Itcan create executables thatrunon GameMaker Studioisanintegrated development environment for thecreation of2Dgamesmostly GAMEMAKER STUDIOv1.1.7 multiple platforms, GameMaker Studioonly runsonWindows.) ] Debuggerlacks advanced features 3] Behaviors are trickyto editinmore 2] UIisclunkyandhard to navigate 1] CONS Multiple-platform export features can 3] Accessible price tiers 2] Low-code approach goodfor 1] PROS Screen resolution of1024x600 512 MBRAM Windows XP/Vista/7 (32-bitand64-bit) SYSTEM REQUIREMENTS range from $50to $500] [Free version available; paidlicenses www.yoyogames.com YoYo Games GameMaker Studio v1.1.7 PELUNKY TOOLBOX_ 040 complicated projects save timeandmaximizeexposure introducing basicgame-dev concepts , andmore recently
Noel Llopis t H OTLINE Delphi), butinany case, it’s achore to useit. still built ontop oftheoldcodebase from theoriginalGameMaker (which was originally written in Studio’s UIisnot;it’s clunky,ugly, and nonstandard. Maybe it’s because GameMaker Studiois languages witha GUI,Iwould expect aslick,super-streamlined userinterface. GameMaker USER INTERFACE NEEDSWORK For anenvironment thatattempts to substitute programming only takes asecond ortwo, soyou can iterate fairly quickly. it inawindow. Building andrunningthegame—atleast withsmall projects andafast computer— event against wallsreverses itsvelocity. Done. you can addtheevent handling: TheCreated event setsahorizontal speed there, andthecollision Then, you create anobjectthatusessprite for avisualrepresentation. Ontheobjectitself, simple. You needto start bycreating asprite (possibly animated) thatwillrepresent theenemy. hook upahugevariety ofactionsinresponse to them. Studio doesagreat jobofpresenting lots ofevents thatobjectscan respond to, andletting you the software’s userinterface needsto supportandexpose awiderange ofconcepts. GameMaker It alsooffers someadvanced functionalitysuchas2Dphysics andeven some3Dsupport. well-chosen fundamental buildingblocks: Sprites, Rooms,Objects,Events, Actions,andTimelines. does agreat jobofdistilling thebasicconcepts neededfor most 2Dgames,andprovides some through aGUI,clickingonbuttons anddragging anddropping components. GameMaker Studio games withouthavingto dealwithactualprogramming languages. Most everything isdone MAKING GAMES WITHGAMEMAKER GameMaker Studio’s goalisto allow people to make At anypoint,you can press thePlay button andGameMaker Studiowillbuildyour gameandrun For example, creating anenemythatmoves horizontally andbounces offthewallisextremely For users to beable to create gameswithouthavingto resort to aprogramming language, M IAMI . (Note thatwhile earlierversions ofGameMaker ran on you can create your own custom action inGameMaker accumulated over timeasdifferent games neededthem. where itshinesdueto itslong history, asI’msure they were actions available to compose your behaviors. Thisisoneplace GameMaker Studioprovides ahugerange ofevents and you can puttogether abasicgamein matter ofminutes. Windows Helpfile one. format, orhadone available onlineinstead oftheclunky wish thatitalsoincludedagood reference document inHTML go aboutimplementing just aboutanysimple 2Dgame.Ido of thetutorials andimmediately had agoodideaofhow to extensive tutorials andsample projects. Ifollowed acouple job ofgettinganew userupand runningvery quickly through TAKING STUDIOFOR ASPINGameMaker Studio doesagood today it’s simply inexcusable. things. TheGUIwould have beensubparbackin1999,but variable namesinthe(fortunately few) places you have to type And forget aboutanymodernamenitieslike autocompleting and paste events between objects,andjust onelevel ofundo. are someinexplicable design choices, like aninabilityto copy being effects ofusinganoutdated GUIlibrary, butthenthere it over otheritems. You could dismiss thosethings assimply feedback aboutwhere anitem willbedropped whenyou drag floating windows inaparent area, ornothavingvisual glitchy behaviorwhile resizing windows, aclutter ofmultiple on-black editor colors (whichcan fortunately bechanged),the In therare case thatanactionfor whatyou want ismissing, Creating new objectsandbehaviors isreally easy, and The UIjust feels substandard, from the initialugly green-
TOOLBOX resolution, butthatmight result inslightly blurry graphics. providing ascaling factor to match thetarget device’s native GameMaker Studiodoesalleviate someofthoseproblems by of multiplatform (orfor aplatform that hasmanyresolutions). dependent onyour resolution, which isabadideafor anykind pixels, whichIfound shocking.Thatmakes thegamelogic across platforms just fine. be re-implemented, butmost basic input functionalitywillwork touchscreen input(like mousehover, for example) willneedto interface features that rely oninputswithnoanalogous generated byakeyboard press orascreen touch. Obviously, objects can respond to specific inputevents, whetherthey were Studio managesto abstract outmost ofthosedifferences. Your a challenge (mouse vs. gamepadvs. touch), butGameMaker Dealing withdifferent typesofinputfor different platforms is other versions can create AppStore-ready iOSexecutables. ability to publishto Windows (asaninstaller orazipfile), but attractive feature onpaper. Theversion Ireviewed only hadthe events inturn,it’s apretty significant omission. a bunchofobjects,eachreacting to events andtriggeringother from thedebugger,andconsidering how logic isspread among breakpoints orstep through thelogic thatoccurs ineachframe step execution frame byframe. Unfortunately, you can’t add game, pause,examine variables (bytypingthembyhand),and respect, GameMaker Studioisasuccess. variety ofgameswithouthavingto touch GML,sointhat Language (GML).Butyou can really doasurprisingly large GameMaker Studio’s fundamental space unitsare One-button publishingfor different platforms isavery Debugging supportisdecent, butnotgreat. You can runthe t _ Noel Llopis 140 H OTLINE M 041 game developer magazine IAMI 042 game developer magazine a single pageofcode, andit’s simply impossible to follow. Making many different events and alarms,instead ofexpressed simply in the most trivialprojects. Theflow ofactions isspread between resulting logic becomes extremely complicated for anythingbut though you can create very simple behaviors really quickly, the actions andreuse themeasily across objects. system, butIwas hopingto beable to group someevents or things simple anddidn’tdosomekindofinheritance orcomponent time assoonyou start makingsomechanges.I’mgladthey kept This isanextremely error-prone process, andcan take upalot of pasting thesameevent handlingandactionsinto thenew enemies. different enemieswithsomeshared behaviorinvolves copying and kind (withoutwritingcustom GMLscripts).Itseems thatmaking at all. in to theIDE,ormaybenoteven provide anykindofsource control have considered having somekindofsimple source control built requires themto install Subversion separately. Instead, Iwould that mightnotbethebest wayfor theintended audience, since it PC, whichisinteresting (andactually the wayIprefer it).However, integrating withSubversion already installed inyour development rely on“steps.” can useinyour calculations, butalltheevent code andalarms ways to getthereal timeelapsedfor thecurrent frame, whichyou slow down orspeedup.Fortunately theprogram provides some performance bogsdown atsomepoint)willcause thegameto (either because it’s adifferent platform orbecause thegame 5,000 steps?), italsomeansthatrunningatadifferent framerate counterintuitive wayto measure timefor new users (how long is time ofaframe (eitherat30Hzor60Hz).Apartfrom beingavery TOOLBOX_ 042 This leads meto thebiggest flaw ofGameMaker Studio:Even One majorflaw Ifound istheinabilityto reuse behaviors ofany GameMaker Studio provides source-control integration by Similarly, thedefault unitoftimeisa“step,” whichisthe
Noel Llopis t games include violence inhisgamesandinstead relies oncreativity andsharing.His latest turned indie-gamedeveloper.Noel Llopis veteran isagame-industry Heavoids *** JavaScript, Python,oreven CodeaoniPad. quickly. Afterward, they can move to acode-based environment like boon to keeping motivation high andallowing people to learn sounds, andseethingsmoving onscreen rightawayisahuge make games.Thefact thatthey can hittheground running,play Learning thatalone isarguably thebiggest step toward starting to relate to eachother,whatkindoflogic is involved, andsoon. that gointo makingagame:thedifferent components, how they environments, butthey willlearn aboutthefundamental concepts acquire withGameMaker Studiowon’t betransferable to other programming knowledge how to make games.Theskillsthey excellent tool for teaching children orpeople withabsolutely no rendering, addingbehaviors incode ismuch,muchfaster. clicking anddragging. Once you have abasicmainloop update and becomes very cumbersome andslow because oftheconstant objects moving onthescreen quickly, iterating onbehaviors Studio for quickprototyping. Even though you can getsomesimple novices andseasoned gamedevelopment professionals equally.” intended for?” YoYo Games’s we bsite claimsthatit’s for “entry-level my mindwhile IwasusingGameMaker Studiowas“whoisthis WHO ARETHEGAMEMAKERS? Thequestion inthefront of extremely difficult. development ofanykindmedium-to high-complexity game and whencombined withthelackofgooddebugging,makes significant changesto anexisting gameisavery delicate process, In spite ofmycriticisms,IthinkGameMaker Studioisan For seasonedprofessionals: Iwould notrecommend GameMaker C ASEY ’ S C ONTRAPTIONS and F LOWER G t ARDEN . R ICK O’S HEA . TEST THEMOBILEGAME DEVWATERS WITHOPENFRAMEWORKS Intro toopenFrameworks openFrameworks atwww.openframeworks. will considerably speedupyour updates. Store version getsdelta patches, which at Apple’s Developer site, buttheMacApp and install Xcode. You can alsofind Xcode Mac AppStore application to download https://appleid.apple.com, andusethe have oneifyou use iTunes oriCloud) at above. Register anApple ID(you already and aniOSdevice runningiOS5.1or need aMacrunningOSX10.7orabove, GETTING SETUP physical performativity. vs. abstracted control andtheincreased explore related to directness ofcontrol control itself,there are dimensionsto further interaction. Interms ofgame that are obviousintheirfunctionwithout place more emphasisonhavingbuttons tooltip, andasaresult developers must in touch devices haseffectively killed the for example, thelackofa“hover” state reconsider certain interface patterns; platform paradigm shiftsmake us good andare easyto use.Andsometimes, the process ofdeveloping gamesthatfeel with people andmachinesisimportant in holistic view ofhow your code willperform unavoidable gapsinspecdocs.Havinga well asimprovisers whomust fill inthe between ideasandusable things,as workable products. We are gatekeepers engineers, we turnassets andideasinto WHY MAKEMOBILESTUFF? Next, download thelatest release of games like not therightplatform ifyou wantto make thenext an update/draw loop, adrawable canvas, andawayto read inputfrom thevarious sensors onthedevice. It’s openFrameworks, amultiplatform creative coding environment inC++thatwillgetyou aleg uponhaving programming interactivity ontouch devices withoutcommitting to awhole new environment, consider trying devices. Ifyou work withiOS,you generally have to touch someObjective-C. Butifyou wantto have afeel for platform differences. Ifyou work withAndroid, you can useCbuthave to dealwithalarge quantityofdisparate Mobile development isalltherage, butgettingstarted can beachore for console ordesktop developers dueto For thistutorial, you’ll S PELL T As OWER andnewer versions of that theproper libraries are included, create anew project. Inorder to ensure A PROGRAM,STEP-BY-STEP the touch sensors, theIMU,andGPS. openFrameworks ortheiPhone,including explores adifferent bitoffunctionality diving into your own app.Eachexample poke around someofthecode before some files intheExamples directory to directory intheFinder. You can open version is0073)andunzipit.Openthe cc/download (asofthiswriting,the latest S PELLTOWER . S UPER I NFINITY H EXAGON First, B LADE , soitisbynomeansadeadend. INNER PRODUCT_ , butitpowers somehigh-quality,popular src to seeallthe oFwrappers for iOS xcodeproj >addonsofxiPhone > something more appealing. the ofRunAppcall inmain.mmto match) to contained therein (don’tforget to change you mayrename thefiles andtheclass objective-C andC++to mingle). Ifyou wish, objective-C++, adialect thatallows extension indicates that thefile contains The meatisintestApp.h/mm (the.mm run your oFapp—inthiscase testApp. you are targeting (seeListing 1).Then to match theresolution ofthedevice that rendering context. Changethearguments you’ll call ofSetupOpenGL() to setupthe and enable Retina support.After that, to getareference to theapp’s window high-DPI/Retina display,you’ll want context. Ifyou’re onadevice witha boilerplate code to setuptherendering start diggingin. open thegenerated project—we’re goingto libraries, select “Generate Project,” and default. Once you’re donebrowsing the ofxMultiTouch, asthoseare includedby ofxAccelerometer, ofxiPhone,or wrappers. You don’tneedto select the libraries thathave openFrameworks whatever you want. projectGenerator.app, andname theproject projectGenerator directory, run project generator, sojust openthe openFrameworks now includesa Note that you can expand iOS+OFLib. The file main.mm contains some Next, clickonAddonsto seesomeof Jonathan Beilin ip 043
043 game developer magazine 044 ip INNER PRODUCT_Jonathan Beilinip
[LISTING 1: INITIALIZING THE WINDOW, OPENGL CONTEXT, AND OF APPLICATION.] void testApp::touchDown(ofTouchEventArgs & touch){ int main(){ lastTouch = ofPoint(touch.x, touch.y); // } // Retina-specific code // void testApp::touchMoved(ofTouchEventArgs & ofAppiPhoneWindow *iOSWindow = new touch){ ofAppiPhoneWindow(); // Find touch vector iOSWindow->enableRetinaSupport(); ofPoint currentTouch = ofPoint(touch.x, touch.y); // thrust += 0.16f * (currentTouch - lastTouch); ofSetupOpenGL(iOSWindow, 640, 960, OF_ FULLSCREEN); // Update angle ofRunApp(new testApp); angle = atan2(thrust.y, thrust.x) + M_ } PI_2;
lastTouch = currentTouch; LISTING 2: ADDING SHIP STATUS VARIABLES. }
// Add vars for ship status // Apply changes to ship’s position based on class testApp : public ofxiPhoneApp { thrust in update void testApp::update(){ void deviceOrientationChanged(int // Update position newOrientation); thrust *= .99f; currentPosition += thrust; private: // Ship status // Boundary wraps ofPoint currentPosition; if (currentPosition.x > SCREEN_WIDTH) { ofPoint thrust; currentPosition.x = 0; float angle; } else if (currentPosition.x < 0) { } currentPosition.x = SCREEN_WIDTH; }
LISTING 3: INITIALIZING THE SHIP STATUS VARIABLES FROM LISTING 2 IN THE if (currentPosition.y > SCREEN_HEIGHT) { SETUP() OF TESTAPP.MM. currentPosition.y = 0; } else if (currentPosition.y < 0) { currentPosition.y = SCREEN_HEIGHT; // Set up variables } #define SCREEN_WIDTH 640 } #define SCREEN_HEIGHT 960
void testApp::setup() { ofBackground(0, 0, 0); LISTING 6: ADDING A TRAIL OF SMOKE PARTICLES. thrust = ofPoint(0,0); angle = 0; // Add container to store prior positions of currentPosition = ofPoint(SCREEN_ the ship WIDTH/2,SCREEN_HEIGHT/2); class testApp : public ofxiPhoneApp { } // Input ofPoint lastTouch; LISTING 4: USING THE DRAW() ROUTINE TO DRAW OUR SHIP. // Trail point container deque