<<

CONTENTS.1110 VOLUME 17 NUMBER 11 DEPARTMENTS

2 GAME PLAN By Brandon Sheffield [ e d i to r i a l ] POSTMORTEM Move Back to

26 Montreal's Splinter Cell Conviction 4 HEADS UP DISPLAY [ n e w s ] Moving Splinter Cell's trademark stealth-based game play in an IGDA Leadership Forum, the Automatypewriter, and Bunten papers action oriented direction without undermining the series was a tricky archived. problem for Ubisoft Montreal. The original for Conviction was radically different from the franchise's traditional mechanics and 6 2010 Front Line Award Finalists [ N e w s ] necessitated a mid-development reboot. Fortunately, clear direction The Award Finalists for Art, Audio, , Middleware, and a well-tuned production pipeline kept the team from being Networking, and Production/Programming tools. knocked off balance by the shift. By Patrick Redding, Alex Parizeau, and Maxime Beland 33 TOOL BOX By Tom Carroll [ r e v i e w ] 2011 FEATURES 36 PIXEL PUSHER By Steve Theodore [ a r t ] 9 Fragged The Balkans Big explosions with lots of fragmentation and debris are a mainstay. But making them look convincingly unique is a tedious 38 THE INNER PRODUCT By Giacomino Veltri [ p r o g r a MM i n g ] process for artists. Here, the authors describe a procedural technique Game Configuration at Crystal Lake for automatically generating fragmented meshes that can save both time and sanity. 41 AURAL FIXATION By Jesse Harlin [ s o U n d ] By Robert Perry and Peter Wilkins The Weight of Silence

15 Full Reactive Eyes Entertainment 42 DESIGN OF THE TIMES By Soren Johnson [ d e s i g n ] Are the now-ubiquitous Quick Time Events in games a lazy way to Stop Making Sense keep players mashing buttons? Or, are they broadening the range of expression for game designers? Using examples from the past and 44 Good Job! [ C a r e e r ] present, this article looks to the future of QTEs. Bradley Johnson Q&A, who went where, and new studios. By Tim Rogers 45 Eye on GDC [ g d C] 22 Electric Eye Independent Games Festival news and IGF China finalists. Kinect and Move have arrived, and with them comes a growing interest in augmented reality. In this article, César Botana guides you step by 46 Educated Play By Jeffrey Fleming [ E d uc at i o n ] step through the of the OpenCV library, an essential tool for pat- David Arenou’s Immersive Rail Shooter. tern recognition in augmented reality games. Also covered is placement of 3D objects in game worlds based on these patterns' orientations. 48 ARRESTED DEVELOPMENT By Matthew [HUM o r ] By César Botana Our Last, Best Hope

www.gdmag.com 1 GAME PLAN // BRANDON SHEFFIELD www.gdmag.com Think Services, 600 Harrison St., 6th Fl., , CA 94107 t: 415.947.6000 f: 415.947.6090

SUBSCRIPTION SERVICES FOR INFORMATION, ORDER QUESTIONS, AND MOVE BACK TO KINECT ADDRESS CHANGES ARE THE NEW MOTION SYSTEMS INFLUENCING THEIR DEMOGRAPHIC BY PROXIMITY? t: 800.250.2429 f: 847.763.9606 e: [email protected]

FOR DIGITAL SUBSCRIPTION INFORMATION NOW THAT BOTH ’S MOVE AND ’S or a bow, so holding a physical object—the wand— www.gdmag.com/digital Kinect have hit the market, we can take full stock of makes you feel connected to the world. With Kinect, the new kids on the motion control block. Where Move steering a car or holding a bat feels bizarre, because EDITORIAL goes for a “ plus camera plus greater precision” you don’t have an actual “prop.” Whereas with PUBLISHER setup, Kinect hopes to make your body the controller. KINECTIMALS, the feedback was very positive, here it’s Simon Carless l [email protected] It’s no secret to anyone that these technologies much more difficult to feel connected to your actions, EDITOR-IN-CHIEF Brandon Sheffield l [email protected] are spurred on by the of ’s Wii. If because in reality these actions would center around PRODUCTION EDITOR the drive to create the technology wasn’t necessarily a physical object. Pantomiming them doesn’t cut it. Jeffrey Fleming l [email protected] Nintendo-inspired, the desire to release it with such It’s clear that each solution has its strengths, and ART DIRECTOR pomp and circumstance certainly was. areas in which it excels. But what I’m seeing right now Joseph Mitch l [email protected] PRODUCTION INTERN Both companies have tried to get a drink of is some strong me-too-ism. The first titles offered on Tom Curtis Nintendo's milkshake in slightly different ways. Each both consoles are very much in the vein of Nintendo’s CONTRIBUTING EDITORS platform lends itself to a different experience, but biggest titles for the Wii, or the third party successes, Jesse Harlin Steve Theodore both companies have unfortunately gone straight for regardless of whether it fits the system. The dance, Giacomino Veltri the Nintendo-alikes. exercise, , and pets genres are all well Soren Johnson represented, and I guess that’s a start. But to really Damion Schubert ADVISORY BOARD KING OF THE ME TOOS succeed here, developers are going to have to figure out Hal Barwood Designer-at-Large » Many developers have played with either or how to maximize the unique qualities of these systems. Mick West Independent Brad Bulkley Neversoft both systems by now, but for those who haven’t, I’ll Clinton Keith Independent explain a bit. The Move uses a camera to identify your THE PROXIMITY PROBLEM Brenda Brathwaite Lolapps movements (in a 2D sense), and also to put you “in the One similarity between Move and Kinect, which Bijan Forutanpour Sony Online Entertainment » Mark DeLoura Google game” at times, like the EyeToy before it. It uses wands differentiate both from the Wii, is that they use Carey Chico Independent to interact with objects and avatars on the screen, using cameras. It’s interesting technology, but also both motion control and buttons simultaneously. represents a curious limiting factor. ADVERTISING SALES With the Kinect, there are no buttons, just body In order to get Move or Kinect to recognize you GLOBAL SALES DIRECTOR (especially hand) recognition through the 3D camera. correctly, you’ve got to be about seven-to-eight feet Aaron Murawski e: [email protected] Menus are navigated and confirmed through swipes, away from your television. You also need to have a t: 415.947.6227 MEDIA ACCOUNT MANAGER and holding your hand over an on-screen button for clear, unobstructed view, meaning you’ve got to move John Malik Watson e: [email protected] a certain amount of time. In-game actions are all the coffee table or ottoman. t: 415.947.6224 performed with your body, and an usually I live in an urban environment, as many game GLOBAL ACCOUNT MANAGER, RECRUITMENT Gina Gross e: [email protected] does its best to mimic your movements. developers do. I also am not the richest human being t: 415.947.6241 These setups each lend themselves more on the planet. With that combination, getting seven feet GLOBAL ACCOUNT MANAGER, EDUCATION naturally to certain kinds of activities, and less well from my television is a bit of a challenge. I don’t have a Rafael Vallin e: [email protected] to others. Let’s look at two genres—pets, and sports. whole lot of space to move things around, and I really t: 415.947.6223 In the pets genre, Move has EYEPET, and Kinect don’t want to move my couch every time I play a game. has KINECTIMALS. In both, you’re supposed to be As the online space has taught us, any barrier to ADVERTISING PRODUCTION interacting directly with a little pet character. For the entry significantly limits your audience. So instead PRODUCTION MANAGER Pete C. Scibilia e: [email protected] Move, it’s a bit odd, because not only are you holding of potential players being those who own a 360 t: 516-562-5134 this wand in order to interact with the pet most of the or PS3 and can afford a Kinect or Move (or buy the time, your legs are physically in the picture, brought whole package if they have neither), layered into who REPRINTS in-game by the camera. This creates an illusion that actually wants the device, now you have the added WRIGHT'S MEDIA you could reach down and grab the pet, but of course element of “can it function in my home?” That’s a big Ryan Pratt e: [email protected] you’re always physically behind it in the screen, no deal. At each layer, you lose a portion of your audience. t: 877.652.5295 matter how close you get to the camera. The interface Take the entire nation of Japan, for instance. doesn’t feel natural, and you don’t feel as connected Very few people live in homes that are large enough AUDIENCE DEVELOPMENT to your pet, even though it’s visually “in” your space. to accommodate a seven-foot buffer without TYSON ASSOCIATES Elaine Tyson e: [email protected] With KINECTIMALS, there’s a clear distance between reconfiguring their entire living space. Urban dwellers LIST RENTAL Merit Direct LLC you and the screen—you’re in your living room, and the across the U.S. and Europe face similar issues. t: 914.368.1000 animal lives inside the TV. But it actually works much In the U.S., the persons who will be most able better, because all your interactions with the animal to use the Move and Kinect live in the suburbs, and MARKETING are done via virtual hand avatars that mimic your own or rent entire homes. This, by and large, means MARKETING COORDINATOR Nahal Agahi actual hand movements. So it’s much easier to feel like families. Both companies have specifically singled out e: [email protected] you’re really interacting with this little beastie—and the families as the group they want to market their new (for the most part) also take this interface devices toward, but due to the space requirements, into account. In this camp, the Kinect wins. they may accidentally be ensuring that those are the Then there’s sports. Here, the Move makes great only people who can play with these technologies. sense. For many sports you have a bat, or a racket, —Brandon Sheffield

2 GAME DEVELOPER | DECEMBER 2010 WWW.UBM.COM

HEADS-UP DISPLAY

dates circa 1915. The big issue here is going to be the carriage return, because on most manual typewriters you had to do this by hand. So, I’ve been working on ways to attach a motor drive to automate that process. That’s the biggest change on the horizon,” Guberman told us. “I’m swapping out the fishing line for metal jewelers’ wire, and I’m changing the structural setup to make it easier to adjust without taking the entire thing apart and putting it back together, a process that currently takes me about four hours. All of the mechanics are going to be hidden to the user. It’ll just look like a typewriter sitting on a desk, that happens to be able to type by itself,” he said. While the Automatypewriter is ghostwriter currently set up to run Zork, other possibilities exist and Guberman /// The next time you find yourself When the computer running Zork board, which sends the key press is collaborating with Jim Munroe lost in a maze of twisty passages, sends out a signal for the typewriter information to the computer. (EvErybody diEs) to create unique follow the sound of clacking to type a line of text, a connected Guberman wrote a Python script for the machine. typewriter keys. Interactive text Arduino board uses IC-based shift to handle serial communication to “I’m planning to write it with Inform adventures are moving off the registers to assign the key presses and from the Arduino board and 7, probably as a z machine file as is computer screen and into the real to the appropriate solenoid switches. Zork runs in a slightly modified common for text adventures. We’re world of ink and paper thanks to the When a given solenoid fires, it pulls version of the Rezrov (http:// going to test various approaches hacking skills of Toronto resident against the fishing line connected edmonson.paunix.org/rezrov) extensively on the platform itself Jonathan Guberman. Currently to a key, resulting in a letter being Infocom game interpreter. rather than assume we know what in prototype phase, Guberman’s typed. A bit of timing correction on An important design will work,” Munroe said. Automatypewriter uses a modified the computer side ensures that goal on the project has been To see the Automatypewriter in electric typewriter to output text the automatic typing follows a Guberman’s desire to implement action visit Jonathan Guberman’s from Zork in real time, as well as natural, human-like rhythm. the Automatypewriter’s controls blog at http://upnotnorth.net/ pass typed commands from the Because the Automatypewriter without significantly altering the projects/typewriter. Also check user back to the program. is designed for playing Zork in real host typewriter’s mechanics—a out Site 3 coLaboratory (http:// Working as a kind of electro- time, resistors positioned under constraint that will allow him to site3.ca) and Hacklab.TO (http:// mechanical puppet, each of each key of the typewriter can use a variety of antique typewriter hacklab.to) to see what interesting the electric typewriter’s keys is detect commands typed in by the models. “Now that I have it working new projects Toronto’s vibrant connected via a network of fishing user. Signals are passed through successfully, I’ve invested in maker community is brewing up. line to banks of solenoid switches. shift registers back to the Arduino an Oliver No. 9 typewriter that —Jeffrey Fleming

m.u.l.e. papers donated /// The International Center for the History of Video Games (ICHEG) at the Strong National Museum of Play in New York has obtained a collection of notes and papers documenting the career of gaming industry pioneer Dani Bunten Berry (Dan Bunten). Bunten, a Hall of Fame inductee at the Academy of Interactive Arts & Sciences, created the landmark multiplayer strategy title M.U.L.E. for computer platforms in 1983. Bunten was also involved in the development of titles such as robot rascals, HEart of africa, and cartEls & cuttHroats. Bunten’s children donated the papers to ICHEG and they have formed a company called Ozark Softscape (www.ozarksoftscape.com) that is dedicated to Bunten’s legacy. “It is a privilege to have our dad’s work at a place that truly understands what ‘play’ is all about and our dad would be humbled and honored,” said Bunten’s daughter, Melanie Bunten Stark. The Bunten donation follows ICHEG’s recent acquisition of a collection of personal notes belonging to simcity creator Will Wright. ICHEG plans to display both collections at Strong’s upcoming eGameRevolution interactive exhibit (www.icheg.org). —Danny Cowan

4 gAmE DEvELoPEr | DEcEmbEr 2010 notes from the igda leadership forum The annual IGDA Leadership forum was held this past November in Burlingame, California. Here are some of the highlights from talks given at the two-day event.

(On Smart management) experience, possible “If I were to leave you with all custom Scrum tools he’s player experience, to see your /// Laura Fryer (WB Games graphics,” they ignored the no other thing than this—when tried for one reason or another. friends’ best shots, their best Seattle): Many leaders will immediate for the long term, all of this logic brings you to While Scrum is full of scores,” said Vechey. throw their team under a bus he said. an obstacle, that is not the process, the “secret,” he said, in order to save themselves. Companies that invest moment to be stopped by logic, is that “it’s all about talking out (iF yOu Want tO DeSign They hide information more in R&D have better that is the moment to be seized loud. All of the trappings, what gameS, yOu ShOulDn’t Be because they’re afraid of margins than those who by inspiration,” said Daglow. they have in common, are an executive) telling their team the truth. spend less, he says, which that they foster conversation /// Danny Bilson (THQ): By way of example, Fryer makes sense. But there’s no (On the agile Way) between people who know Ultimately, money-wise you discussed when she was actual correlation between /// Kim Sellentin ( what they’re talking about.” are a bit beholden to your working on the that spend and the overall Studios Australia) and Ike stockholders, he admitted. while in her former position at success, based on actual Ellis (Zynga East): “Agile is (On SOcial gaming) “But there’s only one way Microsoft Game Studios. Epic data. “We’ve seen games that actually a mindset and an /// John Vechey (PopCap): that I know of to make the Games founder Tim Sweeney come out and are based on approach to leadership,” While the era of “cheap, stock go up,” he said. “It’s to came up and said, “You have some new tech feature, and said Sellentin. The project free, easy traffic” is gone, make a great game. What is to add more memory to the it’s really cool ... for about leaders learn how to listen to Vechey says the item-buy your customer responding box.” It was a labyrinthine 10 minutes,” said Parsons. the team’s needs, becoming business model was “first to? This gets lost in all kinds structure at Microsoft, so “Because if they let the “servant leaders”, and that’s really accepted in a broad of nonsense.” it was hard to know who technology drive the game, important to the project. way in Western markets” Games have to be led by actually makes the choices. At and not the drive Scrum also opens up thanks to Facebook. And the creative. “I don’t really believe Microsoft, they call it “walking the game,” then nobody cares. members of the team to Social Graph, “the ease of in collaborative art. But the dog”—you walk around, autonomy, and, Sellentin said, interacting with your friends” people say ‘well we’ve got 200 try to figure out who can help, (On FinDing inSpiratiOn) “there is so much leadership is tremendously relevant. people!’ There has to be one and find out who knows about /// Don Daglow (Stormfront on your teams and you just “If you take advantage of though, and it has to the problem you’re having. Studios): “If I pick one thing don’t know it yet.” the Social Graph, then every be communicated to all those People weren’t happy people have said to me—by “When you’re starting single game will be made people. All those people have to talk about it, and it was very famous game designers, off with Scrum you’re better,” said Vechey. Take, for the ability to create within "definitely a case of the highly respected people—it’s, going to run into a lot of example, , “It may their disciplines.” messenger repeatedly being ‘I have to stop beating myself misconceptions about be one of the most important “There was this gag in killed,” Fryer said. “I had one up about ideas that don’t what you’re doing. One of games of the decade. the past, where marketing executive say this was a big work,’ or ‘I have to stop talking these is that scrum brings miNecraFt would be better if would make a forecast,” he CLM (career limiting move) myself out of good ideas'," unmanaged chaos. This is it had the Social Graph inside said. “The forecast would and I should just stow it. I said I said Daglow. really off-base,” said Ellis. of it. I don’t fault them for not dictate the budget. And the didn’t think I was going to have He has heard many “You’ll know what people doing this, they’re indies. budget dictates the features a career if the Xbox 360 failed, people say “I’m having are doing at a good of WorlD oF WarcraFt would be and what you can do in the and I thought it was going to internal dialogue with myself detail and, more importantly, better with the Social Graph game. So they can change the fail if we didn’t get more RAM!” and I’m talking myself out the people doing the work will from Facebook.” forecast to manipulate what of stuff.” know what they’re supposed That’s because interacting they want. Why are the non- (On managing r&D) “It’s so easy to have to be doing.” However, it does with your friends through artists in charge of the art? /// Lucien Parsons (4mm a self-defeating dialogue. create more management games makes them more fun. Makes no sense to me.” Games): 3D Realms Deeply respected game overhead—the producer Vechey recounted how he “I don’t think games announced Duke Nukem designers whose names are has to be totally aware of all didn’t realize his friend was should be directed from Forever in 1997. “They’d famous are having these tasks and progress on all playing leaGue oF leGeNDs for corporate in any way,” he blown away the competition same conversations.” tasks, for which Ellis relies on months because of the lack of concluded. “If you want with Duke Nukem, and they “Freeing the mad an Excel spreadsheet. Social Graph interaction, and to design the game, you wanted to do it again!” Parsons scientist in you is when you “I’ve tried a bunch of when he did, he felt cheated should get in the studio. You said. But they kept trying to get the good moment that is things for a backlog, but I out of fun experiences playing shouldn’t be in the corporate leapfrog the competition, any not on the chart. That’s when always come back to Excel.” together he could have had. headquarters, and you time something new came you get , WorlD oF With the help of version control “PeGGle would be better shouldn’t be an executive.” out. “By focusing on always WarcraFt, games that change and some macros, it is the with the Social Graph, even if —Brandon Sheffield trying to get the best possible the rules.” best tool—he totally dislikes you play through the single and Christian Nutt cOrrectiOn: In last month's "Game Developer 50" we incorrectly attributed the art direction for Volition's reD FactioN Guerrilla. Jasen Whiteside is in fact the art director for the game and we deeply regret the error.

www.gdmag.com 5 We're proud to announce the finalists for the 13th annual Game Developer Front Line awards—the essential awards for tools and software that make the world's leading games possible—in the following categories: Art, Audio, Engines, Middleware, Networking, and Programming/Production. In determining the winners of the 2010 awards we went through a multistep process. Open nominations were held in October for software that had been released or had been updated between September 2009 and August 2010. From that list we consulted with our advisory board to narrow the results down to five entries in each category. We then handed the nominees to over to you, the readers ofGame Developer, via an online survey in November, so that you could have a voice in picking the recipients of the Front Line Awards. As this issue goes to press, we’re compiling the results, and in our January 2011 issue we’ll reveal the winners. We’ll also be inducting one special game development tool into the Hall of Fame that has been of enduring importance to the development community. Because the editors of Game Developer decide the Hall of Fame winner, it is not eligible in the regular categories.

Art a node-based authoring concept to production for digital audio workstations Game Engine environment to quickly within ZBrush itself. with a range of options generate complex texture that allow users to easily Photoshop CS5 files. The resulting textures Audio manipulate complex audio CryEngine 3 ADOBE SYSTEMS are resolution independent via touch screen. CRYTEK www.adobe.com and can be dynamically http://mycryengine.com /// With its broad feature altered at any point in the FMOD Designer 4.32 ProTools 8.0.4 Crytek’s CryEngine 3 will set and overall flexibility, art pipeline including at FIRELIGHT TECHNOLOGIES AVID TECHNOLOGY power the studio’s upcoming Adobe Photoshop CS5 runtime with the addition www..org www.avid.com CRYSIS 2, and is available to improves upon the of Substance Air. /// FMOD Designer offers /// The ProTools music and license not only for game established Photoshop a suite of options to help audio production software development, but also for suite by adding features Autodesk Softimage create high quality game has become practically interactive simulation and that include the content- 2011 audio. The software is fully an industry standard for education software. The aware fill, HDR imaging, AUTODESK integrated into several recording and editing audio. multiplatform engine allows and puppet warp to supply http://usa.autodesk.com popular game engines, It features a complete for real time editing of artists with even more /// Softimage 2011 helps including suite of production tools, game environments with its image manipulation tools. 3D artists create texture 3, , and Scaleform, including automatic delay Sandbox technology. maps, and features and allows bulk editing of compensation, and allows Autodesk 3ds Max a texture sequencer multiple sound files at once. users to open projects Lightspeed 2011 that allows users to created in other video or 3.1.1 AUTODESK manipulate bitmaps, vector Miles Sound System 8 audio editing software, EMERGENT GAME http://usa.autodesk.com graphics, and procedural RAD GAME TOOLS offering high flexibility. TECHNOLOGIES /// The popular 3ds MAX elements to create more www.radgametools.com www.emergent.net modeling, animation, complex textures. /// The Miles Sound System Wwise 2010.1.2 /// The Gamebryo Lightspeed and rendering software 8 middleware provides engine emphasizes rapid provides a variety of tools ZBrush 4.0 a versatile package that www.audiokinetic.com prototyping, iteration, and for artists, with the latest PIXOLOGIC supports many types /// Audiokinetic’s Wwise real time updates, enabling version adding a node- www.pixologic.com of audio files and runs audio pipeline allows developers to quickly put based material editor, HDR- /// ZBrush is a digital on nearly all available sound designers and audio together playable content capable compositing tools, sculpting and painting platforms. RAD game programmers to prototype so teams can build upon and other features to help program that features an tools prides itself on the projects quickly, and is their own work throughout accelerate modeling and interface that is more akin software’s stability and integrated into many the development cycle. texturing tasks. to sculpting than other 3D speed across all types of current game engines. Its modeling software, allowing hardware. latest version includes Unity 3 Substance Designer 1 artists to create assets side-chaining for automatic UNITY TECHNOLOGIES ALLEGORITHMIC without getting bogged ProRemote 2.0.1 volume adjustment and http://unity3d.com www.allegorithmic.com down by menus and obtuse FAR OUT LABS convolution reverb to /// Unity Technologies’ Unity /// Allegorithmic’s options. The latest release www.folabs.com simulate the way sound 3 game engine has been Substance Designer is aims to provide more /// Available for iOS devices, reverberates in an enclosed engineered from the ground a procedural texture features that allow artists ProRemote provides 32 space, along with a host of up to provide an integrated creation tool that uses to bring their models from channels of remote control new effects and options. development framework

6 GAME DEVELOPER | DECEMBER 2010 that features graphical CRAYON PHYSICS DELUXE and XaitControl 3.1 achievements, leaderboards, Graphics Performance editing and live previews FANTASTIC CONTRAPTION. While XAITMENT as well as features that allow Analyzers 3.0 during runtime. In addition the engine is primarily www.xaitment.com end-users to track their INTEL to a robust scripting, used for 2D games, it /// The XaitControl tool is friends across a range of http://software.intel.com programming, debugging, supports shapes including designed to help design supported applications. /// Intel’s Graphics and optimizing environment, convex polygons and complex and streamlined AI Performance Analyzers are the engine provides edge shapes, and applies behavior, and lets developers Plus+ a suite of software tools sophisticated rendering and gravity, friction, and build behavior hierarchies NGMOCO that provide performance lighting capabilities. resistance to objects. that allow for efficient reuse www.plusplus.com data across different types of specific behaviors to /// Ngmoco’s Plus+ is a of hardware in order to help Unreal Engine 3 Physics conserve resources. third party social network developers tailor their games 2010.1.0 for Apps on iOS devices, for the ever-evolving desktop www.unreal.com HAVOK Networking allowing players to PC and mobile spaces. /// Epic’s Unreal Engine 3 www.havok.com compete for high scores, has played a prominent /// Havok Physics has been earn achievements, and Hansoft 6.1 role in multiplatform used in a multitude of titles Facebook SDK broadcast scores on HANSOFT development over the past across a wide range of FACEBOOK or Facebook. Users can www.hansoft.se several years, powering platforms, and has proven http://developers.facebook. also challenge friends and /// Hansoft provides a range of titles across to be flexible. According to com send push notifications to infrastructure for more a variety of genres. The Havok, it’s designed “based /// Facebook’s open challenge other users. efficient development, engine builds upon previous exclusively on customer SDK allows developers to and supports realtime iterations of the Unreal requirements.” Havok easily integrate the popular RightScale Cloud reporting, bug tracking, Engine, and supports Physics can be seen in social networking service Management workload coordination, and features that include High a number of high-profile into a variety of apps Platform portfolio and document Dynamic Range lighting, titles including and games, on platforms RIGHTSCALE management. The software per-pixel shading, and 2, DEMON’S SOULS, : including mobile devices www.rightscale.com aims to manage the dynamic shadows. REACH, and . and Facebook itself. The /// RightScale provides cloud complex elements of game Facebook SDK encourages management services that development within a single Vision Engine 8 Scaleform GFx 3.2 social network integration allow developers to scale system to create better SCALEFORM and allows developers the servers and resources scheduling and productivity. www.trinigy.net www.scaleform.com relatively easy access to for their based /// Trinigy’s Vision engine /// Scaleform GFx is a Flash- player metrics. on user demand. Developers Perforce 2010.1 emphasizes developer based, vector graphics- can get their game running PERFORCE SOFTWARE freedom, supporting rendering engine that is GameSpy Technology on the cloud quickly, and www.perforce.com game development across used for game elements GAMESPY INDUSTRIES can then scale their game to /// Perforce is a scalable a range of genres and such as UI, HUDs, animated www.poweredbygamepy. optimize running costs. source code management platforms. The engine textures, and minigames. com system that helps organize boasts exporters for the Games featuring the /// GameSpy Technology Programming digital assets by storing latest versions of 3ds Max Scaleform GFx middleware provides several important and Production them on a server and and Maya, a streamlined include BATMAN: ARKHAM services for online- tracking user activity to scene editor, and ASYLUM, DRAGON AGE: ORIGINS, enabled games, including help teams easily access integration with a host of and STARCRAFT II. multiplayer connectivity FlashDevelop 3.2.2 their art assets, code, bug middleware technologies. via dedicated servers, peer- RTM reports, and more across 2.9 to-peer matchmaking, stat FLASHDEVELOP PROJECT Windows, OS , and . Middleware DONYA LABS tracking, and cloud storage www..org www.donyalabs.com for user-created content. /// The FlashDevelop open XNA Game Studio 4 /// The Simplygon pipeline source code editor is a free MICROSOFT Box2D 2.1.0 toolkit aims to automatically OpenFeint 2.6 Microsoft .NET application http://create.msdn.com BOX2D optimize 3D content by AURORA FEINT that supports ActionScript 2, /// Microsoft’s XNA Game www.box2d.org automatically creating www.openfeint.com ActionScript 3 & MXML, and Studio 4 allows indie /// Box2D is an open LODs, meshes, and low-poly /// OpenFeint provides a , and includes simple developers to easily publish source physics engine models to help streamline persistent social network integration with Flash and their games on the Xbox for 2D games, and has the resources used in across a range of Apps on iOS command line compilers. 360 and PC using a simple, powered titles such as complex game scenes. and Android devices. It offers yet flexible toolset.

WWW.GDMAG.COM 7 ADVERTISEMENT

BY Mark Rein Epic Games, Inc.

NINJA THEORY USES also wanted to improve on the total length fi nishing moves to really show the emotional impact of gameplay with Enslaved, which is where Unreal Kismet combat has on Monkey, the main character. It’s more of UNREAL ENGINE 3 came into play. Ninja Theory’s designers used Kismet’s a cinematic twist on combat mechanics.” visual scripting tools to build much larger play TO DOUBLE DOWN environments for players to explore. Kismet also enabled Along the way, the Ninja Theory team was able to connect the team to create a wider variety of gameplay across the with other Unreal licensees through the Unreal Developer ON CREATIVITY greater game length, which Ball said is ultimately the key Network. In fact, Ball says that the extensive community to keeping the player attached to the story. support has been a strong point of working with UE3. Coming off the success of their critically acclaimed Other developers were always happy to help with tough PlayStation 3 , , the Ninja Theory has built a reputation for creating beauti- questions, and Ball recalls lots of occasions where a techni- developers at Ninja Theory had a slightly diff erent ful environments – an ability that would be put to the cal query was answered by a studio on the other side of plan in mind for their next adventure. “With Heavenly test with Enslaved. Enslaved is based on a 400-year-old the world before anyone else even touched it. Sword, we had developed the engine and toolset Chinese novel called Journey to the West, which is itself entirely ourselves,” says Mike Ball, co-founder and based on much older folklore. Enslaved brings this The result? One of the freshest, most beautiful games chief technical offi cer. “That required a large amount ancient story to a future New York City. To do justice of 2010, boasting longer, more intense gameplay than of resources, and it would take just as much eff ort to to this rich source material while bringing it to life in any of Ninja Theory’s previous games. The game was update the technology, improve the toolset and add a hyper-modern environment, the Ninja Theory team launched in October to wide acclaim. the new features we needed for our next game.” knew it needed to push its graphics capabilities as far Thanks to Ninja Theory for talking with freelance as they could go. Once Ninja Theory decided to go multi-platform with the reporter John Gaudiosi for this story. new game, Enslaved: Odyssey to the West, they made the Ball says that UE3 gave the artists much more control, move to Unreal Engine 3. This time around, Ninja Theory and with its advanced production tools the team had 80 people on hand for the production period, and was able to pack more detail into the environment. Canadian-born Mark would be able to use all that talent to focus on creativity “This was really important for the portrayal of the Rein is vice president and rather than engine technology. “Unreal Engine 3 allowed New York we wanted to build,” says Ball. “Through co-founder of Epic Games us to start iterating on the gameplay much more quickly,” elements of the environment, we wanted the player based in Cary, North Ball says. “We needed to maximize our production time to experience the story of people in the past, caught in Carolina. Epic’s Unreal by making sure the team’s workfl ow was eff ective, and destruction and trying desperately to escape. Giving Engine 3 has won Game UE3 was the right choice to do that.” the art team control over shaders and post-processing Developer magazine’s chains allowed us to set up some beautiful scenes that Best Engine Front Line Using UE3, the Ninja Theory team was able to improve contrasted well with the scenes of destruction.” Award four times along on many of the lessons they learned with their previous with entry into the Hall game. “We wanted an engine that was truly focused Ninja Theory also built on top of UE3’s advanced of Fame. UE3 has won three consecutive Develop on getting the most out of designers and artists,” ex- combat capabilities. “We did a lot of experimenting Industry Excellence Awards. Epic is the creator plains Ball. “Despite the awesome results we achieved with the camera to make every hit feel like it counts of mega-hit “Unreal” series of games and the with Heavenly Sword, that was really the weak point of and draw you into the drama of combat,” said Tameem blockbuster “” franchise. Follow @MarkRein on Twitter. our own engine. It just didn’t scale.” Antoniades, Ninja Theory co-founder and chief design offi cer. “We used close-up shots during takedowns and

WWW.EPICGAMES.COM Montreal International Game Summit DICE Summit UPCOMING Montreal, Canada - Nov. 8-9, 2010 Las Vegas - Feb. 9-11, 2011

Game Connection GDC EPIC Lyon, France - Nov. 16-18, 2010 San Francisco, Calif. Feb. 28-Mar. 4, 2011 Dubai World Game Expo ATTENDED Dubai, UAE - Nov. 29-Dec. 1, 2010

EVENTS Please email: [email protected] for appointments.

© 2010, Epic Games, Inc. Epic, the Epic Games logo, Gears of War, the Powered by Unreal Technology logo, Unreal, Unreal Engine, Unreal Kismet and Unreal Matinee are trademarks or registered trademarks of Epic Game Games, Inc. in the United States and elsewhere. All other trademarks are the property of their respective owners. All rights reserved. repetitive. Many simple tools can be created to accelerate the process, but generally fragmentingSplitting meshesmeshes with binary operations or cutting tools is time consuming, labor intensive, and tediously Watchingcausingor explosionsCreating fun.fragmented lotsofis fun.explosion not pieces an is for R C distraction that damages player immersion and game appeal. crates,and particular,in tend tobreakexactly in thesame pattern. Overly repetitive explosions a canbe detonate.Unfortunately, gameexplosions player’scandrawa attention theforwrong reasons. Barrels attention. For example, rocks tumble from cliffs, barrels explode, pipes burst, bridges collapse,Games andare filled withbombs explosions both big and small that emphasize story moments and draw the player’s communicateto waypowerfulplayer. excitement,thescale toa andExplosionsdrama,be can risk, rubbleeverywhere.throwand noisy, big,explosions games.GoodEveryoneexplosionsare likesin reducecan costs and imProve game the generatedaPPeal. meshes need not be blocky or ////////////////////// Procedurally generating fragmented meshes for in-game destruction Robe e while decreasing P boring. e R a XPlosions eating Content ew conce new R PRy n Pete and PeRRy t Pts Provide increased flexibility and control over current techniques roductiontime. n FU R o F eXPlosions isn ot F n U R Wilkins

procedural www.gdmag.com generation of fragmented 9 meshes In order to avoid most of the “pop,” the Another benefit of the Voronoi graph resulting fragments need to fit together tightly. is that it allows for the creation of entirely Even if lots of smoke and dust particle effects interior fragments. This is a great feature for are involved, the fragments need to at least making rubble more realistic and interesting. maintain the original object’s profile when Unfortunately, Voronoi graphs have some assembled. Ideally, the fragments would fit specific limitations. Voronoi cells are always together seamlessly. The exterior faces should convex and always have planar faces. The have UV coordinates and materials that match result is that Voronoi-generated fragments the original. This makes for a fragmented tend to be blocky and uniform, much like mesh that’s nearly indistinguishable from the breaking salt. This works well if the original original before being blown apart. material is granite or safety glass, but does figure 1 shows a two-dimensional Voronoi For an explosion to fit in context, the not work as well if the object is wood or plastic. graph. resulting fragments should reflect the material Games are rarely full of objects made out of of the original object. Glass, stone, wood, granite, so it would be convenient to be able remains an arduous task that no one wants metal, plastic, and other materials make up to automate the generation of appropriate assigned to them. the objects that surround the player in a game fragments for other materials. Figure 1 shows Cost and schedule constraints often limit world. If the fragments are only on the screen a two-dimensional Voronoi Graph. the number of iterations possible for a given briefly, their shape may not be important, as object as well as the number of unique objects they can be considered a large particle effect. MoV ing Beyond Voronoi that can be prepped for destruction. As the However, if rubble stays persistent in the world complexity of the original geometry increases, after an explosion, then shapes that are true In order to create fragments with more complex so does the cost of creating the destructible to the material of the original object become shapes, a different mathematical approach content that goes with it. more important. Since many of these meshes is required. Fortunately, an alternative that will only be visible for a few seconds at a time, is fundamentally very similar can be used. The Makings of a g o o d it’s hard to justify the time and cost required Electrical potential fields provide all of the e xplosion for detailed modeling. The whole process begs functionality of a Voronoi graph, and allow for for automation. new possibilities as well. Electrical potential Explosions are often implemented with fields can create complex and concave a model swap where the mesh for the e n T er Voronoi geometry with a simple input set similar to undamaged object is hidden, and meshes what would be used to generate a Voronoi for the broken fragments are made visible 3D Voronoi graphs provide an easy way to graph. This can be accomplished by adding in a single frame. Almost inevitably, there automate much of the mesh fragmentation a small amount of additional data to the very is a visible “pop” as the new pieces come process. Particle systems can be used to place same input set that would be used to generate into view. This is caused by the fact that the points in a model that are then used as seeds a Voronoi graph. The additional data is easily fragmented pieces don’t perfectly match the for the Voronoi graph. A graph is generated generated and takes little or no work on the original profile of the object being destroyed. and used to subdivide the model. The graph is part of an artist. For quick review, the electrical In some cases, they don’t really match at generated by identifying the region of space potential at a point in space is: all. For example, several wooden shacks where a given point has an influence greater of different size and proportion may use than any other. The result is a collection of identical fragments when they collapse. convex cells with planar faces that looks Some of the discrepancy can be hidden from somewhat like a honeycomb. A series of cuts the player by adding particle effects to cover can be made on the planar faces of each cell Where q is a point charge, E0 is the electric things up. This can easily end up being a in the graph. This can be implemented easily constant (permittivity of free space), and r balancing act between covering the “pop” and using binary operations on the original mesh. is the distance to the point charge. If there obscuring the fragments altogether. The resulting fragments fit together tightly. are multiple point charges in the field, they

2a 2b 3a 3b

figures 2a and 2b show the effects of varying the charge of a point charge in two dimensions. figures 3a and 3b show the effects of polarity on a two-dimensional electric field.

10 game developer | december 2010 fIGure 4a shows a cube fragmented using four splines. fIGure 4b (inset) shows the interior detail on one of the fragments. obey superposition, and the potential at any point in space is simply the sum of the individual potentials.

It is now easy to subdivide the space by using the electrical potential field. Each point charge is assigned to own the region of space where its influence is greater than that of any other point charge. Using these equations and this one rule produces results identical to a Voronoi graph, assuming that all of the point charges in the field have uniform charge. Like a Voronoi graph, the electrical potential field is deterministic and will produce consistent results from a given input set. The electrical potential field reaches beyond the limitations of the Voronoi graph by allowing for each point charge to have a different charge. This allows for the creation of curved fragments. Figure 2 shows the effects of varying the charge of a point charge in two dimensions. The red line shows part of the bounding line between subdivisions. In the first case, both point charges have equal charge. In the second case, the point charge at the bottom has twice the charge of the point charge at the top. The boundary between the subdivisions moves and becomes bounding volume, it doesn’t provide Groups are m ore p owerful curved under the increased influence of the normals. Without normals, many geometric thaN I N d I v I duals point charge at the bottom. As this concept is operations, such as meshing, become difficult. extended to a large number of point charges Surface normals can be produced using the Electric fields provide increased flexibility over and three dimensions, it provides for the vector form of the previous equation or the Voronoi, as they allow each point charge to creation of interesting and varied geometry. electric field equation. have an individual charge that acts as a weight The result is that each point charge produces in addition to the packing of the points. This is a manifold instead of a line. a noticeable improvement, but the electric field An electrical potential field, working on an has more potential to unlock (pun intended). input set used for a Voronoi graph, can produce Whereas, Voronoi graphs generally only deal a nearly limitless number of results by with points—any arbitrary geometry can be simply modifying the charge of the individual Since the electric field equation introduces electrically charged. point charges. This is a powerful feature that a direction to the field, polarity must now be It stands to reason that seeding the gains strength as other features are added dealt with. In the calculation of the potential subdivision with geometries other than to the system. For example, an artist could field, it was easy to assume that all charges points will create more interesting results. determine how many fragments are desired were positive in order to calculate the region This turns out to be a valuable concept, as it and place point charges to approximately of greatest influence. If the electric field were allows for the creation of complex geometries locate the centroid of each fragment. The calculated in the same manner, all of the field from relatively simple ones. In order to treat artist can then iterate on the final result by vectors at the surface would lie tangent to the arbitrary geometries through constructive generating charge values pseudo-randomly, surface and not normal to it. analysis, each geometry will be considered or by directly modifying them. This hybrid An easy remedy to this issue is to set the a collection of a finite number of point approach allows artists a great deal of control point charge of interest to be positive and all charges. The resulting geometry is simply the without spending large amounts of time on others to be negative. This directs the field so superposition of the constituent point charges. each object. It also allows for significantly that the electric field vectors will be normal There are many useful geometries that more iterations than would be possible if the to the potential surface. Not only does this can be generated in a pseudo-random manner mesh were being fragmented by hand. provide surface normals, but it also defines a to create interesting shapes. One geometry full three-dimensional vector field throughout in particular that’s both easy to generate and Normals the volume of the electric field. Figure 3 shows effective in creating a wide range of shapes the effects of polarity on a two-dimensional is a spline. A cubic Bezier spline only requires One major issue with the electrical potential electric field. the generation of four control points. Splines field as used so far is that while it defines a can be used to approximate a wide range of

www.gdmag.com 11 of the original mesh and the potential field. l I stI ng 1 The resolution is intentionally limited, and this float Destruction::TransferUV::FaceDotDist(const Vector3& v1, const Vector3& v2, limitation contributes to the blockiness of the const Vector3& v3, const Vector3& point, const Vector3& normal) result. For the purposes of rubble, it works well. { Vector3 edge1 = v2 - v1; UV m appI ng Vector3 edge2 = v3 - v1; Automated UV mapping is a crucial feature Vector3 faceCentroid = v1 + v2 + v3; for the automated fragmentation of meshes. faceCentroid /= 3.0f; UV mapping can be terribly time consuming. Also, it can be highly obvious if the mapping Vector3 faceNormal = edge1.Cross( edge2 ); on the fragments was rushed and doesn’t match the original. If the meshes are very return (faceCentroid-point).Length()/fabs(normal.Dot(faceNormal)); similar, the mapping can be copied from one } mesh to the other. If the meshes are dissimilar, an interpolation scheme is required. Here is l I stI ng 2 a simple method that works well with some struct UV{ limitations. In the described implementation, float u,v; it’s assumed that meshes contain only }; triangles and the vertices are unique to each struct ST{ face. The concepts can be extended to handle float s,t; quads and other polygons as well as triangles. }; Vertices in the new mesh are iterated over void Destruction::TransferUV::TriangleST_ToMeshUV( const UV& v1, const UV& v2, const by face. Faces in the original mesh are ranked UV& v3, const ST& st, UV& o_uv ) against vertices in the new mesh using values { produced by a routine called FaceDotDist(). Vector2 edge1 = v2 - v1; FaceDotDist() compares the distance from Vector2 edge2 = v3 - v1; the vertex in the new mesh to the centroid of the face in the original mesh, and the normals o_uv = v1 + st.s*edge1 + st.t*edge2; } of the faces in both meshes. The face with the lowest returned value is used for the interpolation. See listing 1. geometries. A spline is sampled along its length the splines afterwards, reprocessing until a Once a face in the original mesh is selected to produce a group of point charges. The number satisfactory result is achieved. to interpolate from, the UV values at each of its of point charges used to represent the spline vertices are used to perform the interpolation. is a function of the desired resolution. Figure ImplementatI on The vertex from the new mesh is parametrized in 4 shows a cube fragmented using four splines, the space of the face of the old mesh as a linear including interior detail on one of the fragments. The implementation shown here is generally combination of two of the edges. See below: Splines make the automated generation used as a rubble generator, and as such, of smooth organic shapes easy and fast. They produces rough and blocky seams. This is not a p = se1 + te2 can also be authored by hand quickly, allowing mathematical limitation of the electric field, but artists control over the resulting shapes a practical limitation of the mesher that is used Where p is the vertex from the new mesh, and e1 without spending time on details. They also to create the rubble. Still, it provides a means to and e2 are edges in the triangle from the original provide fast and easy iteration. An artist can visualize the results. In this implementation, an mesh, s and t are parameters along e1 and e2 . author splines to fragment a mesh and edit entirely new mesh is generated using the union This parametrization is commonly used in ray- triangle intersection tests and can also be used to verify that the vertex being parametrized is inside the triangle from the original. This verification is usually not necessary. While interpolation works best when the vertex falls inside the triangle, extrapolations a short distance outside the triangle are generally well behaved. The final UV value assignment is handled by the following function. Note that v1, v2, and v3 are UV values and not geometry vertices. See Listing 2. This is an effective method for automatically transferring UV mappings between meshes. The primary limitation is that it cannot properly handle a face in the new mesh if it crosses a seam in the original mesh. In this case, it FIgUre 5 shows a fractured crate with interpolated UV mapping.

12 game developer | december 2010 Figure 7 shows typical artifacts when faces in the new mesh cross seams in the original mesh.

population items like barrels and crates, it tends to work well. It’s also relatively easy to author them so that issues with seams can be avoided. In more complex cases, even though there can be issues with seams, the vast majority of the mapping can be properly transferred, leaving only small amounts of artist intervention to finish the process. This Figure 6a shows a still yields a significant time savings. Figure 7 simple uV map. shows typical artifacts when faces in the new mesh cross seams in the original mesh.

Freedom to d estroy

Automated generation of fragmented meshes for destruction can not only reduce the costs associated with explosions in the game, it can do so while providing the opportunity to increase the variety and depth of what would otherwise be repetitive and potentially boring experiences. Increased iteration and variety with decreased production times are all possible by turning most of the work over to software. The price is that while there’s a great deal of control over the process, it can be difficult to use if very precise results are required. The best fit is where the system can produce results that mimic a natural process. In gaming, explosions do much to add interest, excitement, and drama to a game. Figure 6b shows But, for the artists tasked with creating the simple uV map from Figure 6a realistic explosions, it can be difficult and interpolated onto a costly, in terms of production and time, to higher-resolution fragment the meshes in unique and non- mesh. repetitive ways. Fortunately, new approaches now provide greater flexibility and control produces obvious artifacts in the mapping. up the search through the original mesh. Also, for creating unique, realistic fragmentation Problems at the seams could be corrected if the new mesh is a lower resolution than the of meshes, thereby increasing game appeal, by identifying faces that cross seams and original, there are limitations as to how well decreasing production time, and lowering the splitting them at the appropriate location. Also, the interpolation can cope with the reduced overhead typically associated with creating it’s an m×n order routine, where m and n are resolution. Figure 5 shows the results of a game explosions. the number of faces in the respective meshes. fractured crate with interpolated UV mapping. For small face counts, this is fine, but as the Figures 6a and 6b show a simple UV map and robert Perry is a physics and simulation coder, and meshes grow, run times can be a concern. This its interpolation onto a higher-resolution mesh. biking enthusiast. Peter Wilkins is an animation can be avoided through the use of a bounding This technique does not work in all cases, and rigging engineer at Dreamworks Animation. Both volume hierarchy or similar construct to speed but it works in many. Particularly for world previously worked at Disney's Avalance Software.

www.gdmag.com 13 ez R RA mi io N BY jUAN TRAT s LLU i

full reactive eyes entertainment incorporating Quick t ime e vents into Tim RogeR s g ameplay ////////////////////// A “Quick-Time evenT” (QTe) is An evenT in A into a cinematic camera angle. in an action game, this camera angle usually gAme where The plAyer musT press A buTTon To perform A reveals an enemy threat. next, a button icon appears somewhere on the cinemATic AcTion ThAT cAn oTherwise noT be performed in screen. this icon stays in place only for an instant. if the player presses the ThAT gAme in An ordinAry conTexT. button in time, the player character will avoid or neutralize the threat. usually, when a Qte occurs in a game, normal controller inputs are for example, in Uncharted (, 2007), at one point, overridden. if the X button on the controller is usually used as the hero nathan Drake falls from a ledge and onto his back. control is the jump button, during a Qte, the X button can be substituted for any action overridden; the camera angle swings up to show a large piece of rock the game designer requires. using the X button in a Qte might result in the breaking off the side of a cliff face and sliding toward the ground. a player character punching an enemy in the top of the head, dodging a bullet, button icon appears. if the player presses the button, Drake rolls out of or splitting an intercontinental Ballistic missile in half with a samurai sword. the way and the rock crashes violently onto the ground where he had the sequence of a typical Qte involves normal controller input being just been. if the player doesn’t press the button in time, a brief taken away from the player for an instant before the on-screen action snaps plays, portraying Drake’s tragic death.

www.gdmag.com 15 FULL REACTIVE EYES ENTERTAINMENT

GEARS OF WAR's chainsaw attack is essentially a QTE. Avoiding deadly boxes in .

GOD HAND's QTEs are contextual. DRAGON'S LAIR.

More complicated QTEs to press onscreen.” He said by an and a the length of a human arm. contains a series of precise might involve threat after the game seemed “really couple of buttons. The arm acts as a whip; button-press prompts. If the threat raining upon the half-assed, because it’s It’s perhaps interesting the wrist rotates; the mind player fails at inputting a player. In this case, the asking you to do all these to note that, despite their manipulates the blade to button press, the antagonist player must press numerous button-timing sequences,” vocal stance on the virtue clash with the opponent’s in kills the protagonist, and buttons in sequence. and the player is not “getting of QTEs, Ninja Theory’s next defense, to feint, or to make it’s game over. The knife Missing a button-press much payoff from it.” game, ENSLAVED: ODYSSEY TO a desperate stab. You really fight QTE is the most- results in instant failure HEAVENLY SWORD director THE WEST (2010) employs can’t express this one-to- hailed example of both the and possibly death. Some Kyle Shubel, in his game’s not a single QTE, not even one in a video game using positives and negatives of games, like NINJA BLADE defense, replied that “the the kind where you hammer only buttons and analog the form. The suspense of (From Software, 2008), intent of the hero sequences a button to open a heavy sticks. The fight is long and the unraveling dialogue and will allow the player to is to empower the player door. What happened? elaborate—some critics story revelations place extra immediately restart the to experience events that might say too long, and pressure on the antagonist’s QTE upon failing once. Other would be nearly impossible to CUTSCENE WITH A fantastically elaborate. coming knife-lashes; the games, such as SHENMUE play in a natural platforming KNIFE The 4 knife potential for quick death (Sega, 1999), the game state ... for example, making fight takes place during a means the player may be whose director the player run down ropes, After hours of satisfying heated dialogue between the forced to repeat the QTE, the coined the terms “Quick-Time leaping from rope to rope shooting at virus-infected protagonist and antagonist. cutscene, and the dialogue Event” and “QTE,” are not so as they’re being cut from high-speed-sprinting The dialogue involves the again from the start. forgiving. Failure at a QTE will underneath you, all while zombie-intelligence psycho- revelation of important story Other QTEs act to replace result in player death and a dodging other objects—that freaks, information—why who has or supplement . In game over condition. would be a frustrating (, 2003) climaxes been doing what to whom SHENMUE, QTEs often occur Of Ninja Theory’s game experience to 99 percent of in an extended knife fight For All This Time, and what at the height of a dramatic HEAVENLY SWORD (2007), in our users if we were to force between a hero and a he wants to convince him to cutscene. Unlike the knife which QTEs are called “hero them to do that manually.” villain. The exact nuances stop. Effectively, it serves fight in RESIDENT EVIL 4, QTEs events,” NINJA GAIDEN and This certainly seems of a military-grade knife a purpose of a cutscene. As in SHENMUE are all action. DEAD OR ALIVE series director to be the trend. QTEs fight as seen in the climax a climactic moment in the In one scene, the hero (Ryo Tomonobu Itagaki told replace actions that of cinematic masterpiece story, it’s a cutscene that Hazuki) is chasing a group consumer magazine EGM would otherwise be more Under Siege were, for certain, players most likely wouldn’t of biker gang members out that he had “never played complicated than any player, simply not expressible with want to skip. of a bar and down an alley. a good game where the even the skilled ones, are then-modern video game Players that do want to The chase comes after a developers put a big icon of able or willing to input with control inputs. Knives are skip the cutscene are unable small conversation in which the button you’re supposed the methods allowed short blades, a fraction of to though. The sequence Ryo attempts to wrangle

16 GAME DEVELOPER | DECEMBER 2010 The BURNOUT series took the fun of and made it interactive.

information out of the gang prompt, and the hero is the player with a reason to the QTE has created many that, effectively, changed members. The chase occurs punched in the face. That invest himself in the story critics’ impressions that the chapter being played. At as a spectacular action doesn’t necessarily mean revelations of the cutscene. QTEs as a game-mechanic certain points in the action, payoff. Unlike the knife fight game over. The player has Other games, such as are interaction on the fringe an arrow or on-screen object in RESIDENT EVIL 4, the story plenty more opportunities METAL GEAR SOLID 4 (Kojima of passivity. flashes, either to the hero’s revelations are over when to win the fight. The fight Productions, 2008), will left or right. The player has this QTE begins. Also unlike grows long, the hero lands occasionally provide players FAILURE IS NOT AN to respond in a split second. the knife fight, if you miss punches, misses punches, with an on-screen prompt, OPTION If we succeed, we see a a prompt during this QTE, dodges punches, and takes which sometimes lasts no brief animation detailing our you still have a chance to punches. The longer the more than a fraction of a The very first QTEs were, hero’s triumph. If we fail, we win. The QTE branches: at QTE, the more interesting, if second. Press the action in fact, a replacement for see our hero’s demise. This one point, the man you’re not impressive, the fight. Of button during one of these in-game action. The most game mechanic would be chasing knocks over a box course, if you miss enough prompts to view an alternate obvious example is also offensively shallow if it were of fruit; if you don’t dodge prompts, the hero goes angle of the cutscene, the genesis of the modern the core of any games today. it, and instead trip, the QTE down, and it’s game over. or maybe view a piece of concept of the QTE: the But at the time, with graphics is effectively lengthened as In both of these concept art of the character Laserdisc-based DRAGON’S so astounding, it worked. Part you’re offered opportunities examples, the QTE is talking. In METAL GEAR SOLID: LAIR (Cinematronics, 1983). of DRAGON’S LAIR’s appeal was in the form of more button “replacing” a cutscene—in PEACE WALKER, succeeding at In DRAGON’S LAIR, the player that the hero’s deaths—not prompt situations. In the SHENMUE, it often replaces a one such on-screen prompt controls a knight on his quest just his triumphs—were context of the story, this cutscene that would follow results in the player being to rescue a princess from a unique animations. Dying means that the chase is another cutscene. The treated to a view of a female dragon. Though the story was is part of the game. Seeing longer, and the hero doesn’t talking cutscene ends, and character’s underwear. In common fare for any type of each of the hero’s deaths look as impressive as he the punching QTE begins. this case, QTEs are rewards adventure story, the graphics is as essential to earning would had he captured the This type of cutscene- to the player for steadfastly were superbly unique encyclopedic knowledge of character quickly. replacement QTE is primarily paying attention to the compared to other games at the game as seeing each of Similarly, SHENMUE a means for developers game’s narrative. In this the time. DRAGON’S LAIR was his triumphs. contains many QTE fight to impress players with way, perhaps QTE are used a lovingly hand-animated We don’t see games fully scenes full of intricately dynamic action scenes. The to safeguard against the cartoon featuring the work made up of QTEs anymore. detailed karate maneuvers— knife fight scene in RESIDENT common complaint that of renowned animator Don However, we occasionally grabs, holds, throws, EVIL 4, on the other hand, games like METAL GEAR SOLID Bluth. DRAGON’S LAIR’s secret see games where the QTE dodges—that would be is “enhancing” a cutscene. feature too many cinematic was that its data was stored becomes the main format of difficult to map to specific In an “enhancement” QTE, sequences and not enough on a Laserdisc. Player control the game-action for an entire controller inputs. Miss a the developer is providing game-playing. This use of inputs were limited to actions set piece.

WWW.GDMAG.COM 17 FULL REACTIVE EYES ENTERTAINMENT that they offer developers ejection from the QTE: miss a BAYONETTA. the opportunity to show move during the hydra fight, the player something really and Kratos plummets back cool—and that’s why to the deck of the ship. The play games: to see really hydra recovers his strength. cool things. Making a game You must now attack the sequence entirely out of as before until he’s in a QTEs means everything has vulnerable enough position to be very cool, and it’s hard to initiate the QTE again. to make everything cool. It’s like writing a sentence using FINISH HIM! only exclamation points. People get tired of that after QTEs aren’t just for bosses. a while. They can happen in the The secret, then, is middle of typical underling to use QTEs to enhance fights as well. GOD HAND in-game action. (Capcom, 2006) employs In (Sony, QTEs of the button-mashing 2005), a shining example of variety in the middle of enhancing in-game action, standard fights. Sometimes, QTEs most often arise in your hero will have an the middle of climactic opportunity to get an enemy battles—not the cutscenes in a headlock. Press the before or after said battles. button displayed on-screen In an early boss battle with the proper timing to against a hydra, the player initiate the headlock. Now must dodge the enemy’s pound that button as hard as attacks while attacking its you can in the ensuing lock- weak points. Hit the weak up to inflict damage on the points enough times, and enemy. The faster you press you induce a vulnerable the button while gripping the state. The player has a few enemy, the faster the hero moments to reach and pummels, the more your NINJA BLADE. attack the hydra head during controller vibrates, the more this induced vulnerability. damage you do, and the more One example tenement building devoid of floors of the building. This He must continue to dodge satisfied and inspired to of such a QTE usage comes other life or sound. Arms held might be where you give up attacks while climbing the pump your fist you become. in the game SHENMUE II out at his sides, putting one on the game, either because mast of a ship to reach the The crux of this kind of (Sega, 2001)—the sequel foot in front of the other, he it’s too difficult or because hydra’s head. QTE is that it requires a timed to the game that brought baby-steps forward across you’ve smashed your Once in place, the player button-press to initiate, and the QTE abbreviation into the plank. Every few steps, at controller. If you succeed, presses a button to initiate that that button is always the the mainstream. At one randomly staggered times, the other character is waiting a QTE during which the hero same button. In Japanese point in the story, the hero he leans to one side or the for you at the top. The hero, lambastes the beast’s head, game development, all QTEs and his buddy arrive at a other. An on-screen prompt confused, asks how he got swings around in an acrobatic are most often referred to as dilapidated tenement building urges you to press either left up there. He explains that he arc, and ultimately pulls the “Action Button Events”—as in Kowloon. The goal is to get or right on the control pad. took the elevator. head down with great force, in, you press a button, and to the tenth floor, where they Soon, these prompts are The player has no option impaling it on a broken, spiked you get action. Meanwhile, have an appointment to meet coming in relentlessly. Miss to take the elevator. wooden pole. Success at the in games like THE LEGEND someone. The hero goes just one, and the hero falls QTE means destruction of one OF ZELDA: OCARINA OF TIME ahead alone. Upon reaching to his death. Falling to your GOD OF BUTTONS of the parts of the boss. If this (NINTENDO, 1998), an all- the second floor, he finds death means game over. You were a game on the Nintendo purpose, context-sensitive that the floor is caved in, and reload the game, you endure SHENMUE II’s example of using Entertainment System, the button is called the “Action the only way to get to the the journey from your save QTE to replace game action, boss’s life meter would be Button.” For the GOD HAND other side is to walk across a point to the place of your in theory, is purely out of made up of four rectangular flavor of QTE, where the same precariously positioned plank death, and you try again. DRAGON’S LAIR. In practice, segments: attacking the boss context-sensitive button is of wood. Step onto the wood, Succeeding at this particular it offers no neat graphical outside of the QTE would not always used to enter these and the action QTE begins. mission flawlessly takes payoffs. Even death is decrease his life meter, while pummeling scenarios, the The camera is positioned 10 grueling, palm-sweaty unceremonious: the hero successfully completing the description “Action Button just above the hero’s minutes of your life. Failing at is swallowed into the void. QTE would erase an entire Event” is more apt than it shoulders as he stands on it might take a dozen hours. It’s a chore that must be segment. may be elsewhere. a thigh-wide wooden plank You have to walk across completed to move forward The penalty for missing Compare the GOD HAND spanning a black hole in a planks—sometimes two of in the game. QTEs are a a prompt in the GOD OF WAR example with the “torture gray-floored, brown-aired them—on each of the ten powerful game mechanic in during-boss-fight QTE is attacks” in BAYONETTA (Sega,

18 GAME DEVELOPER | DECEMBER 2010 2009). The player plays the player wouldn’t know it was to display button icons, are regular play, or lightsaber- tells you where you need part of a witch who pummels time to pummel. The enemies micro-tutorials. These micro- slashes about as ferociously to be to stay out of enemy angels to death with her hair generally have no tells. tutorials teach you how to as he can in regular play. As sight while your teammates in a fantasy realm. Every One game far ahead of do the precise thing the hero a tutorial, the QTE is merely suppress him. He’s not going once in a while, during an its time with regard to this needs to do in the context of “teaching” a nuance—one to stand up or leave cover, angel-pummeling situation, type of QTE was BERSERK: THE the current, complex situation which will not be displayed because that would be stupid. a large button icon appears THOUSAND-YEAR OATH (Sammy, a microsecond before he has elsewhere in the game. Jet-engine-volume gunfire above the enemy. Press the 2003). In that game, enemies to do it—or die. If the current echoing out your surround button in time, and a large have tells that indicate when situation calls for the hero to BUTTONS ON A system, you sneak around, guillotine or iron maiden the player can press the roll beneath a demon beast’s STRING holding the chainsaw-revving materializes surrounding action button—normally the blade before cartwheeling button. You approach the the enemy. The blade falls, block button—to execute a back in the opposite direction It’s possible to employ a enemy and are treated or the iron maiden snaps spectacular parry and score a and then running up the blade “triggered” QTE like this to a sudden, fast, furious, shut, and the enemy dies massive attack on the enemy. toward the beast’s face, the simply, with great flair, with satisfying spray of blood. in a geyser of blood. It’s like The tells are neither so subtle QTE-as-tutorial will instruct equal risk and reward, and Then we have the weird a MORTAL KOMBAT “Fatality,” that you can only learn them the player, for a moment, how in a manner that doesn’t little disconnected button- except it’s happening during through rote memorization to do that—with an alarming, interrupt the game. A good mashing events. UNCHARTED in-game action. It involves (as in an old-school MEGA screen-filling “X” button icon. example would be the has plenty of them: the player complicated machines MAN game), nor are they so This is directly in line with chainsaw kills in GEARS OF arrives at a door that cannot materializing out of thin air, blatant that they see fit to Ninja Theory’s descriptor of WAR (Epic, 2006). You might be opened. It’s too heavy. It and it only requires a single throw a button icon up on QTEs as allowing the player to not think of these as QTEs, opens upward. The character button press. And that single the screen. Rather, they’re do things they couldn’t do in but what else would you puts his hands under the button press is indicated on near-subliminal: an ogre regular game-action. call them? In GEARS OF WAR, door. The character says the screen, unlike MORTAL might raise a club above his It might be construed both you and the enemies “This door is heavy.” Now a KOMBAT’s arcane, mysterious, head, and bring it crashing that a QTE-as-tutorial is have guns. You can shoot square-button icon appears complicated Fatalities. down toward you. If you’re in “introducing” a new action each other from a distance. on the screen. Hammer the This reminds us that, range of receiving the attack, element to a game long after Enemies can take four to five square button, and our hero even in the GOD HAND the screen action will freeze the traditional tutorial phase dozen bullets before dying. exerts himself until the door pummeling example, the for the sticky, frictive instant has ended. STAR WARS: THE You and the enemies can is open. The problem with button icon remains on before impact. This is your FORCE UNLEASHED (LucasArts, crouch behind walls for cover these events is that they the screen throughout the cue to press the block button 2008) often employs QTEs from unfriendly gunfire. usually occur during a time pummeling. This makes and initiate the brutal, fast where the player character To arrange a chainsaw-kill, of no conflict. The enemies us realize why the button action button attack. jumps about as high as he you need to orchestrate the are dead—or else we’re in an appears on the screen at In light of this type of QTE, can jump in regular play, situation. The entire level undiscovered ancient ruin, the time of initiating the we could say that traditional levitates objects about as design is like an on-screen and the developers feel the pummeling: otherwise, the QTEs, which halt the game heavy as he can levitate in button prompt. Its geometry need to make the players push a whole lot of buttons furiously every once in a ROAD BLASTER. while or they’ll get bored. (An aside to Naughty Dog: UNCHARTED’s quiet parts are fascinating. It’s cool; you don’t need to punch them up.) Then there are context- related situations, where a door requires cranks on either side to be rotated at once. This means you have to finish an ongoing fight in order to convince the non- player-controlled character to come to the door to aid in its opening. Once the fight is completed, the button- mash to open the door feels like dead air. The conflict is what kept you from doing it. Now that you can take your time, maybe the game should let you relish your victory instantly. It’s actually quite possible to place button-

WWW.GDMAG.COM 19 FULL REACTIVE EYES ENTERTAINMENT mashing QTEs in a strategic the fights are fantastic, beginning of the corridor. With fall onto enemies. Objects right or left on the controller context. One fantastic and even the simple act of a great performance, you that can be shot glint at at excruciatingly specific example is in GEARS OF opening a door includes might only be 10 feet away. appropriate times. Shoot times. Your reward for WAR 2 (Epic, 2008). Your unforgiving mini-games JOHN WOO’S STRANGLEHOLD them, and they’re bound to enough precise inputs is characters are ambushed involving punching. It’s no (Midway, 2007), likewise, fall on an enemy position. The to watch an enemy car fly while standing in the middle wonder scientists recently exclusively employs such “glint” is the game’s way of off the road, smack into a of a circular elevator. The proclaimed GOD HAND the progressive QTEs. The most temporarily, instantaneously wall, and explode enemies are in the circular Best Game Ever. (Editor’s striking of them are the gifting the player with the in a ball of fire—or to watch hall surrounding the elevator note: they didn’t actually.) standoff situations. A group hero character’s superhuman your own car drive up a ramp shaft. In the center of the A pattern that emerges of enemies surround the skill of destruction-minded and fly over some impossible elevator is a round wheel. Get in the analysis of game- hero. They point guns at him. creative perception. Shoot at ravine. A decade and a half to this wheel and hammer enhancing, progressive QTEs They tell him to negotiate. the glint, and something will later, we have BURNOUT 3 and the action button to raise is that they involve using He’s played by Chow Yun happen. Shooting the glint is BURNOUT PARADISE (EA, 2004 the elevator above the heads buttons on the controller Fat and wearing sunglasses accomplished by aiming and and 2008), games about of the enemies. Now you for the same purpose that at night, so he is definitely shooting your hero’s gun in driving at criminally insane have the high ground. The they’re used in regular play. not going to negotiate. The the same way as you’d aim speeds and performing enemies, however, have In the GOD HAND example camera slides into a first- and shoot the gun in any ridiculous maneuvers, where access to a crank handle above, the player uses the person view. Time slips into other context. the central play mechanic all their own, and they can punch button to punch and super slow motion. Using the For the moment, let’s involves knocking cars off pump it to lower your high the dodge button (actually an right analog stick, we perform ignore the way STRANGLEHOLD the road to their death. What ground. Now we have to keep analog-stick swipe) to dodge. the usual right-analog-stick jumps the shark one- we’ve done in this modern our eye on the enemies’ Another excellent motion of aiming the hero’s sixteenth of the way through age is perfectly recreate the handle to pick off anyone example is the first boss in guns. We pull the right stage two, and say that it thrill of piloting a speeding trying to kill our advantage NINJA BLADE, a game that trigger, and it does what the might just be the future of automobile, and married it while also dealing with otherwise features bland right trigger always does: action games. STRANGLEHOLD seamlessly with the crazy enemies around the circle. (if forgiving) cutscene- we fire our guns. In the first presents a genre where the action of sideswiping some While dealing with those replacement QTEs. The first slow-motion microsecond, game world itself is a QTE. dude off the road and into a other enemies, one of them boss is a massive spider the enemies begin to fire mountainside. out of your sight range might monster at the end of a their guns. The first-person PRESS A TO DIE Unlike ROAD BLASTER, get to the enemy crank and corridor. The player must camera snaps from attacker BURNOUT, using only its start lowering your elevator. traverse that corridor, to attacker. The crosshair is So we’ve come full circle. vehicle native controls It’s a fast, maddening, dodging left and right to avoid always a bit off of the deadly Game graphics today are and no on-screen button excellent level design. the shock waves the boss is pressure point. You move incredibly impressive, even icons, lets us finely control GOD HAND plays with the spitting. If a shock wave hits it manually, at just slower if the things we do with them the velocity of our car and idea of opening a door with a the player, it hurts him, and than its usual speed, as you are something obtrusive and minutely consider the angle QTE even while stopped at a knocks him back. The corridor savor the super slow motion weird. Eight-year-olds who and ferocity of our approach. conflict-free dead end. It does is long and treacherous. reaction time of the enemy gawked at DRAGON’S LAIR in And when we succeed in our this by turning the event into When the player successfully in front of you. You pull the 1983, if shown STRANGLEHOLD, favorite in-game action of a mini-game. Locked doors reaches the end of the trigger. The camera follows would likely scream until they death-delivery, all kicks into in GOD HAND often feature a corridor, he can now attack the bullet impact. The enemy spontaneously combusted. slow motion and the camera large, smiley-faced button the spider’s face. He does flinches, deforms, crumples, The amazing thing, way swivels to bring the road with a wide mustache made this by pounding the attack or explodes backward with back then, was that games behind us into view to show of maces. As you pummel button. Eventually, the boss terrific physics calculated by could look this good while our soon-to-be-late rival the button, it turns from doesn’t like this, so he emits the impact point of the bullet. simultaneously portraying slowly careening toward green to red. You can see its a super-powered shock wave This is as exciting as QTEs complex, dynamic, cinematic some form of demise, the facial expression quaking. that knocks the hero back can possibly get: the action action on the screen. physics of his flight perfectly The face soon gets angry. with intensity. The camera fits story context, character We’ve evolved much since calculated uniquely, just for This is your cue to tweak the zooms in to the hero’s face. context, and game control then. We’ve learned how to our current performance. right analog stick to dodge: He’s holding up his sword- context, and the payoff is make graphics equally as Compare that to the game- its mace-mustache is about edge against the shock wave. visceral and instant. Much impressive as those cartoons length QTE that is ROAD to clap your ears, doing big This is your cue to press as games like GEARS OF WAR of the 1980s, and we’ve BLASTER. (Please ignore ROAD damage. Dodging forward or the sword button rapidly to and HALF-LIFE phased out learned how to make games BLASTER’s killer soundtrack backward offers a slimmer fight back the shock wave. the cutscene by making the so incredibly interesting to and wicked-sweet character margin for error than dodging No matter how many times narrative “happen” in the play that we’re willing to get designs.) Which one is left or right, though it is also you press the sword button, world as the player plays, online and play them with more exhilarating to play? quicker, and buys you more you’re not going to conquer STRANGLEHOLD shows that profane 12-year-olds, if we Be honest. If QTEs are a time to pummel the door- the shock wave. It’s going to QTEs can be part of a game have to. “problem,” we might be button. (Any time you’re not knock you back. The question and not be sudden, intrusive, Consider ROAD BLASTER millimeters away from a pummeling the button, its is how much it’s going to demanding situations. (, 1985), which global solution. color slowly fades from red knock you back. With a less- In STRANGLEHOLD, physics depicts high-velocity cartoon to green.) Though the level than-stellar button mashing is the payoff. Everywhere car chases from a driver’s TIM ROGERS is a freelance writer design may be no more than performance, you might you go, you’re shooting neon seat view. In ROAD BLASTER, and game designer. He recently hollow boxes full of enemies, be all the way back at the signs and watching them your only input is pressing worked on NO MORE HEROES 2.

20 GAME DEVELOPER | DECEMBER 2010 celebrating

Game Developers Conference® February 28–March 4, 2011 Moscone Center | San Francisco, CA

Visit www.GDConf.com for more information. pattern recognition in augmented pattern recognition in augmented reality

CÉ sar Botana

////////////////////// In sImple terms, augmented realIty Is the projectIon of an InteractIve graphIc over a vIdeo feed of a real-world physIcal envIronment. recent tItles such as eyepet and eye of judgement for the playstatIon 3, or InvIzImals for the psp are examples of games that use augmented realIty technIques as the basIs for play. An important key to these games is the process of pattern recognition. Using a camera, a pattern printed on a card can be recognized by the game, and on the card some play elements can be superimposed, such as the pet from EyEPEt. Cards can be used to place virtual characters, or used to define a playfield in which virtual elements from a game are kept oriented to the real world surface they are projected over. Here we’ll examine how to recognize a pattern on a card, and how to detect its position and orientation. To make this task easier, we’ll make use of the OpenCV library. This library has many functions for solving problems related to computer vision, but we will only use a small portion for our interests. OpenCV is written in C and includes the source code. Because OpenCV is BSD licensed, it is free in principle to port to almost any platform, as well as for use in commercial projects.

Creating t he Pattern

As shown in Figure 1, the basic pattern card which we want the computer to recognize is a simple image on a white background surrounded by a black border. The black border and white background is common to all pattern cards, and the image in the center will be what differentiates one from another. Some considerations to take into account when creating a pattern card are: » It must be a white square with a black border (the width must be equal to the height). » The image in the center needs to be grayscale, and it’s preferable to use only the absolute white and black. It’s possible to use shades of gray that are extremely close to these values, but avoid middle tones, or use them in a very specific way (such as at the edges of the image) to avoid aliasing. » The interior image should not be too close to the edges. If the pattern card is moved, the image may blur, making it impossible for the computer to differentiate between the interior drawing and the pattern card’s black border.

Once we’ve created a pattern card, we need to define the pattern associated with it, so it can be recognized by the computer. Begin by dividing the space within the black borders into NxN cells so that each cell can have its average color calculated. To calculate the average color, add up the color values of all pixels inside a given cell, then divide by the number of pixels within that cell. If the value is less than 127, we will call the cell black. An average equal to or higher than 127 will be considered white. As shown in Figure 2, at the end of the process, we will have a pixilated image, in pure black and white, of the original image. The maximum number of patterns that can be defined, and the ease with which we will be able to detect them depends on the choice of N. If we choose a lower resolution N such as eight, which results in only sixty-four squares, we will have little variety when it comes to defining, patterns and different images can look similar when pixilated. However, there is an advantage in averaging

22 game developer | december 2010 pattern recognition in augmented

a large number of pixels per cell, as individual pixels will have very little Also it should have a child (remember that you obtained a hierarchal list influence on the total—two erroneous pixels are nothing compared to one of contours) with four sides, and the points of its child should be counter- hundred valid ones. clockwise. Our pattern will meet these conditions because the outer black On the contrary, if we choose a higher resolution N—let’s say eighty— border will create a four-sided clockwise contour and its inner white square we have a greater number of cells with which to generate different patterns. will generate a four-sided counter-clockwise contour. Additionally, we The disadvantage is that a single pixel now counts very much towards the can check whether the adjacent sides of the contour create an angle of calculation of the value of a cell—two erroneous pixels out of eight can approximately 90 degrees. cause the average value of the cell to be miscalculated. At this point, we will have a list of contours that may fit the pattern we’re We will have to repeat this process with the original image rotated 90, looking for. For each possible contour, we will perform a series of actions to 180, and 270 degrees. Each of these will be called a rotations pose. Because finally recognize it. a pattern card can face any direction in the real world, we need to know First, from the points that make up the contour, we build another list in which of the four poses it’s in if we want to calculate its orientation correctly. which the points appear, ordered so that they are always clockwise, and the first point on the list corresponds to the top left corner of the image. This Detecting t he Pattern is necessary because the contour that OpenCV returns may be clockwise or counter-clockwise, and the first point on the contour is dependent on its For every image we want to analyze through the camera, we’ll have to follow orientation. When we recreate the list of points that compose the contour, the same operations: we should always know how it is defined, as this makes working with them First, we convert the image to absolute black and white. To do this, easier. For example, Figure 4 represents the position of the contours before simply call the function OpenCV cvCvtColor (OriginalImage, GrayImage, reordering—the blue dots refer to the first point on the list. CV_BGR2GRAY) to convert the image to grayscale. Once converted to Next, check the captured image to determine whether the area within grayscale, we call the function cvThreshold (GrayImage, BinaryImage, 127, the coordinates of the contour matches the pattern we are trying to 255, CV_THRESH_BINARY) to convert it to a binary image. These parameters recognize. To do this, we will represent this area using a homography matrix. indicate that if the color of the pixel is greater than 127 (remember that we In computer vision, homography is the process of projecting the mapping of are working on the grayscale image, which is over eight bits), the pixel will a plane to a different plane. For example, the flat 2D view that the camera be considered white (255); otherwise, it will be considered black (0). obtains of a real-world 3D object is an example of plane homography. We can Keep in mind that environmental lighting can modify the view that the calculate a matrix that relates these two planes by taking the image from camera has of the pattern card. If the card is in shade, white can be taken as the camera’s plane of vision and converting it to one of our pattern’s four black, or if a light shines directly on the pattern, the brightness on a black area rotation poses (see Figure 5). may be understood as white. Because of this, it is recommended to work with To calculate the homography matrix, we begin by creating two lists of patterns that are absolutely black and white in order to minimize this problem. points. In the first list we will introduce the eight vertices of the contour we Next, we calculate the contours of the image. A contour is only a list are working with (the four from the black edge and the four from the inner of points that indicate the border between black and white areas. To do white square). This defines our origin plane. The second list will have the this we call the function cvFindContours () and indicate through the points of the pattern at the destination plane we seek—that is, the actual flag CV_RETR_TREE that we want the contours to be listed hierarchically. positions and dimensions in pixels of the black border and the inner white If a contour is inside another, it will appear as a child on the list. This is square from the original image pattern. useful because our original image's black border and its internal white It is necessary to enter a coordinate Z in the second list, and we should area creates another four-sided contour which is a child of the previous always set it to 0 (Figure 6 shows the eight vertex values). Call the function one. Use cvApproxPoly () to convert a “rough” contour into a straight line, cvFindHomography () and as parameters, give it the two lists of points we’ve “poly” contour (see Figure 3). created, and a matrix in which to store the result. The points defining a contour can be ordered in the list either clockwise Once the matrix has been calculated, we apply it to the binary image or counter-clockwise. This will depend on whether the contour marks the captured by the camera (see the results of the operation in Figure 5). On boundary between a white area and a black one (clockwise) or between a the image generated from homography, we should do the same calculations black area and a white one (counter-clockwise). As shown in Figure 4, there we did when creating the pattern. We divide the inner white square into NxN are two contours highlighted in red. The arrow indicates the direction in cells and for each cell we calculate its absolute color (black or white). Once which points are defined. we have the calculated values, we simply compare them against the black Once we have the list of contours, we can exclude those that do not fit the cells of the four poses of the pattern that we have loaded into memory. We contour of the pattern we are seeking to recognize. A simple test is to check only need to compare against black cells because the white cells define the that the contour has four sides and the points that define it are clockwise. background of the pattern.

www.gdmag.com 23 FIGUre 1 (top) shows the format for a basic pattern card. FIGUre 2 (bottom left) shows the original FIGUre 3 shows the detection process starting with the camera image (top left), the binary image (top right), the image and its binary representation (bottom right). rough contour (bottom left), and its converted "poly" contour (bottom right).

Once the black cells are compared, we will get a percentage of similarity Camera e ye (number of coincidences / number of black cells). Then, we check to see if this percentage is greater than a certain threshold that we have defined Rays of light colliding with the objects around us form our view of the (such as 90 percent) and if so, the pattern has been recognized. We always world. In such collisions, some light is absorbed and some is reflected. This need to compare against a threshold, because in practice we are never going reflected light is collected by our retina and defines the color that we see to obtain a 100 percent correspondence. When calculating the homography, reflected from an object. the results will depend on variables such as size, orientation, lighting, and A camera functions very similar to the eye—light enters through the the image on the pattern card. lens of the camera and is projected onto a plane that collects the image. We can also employ a heuristic to decide which pose of the pattern to To project a 3D point from the world onto the 2D plane of a camera, two compare first. We can start by checking against the pose the pattern had the matrixes are used to transform the origin coordinates. last time it was recognized, and if the pattern is not found to be using that The first matrix is the camera matrix, or the intrinsic parameters matrix. pose currently, it can be compared against the preceding and following poses. In it, the values for the focal length are defined—meaning the distance from At this point, we will have detected the pattern in the frame of the camera. the point where the light enters the camera, and the plane where the image In addition, we have its base pose that will be needed to properly calculate is recorded. its orientation. We will only need to get the positions and orientation of the There is a focal length for x and another for y. This is normally because the pattern in 3D coordinates. pixels of the camera plane where the image is recorded are rectangular rather than square. The other two values that are used are the displacement of x and y, from the center of the projection plane to the center of the camera. Under perfect conditions sample applications both would be 0, but low-cost cameras rarely To get more insight into pattern of the file with the image pattern, cube over the pattern that adjusts have the millimetric accuracy needed to correctly recognition, we’ve provided sample and the second parameter should to position and rotation. place the projection plane right in the center of programs available at www.gdmag. be the name of the file where In Recognizer’s debug window, the focal point. These values are given in pixels, com/resources/code.htm that use the pattern information will be you can see the steps that the so if we calculate the values for a resolution of OpenCV for computer vision and stored once it’s processed. Visual application follows in order to detect 640x480, and we change the camera resolution OpenGL for graphic representation. feedback in Creator shows how the a pattern. Press F1 with the focus to 1280x960, we need to multiply the values by 2 They are compiled using Visual program processes the image so on the recognition window, and you Studio 2005 Express for use with you can see the original image, its can see how the binary image is for them to be valid. Windows. The window initialization contours, and the four poses of the calculated, followed by the contours, The second matrix is a matrix of extrinsic and the event management of the image converted to cells. the homography of the possible parameters that are the product of a rotation application are set for Windows, The other sample program is contour, and finally the pattern in matrix and a translation matrix. These indicate so you will need to make some called Recognizer. When running, the form of cells. In addition, at the the rotation and translation from the coordinate changes in this regard if you want it will display a window that shows bottom, a percentage indicates the origin of an object in the real world toward the to port to other platforms.The first what the camera is capturing. degree of similarity found between coordinate origin of the camera. sample is a command line program By using the example pattern the pattern taken from the frame called Creator. The first parameter that comes with the program, of the camera and the pattern read Initially, each camera has some intrinsic introduced should be the name Recognizer will place a virtual from disk. parameters that differ from model to model. To obtain these values, it is necessary to

24 game developer | december 2010 FiGure 5 (top) to calculate a matrix that relates these two images, take the image from the camera’s plane of vision and convert it to one of the pattern’s four rotation poses. FiGure 6 (bottom) shows the FiGure 4 shows the two contours highlighted in red. the arrows indicate the direction in which points are defined. eight vertex values. calibrate the camera. Using a well-defined pattern such as a checkerboard, the size of the inner white square, it will give us the depth in units of the images of the pattern in different positions and rotations are taken by the world where we would place a 3D model. camera. Then by using the cvCalibrateCamera2 () function, we obtain the For now, we only have the depth of the 3D object. To calculate the remaining intrinsic matrix. two coordinates, we pass the x and y position from the center of the pattern on-screen (simply add the values of the four vertices and divide by four) to 3D, CalC ulate Position and o rientation in the and throw a ray according to the orientation of the camera to the depth we have Pattern’s 3 d C oordinates calculated. With this operation we will have the three world coordinates. The orientation is given in a 3x1 vector. The three values indicate an In order to overlay 3D graphics onto the camera feed, we need to know the axis of rotation, and the magnitude of the vector represents the angle of position and orientation of the pattern relative to the camera. This allows us rotation. To make these values easy to use, OpenCV provides a function to to, for example, draw a 3D model on top of the card and have it look like it fits convert this rotation vector to a classic 3x3 rotation matrix. This function is into the scene. cvRodrigues2 (RotationVector, RotationMatrix). If we are working with The first thing to do is to build two lists of points in the same way we OpenGL, we should reverse the rotation in X before calling the function, and did when calculating the homography matrix. The values of the points are after calling it, we will have to transpose the matrix. the same as in the previous case; the only difference is the order in which These are the steps necessary to detect a pattern and obtain its position we define the points of the pattern in the frame. When we calculated the and orientation in the 3D world. homography matrix, the first point was always located at the top left of the Throughout this article, I used less than a dozen OpenCV functions. If you contour, and the others were clockwise. want to continue working with augmented reality, it is worth investigating The first point is given by the pose in which the pattern has been this fantastic library. For example, you could obtain the brightness of a found. If the pose is 0 (original image without rotation), the order of the camera frame, and depending on the lightness or darkness, apply a shade points is the same as when we calculated the homography matrix. If the to your 3D models so that they integrate better with the real world. Another pose is 1 (image rotated 90 degrees), the first point on the list will be example could be tracking the user’s head movement in order to rotate our the last point of pose 0. If the pose is 2 (image rotated 180 degrees), the models, as well as detecting hand movements and gestures. There is a first point will be the last point of pose 1. For pose 3, which is the image world of possibilities within this library. rotated 270 degrees, the first point will be last point of pose 2. For the second list, we use the list of points that we built when calculating the César Botana has been working as a game programmer since 2001 homography matrix. in companies such as Pyro Studios and Zinkia Entertainment. He Once we have the two lists of points and a matrix of intrinsic values, is now lead programmer at Tequila Works. we call the function cvFindExtrinsic () and pass these values to it. It will return rotation and translation vectors for the object we have been analyzing that relates to the coordinate’s origin (the camera’s focal point). The units in which these values are given are the same ones we used to resources indicate the coordinates in the second list of points. openCV http://opencv.willowgarage.com/wiki Remember that we introduced the values in pixels, so the values we learning openCV: Computer Vision with the openCV library obtain in return will also be expressed in pixels. In this way we can get the by Gary Bradski and Adrian Kaehler, O’Reilly Media, 2008 distance in depth between the camera and the pattern, and if we divide by

www.gdmag.com 25 BY PATRICK REDDING, ALEX PARIZEAU, AND MAXIME BELAND

26 GAME DEVELOPER | DECEMBER 2010 ////////////////////// WITH THE 2002 RELEASE OF TOM CLANCY’S SPLINTER CELL, UBISOFT MONTREAL ANNOUNCED ITSELF AS A STUDIO, AND UNDER UBISOFT, PRESENTED ITS INDUSTRY CREDENTIALS AS A DEVELOPER-PUBLISHER OF SERIOUS AAA TITLES. TWO SEQUELS FOLLOWED IN RAPID SUCCESSION, WHICH SOLIDIFIED THE FRANCHISE AS A LEADER IN THE STEALTH-ACTION GENRE.

After the fourth game in the series—SPLINTER CELL: DOUBLE AGENT (2006)—a new thematic direction had been established. Grizzled intelligence operative Sam Fisher was on the run and at odds with his former employers in the wake of a devastating loss. This reset offered both promise and peril for the next production, which wound up becoming SPLINTER CELL: CONVICTION. The SPLINTER CELL team set out to redefine the core gameplay away from traditional light and shadow stealth mechanics, and toward disguise, crowd concealment, improvisation, and dynamic environmental action. When the results fell short of the publisher’s standards for its flagship titles, it meant the binning of over two years worth of work and the restructuring of the team. This was the situation that confronted the title’s new producer and creative director at the start of 2008. Having previously worked together on TOM CLANCY’S RAINBOW SIX VEGAS, Alex Parizeau and Maxime Beland understood the challenges of reinvigorating an established brand with extensive history and fiercely passionate fans. They were also starting their involvement at a time when the clock had already been run down by two years, representing a body of work that would be largely invisible to an end consumer. This was on top of the quality expectations that would come with a second outing on the current generation of consoles. At the request of the company’s Paris HQ, Beland steered the game back to its roots, and at the same time recalibrated the working model of shadow stealth to give the player faster movement, more visceral

BY PATRICK REDDING, ALEX PARIZEAU, AND MAXIME BELAND

WWW.GDMAG.COM 27 action, and explicit, presentation-layer cues for tweak the game’s systems in support of Sam’s story, and new characters that fit the SPLINTER preying on AI enemies. Parizeau drew talent from predatory aspect. The result was a player fantasy CELL universe (providing some of the classic Ubisoft’s entire operation to grow the team, which that lived as much in the depth of CONVICTION’s mission-based structure loved by fans of the at its peak numbered 200 developers in Montreal, systems as it did in the fiction surrounding earlier games) while setting up background for Bucharest, and Paris. Ramping up through an Sam’s work for Third Echelon. the solo campaign. accelerated pre-production, they delivered a But that fiction also did its part to shift the Because key time constraints and the vertical slice in November 2008, and pitched a game’s emotional center out of the geopolitical needed autonomy were established up front, full game walkthrough that deviated from the spaghetti of most CLANCY titles, by focusing the co-op group could pick its battles judiciously. shipped content by only a single scripted event. on the apparent death of Sam’s daughter in a Associate producer Sebastien Ebacher brought Reaction to CONVICTION upon its release in drunk-driving incident. For a character that had on Patrick Redding as game director, and the April 2010 reflected both the players’ hunger for previously been defined as a self-aware chess two of them collaborated closely to set quality variety in the modern action-adventure milieu, piece, this made his concerns and anxieties benchmarks and dial the scope of content up or and the relatively hardcore tastes of many immediately more relatable. down as needed. bloggers and reviewers. SPLINTER CELL: CONVICTION The decision to ship CONVICTION as an Xbox The designers focused on the core dropped as an Xbox 360/PC exclusive and was 360-exclusive title brought increased support mechanics of single-player that best scaled up the best-selling in the U.S. for that from Microsoft. This working relationship proved to two players, and they avoided overextending month, according to NPD. vital when submission schedules were shifted the design. Since they weren’t locked into around late in production to allow for more polish using existing single-player map geometry or WHAT WENT RIGHT time. Having been briefed on the overarching assets, designers were able to tailor the level intentions for the title, Microsoft was in a better design blueprint to the unique needs of two- 1) CLEAR AND FOCUSED DIRECTION (ONCE THE position to offer flexibility. By the time the game person multiplayer. The artists had the freedom VISION WAS SET). Beland established a standard was revealed on the Microsoft stage at E3 2009, to develop a unique visual aesthetic for the language for describing the target experience, content for the single-player campaign had been campaign, and were given room in the production and that message was applied consistently both precisely scoped. The demo itself showcased schedule to iterate on level art and assets. internally within Ubisoft and externally during real systems and data. What was shown was The resulting work extended the overall the marketing of the game. Sam would move and what shipped. replay value of the game, and drew substantial behave like the proverbial “panther.” This was the praise from critics and players. Ubisoft leveraged reference point in the character’s animations, and 2) THE COOPERATIVE MODE STOOD ON ITS OWN this through a DLC strategy that delivered new for new game mechanics designed to empower MERITS. A late addition to the game’s official DENIABLE OPS maps for months after the game’s the player with a credible approximation of planning, co-op became the focus of a dedicated initial release. Fisher’s ruthless super-spy efficiency. team that was quickly assembled and given a Clear player experience targets gave the mandate to deliver within less than a year. The 3) THE TEAM INCLUDED THE RIGHT MIX OF team the confidence to make decisions and to result was several game modes, a two-player EXPERIENCE. At the time of the game’s shift

PUBLISHER Ubisoft DEVELOPER Ubisoft Montreal NUMBER OF DEVELOPERS 200 at peak RELEASE DATES April 13th (Worldwide Xbox 360), April 27th (Worldwide PC), 2010 PLATFORM Xbox 360, PC

28 GAME DEVELOPER | DECEMBER 2010 in direction, there were developers assigned to the project who had worked on all four of the previous SPLINTER CELLs and had already devoted over two years to CONVICTION. The new team retained a number of these veterans, particularly those with engine experience. Others arrived off lengthy productions such as ASSASSIN’S CREED, RAINBOW SIX VEGAS, and FAR CRY 2. As the team grew to full capacity, it absorbed a substantial share of new talent arriving at the Montreal Studio, particularly programmers, artists, level designers, and level scripters. Of particular note, game design lead Steven Masters helped develop player character actions for RSV, and was part of the fight team for ASSASSIN’S CREED. There were key contributions from ASSASSIN’s alumni in gameplay animation, giving Sam’s “predatory” athletic moves, takedowns, and 3D navigation some Altair-style grace. CONVICTION’s ad hoc co-op group was a major beneficiary of this : lead designer JP Cambiotti and level design director Jason Arsenault previously worked on RAINBOW SIX: VEGAS and RAINBOW SIX: VEGAS 2, where they built their expertise at creating environments and gameplay around two-man units. Because the Montreal studio is “engine agnostic,” the most experienced of the CONVICTION newcomers had already worked with the SPLINTER CELL tech and tools, or their recent forerunners. This helped to reduce the ramp- up time, especially if new developers could be placed near those who had been involved since the beginning. The management team worked especially hard to retain the knowledge of the original CONVICTION crew, shifting people as needed to reduce project fatigue and opening up new roles whenever possible.

4) THERE WAS A CLEAR PIPELINE IN PLACE FOR DELIVERING FEATURES AND CONTENT. The path RAINBOW SIX. Feature Sign-Offs (FSOs) did away This technique also helped preserve the from concept to completion was understood with unread, bloated Word docs and required seamlessness of in-game continuity, further well, and understood early, before the team designers to rigorously define the game’s features supported by delivering the game without cuts, was fully ramped up. Once pre-production in terms of testable requirements. The FSOs hiding load-times behind continuous camera began, CONVICTION’s direction did not change. We continued to live well past Alpha, and became the transitions that follow Sam from location to delivered a publishable vertical slice halfway basis for the game’s final closing plans. location, or offering a preview of the next through the new production schedule, which chapter’s objectives. This fed stylistically into contained all the features that shipped in the 5) THE PRODUCTION SUCCEEDED IN INNOVATING the game’s relentless forward momentum, final game, in part because the team had already ON IN-GAME PRESENTATION ELEMENTS. Graphics reinforcing the theme of Sam’s personal spent a year of rapid prototyping and knew how were a key pillar of SPLINTER CELL from the very mission and the aggressive, strike-from-the- to plan and what to include. start of the series. In the intervening years, shadows dynamics. Content development was streamlined graphical fidelity has become a commodity of through a blueprint process that allowed the AAA games, essentially the price of admission WHAT WENT WRONG level designers to begin iterating on their maps for any title that hopes to compete. This raised even while the gameplay team was doing the bar for the CONVICTION team as we worked to 1) THE GAME’S MECHANICS WERE RESTARTED the same for mechanics. The approach was push the production values on scripted events FROM SCRATCH. CONVICTION’s original direction, unabashedly top-down, producing a timeline and other story-driven moments in the game. while intriguing as a concept, proved to be of the game’s timeline in layers of increasing CONVICTION’s visual signature is probably the unworkable as a fully-featured game experience. granularity, from story beats through locations, use of projected media—movie clips and text When Parizeau and Beland joined the team in down to individual blocks of action. splashed across in-game environments for the early 2008, the game as it existed then was CONVICTION also inherited a philosophy of player to see at the right moment. Projections so far removed from the core mechanics of the design documentation that originated with allow the game to show important dramatic beats series that Ubisoft felt one of its key franchises ASSASSIN’S CREED and was put to good use on without resorting to non-interactive cutscenes. was in potential jeopardy.

WWW.GDMAG.COM 29 Even though the “panther” concept was Unfortunately there wasn’t time to rebuild streamlining much of the complexity from envisioned and documented relatively quickly, everything. Analog movement speed was the original systems. Unfortunately, some implementation could only be accelerated abandoned in favor of a simplified run-walk much-appreciated features—like the ability to by so much. Many features that are a given system. The ability to pick up and hide dead move dead enemies, or use a knife for close- in a SPLINTER CELL game, such as dynamic bodies was never recreated, nor was lockpicking, quarters kills—fell by the wayside because lighting, two-handed weapon firing, and gadget nor the full variety of door-entry mechanics. they were never included in the original design management literally needed to be recoded requirements, and there wasn’t sufficient time from scratch. Any new mechanics needed to 2) TARGETING ACCESSIBILITY PUT THE GAME IN left to reintegrate them and polish them to the sit on top of these must-have features, putting CONTENTION WITH HARDCORE PLAYERS. Stealth standard of the earlier games. further pressure on the timetable and creating games in general occupy a relatively narrow niche, Among other things, the compounding considerable bug risk. and Ubisoft needed to expand the franchise’s development pressures left the team without For example, the black and white filter appeal or risk it falling between the cracks, enough time to implement and polish a true that tells the player they are hidden from pleasing no one. Earlier chapters in the SPLINTER “realistic-hardcore” difficulty setting that nearby AI was functionally dependent on the CELL series had emphasized a fairly punishing would have better satisfied the desire of restoration of the light and shadow system. It model of stealth play that required painstaking some players to tackle the game in a more was impossible to make changes to ambient observation and concealment, and which traditional way. lighting or the nuances of shadow gradation generally ended badly if the enemies’ suspicions without impacting the logic of the black and were ever aroused to the point of violence. 3) CHANGING DESIGN, TEAM, AND TECH AT THE white filter, which made it harder to debug and Opening the series up to new players SAME TIME CREATED SIGNIFICANT PRODUCTION prevented us from giving the effect the degree who were wary of its reputation meant RISK. As experienced as the team was, most of of visual polish we wanted. devising completely new mechanics and us were new to the franchise and needed a crash

30 GAME DEVELOPER | DECEMBER 2010 course in the engine and tools at a stage when working, both for the players and for the SINGLE CELL ORCHESTRA our time was at a premium. This was further designers’ gameplay intentions. Since the complicated by the fact that the technology itself player has the ability to shoot out lights, We, as a team, are extremely proud of what was was in , and engineers had to respond to the ambient lighting was kept subtle, to avoid accomplished in just two years. revised vision by integrating significant changes prohibitive runtime recalculations. Ultimately, In spite of the challenges, SPLINTER CELL: to 3D, rendering, animation systems, and AI. the 3D group had to rework many renderer CONVICTION ultimately released with solid Feature-specific teams were forced to internals to support moving dynamic lights like marketing buzz and consistently positive make hard prioritization calls even before the flashlights, and enable large-scale, directional reviews. Post-launch survey data suggests that project entered full production, in order to outdoor shadows. Because the game’s stealth established SPLINTER CELL fans still made up the meet the twin goals of updating the mechanics system determined the player’s visibility majority of players, and that their appreciation of and restoring key gameplay pillars. Rather based on actual illumination thresholds, small the new mechanics was a lot better than had been than risk shipping legacy features in a half- tweaks to the map lighting could easily break originally expected. We realized that the franchise baked form, the team chose to limit scope. gameplay, and the group spent a frustrating can be moved in a more accessible direction The must-have Spies Vs Mercs adversarial amount of time creating debugging aids for without losing longstanding fans of the series. mode became one of the first casualties in this artists and the AI programmers. With our approach vindicated, it now falls to us to process, which undoubtedly alienated core take it further and reach out to new players. fans of the series. 5) THE GAME’S EXISTENCE WAS REVEALED TOO More than anything else, CONVICTION Changing all three points on the “iron EARLY. After the UbiDays 2007 reveal, the web represents a solid technical foundation on which triangle” introduced continuous stress into was flooded with images of Sam in his tousled- to continue to build. The mistakes, missteps, the working lives of the entire team. The new haired “fugitive hobo” guise, a character design and glitches have been accurately accounted direction still needed to be presented, explained, that was ultimately discarded in the context of for and can be resolved with very little risk. and evangelized to the team, and unsurprisingly, the new direction. This created an automatic More importantly, we now have the opportunity not everyone on CONVICTION understood the intention immediately. People were frequently blocked by a lack of stability in the engine and/ or tools, since the responsible groups were scrambling to meet their new requirements within a compressed timeframe. And finally, the team wasn’t afforded enough time to become acquainted with each other, and to adapt to their respective strengths and weaknesses.

4) THE ENTIRE LIGHTING SYSTEM NEEDED TO BE RECREATED FROM SQUARE ONE. If any one system represents a non-negotiable pillar of the SPLINTER CELL series, it has to be light and shadow, which is a critical affordance for stealth play. Without the shadows, Sam loses his most powerful weapon, and the experience begins to resemble a generic third-person shooter. When this was restored to the game’s direction, there was no cheap fix. CONVICTION’s more kinetic play style also had an impact. Previous implementations of light and shadow worked well in small spaces and at slower movement speeds, but a heightened pace of action demanded larger spaces and more enemies to engage the player. Those two factors stressed the budget of dynamic light sources in many areas. Furthermore, as runtime effects go, disconnect in the minds of players and to iterate on an already successful game dynamic lighting is processing-intensive but journalists when the revised game was publicly by focusing on content, variety of play, and not necessarily visually spectacular. In 2010, announced. enhanced player choice. it’s a stretch to position “light and shadow” as a During the major press and publicity The next game in the series is now under quality differentiator. By eliminating this type of events in support of CONVICTION, Ubisoft reps development at Ubisoft’s new Toronto studio, lighting, CONVICTION’s original direction planned would routinely spend half of an interview with many of the same development leads. The to rely heavily on ambient occlusion and static explaining the checkered history of the project, direction and technology are in place, so the bounce illumination to create a more nuanced time that might have been better showcasing challenge for the moment is to build up a new team look for outdoor and daytime settings. key features. In the final analysis, the game of experienced and passionate developers and With shadow stealth back in play, level might have been best served by giving it a continue to evolve the tools and methodologies teams needed to light first and foremost completely new title to further distance it from that proved successful on CONVICTION. for aesthetics, and then iterate extensively its muddled origins. in response to playtests to get the setups By PATRICK REDDING, ALEX PARIZEAU, and MAXIME BELAND.

WWW.GDMAG.COM 31 Learn. Network. Inspire.

Game Developers Conference™ China December 5–7, 2010 Shanghai International Convention Center | Shanghai, China Visit www.GDCChina.com for more information TooLBoX

Review By Tom CaRR oll aUTOdesK 3ds max 2011

While 3ds Max has seen provided guidance on that color The first note is that it is possible pick a 3D object and paint into your revisions on an almost yearly basis, scheme for the native viewports? to save assets back to the 2010 scene with your mouse. The controls it’s important to say right up front Darth Vader? I can hear it now in the version of 3ds Max. This means that let you adjust scale and spacing on that 3ds Max 2011 is a significant production meetings: teams that might have been skittish all three axes, and as objects are update. So often software companies about upgrading to a new level can painted into the scene, they can get into releasing new revisions Minion: “Lord Vader ... now do so without any qualms (if be adjusted on the fly to prevent when they’re simply not worth the what colors should the they’re using 2010, that is). And them from being too uniform. You time or the money, like buying a new interface be?” there are a lot of reasons teams can even paint with more than one Lexus when really, only the trim and Vader: “Geev them any would want to do so. For example, object at a time. Painted objects the taillights have changed. color as long as it’s 3ds Max 2011’s Object Paint tool and remain live (you can continue to This isn’t the case with 3ds blaaack!” updated Viewport Canvas give game tweak them until your middle mouse Max 2011. To continue with the Minion: “But Lord Vader ... developers Toyota hybrid economy button falls off) until you commit automobile references (because black is ... well, black.” with Lamborghini styling. By them within the scene. Artists will I can), the release ships with a Vader: “I find your lack of themselves, these two features will thank the 3D gods in the sky. new user interface (UI) that is as confidence in dark color help game artists save a ton of time, Common environment tasks intuitive as a cup holder, dynamic schemes ... disturbing. and that’s no lie. such as placing foliage, patches of workflow streamlining, luxurious Make it charcoal gray Let’s see why ... grass, and various sizes of rocks, additions to the modeling tools, then ... dark charcoal.” bricks, tombstones, fence posts, a new and improved system for OBJeCT PainTinG bollards, etc., will not only become building materials, integration While I can anticipate the avalanche » I find that Object Painting is one less repetitive, but may actually of CAT (that’s Max’s Character of emails wondering if my own 2011 of the best new features in 3ds Max allow artists to get their art groove on. Animation Toolkit, not videos of viewports have been redecorated to 2011. It's tops because it allows Object Painting also allows for adorable felines playing with yarn), conform to Dora the Explorer or My you to do something you’ve always various kinds of object filling. For and even a best of class 3D/2D Little Pony, let me just counter that if wanted to do, and it does it very, instance, let’s say you’re working paint system. the worst negative you can find about very well. And that is to paint parts on some kind of killer steampunk And about that UI ... 3ds Max 2011 is the viewport color of your scene with objects. zeppelin and you want to put low Lest I begin the review sounding scheme, the rest of it must be pretty The Object Painting tab is on the poly rivets along the structural lines like the curmudgeon I am not, who damned good. It is. Ribbon. To paint with objects, you on the outside of the covering. In the past, you might have toiled away in relative obscurity, eating cold pizza and drinking Mountain Dew for a day and a night while placing those rivets by hand, or you might have taken a shortcut by painting them into a normal map, and then tried to make them appear in the render. With Object Painting in 3ds Max 2011, simply select an edge or a loop on the zeppelin, turn the edge into an editable object, then pick a rivet object and use Object Fill to place rivets along the edge. The rivets adjust automatically, so the amount you preselected via the Ribbon will be spaced out nice and even.

VieWPORT CanVas » Viewpoint Canvas was a part of 3ds Max 2010, and it allowed you to paint on the diffuse channel of objects directly in the viewport. The slate Material editor in 3ds Max 2011.

www.gdmag.com 33 TOOLBOX

In 2011, it has been ‘roided up a friendly. When Character Studio bit. Without question, the biggest first appeared, it was "the bomb." AUTODESK 3DS MAX 2011 change is being able to paint on Automatically creating walk cycles Autodesk, Inc., 111 McInnis Parkway, San Rafael, CA 94903 http://usa.autodesk.com any map type, including on bump by placing footsteps quickly maps directly in the viewport. became the industry standard. But PRICE The Canvas palette also includes it’s tough to stay on top, and the › 3ds Max 2011: $3,495 options for loading and painting complex and convoluted nature › Upgrade from 2009 or 2010: $1,745 with bitmap images and masks, as of Character Studio became its SYSTEM REQUIREMENTS well as with colors. Achilles' heel. A new layer manager in Now, 3ds Max 2011 has 7 Professional, Microsoft Windows Vista Business (SP2 or higher), or Microsoft Windows XP Professional (SP2 or higher). Intel Pentium 4 1.4 GHz or equivalent Viewport Canvas mimics the layers integrated CAT into the tool suite or AMD processor with SSE2 technology. you find in Photoshop, and what and it’s a breath of fresh air. 2 GB RAM, 2 GB swap space, 3 GB free hard drive space. Direct3D 10 technology, could be better than that? This This CAT is really simple and Direct3D 9, or OpenGL-capable graphics card. layer manager lets you create new effective. Creating and animating PROS layers (and turn them on and off rigs of various standard sizes and 1 Ability to save assets back to the 3ds Max 2010 level. as needed), adjust the blending complexities is now super simple. If 2 Object Painting is a real time saver. mode and opacity of each layer, you’re an animator, you now have 3 Viewport Canvas toolset promotes the artist within 3D art. and apply image adjustments such the ability to change a rig to match CONS as brightness, contrast, levels, and another character, and you can do 1 3ds Max 2011 seems a little slower than 2010 and before. color balance. it even if the new character has a 2 The charcoal color scheme. How fast can one adjust that? Viewport Canvas also has different number of legs, arms, tails, 3 Extrapolating on rev level naming sees 2012 hitting the market in about a month. several new brushes to Clone, Fill, tentacles, you name it. CAT’s wide Gradient, Blur, Sharpen, Contrast, variety of default rigs are ideal for Dodge, Burn, and Smudge; also, a wide range of human characters, instance, if you create and position Part of CAT’s brilliance is that the brush radius, opacity, spacing, and also for an even wider range of one arm, then create a second it retains a lot of the best Max and color can be randomized to add malformed trolls, creepy monsters, arm, CAT positions the second arm features so today’s animators don’t essential variety to your work. or scary creatures. automatically as a mirrored copy of have to relearn the whole thing. I CAT is also smart. You can the first. CAT also correctly names could go on and on, but animators CAT-TASTIC!! use standard transform tools to all rig bones by default, and if you should find a way to experience the » 3ds Max’s Character position and orient bones, and CAT change the adult name, it correctly new version, I’m sure they’ll see the development tools have always automatically knows what section of modifies the names for all children clear advantages. been advanced and developer the character you are working on. For bones as well.

product news New Version of navigate crowded MMO available as a public beta The acceleration will bleeding, soft shadows, NavPower environments, according to starting in the first half of rely on Directx 9 standards and other lighting-related BABelFlux BabelFlux. 2011. on Windows, OpenGl eS effects in games. www.babelflux.com The update also They will provide low- 1.3 on Macs, and OpenGl The company claims /// Middleware developer optimizes the middleware’s level programmable shader- eS 2.0 on mobile platforms, that Beast streamlines BabelFlux announced performance on the based engine features and potentially puts the lighting process in a new version of its PlayStation 3, using the including z-buffering, Flash more directly into game development with NavPower AI pathfinding system’s multiple cores stencil color buffering, competition with 3D-centric its liquidlight Global software, which will be more efficiently to reduce fragment and vertex web game engines such Illumination engine used in upcoming games memory consumption and shaders, and cube textures, as unity. and real-time lighting improve response time, the all of which will use the visualizer eRnsT. The tool’s company says. GPu “where possible” for Beast Lighting DistriBeast distribution “significant performance Middleware engine can be used to 3D Flash Game gains.” AuTODeSk quickly distribute renders Hardware Developers are told www.autodesk.com on multiple machines. iii. Acceleration to expect “hundreds of /// The Autodesk Beast Other key features of such as eA’s DeaD Space ADOBe SYSTeMS thousands of z-buffered lighting middleware is Autodesk Beast include 2, DarkSpore, and Square www.adobe.com triangles to be rendered at now shipping and is the precomputed global enix’s Dungeon Siege iii. /// Adobe announced a new HD resolution in full screen first release of the product illumination, the ability Pathfinding algorithms set of enabling large- at around 60 Hz” under under Autodesk since the to adjust overall scene in the new version allow scale, hardware-based 3D the new APIs, compared company acquired Beast lighting without bounce for AI-controlled characters acceleration on its popular to “thousands” of un-z- creator Illuminate labs in lights or ambient fills, and to negotiate moving Flash and AIR platforms. buffered, 30Hz triangles July this year. an API that allows users to platforms, fly over buildings Code named “Molehill,” the under the current Flash Autodesk Beast allows more easily integrate Beast or through windows, and company’s new APIs will be Player 10.1. for light bouncing, color into a game engine.

34 game deveLOper | decemBer 2010 SLATE MATERIAL EDITOR immediately applied to objects, feature into second place, but I’ll the same time, in terms of overall » Next in the conga line of new which is especially useful for move on. performance, 3ds Max 2011 seems features in 3ds Max 2011 is the environment artists that need a little slower than 2010 and before. Slate Material Editor. I place it to start working right away with QUICKSILVER second after Object Painting various real-world architectural » The Quicksilver hardware TO UPgRADE OR NOT TO because of the increasingly materials like tile, ground, metal, renderer is a new multithreaded UPgRADE ... complex nature of today’s water, and glass. rendering engine that uses both » Overall, I’ve found that Object materials, even more so for video the central processing unit (CPU) Painting and Viewport Canvas game work. Slate is an expansion INTERACTIVE TEXTURE DISPLAY and the graphics processing unit are worth the upgrade fees by of the Compact Material Editor » In a tie for third with the Slate (GPU) to deliver rendering PDQ themselves. Add in everything else, (previously known simply as Material Editor is the ability in 3ds (Pretty Damned Quick). The new and while you may not quite be the Material Editor). While Slate Max 2011 to view many 3ds Max setup achieves up to 10 times willing to relegate that legacy copy incorporates portions of the old texture maps and materials within faster rendering than traditional of Max 2010 to the scrap heap (like system, it is miles ahead because the viewport to help develop and techniques on common graphics your old Pinto), it makes the decision of its highly visual node-based refine scenes in a higher-fidelity cards. You can’t necessarily say not to upgrade a lot tougher than it material editor. The fact that you interactive display environment that this is a benefit to video usually is. But if you’re working with can see at a glance the numerous without the constant need to game developers because many characters, then the integration of components comprising a material, re-render. Tell me that you enjoy cutscenes that used to be rendered CAT will deliver a beat down like Rey the relationships between them, sitting at your desk at 11:59 PM, are now done within the game with Mysterio driving through your studio and each shader channel puts the trying to dial in those texture UVs real-time processing. However, with in a monster truck. old system to shame. on your model but constantly such an unsteady job market, no And when have you ever seen that Another huge addition under struggling with the low-res nature one in the industry will begrudge metaphor in a software review? Slate is the inclusion of the of the display. 3ds Max 2011 gives being able to more quickly render Autodesk Material Library within the you the poison dart to take that out asset turnarounds, animation TOM CARROLL is a freelance video game Material/Map Browser. Thousands beast down. The more I talk about cycles, and full scenes to appear in artist and a contributor to myIPD.com, an of ready-made materials can be it, the more I want to bump this their demo reels and websites. At intellectual property portal.

DownloaD anD Play the latest stuDent GEt youR GamE on! Games! EvERythInG you nEED to know to GEt Into thE GamE InDustRy! • news and features for students and educators • Getting started section — an invaluable how-to guide • message Boards

I’ll match your interests and goals with the right game related programs and schools Download your FREE digital from around the world. edition of the 2010 www.gamecareerguide.com Game Career Guide online at: www.gamecareerguide.com

www.gdmag.com 35 pixel pusher // steve theodore

The Balkans Living and working in a fragmented medium nearly 10 years inTo The seventh console generation, we’ve gradually become accustomed to a lot of things that once seemed exotic and scary. There aren’t a lot of we-don’t- need-no-steenking-normal-maps holdouts anymore, and plenty of artists can toss off terms like “spherical harmonics” with the kind of casual nerdiness that once belonged only to the ensign Wesley Crushers of the multiverse. It’s kind of shocking nowadays to roll back the clock and look at titles that represented the peak of graphics in 2002 or 2003; without the gauzy haze of fond gaming memories, many of those AAA stalwarts would look more at home on a handheld or a smartphone. One of the peculiarities of this generation of tech is that the advances seem to come in fits and starts. One game has really swanky effects shaders, with water ripples or caustic lighting or buttery smooth subsurface scattering. Another deferred renderer that gives you Sometimes these choices don’t even realize how little their has a brilliant lighting model, lots of lights, but doesn’t handle are simply budgetary ones: will particular brand of “next-gen” with a huge dynamic range and multiple layers of transparency dynamic reflection maps leave resembles those of other games ultra-sophisticated radiosity well. Or, you could plug in a fancy enough memory in the budget and other platforms. Context is mapping that captures all the offline radiosity solution and store for a fancy texture-based skin everything in art, and when the subtleties of indirect lighting. tons of spherical harmonic light shader? Sometimes the choices context is some crazy one-off A third may have real-time soft probes for a really rich indirect are architectural: If you want to proprietary tech, your art must shadows or ambient occlusion lighting solution‚ but you might have a lot of dynamic lights, you’re struggle to adapt. helping to define its forms and not have enough memory left probably not going to get MSAA or Consider how even something tie its disparate pieces together. over for anti-aliasing at 1080p, or cool transparency effects. One way simple like environment texturing But no game really does it all the ability to change the time of or another, it’s the game artist’s interacts with the complex weave (which is probably good news; day dynamically. eternal pride and perennial curse: of lighting and shaders that would you want to compete Obviously, the tradeoffs that you can’t have it all. make up an engine. Perhaps I can against the game that really define any engine are (or let’s rely on screen-space ambient did everything?). say they should be) driven by the Balkan deaTh grip occlusion: this means I get a nature of the game you’re trying to » The interesting side effect of lot of the visual definition in my a compromising posiTion make. A moody film noir mystery this overstocked buffet of graphics environment for free, so I don’t » Modern hardware can do game should obviously be investing techniques is balkanization: every have to bother with a lot of extra remarkable things, but the hard more in dynamic shadowing than project comes with its own unique tricks for darkening corners and limits of memory and processing a flight sim, while a tunnel shooter way of doing things. Many artists emphasizing intersecting forms. power still force us into some can probably rely a lot more heavily who’ve finally settled down into You, on the other hand, spend most awkward compromises. You on pre-baked lighting than an open- a comfortable co-existence with of your time finessing the way your might, for example, go with a world game with weather effects. the “next” generation of graphics materials bounce photons around

36 game developer | december 2010 to get precisely the subtle radiosity We all know that it’s the artist, it also explains why we stick with means we’ll always be trying new effect you need, because your fancy not the tools—but too few of us a studio model that looks more like ways to get more and better art lighting makes mine look like crap. feel like waiting for said artist to the 1930s than the 21st century. out of those damn machines‚ and (But hey, at least I don’t have to actually learn the tools. It’s the It doesn’t take much effort inevitably this will mean we strike wait two hours for the light farm same thinking that has led a lot of to prove that the crazy welter of out in different directions and make to process my changes whenever us to half-consciously segregate different techniques and tools different, incompatible discoveries. I move a light!) Meanwhile, the ourselves into Max- or Maya- we use is a hassle. Whether it has driving game team up the hall centric career tracks. It's the path interfered with your career plans extra-CUrriCULar aCtivity uses simple direct lights because of least resistance. or simply forced you to waste time » Because the career impacts of they need dynamic shadows for Unfortunately, the logic may be learning a succession of quirky all this helter-skelter technological night races, and they can’t spare impeccable but it comes with some approaches to common problems, change can be pretty severe, it’s the memory for lots of ambient serious costs. For individuals, the you already know that life would be important to have at least a basic textures. So they kick it 1999 style, costs can be pretty brutal: losing a lot easier if we didn’t have such familiarity with the way things with a ton of baked-in lighting in out on a job that you know you could a bewildering variety of tools and work outside your particular studio their textures. ace solely because you haven’t techniques to keep up with. setup and pipeline. Game Developer Now, imagine that management spent a few weeks with a particular postmortems, Gamasutra, and has reassigned us all. How long will set of sliders is pretty galling. what standards? particularly the GDC are great it take us to be productive in each Technical decisions that your studio » Unfortunately, standardization ways to take the pulse of how the other’s working environment? And make to service a particular project may be attractive but it’s not going production landscape is changing. that’s just for texturing! (or satisfy a publisher’s whims) can to happen any time soon. As the And of course, in the Internet era, have a serious but silent impact on current console generation matures, you can always find somebody out Migrant Labor your career. we will probably see some progress there who’s willing to do a step-by- » For the working artist, this is not toward common ways of getting step tutorial on every new trick in just an annoyance. If you’re too tied UniversaL stUdios? things done. graphics or content creation. to the ins and outs of one particular » For the industry, the costs In the early days of any tech, You can also help yourself engine, your career mobility can are more subtle, but also more there’s a lot of experimentation. The by doing a little work on the side. be at risk. When the rules of the far-reaching. Our heterogeneous early days of normal mapping, for Artists who freelance in their spare game vary so much from studio to ways of making things reinforce example, involved lots of custom time pick up valuable intelligence studio, your work can be devalued our business model‚ even when a tools and incompatibilities. Who on different studio cultures and by viewers who don’t understand lot of people think that model is in can forget their first time trying techniques as well as a little extra its technical constraints. It’s hardly need of an overhaul. We’ve spent every one of ZBrush’s annoying cash. Even experimenting at home surprising, either, that candidates years trying to figure out whether tangent-space and UV-winding with techniques you don’t get to use who’ve worked with familiar tools we ought to organize in Hollywood options to find the magical at the office is valuable. If nothing and techniques have a leg up fashion, combining small core teams combination that would actually else, a few hours of learning the over those with very different with a cloud of freelancers and work- produce a working result? ropes on a new process is great for experience‚ but it’s not much fun to for-hire production houses rather Over time, though, the handling awkward interviews: “We miss out on an interesting project than our long-term studio model experimental processes tend to don’t use it on my team, but I’ve because you know the “wrong” (see Pixel Pusher’s March 2010 simplify and become more robust. done a lot of work with it in my side lighting model or software package. column “Zombie Apocalypse”). Love Nowadays, it’s pretty much a given projects” is often enough to nudge a Technical balkanization it or hate it, the Hollywood model that any working artist can figure wavering interviewer back onto more exaggerates the industry’s tendency has sustained several generations out how to crank out a normal map positive topics like your portfolio. to value computer bullet points over of huge franchises successfully, without special instructions and a If this sounds like a lot of the artistic side of art. How many of while our business has struggled PhD in math. Other technologies, hassle ... well ... it is. But it’s also us have sailed through a portfolio awkwardly to handle the huge from to high-level a critical consideration for the check and a phone screen only to content costs of modern graphics. shading languages, show a similar long-term health of your career. run smack into something like “of There are many reasons why progression from the exotic to the Technologies, even companies, course, you know we’re really looking games haven’t gone Hollywood merely mundane. Hopefully, in our come and go. The only thing you for somebody who’s done Mudbox yet, from culture to unionization gradually aging console generation, can be sure of is the life of a sculpting” or “we loved your work but to geographical concentration. The we’ll see more tech becoming modern games artist demands you we need somebody who has more fragmentation of our art pipelines de-mystified. be a jack of all trades as well as a experience in HDR lighting.” and engine technologies also Nonetheless, the main reason master of one. Now, to be fair, this kind plays an important role. If you for our lack of standards isn’t going of job-search triage isn’t just want to build a production team away. That is to say, our ambitions steve theodore has been pushing pixels for random cruelty. The art director or from scratch every time you spin are, and probably always will be, more than a dozen years. His credits include producer looking to fill a hole on a up a project, standardization has far grander than our hardware can Mech coMMander, half-life, TeaM forTress, production team has a legitimate obvious attractions. The perennial support. We’re constantly trying counTer-sTrike, and halo 3. He's been a reason for preferring candidates complaint that Hollywood “doesn’t to strike a balance between the modeler, animator, and technical artist, who’ll be ready to go from the day have to re-invent the camera for shifting, conflicting demands of as well as a frequent speaker at industry they show up instead of requiring every movie” doesn’t just explain gameplay, graphics technology, and conferences. He’s currently the technical art weeks or months of ramp-up time. our penchant for missing deadlines, art. Our need to make things cooler director at Seattle's .

www.gdmag.com 37 THE INNER PRODUCT // GIaCOmINO VElTRI

Game ConfiGuration at Crystal lake Loading and Processing configuration data with Json

Game configuration is a problem that is both ubiquitous and arbitrary. Every studio in our asset editor’s undo queue. We use JSON needs to configure some aspects of its games, and the data used to configure each to send generic events in our event system. aspect can come in various shapes and sizes. This can lead to customized solutions for We even use JSON from Perl scripts to help loading and parsing different types of configuration data. The Excel JSON Exporter is automate a few processes in the new toolset. meant to help simplify and unify how our configuration data is loaded and processed. Thus, it seemed only natural to use JSON as our JavaScript Object Notation (JSON) is an open-standard text format for describing method for getting configuration data from Excel objects. It’s basically text that defines a set of key-value pairs, where values can either into the game. be scalars, arrays of values, or other objects. Because it is an open standard, a wide range of tools are available for use with JSON. Our new toolset makes heavy use of JSON Json lives for asset metadata, game object properties, and so on, which made JSON a natural fit » Writing an Excel add-in was not without its for storing our game configuration data. The JSON Exporter is an add-in for Excel that (minor) challenges. The first thing to address converts a specially-formatted spreadsheet into a JSON text file for use in our game. was the choice of language—a C/C++ plug-in or a add-in. Although I’m far more a new BeGinninG game. The use of JSON with the configuration familiar with C/C++ and generally prefer it over » When determining the configuration data data stems from our use of JSON in other Visual Basic, the process for getting a C/C++ pipeline in our new tools and engine, one of the aspects of the codebase. At Insomniac, we’re plug-in into Excel is daunting, and involves first decisions we needed to make was where the currently creating a new toolset in Flash to writing some sort of plug-in shim. In the past, source data would come from. Would configuration provide our team with a richer user interface for we wrote an Excel plug-in for localization (and data be stored in an internal format and edited development, and JSON provides a convenient its corresponding plug-in shim) using C/C++, but using a proprietary tool, or would it be imported method for sending data from Flash/ActionScript it had its share of problems. It was complicated from some third-party application? In our case, into our C/C++ code and back. To support this on to set up the environment, was difficult to debug the answer was straightforward enough—our the C/C++ side, we created several utilities (the (the debug build of the plug-in would not load current method for getting configuration data into main one is called Data Description Language, or on some systems), and every update required the game was to use Excel as the source, convert DDL) that provide functionality to convert JSON the users to re-install the plug-in. After having it to CSV, and then parse it in the game (with a both to and from an arbitrary C/C++ structure. to deal with those issues, I have been wary of special binary version of the data used in final On the Flash/ActionScript side of the code, shimmying anything into anything else—it just builds). Overall, designers like using Excel, and ActionScript objects can be converted both to sounds bad. it’s available on all our machines, so using Excel and from JSON in JavaScript, and thus shared In contrast, writing the plug-in as a Visual requires no additional installation process for us. with the C/C++ code. It is this data path from Basic add-in made the setup as simple as saving While both writing a proprietary tool and using ActionScript to C/C++ and back that forms one the Excel file as an Excel Add-In (.xla/.xlam) Excel have their pros and cons, a custom tool of the backbones of our new toolset. Because file. Updating the plug-in only required that we that is basically a spreadsheet (which is the user JSON serialization is widely supported in our C/ replace the .xla/.xlam file (provided Excel is not interface the designers want) would require more C++ code via the DDL utility, we adopted its use running at the time of update). However, I still effort in the short term and take longer to mature for a variety of other tasks. For example, game had to deal with the occasional cryptic Visual than writing an add-in for Excel, which has a well- object properties are specified in the level editor Basic error message, such as “Only User Defined known interface with plenty of features. and parsed at runtime into our game object Types Defined In Public Object Modules Can Be Once we decided on Excel as the source structure using JSON. Our level data structure is Coerced To Or From A Variant Or Passed To Late of our configuration data, the next step was saved as JSON. We use JSON to store our asset Bound Functions.” to determine how it would make it into the metadata on disk and to store asset changes It’s difficult to export an arbitrary Excel spreadsheet to some sort of structured and meaningful JSON, so to narrow the scope of this problem, we placed certain rules on how the Excel spreadsheet needs to be structured. The spreadsheet structure was created to suit the needs of our designers, and while it can change from game to game, it usually does not. Most of these rules already existed in the previous fiGure 1 shows the configuration data for a Pistol weapon. system (which used Excel and exported to CSV)

38 GamE DEVElOPER | DECEmbER 2010 and are things the designers are already familiar with. The basic rules are as follows: • The name of the sheet will be the name of the top-level object. • A main header row must be present to indicate the start of the configuration data. This header row must contain “Variable,” “Comments,” and “Value(s)” in the second, third, and fourth columns respectively. • At least one object header row must be present, and is determined by having the name of the object in the first column. In addition, if a data member can have more than one value, the names of those values start at the fourth column. • Each row after the header row will specify object data members and their values. If a data member is also a nested object, its members can be accessed using a C-like syntax. An example set of configuration data for a Pistol weapon can be seen in Figure 1. The light blue row is the main header row. The main header row is determined by columns two, three, and four having the values “Variable,” “Comments,” and “Value(s)” respectively. The “Comments” column is ignored by our format, and designers can do whatever they want with it. The “Value(s)” column is used to indicate the starting column for all the values for a given row. Everything above the main header row is ignored by the parser; this gives designers the ability to put notes at the top of the file. The dark blue row is the object header row, which indicates that the current object is “Pistol,” and that it will have values for both “SinglePlayer” and “Competitive.” The object header row is determined by the name of the class being in the first column (and of course being after the main header). The green rows represent the data members of “Pistol,” such as “Pistol.damage” and “Pistol. clip_size.” Member variable rows are determined by having the member variable name in the second column (and nothing in the first column), which is placed after a valid object header. All other rows are ignored.

The New Blood » In practice, the spreadsheet in Figure 1 may contain several sets of rows for additional weapons such as the Shotgun, Rocket Launcher, and so on. Each weapon may have a different set of member variables as well; there are no limitations on what objects can have what data members. Note that cell color and other cell formatting have no effect on how the cells are interpreted—they are formatted such that the spreadsheet is easier for designers to read. The meaning of a cell is derived from its row number, column number, and the most recent object header. The Excel JSON Exporter converts this specifically-formatted spreadsheet to JSON. It works by processing each row one at a time and then converting it into a string containing a C-like syntax that describes the member variable to be set. This string is then used to add a node to a tree that describes the final JSON data. In particular, when the exporter encounters a new object header row, it remembers the object name. In Figure 1, the object name is “Pistol.” For each row beyond that until the next Figure 2 shows the string to node process. object header row, it generates the C-like string by concatenating the sheet name, each value type, the object name, and the member name. For the Pistol example, if the Excel worksheet were named “Weapons,” the C-like The values do not need to be part of this string since they can be read string generated for each row would look like this: directly from the appropriate cell. Once this string is generated, it’s parsed into a tree structure that is grown over the course of the export. In the Weapons.SinglePlayer.Pistol.damage example above, after parsing “Weapons.SinglePlayer.Pistol.damage,” the Weapons.Competitive.Pistol.damage tree would contain four nodes. The root node would represent an object Weapons.SinglePlayer.Pistol.clip_size named “Weapons,” and it would have a single child—a node that represents Weapons.Competitive.Pistol.clip_size an object named “SinglePlayer.” A node beneath the “SinglePlayer” node Weapons.SinglePlayer.Pistol.xp.level[ 0 ] would be a child node representing the object named “Pistol.” Finally, Weapons.Competitive.Pistol.xp.level[ 0 ] “Pistol” would have a single child node named “damage,” which would Weapons.SinglePlayer.Pistol.xp.level[ 1 ] contain the scalar value “2” (extracted directly from the cell), which Weapons.Competitive.Pistol.xp.level[ 1 ] represents how much damage the pistol does in a single player game.

www.gdmag.com 39 THE INNER PRODUCT // GIaCOmINO VElTRI

As subsequent lines are parsed, nodes are allowing the C/C++ structures to adhere to our added accordingly to the tree in a similar fashion. coding conventions. lisT inG 1 This process can be seen in Figure 2. After all { lines are parsed, the final tree is traversed and The Final ChapTer "Weapons" : JSON text is output to a file specified by the user. While it is still in its infancy, the Excel JSON { » "SinglePlayer" : The resulting JSON for the tree in Figure 2 can be Exporter plug-in has proven useful, and has a { seen in Listing 1. This JSON is a representation few advantages over our previous CSV-based "Pistol" : of how the Pistol weapon should be configured system. The previous system used the Excel { for both the single player and competitive modes built-in CSV exporter. On occasions, Excel "damage" : "2", of the game. The value types “SinglePlayer” files would get filled with an unreasonably large "clip_size" : "10", "xp" : and “Competitive” are grouped in this manner amount of empty rows and columns, which made { so that it is easy to switch between weapon the CSV files take excessively long to load. While "level" : configuration sets during the game. the solution is simple enough (just get rid of the [ After the JSON text is exported, it must excess rows and columns), it’s annoying to have "100", be loaded into the game. Fortunately, as to re-export the data and restart the game. "200" ] previously described, our C/C++ code provides The JSON Exporter deals with this problem in } functionality for loading JSON data into two ways. First, it only parses a fixed number of } structures (the main utility, which we call DDL, columns. The JSON Exporter knows how many }, is outside the scope of this article). The key to columns it needs to process based on the header "Competitive" : loading JSON data into a C/C++ structure is to row. Secondly, it will stop processing rows after it { "Pistol" : make sure the fields in the structure match up hits an arbitrary (but high enough) consecutive { with the JSON data accordingly. The C/C++ code, number of blank rows. While this is not the "damage" : "1", if desired, will use default values (specified by greatest solution ever (and may actually be the "clip_size" : "15", a programmer) for any field that is not present most embarrassing), it does avoid the problem "xp" : in the JSON data. Furthermore, fields present of Excel sometimes keeping around unused rows { "level" : and columns. [ We use [JSON] for loading a variety of data Another advantage "150", over the previous "300" in our new toolset because it’s so simple and system is that the ] straightforward, so using JSON as our format CSV data needed to be } } loaded and parsed by for game configuration data came naturally. } a special system at } in the JSON data—but not present in the C/C++ runtime that used Lua. While we are still parsing } structure—are ignored. data in the new system, the system used to Listing 2 shows the C/C++ structures parse JSON is generic and written in C/C++, so lisT inG 2 that can be used with the JSON in Listing 1. In the process of loading the configuration data struct XpData practice, programmers usually create these becomes greatly simplified, and most likely faster { structures first, and then tell designers which during day-to-day development since we are not int m_level[ 2 ]; }; fields are available for configuration. Once running any Lua scripts in this process. these structures are in place, programmers JSON is a widely supported open standard struct WeaponData can use the C/C++ functionality to load JSON, text format. We use it for loading a variety of data { and the member variables will be set (this in our new toolset because it’s so simple and int m_damage; is basically a function call on the structure). straightforward, that using JSON as our format int m_clip_size; XpData m_xp; In general, we have two ways of processing for game configuration data came naturally. }; the JSON data—initializing and updating. Our loading code for game configuration When initializing a structure, any member data is greatly simplified by our C/C++ utility struct WeaponSet variable that is not specified in the JSON data that matches fields from JSON data to C/C++ { will receive a default value specified by the structures, and the JSON Exporter for Excel WeaponData m_Pistol; // Any other weapons, such as: programmer. When updating a structure, any enables us to unify our configuration loading // WeaponData m_Shotgun; variable that is not specified in the JSON data is code while allowing designers to work in the // WeaponData m_RocketLauncher; simply not updated at all. This makes it simple environment they prefer. }; to pass changes to objects back and forth in the tools and game as JSON containing a partial Excel files and sample data for JSON are available for struct WeaponConfig { description of the object. One thing that stands download at http://www.gdmag.com/resources/code.htm. WeaponSet m_SinglePlayer; out when comparing the structures and the A version of this technique was previously published as WeaponSet m_Competitive; JSON data is that all structure member variables part of Insomniac's Nocturnal Initiative. }; are prefaced with “m_,” whereas in the exported JSON data (and the Excel spreadsheet) they GiaComino VelTri is a programmer on the core team at struct Configs { are not. This is intentionally built into our C/C++ . His recent work includes the animation WeaponConfig m_Weapons; utility; it automatically appends “m_” to variable editor in the new toolset and prototyping gameplay in the // Other config data names to keep the JSON data (and thus Excel new engine. Giac is also a graduate of UCLA—go Bruins! }; configuration data) more human-readable while [Editor’s note: go Trojans] lisTinG 2 C/C++ structures that correspond to the Json data in listing 1. 40 GamE DEVElOPER | DECEmbER 2010 jesse harlin // aural fixation

The WeighT Of Silence How Silence can indicate a cHaracter'S importance

nOne Of The WOrldS In Uncharted 2, not only to explore the scene and Joseph Allen as he fights launcher can be nearly that we deal with exist. Our is Nathan Drake the center hunt, it becomes his way through the inaudible beside the chaos artist colleagues carve of the game’s story, he’s also apparent that almost all war-ravaged streets of of the world around him. dynamic spaces out of thin the focal point of nearly all of the sound comes solely Afghanistan. Although he is At its calmest, there digital air. Our engineering the game’s sound. Listen from Drake’s actions. fighting in close quarters is no silence for Pvt. Allen. brethren wrap those spaces to the way urban combat Footsteps and foley are with automatic weapons Instead, Pvt. Allen finds in Newtonian physics and is handled in the Nepalese quite loud and take center just like Nathan Drake, himself awash in the sounds breathe artificial life into an section of the game. As stage alongside the vocal Pvt. Allen’s world is one of a world fighting around artificial populous. These Drake and Cloe attempt a exertions of exploration. If of complete chaos. Pvt. him and in spite of him. If digital universes, rich with full-frontal assault on an Drake stands still, the world Allen is literally a faceless he takes part and adds to puzzles, platforms, and occupied temple, there are goes quiet. There are short grunt, intentionally the sounds of combat, it protagonists though they three primary elements to bursts of distant gunfire, indistinguishable from the barely affects the mix. Only may be, are 100 percent the mix: weapons fire, music, but these are infrequent rest of his platoon. between levels is there a silent without us. and dialogue, in descending and also quiet. There are When Allen stands sense of tense quiet in the Silence is negative order of importance. occasional point source still, his world remains a form of secret backroom space, and just as in fine Drake’s weapons cut emitters for effects like small constant buzz of weapons conversations, but even art, negative space is an through everything with a fires, but these are very fire—both near and far—and then, Allen is merely a cog in essential tool of contrast. Hollywood punch. There’s In interactive audio, we never any doubt as to when can divide sound into two the player is firing their categories: sounds that weapon. Nor is there any happen because of the player doubt as to when Drake is and sounds that happen in being fired upon, as enemy spite of the player. The way weapons have a similar bite. sound designers handle the The music is interactive balance between silence and kicks into action as and these two categories Drake does. Accompanying of sound can be a useful the gunfire and music is tool in helping to establish the interweaving dialogue. the weight of the player AI speech is focused on character’s importance either taunting Drake or within the game world. death utterances. For his part, Drake has his own set leSS iS MOre of utterances as well as » Uncharted 2: among the intermittent requisite Call of Duty: MoDern Warfare 2. thieves has become one snark. If Cloe speaks at of those must-play games all, it’s to give the player quiet as well, even when ever-present radio chatter. the larger machinations of in our industry, and with critical gameplay dialogue. beside them. It’s as if the Rocket-propelled grenades politicians and generals. it, Nathan Drake has Everything on-screen is world waits for Nathan Drake, fire and explode. Jet aircraft Who controls the arguably become one of this either happening to or and as such, all of this silent scream through the skies. silence controls their generation of gaming’s most because of Nathan Drake. negative space isolates him Characters shout dialogue own destiny, and sound iconic characters. Drake’s The moment combat as the single most important at each other from all sides, designers shouldn’t be snarky banter is a well- stops, however, silence element of the game. occasionally including afraid to use silence—or implemented counterpoint begins to intrude. Music orders for Allen. Platoon the lack thereof—as a to the pop of his M4. Take drops out quickly without MOre iS leSS members engage the tool to help indicate a another detailed listen threats to Drake. Some » For the sake of Afghani militia in a constant character’s importance to the game, though, and initial dialogue points the comparison, listen to a hail of AK-47 rounds. The within their own world. an interesting portrait player in the story’s next different take on urban player character’s own emerges. Despite crumbling direction, but then Drake warfare. At the start of call actions are frequently jeSSe h arlin has been buildings and dangling and Cloe spend large of dUty: modern Warfare lost within the din. Foley, composing music for games since train cars, Drake’s world is sections without speaking. 2, the player steps into reload sounds, and even the 1999. He is currently the staff actually very quiet. As the player is allowed the combat boots of Pvt. faloomp of Allen’s grenade composer for LucasArts.

www.gdmag.com 41 design of the times // soren Johnson sTop makinG sense Matching theMe to Mechanics

Some of our industry’s most beloved games make precious little sense. Why, for example, do players HeroeS only allows matches with battle the trolls, goblins, and skeletons of puzzle QueSt by challenging them to a two-player version the Axis on one side and the Allies of Bejeweled? Similarly, success in profeSSor layton’s world seems to revolve disproportionately on the other. Clearly, this decision around one’s ability to solve classic logic and deduction puzzles, no matter the reason. makes sense thematically, but does it make sense that players never get Game stories have fared no A place exists for games which strategy battles often contain to pit identical sets of virtual army better. Mario’s canonical plot do not allow respawning—Counter- nonsensical elements, such as men against each other? sounds like nonsense from Lewis Strike being the most successful economic infrastructure and aSSaSSin’S Creed famously Carroll: the plumber punches example—but the designer chooses research facilities, these elements went to great lengths to cover bricks to find magic mushrooms this mechanic not in pursuit of each create important mechanics up as many standard game that double his size, so that he realism, but to strike a different that increase strategic depth. conventions as possible. A frame can battle an evil turtle who has tone. When characters stay dead, Creating infrastructure gives the story put the player in the shoes kidnapped the kingdom’s princess. players feel more tension during the player an actual location on the map not of a 12th-century Middle The less said about the Metal Gear match, which encourages them to to defend; without it, armies could Eastern assassin (as the game’s Solid franchise’s various twists play more carefully and with greater roam freely across the map with advertisements featured) but of and turns—including the infamous precision. Thus, games without no consequences for abandoning his 21st-century descendant who possession of Revolver Ocelot’s respawns simply occupy a different a certain location. Discovering is somehow reliving the former’s mind by Liquid Snake’s old arm— location on the play spectrum. technologies creates short-vs- life with advanced memory the better. long-term trade-offs for the player reconstruction technology. Still, games have their own Be True To The Game to balance—should resources be This conceit aims to explain internal logic, which is much » Sometimes these imaginary invested in science for a long-term a number of typical design more important than whether the design constructs are necessary for payoff of stronger units or spent on constructs. Discrete game levels game’s story makes sense, or even the existence of entire genres. The new units to attack the enemy and are simply different memories, whether the game’s mechanics hold classic real-time strategy design press an early advantage? while all character deaths must together logically. The traditional pattern, with peons, base-building, These trade-offs make sense be false memories. The assassin’s concepts of levels, lives, and and rush/turtle/boom dynamics, in a fundamental way—players movements are mapped to a physical gamepad because he is actually the puppet of a latter-day character One great advantage of not worrying about a game trying to relive his memories. Did these rationales broaden making sense is that designers are free to use the the game’s appeal by explaining theme which best matches the game’s mechanics. supposedly arbitrary gaming cliches? Or did they unnecessarily burden the game’s narrative with respawns are ultimately constructs bears little resemblance to actual understand that location should a convoluted and unnecessary that support a designer’s vision, warfare, even when ignoring the matter and that making long-term frame story that distanced regardless of whether they have common fantastical themes. In what investments should succeed under players from the fantasy of being any logical real-world parallel or type of war does each side construct the right circumstances. Therefore, a medieval assassin? Surely, the thematic metaphor. army barracks to train troops—and the gameplay itself makes sense, average console owner would Why, for example, should even research labs to discover even if the game’s world does not— not be surprised that the game players respawn—come back to technologies—on the very field of workers planting farms within sight required controlling the character life—after being killed in a team- battle? Indeed, why is every scientific of a pitched battle and all. with a gamepad. based shooter? Shouldn’t players breakthrough forgotten between each Indeed, the early arcade expect their dead character to stay scenario of a fictional campaign? Too much consisTency industry was a font of creativity dead after being killed? The reason Ultimately, these questions » Indeed, designers who worry largely because the games were not is that the respawn mechanic are subsumed by the genre’s too much about a consistent world expected to make any sense—think matches the inviting tone the needs. Strategy games work can often hamstring their own of the dot-eating paC-Man, or the game’s designer wishes to strike. By because players are forced to work. In StarCraft, the designers cube-jumping Q*Bert, or the ray- softening the blow of death, gamers make tough choices between a had no qualms allowing Terran running teMpeSt. As graphics became are free to play aggressively, number of options, each with its players to team up with the Zerg in more realistic, almost all arcade which rewards risk and even own set of trade-offs. Although the multiplayer, even if fighting against cabinets were ghettoized into just experimentation. environments of most real-time other Terrans. However, CoMpany of a few concrete categories —racing,

42 game developer | december 2010 de f PeNNy A RcA y O ILLUSTRATION cOURT eSILLUSTRATION fighting, and shooting—because However, shiren does allow scatter those pieces around the existed which matched this set of the higher-resolutions discouraged a very unusual type of progress world like junk? game mechanics. bizarre, abstract games. Only now by letting the player stash loot— That the player discovers these In fact, one did, but the that downloadable, mobile, and Web- including powerful weapons and scattered bits of audio in roughly designers just needed the based gaming have brought back the armor—in various caches found linear order allows the designer confidence to pull it out of thin air. use of lower resolutions is the old throughout the game that have to tell the story without relying What type of life-form can grow eccentric energy returning. persistence between sessions. on stodgy cutscenes, but their but can’t move? Plants! What Thus, although a character might placement in the world simply type shambles along slowly in GO yOUR OwN wAy die an unlucky death, he still doesn’t make sense. This doesn’t a straight line without a brain? » Sometimes, manipulating contributes to advancing the game mean that the designers made Zombies! Naturally, the answer a game’s story to paper over by leaving a supply of potions for the wrong choice; perhaps a more was to pit these two groups against unusual design concepts can work. the next character’s playthrough. elegant solution was possible, but each other. Certainly, the Dagger of Time’s This strange mechanic, where better to allow a little inelegance With PlanTs vs. ZomBies, ability to rewind time for a few most (but not all) of the world than to turn the player into a non- PopCap found the perfect theme seconds in Prince of Persia: The resets on death, has few parallels interactive viewer who must be for a game. The fact sands of Time was an elegant way either inside or outside of gaming, force-fed the story. that it completely defied common to integrate a quick-save system and the story makes no attempt sense was beside the point. Why into the game’s core functionality. to explain it. Truly, no explanation The PeRfecT Theme are players battling zombies with In the recent TorchlighT, the is necessary because the game is » One great advantage of not mutant plants, after all? That character’s pet can run back to being true to itself; the designers worrying about a game making doesn’t matter; the important town to sell loot, nicely shortening wanted a game that combined the sense is that designers are free to thing is that even someone who is a time-consuming element of most tense atmosphere of use the theme which best matches unfamiliar with the tower defense action-RPGs while also staying with a touch of power progression the game’s mechanics. The tower genre would have an intuitive within the game’s fiction. from a traditional RPG. defense genre emerged from user- understanding of what to expect Still, designers should feel Bioshock is another game which created scenarios designed for real- simply from the game’s title, all comfortable going their own way gave no explanation for an absurd time strategy games like sTarcrafT because the designer wasn’t afraid if a mechanic makes sense for element—the audio diaries which and WarcrafT iii. to stop making sense. the game they want to make. are littered about the underwater The limitations of these shiren The Wanderer is a city of Rapture. These bits of platforms gave the genre a SOReN JOhNSON is a designer/ dungeon crawler, which means recorded speech from the game’s distinct set of conventions— programmer at EA2D, working on web- that all character deaths are main characters provide important stationary defenses vs. mobile based gaming with strategystation. permanent as progress cannot be backstory for this Objectivist “creeps”—which had little com and . He was the saved. are meant to be dystopia. Still, what type of person narrative justification. Why must lead designer of iv and the played repeatedly, with the player would, after putting their personal all defenses be static? Why are co-designer of CiviLization iii. Read more improving purely through increased thoughts onto tape, decide to break the creeps so slow and mindless? of his thoughts on game design at www. knowledge of the game’s rules. up the tape into pieces and then If only a thematic environment designer-notes.com.

www.gdmag.com 43 Hiring news and interviews Good JoB Hired someone interesting? Let us know at [email protected]!

From Lara CroFt to Lame CastLe new studios CrystaL dynamiCs veteran goes indie Continuing its rapid expansion, faRMVille developer Zynga is opening a Seattle office Brad Johnson went from lowly tester, to basic scripter, to full fledged programmer, fighting and hiring a team of web engineers for the his way up through the ranks in classic style. But after completing work on Lara Croft: new location. Guardian of LiGht, he realized it was time for a change, and went independent with his new company Be-Rad Entertainment. We spoke with Johnson about his leap to freedom. Following news of Zynga’s plans to found a Seattle studio, the developer of faRMVille and Game Developer: What made you go from Lara Croft: Guardian of LiGht to the iPhone/Android Mafia WaRs said it is continuing to expand its space? operations into Ireland. Bradley Johnson: We made a great game, but it wasn’t a cakewalk getting there. Overtime coupled with a 45 minute commute each way began to drain my soul. I’d come home unhappy Following his recent departure from and pissed off at the world. I was tired of feeling that way and always wanted to make my own Bandai, KataMaRi daMacy creator Keita games, so I left and started my own company. Takahashi has announced his new studio, My goal with Be-Rad Entertainment is to make a larger scale game for XBLA/PSN/, but Uvula, which offers services in art, music, and the way I’m going to get there is to take components that the larger game will use, create the video games. component, and then make a smaller game out of it. This way I can work out any kinks in the system, and if it’s designed correctly it will allow me to easily plug it into another game. On top THQ has opened a new development studio of that, I’ll have a finished product to show for it, which will hopefully help fund the big one. Once in Montreal, including talent such as Ubisoft I create all the small components necessary for the larger game I’ll start cranking it out. Until veteran Patrice Desilets, the former creative then I’m really enjoying the freedom being an indie gives me—creating my own schedules and director of the assassin’s cReed franchise. developing whatever games I want to work on.

Game Developer: Did you already know what you wanted to make, or did you just know you wanted to go indie? BJ: Sort of not really! But it came together fast. About two weeks after I quit my job to go indie whowentwhere I started working on a prototype for an iPhone game. This game involved a ninja and lots of Neonga, the free-to-play game company jumping. After about two weeks of work my buddy sent me an formed by Frogster’s ex-CEO, has added email with a link to a PSP ad and wrote, “We should make this another Frogster veteran, Stefan Hinz, to its game.” In the ad they’re making fun of what looks like an iPhone. staff as chief marketing officer. The guy in the ad is holding his phone with a game called laMe castle on it. Once I saw that I wrote back and said, “Yes, we’re going Just after the launch of his latest project, to make that game.” Vanquish, renowned Resident eVil creator That PSP ad gathered a decent amount of exposure on the web became part of the ZeniMax from various blog sites so I knew if we made the game we could Media family—the leverage that to our marketing advantage. I immediately squatted parent has acquired his new Tokyo-based on the app name and domain name. development house, . We wanted to pump a game out quick so that people wouldn’t forget about the ad, so we had to act fast. Since I already had a prototype for another game we Microsoft executive Scott Henson has decided to use what was there and turn it into what’s become laMe castle. assumed the role of studio manager of A week into development we had a pretty decent prototype. A week after that we found an Microsoft-owned UK developer Rare. artist and a sound guy and started plugging everything in. A couple weeks after that we were in the final stages of polish. It’s been a very quick development cycle, but it’s been quite smooth. Hoping to travel in Asia with his family, Take- Two CEO Ben Feder has stepped down from Game Developer: Any rough spots in moving from being part of a team to full development on his executive role at the GRand theft auto your own? publisher, and the company’s chairman, BJ: The best thing we did was to get it in peoples’ hands for playtesting. Watching people play Strauss Zelnick, will assume the chief the game for the first time made us quickly realize we had several things in the game that people executive role. just didn’t understand. One of them was a chicken leg pickup that gave you boost power. When we first put it in we thought it would be funny to have a “MEAT-er” for your power meter. Get it? MeGa Man creator and 23-year Capcom veteran But people just didn’t make the connection, so we turned the pickup into a lance with a little Keiji Inafune has left his position as head of explosion on the tip, and now people get it. global production at the company, and has yet Making iPhone games is quite a bit different than console games. If the audience can’t pick to announce his plans for the future. up your game and figure out what’s going on in 30 seconds then you’ve probably already lost 95 percent of your audience. That’s why playtesting has been so important, so that we can recognize The Academy of Interactive Arts and how people play the game and fix the problem areas. Sciences announced today that Joseph Olin has stepped down as president of the Game Developer: Any advice for those thinking of making the jump? organization, and taking his place is former BJ: Looking back I can easily say I wish I had gone indie sooner. Sunleaf Studios CEO Martin Rae.

44 Game developer | decemBer 2010 NEWS AND INFORMATION ABOUT THE GAME DEVELOPERS CONFERENCE ® SERIES OF EVENTS WWW.GDCONF.COM

2011 Independent Games Festival

THE ORGANIZERS OF THE 13TH ANNUAL In addition, a number of returning developers were relatively unknown at the time of their INDEPENDENT GAMES FESTIVAL—THE previously honored at the Independent Games submission, so aficionados should LONGEST-RUNNING AND LARGEST Festival have entered new games, including carefully browse all titles to find the many FESTIVAL RELATING TO INDEPENDENT LIFE/DEATH/ISLAND, the latest from 2010's Nuovo hidden gems. GAMES WORLDWIDE—ANNOUNCED Award winner Cactus, and both KOMETEN and SHOT "I'm thrilled with both the growth and the ANOTHER YEAR OF RECORD ENTRY SHOT SHOOT from 2009 Grand Prize winner Erik diversity that the Independent Games Festival NUMBERS FOR IGF 2011'S MAIN Svedang. This year also sees a number of prior has shown in its 13th year," said festival COMPETITION. IGF Mobile winners and finalists joining the main chairman Brandon Boyer. "This year's entrants festival—with entries like Steph Thirion's FARAWAY, happily cover the entire spectrum from more In total, this year's Main Competition took in just Mobigame's PERFECT CELL, and Gaijin Games' new polished and commercial works to smaller, more under 400 game entries—many of them new console port of Different Cloth's LILT LINE. personal and artistic statements to entries titles from leading indie developers—across all Some of the other games previously known geared toward the resurgence of more social, platforms. to the indie community and entering this year new-arcade-type play. We're all looking forward This includes 150 entries for mobile include two entries in the BIT.TRIP series by to sitting down with each game and starting the hardware like the iPhone, iPad, DS, PSP and Gaijin Games, ROLANDO creator HandCircus' first conversation as we determine finalists!" Android devices, with all mobile entries now non-iDevice game, OKABU, Nicalis's re-imagined This year's IGF entries will be distributed eligible for all IGF 2011 prizes, including a version of foundational indie title , and to more than 150 notable industry judges for unique Best award. Mojang's recent headline-grabbing surprise-hit evaluation, and their highest recommendations In-depth information and entrant-provided MINECRAFT. passed on to a set of elite discipline-specific screenshots and videos on each of the IGF Main In addition, several teams made up of juries for each award, who will debate and Competition entries are now available on IGF. formerly 'mainstream' developers have also vote on their favorites, before finalists are com, a feature unique to the contest. chosen the 2011 Independent Games Festival announced in January 2011. Some of the titles entered in the IGF Main to debut new indie works—with SuperGiant's In turn, winners will be awarded at the Competition this year include SuperMono's real- BASTION, Haunted Temple's SKULLS OF THE SHOGUN IGF ceremony during the Game Developers life RPG tasklist EPICWIN, Monobanda's zen-like and former Maxis developer Chris Hecker's SPY Conference 2011 in San Francisco next March, BOHM, indie hits like Copenhagen PARTY being just a few of the entered titles. and all finalists in the Main Competition Game Collective's B.U.T.T.O.N. and Messhof's These titles are just a fraction of the (including the art-centric Nuovo Award) and the NIDHOGG, Vblank Entertainment's parodic games that are debuting for the first time as Student Showcase (which is due for submission 8-bit revival RETRO CITY RAMPAGE, and Matt an Independent Games Festival submission. by November 1st) will be showcased on the GDC Gilgenbach's A MOBIUS PROPOSAL, a game created In fact, history has shown that some of the Expo Floor from March 2nd–4th, immediately specifically to (successfully!) propose to his most notable and award-winning games—from following the 4th Annual Independent Games girlfriend. AUDIOSURF through WORLD OF GOO and beyond— Summit on February 28th and March 1st. 2010 Independent Games Festival China Finalists

The organizers of the by a panel of distinguished thousands of dollars. The Student Competition categories including Best second annual Independent local judges, including The Main Competition finalists for this year’s IGF Game, Mobile Best Game, Games Festival China representatives from finalists for the 2010 China event are as follows: Excellence in Art Direction, have revealed finalists for Shanda Games, Tencent, Independent Games Excellence in Visual Arts, both the Main and Student IGDA Shanghai, TipCat Festival China are: ZONELINK (Huazhong Technical Excellence, and competitions, which Interactive and more. University Of Science And Student awards will be included submissions from IGF China finalists SUGAR CUBE (Turtle Cream, Technology, China) announced during the across Asia. are invited to Shanghai South Korea) DEAD STEEL (Media Design 2010 Game Developers High-quality for the Game Developers HAZARD: THE JOURNEY OF LIFE School, Auckland, New Conference China at submissions for the second Conference China event (Alexander Bruce, Australia) Zealand) a special IGF Awards iteration of the event—a from December 5–7, where TRAIN CONDUCTOR 2 (The AFTERLAND (Singapore- ceremony. newly formed sister they will be showing their Voxel Agents, Australia) MIT GAMBIT Game Lab, The Independent Games competition to the main games at a special Pavilion CUT & PASTE (Turtle Cream, Singapore) Festival’s outreach into Asia yearly Independent Games on the Expo Floor, open to South Korea) THE WHITE LABORATORY is part of GDC China, which Festival in San Francisco— all GDC China attendees. SKILLZ: THE DJ GAME (Huazhong University of returns to the Shanghai were received from multiple In addition, finalists are (Playpen Studios, Hong Science & Technology, International Convention Chinese provinces, Hong eligible to win up to RMB Kong) China) Center on December 5-7th, Kong, Taiwan, Singapore, 61,000 ($9,100) in cash BUTAVX: JUSTICE FIGHTER PONLAI (National Yunlin and early registration is South Korea, Australia, New prizes, as well as specially (Nekomura Games, University of Science and open until November 5th. Zealand, Iran, India and created awards and All Singapore) Technology, Taiwan) Further information on IGF beyond. Access Passes to GDC CROSSOUT (Coconut Island China can be found at the Finalists were chosen San Francisco 2011 worth Studio, China) The winners of IGF China in event’s official website.

WWW.GDMAG.COM 45 STUDENT gA m E PROFILES EducatEd Play! immersive rail shooter BUILDINg A VIRTUAL PILLO w FORT

DaviD arenou’s ImmersIve raIl shooter is an augmenteD reality project that cleverly allows players to Duck behinD their living room furniture in orDer to avoiD incoming fire from their viDeo game enemies. using a variety of off-the-shelf components anD open source libraries, arenou createD ImmersIve raIl shooter for his Diploma project at l’ecole De Design nantes atlantique in nantes, france. the result is a fascinating example of how low-buDget, existing technology can be combineD to create raDically new game Designs.

Jeffrey Fleming: How you to create 3D real-time Virtools, half of the work these ideas were just a than quickly were you able applications. It’s easy to was already done! post proposal to my main because AR systems are to go from concept to a get convincing results with concept. I considered them really light and efficient: working prototype? it, so I naturally headed JF: What about the Wii during the design phase a camera and a good David Arenou: It took me toward it to make the core remote? How is that of the project in order to algorithm are enough almost four months from of my game. integrated? present a full experience to create the expected the birth of ImmersIve DA: Thanks to Bluetooth that answers to both solo results. I’m not saying raIl shooter to the end JF: Tell me about some of and the GlovePIE software, and multiplayer play, but in that you don’t need good the technology driving I was able to connect my the end, I put them aside for ideas anymore, but from a ImmersIve raIl shooter. Wiimote to my PC. the purpose of focusing on technology point of view, Are you using any special Finally, I bought a the single-player prototype. you will rapidly have nice cameras? cheap infrared sensor bar feedback with AR. DA: As an interaction so I could use the remote JF: We used to hear a lot Furthermore, people designer, I’m used to as a pointer. I could build it about virtual reality but like AR because they really doing rapid prototyping myself, but it was cheaper most of that work was are in the center of the of the programming. I and taking advantage and way faster to order it never really suited for application. They see their wrote the concept basics of simple and already from Amazon! the masses. However, own environment and for two months. Then, I working technologies. So Building ImmersIve raIl augmented reality can interact directly with spent a month and a half I didn’t use any special shooter wasn’t a question seems to be much more any kind of virtual object. in full-time to program cameras or algorithms of extremely complicated accessible. What do you It’s easy to understand, the prototype. Let me written by myself. technologies, but more think is driving that? immersive, and fun! add that before these two a matter of composing DA: Indeed, augmented —Jeffrey Fleming phases, I had two other JF: How does the accessible stuff. reality is more accessible months where I did a lot computer recognize the of research and analysis marker cards that are JF: The possibilities in ImmersIve raIl shooter in order to position my placed in the play area? ImmersIve raIl shooter http://portfolio.davidarenou.com/video-game/immersive- diploma proposal. DA: I used an existing for versus play against rail-shooter library, ARToolKit, which another person seem 3DVIA Virtools JF: What tools did you use detects and tracks the like a lot of fun. How far www.3dvia.com/products/3dvia-virtools to create ImmersIve raIl position of special patterns along are you toward ARToolKit shooter? that you print out and implementing that? www.hitl.washington.edu/artoolkit DA: I’m used to working stick to objects in your DA: Versus and cooperation glovePIE with 3DVIA Virtools, an environment. With a simple modes are pretty exciting http://sites.google.com/site/carlkenner/glovepie environment that allows , the library, and mods! Unfortunately,

46 gamE dEvEloPEr | dEcEmbEr 2010 GDP GERHPTEMPLATE11/9/109:33AMPage47 S 40011901. No. Agreement 2116057, Please directadvertisingandeditorialinquiriestothisaddress.CanadianRegistered forGSTasUnitedBusinessMediaLLC,GSTNo.R13288078,Customer Developer Game 3-56 l te onre al()(8)8113 rfx()(8)8122.Pes eebrt indicate to remember Please 841-2624. (785) (1) fax or 841-1631 copyright (785) (1) call countries other All to payments 838-7566. Send 647-5972. (847) (1) fax or U.S. funds drawn on a U.S. bank or via credit card. Canada/Mexico: $69.95; all other countries: $99.95 (issues shipped via air delivery). Periodical postage paid paid postage Periodical delivery). air via shipped (issues $99.95 countries: offices. other mailing all additional $69.95; and Canada/Mexico: CA card. Francisco, credit San via at or bank U.S. a on drawn funds U.S. ERVICE ADVERTISER INDEX Transgaming ScaleformRad Corporation Game Tools...... Natural C2 ...... C4 Motion...... Havok...... 14 C3 Full SailReal World Education Epic Games ...... 8 COMPANY NAME : Campus Bachelor’s Degree Program Game Development Campus & Online Bachelor’s Degree Program Game Art For subscription orders and changes of address, call toll-free in the U.S. (800) 250-2429 or fax (847) 647-5972. All other countries call (1) (847) 647-5928 647-5928 (847) (1) call countries other All 647-5972. (847) fax or 250-2429 (800) U.S. the in toll-free call address, of changes and orders subscription For aeDeveloper Game (ISSN 1073-922X) is published monthly by United Business Media LLC, 600 Harrison St., 6th Fl., San Francisco, CA 94107, (415) 947-6000. 947-6000. (415) 94107, CA Francisco, San Fl., 6th St., Harrison 600 LLC, Media Business United by monthly published is 1073-922X) (ISSN ...... 3 aaieUie uiesMdaLC nesohrieidctd o’ ta n fit. of any steal Don’t indicated. otherwise unless LLC, Media Business magazine/United S UBSCRIPTION Online Bachelor’s Degree Program Game Design Campus Program Degree Master’s Game Design , P.O. Box 1274, Skokie, IL 60076-8274. Call toll-free in the U.S./Canada (800) 444-4881 or fax (785) (785) fax or 444-4881 (800) U.S./Canada the in toll-free Call 60076-8274. IL Skokie, 1274, Box P.O. Developer, Game ...... 47...... R ATES P OSTMASTER : Subscription rate for the U.S. is $49.95 for twelve issues. Countries outside the U.S. must be prepaid in in prepaid be must U.S. the outside Countries issues. twelve for $49.95 is U.S. the for rate Subscription : edadescagst aeDvlpr ..Bx17,Soi,I 60076-8274. IL Skokie, 1274, Box P.O. Developer, Game to changes address Send

© 2010 Full Sail, Inc. Game Development Game Design Web Design&Development Show Production Recording Arts Music Business Recording Engineering Graphic Design Game Art Film Entertainment Business Digital Arts &Design Computer Animation Entertainment Business Campus Degrees Associate’s Bachelor’s Master’s Financial aidavailabletothosewhoqualify•Careerdevelopmentassistance 800.226.7625 • 3300 University Boulevard University 800.226.7625 •3300 aeDeveloper Game Accredited University, ACCSC fullsail.edu Winter Park, FL on any correspondence. All content, content, All correspondence. any on Game Design Web Design&Development Music Production Music Business Internet Marketing Graphic Design Game Art Entertainment Business Computer Animation Media Design Internet Marketing Entertainment Business: Entertainment Business Technology Design & Education Media WritingCreative Online Degrees Bachelor’s Master’s Elective TrackElective with aSports Management WWW.GDMAG.COM PAGE C USTOMER

47

>> GET EDUCATED GET ARRESTED DEVELOPMENT // MATTHEW WASTELAND Our Last, Best HOpe The ProjecT ThaT Will Save our STudio

Hi everyOne, and weLcOme tO tHe cOmpany meeting. yOu cOuLd caLL Here we go: World of Alien fArm Crime. As you probably already guessed this the fun-size company meeting, I guess. But hey, look on the bright from the name, it’s a massively multiplayer, open-world farm simulator set side: if we hadn’t had those layoffs last week, we wouldn’t all fit into this against the backdrop of a brutal alien invasion. Let me read from the pitch conference room right now. document a bit: “You, along with hundreds of thousands of your friends, are Rough crowd! Okay ... Well, let’s just get right down to brass tacks then, humanity’s last hope. Complete quests, commit crime sprees, grow crops, shall we? I know a lot of you have questions on your mind, like, are we going and participate in a dynamic, constantly changing interstellar war!” out of business, what’s going on, why did my paycheck bounce, and so on. I can see from the looks on your faces you’re already completely I’ll take a brief moment to address those rumors: they aren’t true. We’re still amazed. But it gets better: “World of Alien fArm Crime will have the grand going strong and charging ahead at full speed on our new project. I’ll get to scope of an MMO, the balanced competitive multiplayer of an FPS, and the that in a moment. open-world freedom of, uh ... of an open-world game!" Hmm, should have I know some of the recent turbulence might have given you a bad re-written that. "It has co-op, , social networking, feeling regarding our future. I won’t lie to you, we’re going through a a guitar peripheral, and motion control. The game boasts 19 distinct, challenging period. But we’re not alone: it’s everyone. That’s right, the whole completely unique races, 43 character classes, and a dialogue script that is game industry is suffering right now. Valve is laying off employees left and 3,000 times as long as the 1974 edition of the Encyclopedia Britannica.” right. Blizzard is close to shutting down. And over at Zynga, they’re boiling Guys, you would not even believe how excited our publishing partners grass and wood chips just to stay alive. That’s secret information, so don’t got for this pitch. I told them to imagine how much money HAlo has made, tell anyone I said that. and then multiply that figure by how much money World of WArCrAft has My point is that there’s nothing we could have done. Even if we had the made, and that’s how much money World of Alien fArm Crime will make. best management team in the world, which, I dare say, we are pretty close to Then, to clinch the deal, I said we could make it for half the price and in half having—right, Fred?—you can’t avoid layoffs once in a while. That’s just how the the time of our nearest competitor. Because I know we can. system works! If it were up to me, I’d have given everyone a big raise. Honest! Needless to say, they signed us up on the spot. Fastest deal I’ve ever On that note, it’s time to get to the exciting part of the meeting: the done, in fact. Now we’ll move on to—sorry, a question? Technology, you new project. There’s been a lot of buzz building about it amongst the team say? Well ... tech is, you know, just one of those bridges that we’ll cross members, and now we’re finally ready to reveal the full plan. Now, I don’t like when we get to it. You know? I’m sure the tech team here will work out all to exaggerate, but this game is going to rocket us out of these tough times the details, because they’re a really talented, great group of guys. Actually, and straight to the top of the heap. If you could get the lights, Fred? Some all of you are, everyone at this company. With your talent, your dedication, d-bag made off with the projector—oughtta sue his ass—uh, so I’ll just turn your drive, anything is possible. I mean it. my laptop around here, and if you could all sort of crowd in together? Let Where was I? Right. So the technology will sort itself out, but what about me load up the presentation. the important stuff—the corporate philosophy that will guide us to victory over the big boys? As it happens, I have an answer for you, and that’s right here on the next slide. Pay attention, please. e FFiciency

And there we go. “Efficiency” is the key concept that we’re going to be focusing on from here on out. I’ve been thinking long and hard about this, and I came to the realization that as long as we’re efficient, we can cut costs without cutting corners. We can develop big, triple-A games at a fraction of the cost and time spent by our soon-to-be dinosaur competitors. With that in mind, starting today, I want each and every one of you to think constantly about how we can improve efficiency across the company. You’ll find that there’s efficiency to be gained everywhere. It could be something as simple as moving the trash can nearer to your desk, so you don’t lose time walking over to it. Or it could be developing a way to create large, detailed, and optimized level environments with the touch of a button. We’re already part of the way toward realizing the goal with our new streamlined, refocused team size. So all we need to do now is batten down those hatches, make World of Alien fArm Crime, and ship that sucker. Questions? Concerns? I didn’t think so. Let’s get to work!

mattHew wasteLand writes about games and game development at his blog, Magical Wasteland (www.magicalwasteland.com).

48 gAME DEVELOPER | DEcEMbER 2010