<<

CONTENTS.0512 VOLUME 19 NUMBER 5 DEPARTMENTS 2 ga ME PLAN By Brandon Sheffield [EDITORIAL] POSTMORTEM Make Games for Yourself 24 indiana jones adventure world 4 HEADS UP DISPLAY By Staff [news] How do you make a social game that can bring elements from The Old fan-favorite franchises get revived on Kickstarter, Legend of Zelda: Ocarina of Time or Tomb Raider to a relatively casual and Game Developer staff changes audience? Answer: lots of testing, lots of iterating, and lots of Indiana Jones. Zynga Boston lead designer Seth Sivak shows 35 TOOL BOX By Matt Link [REVIEW] us what went right and wrong with Zynga’s casual-core-bridging Pixologic’s ZBrush 4R3 Indiana Jones Adventure World. By Seth Sivak 39 THE INNER PRODUCT By Slawomir Nikiel [PROGRAMMING] Cells for Cell Phones FEATURES 44 DESIGN OF THE TIMES By Jason VandenBerghe [DESIGN] 7 2012 Social/Mobile technology survey The Five Domains of Play Our big technology survey for 2012 focuses on the engines, tools, 47 GDC News By Staff [news] middleware, platforms, and services that mobile and social game GDC Vault debuts classic videos, GDC 2012 lectures developers are working with—as well as the tech they wish they were working with. By Mark Deloura 48 PIXEL PUSHER By Steve Theodore [ART] Tech Tao for Tiny Teams 16 Tera: Evolving MMOrpg combat If your MMORPG’s players are spending more time staring at 50 good job By Patrick Miller [career] cooldown meters than the monsters they’re fighting, you’re doing Q&A with Matt Sughrue, who went where, and new studios it wrong. Bluehole Studios’s Seungmo Koo explains how they pulled 51 the Business By David Edery [business] off Tera’s truly real-time “free-targeting” combat system without The Magic of Free-to-Play breaking their servers. By Seungmo Koo 52 AURAL FIXATION By Damian Kastbauer [SOUND] 32 what would molydeux? game jam postmortem Vroom Vroom During a single weekend, over 900 developers across 30-plus 53 Educated Play By Patrick Miller [education] cities worldwide made more than 300 games as part of the “What One and One Story Would Molydeux?” game jam. Read about what went right and what went wrong with organizing a massively popular game jam in 56 ARRESTED DEVELOPMENT By Matthew Wasteland [HUMOR just under three weeks. By Brandon Sheffield Secret Info Inside Here

www.gdmag.com 1 game developer GAME PLANPLAN // BRANDONBRANDON SHEFFIELDSHEFFIELD magazine www.gdmag.com MAKE GAMES FOR YOURSELF UBM LLC. 303 Second Street, Suite 900, South Tower ...AND NOBODY ELSE San Francisco, CA 94107 t: 415.947.6000 f: 415.947.6090

A lot of people say that if you want they’ve already put the weight of praises to the ends of the earth. to make a popular game, you need their appreciation behind it. Nathan Vella, president of SUBSCRIPTION SERVICES to listen to focus groups, carefully Sword & Sworcery developer Capy FOR INFORMATION, ORDER QUESTIONS, AND monitor metrics, and focus on the Okay, let’s do it Games said this quite well. He ADDRESS CHANGES t: 800.250.2429 f: 847.763.9606 mainstream. I say: bullshit. Scaling » How do you emulate these said, “I believe that when you’re e: [email protected] small and being true to yourself successes? Contrary to popular targeting everyone, you’re really www.gdmag.com/contactus can win you free marketing and belief, you shouldn’t emulate the targeting no-one. You’re not EDITORIAL make you rich, if you do it right. actual products. Instead, pay making it for anyone specific, so Even better, your games will be attention to the thought process your target group is no-one.” Publisher Simon Carless e: [email protected] way more interesting! that goes into making them, People can feel when a product EDITOR-IN-ChIEF beginning with the initial idea. is genuine, and there’s nothing Brandon Sheffield e: [email protected] Personal power There is something that you more genuine than something Editor » Let’s look at some examples. like more than anyone else you you’ve made for yourself. That Patrick Miller e: [email protected] Superbrothers: Sword & Sworcery know does. Maybe it’s Apple II-era feeling of “I can’t believe someone Manager, Production EP for iOS is single-player, has a platformers. Maybe it’s fractals. made this” is what gets you Dan Mallory e: [email protected] ART DIRECTOR singular aesthetic, and launched Maybe it’s dubstep, god forbid. instant success on aggregator Joseph Mitch e: [email protected] at $4.99, which is expensive for Find it, and dive right into it. communities like Reddit, which COntributing writers the App Store. It was a recipe What qualifies as a niche, then? are huge drivers of content. Seungmo Koo, Mark Deloura, Seth Sivak, Matt for commercial failure in a world “Sports” is too vague. The Olympics Your method of delivery is Link, Slawomir Nikiel, Steve Theodore, Jason Vandenberghe, Damian Kastbauer, David Edery, where the birds are angry, and gets a bit closer, but if you take, say, important too, though. If your Matthew Burns the top games are free. Still, the the Hurdle event in isolation, you’re game is hard to find, none of ADVISORY BOARD game wound up selling 300,000 starting to get somewhere. Now you what I just said applies. Consider Mick West Independent units in the first 6 months, need to find a visual or gameplay BloodyCheckers, which is an Brad Bulkley Microsoft Clinton Keith Independent because the game was absolutely hook that really appeals to you (and Live . Players explore Brenda Brathwaite Loot Drop true to its creators’ vision. They hasn’t been done to death). a massive first person dungeon, Bijan Forutanpour Online Entertainment made it for themselves. A good example of this is qwop, with loot, items, and experience Mark DeLoura THQ Carey Chico Globex Studios Minecraft is another easy one. which was a massively popular points, as they battle the denizens Mike Acton Insomniac Notch made the game that he Hurdling game for browsers. It had of a haunted castle—all by playing ADVERTISING SALES wanted to play. Granted, he knew stupidly difficult controls, but was a bizarre version of checkers. If he was making a sandbox for hilarious to watch in action, so this game were on Steam, the Global sales director other people to fool around in, but people played and talked about it creator would be a millionaire. You Aaron Murawski e: [email protected] t: 415.947.6227 he didn’t do any market research religiously. The game has since gone have to go where the people are. Media Account Manager first. In making Minecraft for on to App Store success, and is a If you’re developing a game for Jennifer Sulik e: [email protected] himself, Notch created a massive great example of a good niche game. yourself, you can make something t: 415.947.6227 self-perpetuating hype machine, Once you’ve established smaller for less money and only global Account Manager, Recruitment Gina Gross e: [email protected] because when people like your your niche and tone of gameplay, take a minimal risk. But the payoff t: 415.947.6241 game, with the proliferation of determine the targets you want to can be huge. You might think this global Account Manager, Education social media, they can’t help but hit, and never deviate from them. If doesn’t apply to you if you’re Rafael Vallin e: [email protected] talk about it. the mandate is “everything blows working on a big team, and you t: 415.947.6223 Something that resonates with a up,” then make everything blow might be partially right. But the ADVERTISING PRODUCTION small group of people will expand to up, even your UI. Rules like this principle of digging deep can be PRODUCTION MANAGER their friends, and then their friends, can help you scale small. Throw applied to one or two features just Pete C. Scibilia e: [email protected] and eventually to their parents and out everything that doesn’t fit as nicely. If your open world game t: 516-562-5134 grandparents, who would never your vision. has a really deep crafting system, REPRINTS have otherwise thought of playing You may worry that people for example, someone out there Wright's media one of these games. won’t latch on to your idea. But will play it just for that. Jason Pampell e: [email protected] The reason this works so well none of us is unique, as much as And who says you should be t: 877-652-5295 is because people want to identify we might like to think so. There’s anonymously toiling away on that AUDIENCE DEVELOPMENT with cool things, and they want almost certainly someone else big, bloated team anyway? If you Audience Development Manager other people to think that they’re out there that likes the things have an idea, just get out there and Nancy Grant e: [email protected] cool for thinking that this “cool you do. If you make a game for make it. So find your passion, see it List rental thing” is cool. This little corner of yourself, you’re also making it through, and don’t let the bastards Peter Candito the world they’ve discovered is for them. Nobody expects you to get you down. I’m taking my own Specialist Marketing Services t: 631-787-3008 x 3020 something they now identify with, make a game that targets their advice, and I’ll live or die by it. e: [email protected] and they’ll want their friends to like weird special interest, so if yours —Brandon Sheffield ubm.sms-inc.com it too. When they share it around, matches theirs, they will sing your twitter: @necrosofty

2 game developer | May 2012 WWW.UBM.COM We craft original games. We love what we do and we want your help. WE’RE HIRING!

ENGINEERS and ARTISTS

Located in , CA VISIT US AT WWW.MAGICPIXELGAMES.COM

©2012 MAGIC PIXEL GAMES, ALL RIGHTS RESERVED heads-up display OLD IS NEW AGAIN DEVELOPERS USE CROWDFUNDING TO FUND FAN-FAVORITE FRANCHISE REVIVALS For many players and developers, the biggest news to come out of the industry over the last few months hasn’t been about a new studio or a major triple-A title, but about a series of plucky developers hoping to bring back some of their favorite long-forgotten IPs. After Double Fine Productions pulled in $3,336,471 from Kickstarter supporters for a new adventure game, several other developers decided to try their hands at getting the crowd to fund their favorite pet projects. Here are some of the properties that might be revived.

run a tabletop game of Shadowrun for you and five friends (with snacks).

Wasteland 2

www.kickstarter. com/projects/inxile/ wasteland-2

Who is making it: Brian Fargo (executive producer for Wasteland and Fallout), original Wasteland designers Alan Pavlish, Michael Stackpole, and Ken St. Andre, music allout by Mark Morgan (F 1+2 composer), story by Jason Anderson (Fallout cocreator), and concept art Leisure Suit Larry Ken William’s name for the studio headed by David shadowrun-returns by Andree Wallin. in the Land of the in-game password “Ken Marsh (former Sherlock Lounge Lizards: Sent Me” or hang out with Holmes: Consulting Who is making it: Top reward: 25th Anniversary Al Lowe and writer Josh Detective developer). Harebrained Schemes Donate $10,000+, and Edition Mandel for a VIP weekend LLC: Jordan Weisman you’ll get an invite to an in Las Vegas. Top reward: (Shadowrun creator), exclusive private party with www.kickstarter.com/ For $600, you can write FASA Shadowrun the Wasteland 2 team, an in- projects/1451923705/ an article (in your best tabletop developers game shrine in your honor, make-leisure-suit-larry- Victorian prose) for the Mitch Gitelman and Mike and 50 copies of the game, come-again in-game newspaper, and Mulvihill, and several among other things. you’ll receive a credit as former Shadowrun authors Who is making it: a game character and and developers (Michael Replay Games, plus writer. You’ll also receive Stackpole, Mike Mulvihill, several members of the Sherlock Holmes: an original Sherlock Tom Dowd, Malik Toms, original Leisure Suit Larry Consulting Holmes: Consulting Detective Mel Odom, Jason Hardy, team, including series Detective board game and West End Stephen Kenson). creator Al Lowe, Josh Adventures expansion game, Mandel, Sabine Duvall, and www.kickstarter.com/ as well as the Consulting Top reward: Leslie Balfour. projects/1920171553/ Detective board game. For $10,000+, you will get sherlock-holmes- your own personalized Top Reward: consulting-detective- Shadowrun Doc-Wagon card, a custom For $50,000+, you can adventure-mys Returns in-game player character choose either to have built in your image, your name replace Sierra Who is making it: www.kickstarter.com/ and Mike Mulvihill will Entertainment founder Zojoi, a dev projects/1613260297/ come to your town and

4 game developer | MAY 2012 heads-up display

Miller (left) and Mallory. Game Developer magazine is going through some changes. While the vision will remain largely the same, the staff is shifting rather dramatically.

Brandon Sheffield, editor-in-chief of the magazine, will be moving to part-time, after over seven years with Game Developer. He will remain editor-in-chief for the next several months to guide the vision of the magazine, but is departing in a larger sense to spend more time on game development and writing projects of his own through his new company Necrosoft Games (www.necrosoftgames.com), among other vehicles. “I’ve been working on games on the side for the last six years or so,” Sheffield said, “but after a large project got canceled, I figured it was time for me to try to tackle this on my own, full time. I don’t have a huge safety net, but I needed more creative space, and to tackle a wider variety of projects, not just in games. At the same time, I couldn’t just leave the magazine outright, so I will be helping everyone during the transition.” To keep the magazine running smoothly, Game Developer has hired new editor Patrick Miller, who was previously an associate editor for PCWorld magazine. “I hired Patrick because he’s got a love for the game industry and a fire in his belly!” said Sheffield. “The fact that he came from the tech side of journalism and not the consumer side was another big plus, and having also worked with him as an editor on my personal game site, Insert Credit, I’m confident that he can move the magazine in a good direction.” Lastly, production editor Jade Kraus has moved on to new things in Austin, Texas. Her shoes will be filled by Dan Mallory, former senior production coordinator for publications like PC Gamer, Maximum PC, Official Xbox Magazine, and PlayStation: The Official Magazine. Mallory will be Game Developer’s new manager of production. “I knew Dan was the right guy for the job pretty quickly,” Sheffield said, “He’s got an extensive magazine background and has worked on a number of game publications. We knew he could hit the ground running and fit into our pipeline without missing a beat.” “Game Developer recently revamped its subscription model, has a new site, and an iPad app,” Sheffield adds. “I feel confident that I can slowly exit the magazine on a high note. I hope everyone will continue to support it!” All the editors can still be contacted collectively at [email protected]. game Developer editor-in-chief Brandon Sheffield changing of announcethes gra dualguard departure, new hires

www.gdmag.com 5 ADVERTISEMENT

2K GAMES BREATHES that. Our programmers were also able to tap into this Sectoids with weapons that can change the playing tech; it certainly helped with the development of three eld in an instant. Solomon said UE3 enabled his team NEW LIFE INTO XCOM SKUs across PC, PS3 and 360. The ability to build o of a to create complex levels and craft intelligent enemies WITH 3 mature engine like UE3 has made it pretty easy.” that  uidly run on AI that constantly adjusts to the TECHNOLOGY dynamic surroundings. Solomon said that due to the gameplay style, his team Nearly two decades after the original XCOM captivated wasn’t able to prototype in a day like many shooter “I’m extremely happy with the new 3D base that we’ve PC gamers around the world, publisher 2K Games teams, but the process was still faster than if they had created in this game,” said Solomon. “Being able to and developer Firaxis plan to introduce the critically grown their own tech. Firaxis was also able to seek show all that level of detail when you’re zooming in acclaimed franchise to an entirely new generation. guidance from other internal game studios. to see the di erent soldiers and all the units, that’s According to Jake Solomon, lead designer on the new something that my team just did an awesome job with, title, game industry legend Sid Meier is working closely “So many of the people within our publishing label technically.” with the team to bring this unique blend of tactical have UE3 experience, so we have resources within our strategy and action to life, which marks the rst time label that we can reach out to,” said Solomon. “Industry- And that level of detail, and deep gameplay experience, Meier’s studio is leveraging ’ Unreal Engine wide, you can’t throw a rock without hitting somebody was brought to life using Unreal Engine 3. Soldiers new 3 technology. who has UE3 experience. We also used the Unreal and old will be able to engage in battle against a chal- Developers Network, which has been a huge help.” lenging alien invasion in this new take on squad-based “Honestly, it was a thrill to work with Unreal Engine 3,” tactical action in XCOM: Enemy Unknown. said Solomon. “In-house, we’ve always used our own From a visual standpoint, the new game taps into the tech because of the games we’ve made before. This was full capabilities of Unreal Engine 3. To achieve the look WWW.UNREAL.COM the rst game where it made sense to look at a licensed and feel they wanted, Firaxis created a global landscape Canadian-born Mark Rein is vice engine. Once we explored the tech and saw what it was for players to engage in, complete with recognizable president and co-founder of Epic Games capable of, it has just been such a blessing.” landmarks. Solomon said that all of the maps were based in Cary, NC. Epic’s Unreal Engine 3 has won Game Developer magazine’s hand-built, including the more regionalized maps, Best Engine Front Line Award ve times Set in a retro-future 1960s Earth, XCOM: Enemy and these encompass both outdoor and indoor maps. along with entry into the Hall of Fame. Additionally, the player can play in urban areas as well UE3 has won three consecutive Develop Unknown is a turn-based strategy game that pits the Industry Excellence Awards. Epic is player and their troops against an alien invasion of as wilderness areas, where they shoot down UFOs. the creator of the mega-hit “Unreal” series of games and the Sectoids. Every decision a player makes is crucial during blockbuster “Gears of War” franchise. Follow @MarkRein on Twitter. gameplay, as once a soldier dies they cannot be revived. “From a technical standpoint, I’m most proud of our In addition, the player’s research undertaken during destructible environments,” said Solomon. “That’s the course of the game has a direct impact on repelling something that you still don’t see a lot of. But it’s really UPCOMING EPIC ATTENDED EVENTS the aliens—and there is a real possibility of the aliens fun to use in our game, since it’s a tactile experience. E3 Expo succeeding at the game’s end. To achieve a sense of For example, blowing out a wall completely changes Los Angeles, CA life-or-death consequences, Firaxis designed a series the tactics involved in a level and this creates a dynamic June 5-7, 2012 of cinematics to add another layer of storytelling to battle eld to play in.” GDC Europe the game. Cologne, Germany August 13-15, 2012 Also guring into this gameplay experience are new “We used Matinee pretty heavily in XCOM,” said Solo- aliens conjured by the Unreal Engine 3 toolset from the mon. “That’s our foundation for all of the cinematics imagination of Firaxis. Solomon said enemies like the Cologne, Germany August 15-19, 2012 you see in the game. UE3 was essential in allowing Berserker can literally run through walls. This opens our artists to create content in a mature tool chain like up interesting immersion gameplay, coupling varying Please email [email protected] for appointments

© 2012, Epic Games Inc., Epic, Epic Games , Gears of War, Gears of War 3, Unreal, Unreal Development Kit, UDK, Unreal Engine, UE3, and Unreal Tournament are trademarks or registered trade- marks of Epic Games, Inc. in the United States of America and elsewhere. All other trademarks are the property of their respective owners. BY MARK DELOURA

Around this time of each of the past few years, we’ve conducted technology surveys asking game developers about their preferences and use of game engines and licensed middleware. We’ve concentrated largely on traditional core game developers, but the market has changed a lot since those earlier surveys. Increasingly, we’ve found ourselves wondering: What are mobile and social-game developers using? What are they looking for? What does the marketplace look like for licensed technology for mobile and social games? This year we decided to specifically focus on the needs of these developers. >>>

WWW.GDMAG.COM 7 intended for a dedicated website, 66.7% are also of these is gradually softening. Relatively few who took the survey? targeting Facebook with this game, while 100% of developers are still supporting the iPhone 3G developers targeting Google+ are also targeting (second generation). One developer justified For the purposes of this analysis, we’re Facebook. Just 19% of Facebook developers are supporting the 3GS with “We’ll still release things $ breaking responders into two groups: targeting Google+. that work on the 3GS, but the iPhone 4 and up mobile developers and social developers. In We should note that this survey doesn’t cover means we’re dealing with people who likely many cases there’s an overlap, but for most PC-native free-to-play games, another interesting spend more money on mobile apps.” topics, breaking down the replies into these sector of the game industry with a different set of two groups gives us useful insights. We classify technology requirements. The technology used for supported iPad devices mobile developers as those working on a mobile the game client on these titles is more similar to smartphone platform (not traditional handhelds triple-A PC-based titles than mobile or social games, such as Sony’s PSP or the Nintendo 3DS). Of our although the server backend is similar to what is % > iPad 1 mobile-game survey responders, 94.6% of them used for networked mobile and social games. 71.1 are working on Apple iOS titles, 70.7% for Google Android, and a smaller number for other devices: % OS versions and platforms 93.0 > iPad 2 top platforms for mobile game developers One of the first challenges when considering % > iPad 3 $ making a mobile game is deciding which [new iPad] devices to support. For iOS, the number of choices is 83.6 retina display % > Apple iOS relatively small, but each tier of devices represents 94.6 a large audience, so choosing how far back your OS support goes is very important. We found that the android display support most popular shelf for support tends toward the % > Google Android 70.7 introduction of Apple’s Game Center, in OS 4.1. % > Small/ldpi % supported iOS versions 9.8 8.8 > MS Windows Phone 7 % % > Small/hdpi % > 3.0+ 13.4 2.7 > RIM Blackberry OS 13.4 % > Normal/ldpi % > 4.0+ % > Symbian 16.5 35.4 2.0 % % > Normal/mdpi % > 4.1+ 53.7 1.4 > Samsung Bada 39.4 % % > Normal/hdpi 30.7 > 5.0+ 61.0 top platforms for social game % > Normal/xhdpi developers 43.9 supported iPhone devices % % > Facebook > Large/ldpi 83.5 % > iPhone 3G 45.1 16.4 2nd gen % % > Google+ > Large/mdpi 16.8 % > iPhone 3GS 58.5 66.4 3rd gen % > Dedicated % > Xlarge/mdpi website 47.0 % > iPhone 4 36.6 93.0 4th gen Clearly, iOS is the primary platform for mobile % > iPhone 4S For Android devices, the preferences for OS developers. We found that nearly all mobile 5th gen support were less clear from our survey, but a developers targeting alternate mobile phone 91.4 retina display deeper concern was the diversity of display platforms are also targeting iOS (93.7%). The devices. The Android developer web site contains majority of our social game responders are working relatively current information about the on Facebook apps. In fact, the variety of platforms Choosing which hardware to support is similarly distribution of display devices accessing the social-game developers report developing for difficult. We found that many developers are still Google Play market (see http://developer. is rather small—just Facebook, Google+, or a supporting devices back to the iPhone 3GS (third android.com/resources/dashboard/screens. dedicated website. Of those working on games generation) and iPad 1, but the support for each html). At the time of this article, it shows 66.3%

8 game developer | May 2012 Zooworld 2.

Ziggurat.

Beat Sneak Bandit.

www.gdmag.com 9 of devices being actively used have a “normal” interest in compatibility with devices other than developers seem most interested in physics size screen with “high” display density (indicated smartphones falls off rapidly. solutions—the top four middleware packages are as normal/hdpi); 18.5% of devices have a all physics-related. “normal” screen with “medium” density (normal/ top mobile game engines/ Several developers commented on their use of mdpi), and each other display formats fall below platforms middleware libraries that are integrated with Unity, 5%. Yet, the distribution of support from our such as Beast, Umbra, FMOD, and Allegorithmic survey responders is substantially wider. Substance. When asked what other libraries Several responders indicated, “In practice, % > Unity developers would like, there was a mix of ideas, but there are almost no ‘small’ screens any more,” 53.1 the two most common replies were an “Easy-to- and another noted that due to the variety of use, small footprint, cross platform UI layout tool” to Android devices, but large installed base for % > Custom engine help with the various screen layouts (Scaleform GFX relatively few, there’s “really only interest 39.8 for Unity was asked for), and a “server-side scalable in supporting the Kindle.” A few developers and customizable solution for mobile and social commented that they are “using Unity3D to games” (we’ll talk more about this later). % > Cocos2D manage this.” 17.7 Given the challenges from the variety top engine features (out of 5) of display sizes and densities available for % > Marmalade both iOS and Android, we wondered whether 5.3 > Rapid developers were rendering to a default size development and scaling in some way to fit the particular 4.45 time device: 29.6% of iOS developers and 33.3% % > Corona of Android developers indicated that they 5.3 > Flexibility and are. However, developers noted that it varies 4.32 easy extendability depending on the type of game: “Some of our > Engine games scale, some use native resolution.”Said cross-platform value (out of 5) one developer. Another said, “We try to start at performance iPhone 4 retina resolution and then scale down 4.20 (speed, efficiency) for other iPhones.” Yet a third noted “We do 25% > Mobile > Support and reduction in some low performance situations.” 4.38 documentation Several people mentioned that they plan to use 4.14 multiple sizes of assets, though the current app store size limitations can bite them one said, > Web > Prior successful “We will eventually use two sets of assets with 3.08 3.69 use by other team appropriate resolution, but will start by scaling up.” And once again a few people said, “We use > Consoles Unity to manage this.” 2.14 top middleware libraries > Traditional mobile game technology 1.88 Handhelds % > Box2D 35.4 The meat of our survey centered on the $ game engines and libraries developers are When it comes to determining which engine using for mobile games. What was most apparent features are most important for a developer, it’s no % > Nvidia PhysX in the results was incredible enthusiasm for surprise that the most valuable feature is rapid 25.0 Unity3D. 53.1% of developers commented that development time (4.45/5). “A big decider for me is they are using Unity in some way, even higher whether or not the engine can ‘get out of my way’ % > Bullet than the number developing a completely by enabling me to accomplish my ideas without 14.6 custom . feeling like I have to jump through hoops to do it.”, As for the technologies developers are looking said one developer. % > Havok Physics at for future projects, once again over 50% of the Of course, more and more mobile games 8.3 responses pointed to using Unity or moving to it. are hooking into the player’s social networks Unreal garnered second place for future use with as well. While Apple has Game Center, there % > Autodesk Scaleform 14% of developers, and Cocos2D was also popular, hasn’t been much uptake of any Google+ related 8.3 with 10% of developers suggesting they’d like to social networking for Android games. We found use it. Moai, Game Salad, Game Maker, Corona, and that 72% of mobile developers choose to use Shiva3D also made multiple appearances in the list Facebook connectivity for their games. 65% point of potential future technologies. to integration with Game Center, and 44% use a social game technology We were curious about the value of player’s Twitter network if they so choose. The most cross-platform engines to mobile developers: prominent independent game-focused network, When it comes to technologies used for Would mobile game developers be interested GREE’s OpenFeint, came in at a respectable 29%. $ social games, it seems that the client-side in working with technologies that also ran Middleware library developers are increasingly technology options for social games are relatively on other nonmobile devices? As it turns out, targeting mobile game devs, but by and large, few, but the distribution is certainly interesting:

10 game developer | May 2012 CityVille.

59.2% of developers pointed to use of Flash, 51.0% libraries really what developers are interested in responded to the survey. to Unity3D, and 46.9% to HTML5/Javascript. Of most? No. “Backend networks, payment systems, But what technologies are people using on course there is some substantial overlap, and one wrappers for platform are where most of our those servers? Particular Amazon technologies has to assume that the majority of social games are tech emphasis is at. An ‘engine’ is a commodity,” (such as DynamoDB) did not rise to the top on this using HTML5/Javascript in some form. What really said one developer. A handful of folks commented question, strangely. Amazon’s server scalability is stands out is the impressive support for Unity by that they really hope for server-side scalable and quite popular, but it seems that game developers the social-game responders. We haven’t seen many customizable tech for social and mobile games,” or are more comfortable with traditional web services Unity-based social games yet, but it seems like we something like “FarmVille in a box, in the cloud. We such as MySQL and Apache HTTP Server. may soon. As for libraries, Box2DJS and as3isolib could use it to prototype stuff quicker.” were noted. One thing that was remarkably curious server location was the small uptake of Flash Stage3D; only 6.1% top art packages for social of developers claimed that they are working with game development Stage3D for 3D graphics in the browser. The Stage3D % > Amazon AWS/EC2 technology is interesting and powerful, but it may 54.7 be that without a strong toolset like Unity’s, game % > Adobe Photoshop developers won’t make much use of it. 85.7 % > Owned dedicated Next, we wanted to know which browsers and servers art tools are being used by social game developers. 24.0 % > Autodesk Maya Chrome and Photoshop came out on top. 36.7 % > Rented dedicated % 14.7 servers top browsers for social game > Autodesk 3dsmax development 30.6 % > Owned cloud 8.0 VM servers % > Gimp % > Google Chrome 20.4 % 89.8 8.0 > Rackspace Cloud % > Blender % > Mozilla Firefox 6.1 % 71.4 5.3 > Windows Azure % > Apple Safari % > Google App 53.1 server technology 5.3 Engine In previous sections developers commented Lastly, we wondered if social-game developers $ on a desire for improved server were looking for any libraries or frameworks that technologies. We asked survey responders The server technology comments emphasized the are not yet available. As the complexity of social to detail their experiences on their games. difficulty of building a scalable game service in the games grows, middleware and engine providers Impressively, Amazon Web Services, and EC2, cloud: “I just want to write game logic on the will certainly gain in popularity. But are client-side are used by over 50% of all developers who server—I don’t want to be concerned with scaling

www.gdmag.com 11 databases, figuring out how many servers I need, is seeking to help address this problem. that “open source tools are not that good in most etc.” Said one developer, “This is by far the hardest situations at least in games. There are great part of development right now. There seriously databases and web development tools.” Typically needs to be an entirely new category of commodity open source developers favored “open source platform Internet infrastructure designed for scaling games”, solutions, such as ad-serving, web CMS, and so said another. Fortunately, there are a growing For traditional core games, using open-source on,” but were more cautious about game code. number of potential solutions, such as $ technologies can be challenging. Some Many developers expressed concern about MuchDifferent’s UnityPark Suite for those using open source licenses require release of all related particular open source license agreements. The Unity, PlayerScale’s Player.IO for Flash titles, and source code, which is a problem for big retail games, GPL and LGPL require release of associated source Electrotank’s EUP. This is also an opportunity for and even more generous open source licenses code in many instances, so they can be difficult publishers, who can help developers with these leave developers wondering if they’re exposing to work with for a commercial game. “I like the tricky areas. Recently announced Kerosene Games themselves to potential patent problems. Typically, liberal licenses and try to stay away from the GPL has plans to assist developers with technology, there is more leniency around using open source and its ilk. If I can’t at least link to something in my including analytics, social plumbing, and technology for a game’s tools than for the game proprietary binary, it’s of practically no value to cross-promotion capabilities. code itself, but the policy varies from company to me.” Preferred license agreements include the MIT company. In the social and mobile spaces, which license, BSD, and zlib. are moving at such a rapid pace and tend toward top server technologies use of web services, is open source looked upon any more generously? mobile game technology % > MySQL is open source ok? Although not necessarily technology focused, 51.5 $ we had a few other questions for our survey responders as well. % > Apache HTTP 30.9 Server 4.11 > Game tools Analytics Most of the survey responders have rolled % >memcached > Game server their own analytics solutions: 57.4% of 25.0 3.74 backend social developers have and 47.5% of mobile developers. For social game developers, % > nginx > Game engine/ Kontagent (20.4%) was the most popular 16.2 libraries licensed solution, and although there were 3.69 frustrations about Kontagent’s price tag, % “Kontagent has what we need,” said one 13.2 > node.js responder. Mobile game developers flocked In general, our survey responders approve of use toward Flurry (29.3%), and no other analytics of open-source technologies, although there’s solution garnered more than a 10% share. A % > MongoDB still a strong preference toward using open variety of other solutions were mentioned 11.8 source in the tools versus in the game itself. including Mixpanel, Apsalar, Kissmetrics, % Developers generally commented favorably on Claritics, Localytics, Swrve, and simply using 10.3 > Nagios open source, although some expressed concern Google Analytics. % 10.3 > MS SQL Server % 7.4 > Apache Hadoop % > Microsoft IIS 5.9 web server

One survey responder was aggravated about the potential costs associated with cloud : “... it’s very difficult to estimate costs ahead of time. If my game goes viral and I end up with a few million daily active users who each send a tiny packet of data once an hour to some cloud backend, what will I be charged?” This is a tricky problem, especially for those new to cloud computing. There’s a clear need for more accurate estimates and real-time Madden 2012. reporting. Raveld is an example of one service that

www.gdmag.com 13 earn money for our main project,” said another. Monetization Yet, 57.4% of the responders indicated they We were curious to find out the popular may look to work with a publisher/distributor methods for making money, and how it differs in the future. “A publisher could be very well between platforms. As we suspected, in-app worth the cost in terms of aiding us with payments turned out the most popular, publicity and distribution reach,” one developer among 81.8% of all responders. Among mobile noted. Some encourage caution: “It comes developers, having a paid app was the next down to the contract detail. Keeping my IP and most popular monetization solution (52.3%), creative rights would be number one.” It will be while using in-game ads was the most popular interesting to see how the funding landscape among social game developers (58.2%). As evolves for mobile and social games over the noted by one developer, “We tried different next few years. schemes on different platforms (free with in-app payments on Android, paid on iOS) and made dramatically more with free and in-app parting thoughts payments. So now we are free everywhere.” There are some clear winners in our Stores $ analysis of the social and mobile There are a number of alternate app stores technology scene. iOS and Facebook are available. Are game developers finding them the dominant platforms. A majority of game useful? Understandably, we found that the developers are using Amazon’s cloud services most popular app stores were the Apple Triple Town. to manage the scalability of their servers, App Store (94.4%) and Google Play (58.3%), and developers prefer MySQL for the backend with the percentages largely reflecting the database. Unity is the clear favorite for game distribution of developers working on iOS and by this comment: “So far, they have almost no engines—developers who aren’t using Unity Android games. But what other app stores are value to us. We’ve flirted with a few in the past now are looking at it seriously. Social game developers using? 32.4% reported putting their but they cannot bring a significant number of developers are using Google Chrome a lot games up on the Amazon AppStore, but apart users to make them worthwhile (yet).” during development—admittedly, developers of from that, very few developers are utilizing browser-based games are using all the browsers alternate stores. Common comments included Publishers a lot, though Chrome is the clear favorite. Server sentiments such as “Honestly, only Apple and We asked mobile and social developers technology is challenging for game developers, Amazon are worthwhile from our research and about their thoughts on using a publisher and many developers wish more solutions were tests,” and “Fragmentation of app stores is a or distributor. As competition increases in available, so they can focus on creating their very bad thing for developers, particularly indie these spaces and the costs for development game. developers.” And yet, some see opportunity: and marketing increase, it may become more Yet, as one of our survey responders “The Android Market is still in a growing stage, common for developers to partner up. Are they points out, “It’s an amazing time to be a mobile but surely developers that take the opportunity doing so already? Responders said no, by and developer. Creating games is more accessible to get fame there will get good results in large. Only 17.7% of survey responders claim than ever, and we hope to continue to learn, the future as there aren’t that many apps to be working with a publisher or distributor grow, and most importantly have fun while compared to the App Store.” In general, though, currently. “We’re hoping to self-publish and we develop.” Another commented, “I would most developers’ opinions were summed up test the waters,” said one. “We do contracts to only like to say that there has never been a time when game developing has been as accessible as now. I’m not a programmer, but when I discovered all the tools that are available now, I realized I had no excuse not to try to make a game.” On the flip side, one developer responded, “I’m sick of this overhyped bullshit– I’m throwing away my life on this and still not making any money.” The wisest response and best summary for our survey was perhaps this: “The mobile landscape changes every six months. Ask me all this stuff again in August, and I’ll probably give you different answers.” Of this we can be certain.

Mark DeLoura is a technologist, and creator of the Game Programming Gems series of technical books. He has worked in technology, strategic, and business leadership positions at Sony, Nintendo, Google, THQ, and . Follow Mark on Twitter: @markdeloura.

Angry Birds.

14 game developer | May 2012

SEUNGMO KOO

BY NOW, MMORPGS AS WE KNOW THEM ARE WELL OVER TEN YEARS OLD. A TYPICAL MMORPG PLAYER SPENDS OVER HALF THEIR GAMEPLAY TIME IN COM- BAT. THAT MEANS THAT OF THE TIME OUR TYPICAL MMO PLAYER HAS SPENT OVER THE LAST TEN-PLUS YEARS, OVER HALF OF THAT HAS BEEN PLAYING IN A RATHER BORING COMBAT MODEL—TABBING FROM TARGET TO TARGET AND BUT- TON-MASHING THEIR VARIOUS ATTACKS. THAT SIMPLY ISN’T VERY ENGAGING. THAT’S WHY WHEN WE STARTED DEVELOPING TERA, WE SET OUT TO MAKE MMO COMBAT EXCITING. HERE’S HOW WE IMPLEMENTED TERA’S “FREE-TARGETING” SYSTEM IN A WAY THAT DIDN’T REQUIRE A GIGANTIC FARM OF SERVERS.

16 GAME DEVELOPER | XXXXXMAY 2012 XXXX How bluehole studio built a better combat system for TERA

www.gdmag.com 17 FIGURE: 2.1

FIGURE: 2.2

FIGURE 1: Every creature in TERA is made of cylinders that you can attack.

WHY WE MADE AN parrying statistics, as other MMOs incorporate partial elements of a as conventional free-targeting ACTION-HEAVY MMORPG do, because these factors are free-targeting combat system— combat, the processing load for the We incorporated action- determined by the player’s real- such as special attacks with servers would become severe. The heavy fi ghts in TERA time reaction to enemy attacks. cooldowns—but have not extended calculations necessary to assess because we wanted to differentiate This kind of “free-targeting combat” free targeting throughout their whether each attack hits or misses our game from the conventional is natural in console and single- combat. would drastically increase CPU MMORPG’s tedious combat. TERA player PC games because it’s an We also extended the concept usage. Instead, we imitate a physics players don’t just trigger skills in effective way to support action- of free targeting to include other engine on the server by searching a serial order with a set target. heavy battles, but early MMOs interactions, most notably healing. spaces for weapon range and Instead, they have to dodge and couldn’t pull it off because they had When players have to direct and checking collisions. Any MMORPG block enemy attacks by moving too many latency-related problems. aim their heals and buffs, they’re desiring to implement free- their character away while taking Our free-targeting combat more excited and feel like the targeting combat mechanics should the enemy’s movement into system uses area-of-effect game itself is more skill-based. make those calculations server- account, and position themselves attacks that have continuous Our understanding is that Western side for security and combatant just right to aim their attacks timing information, so we assess gamers in particular gravitate (player and monster) handling. while adjusting for their direction multiple times whether each attack toward gameplay that rewards If calculations are performed on and distance. We don’t even hits or misses, not just once per player skill and feels less repetitive the client-side, you run the risk of need to calculate dodging or attack. Many MMORPGs already than existing offerings. your clients being hacked to alter the calculations, and it could be MANAGING THE LOAD nearly impossible to synchronize ••• ••• In a conventional combatant information from every MMORPG combat- client in real-time. targeting system, each attack In other words, for free-targeting calculates the distance and combat to work, the server will need ••• ••• direction to a single target. It is a to process the battle calculations one-on-one attack and a low-impact very rapidly. If the server has even The process for free-targeting free-targeting battle, the resulting ••• ••• combat, on the other hand, involves latency will frustrate players. To determining weapon range and implement free-targeting battles in SAMPLE ATTACK the corresponding target data for an MMORPG, we had to address the ••• ••• SKILL DATASHEET each time frame, then resolving technical challenges of dealing with TABLE 1 the attack using the collected data. increased latency from server-side If we went about the same way CPU load.

18 GAME DEVELOPER | MAY 2012 Defining the Data figure 3.1: The two-stage Structure for Free- attack process shown in Targeting Combat DAMAGE Figure 2.1 The server has no physics -200 engine, because we felt it would be too CPU-intensive to compute physics. Instead, the world of Tera is geared toward space calculations and collision BACK-END STAGE checks. Every creature (PC, (500 ms) monster, stationary object, and so 500 ms on) is made up of cylinders that you can attack as shown in Figure 1. Each attack contains a timed collision volume (the collision Front-END STAGE volume expressed over time). 650 ms Figures 2.1 and 2.2 show the (500 ms) range of time-marked collisions as they change over time. By checking the collision between the target’s cylinders and this timed collision volume, we determine whether the 3d collision volume attack hits. (weapon trail over time) The XML datasheet example shown in Table 1 is the attack corresponding to Figures 2.1 and 2.2. The attribute time is the figure 3.2 : The two-stage timing (in milliseconds) for the attack process shown in attack landing, and consequently Figure 2.2 the time to check the collision. The collision volume in Figure 2.1 and Figure 2.2 is used at 500ms 500 ms and 650ms after the attack starts. BACK-END STAGE The attribute collisionVolume (650 ms) treats the range with considerable detail. [For convenience, these attributes are generated by our skill-authoring tool.] 650 ms Front-END STAGE Two-Stage Processing for Free-Targeting (500 ms) Attacks Each free-targeting attack has several targeting times to determine the DAMAGE collision volume hits (We’re using -150 an attack as the example here, but Attacker Targets it’s worth remembering that heals and buffs work the same way). Depending on the type of attack, Figure 3.1 and 3.2 show an stage). After that, the attacker to update their properties there may be anywhere from two example of this two-stage process. deals 150 damage to another frequently. If these operations to more than a dozen targeting This figure is a simplified top-view target in the same way at the next use locks (our synchronization times. Each targeting time is diagram corresponding to the targeting time (650ms). The front- mechanism which enforces composed of a two-stage process; attack skill in Table 1 and Figures end stage corresponds closely to limits on access to a resource in the front end and the back end. 2.1 and 2.2. This attack skill has reading the targets’ properties, a multithread environment), the The front-end stage gathers targets two targeting times: 500ms and while the back-end stage updates lock-contention—which drastically that collide with the collision 650ms. At the first targeting time those properties. increases blocking or CPU usage volume of the attacker’s skill by (500ms), an attacker collects one While processing, the (up to 100%) on the server—would searching the specific area of the target whose cylinders intersect front-end stage makes frequent become severe, and we wouldn’t world. The back-end stage applies with the collision volume (front- space searches to gather targets be able to use our free-targeting effects such as damage to the end stage), then causes 200 for a collision check, and the combat throughout the game. gathered targets. damage to the target (back-end back-end stage requires targets Therefore, we use lock-free

www.gdmag.com 19 (Windows API) with a timeout value When an action requires LISTING 1: CLUSTER UPDATE QUEUE (C++ PSEUDO from 0ms to 16ms according to the updating clusters (such as, when CODE WITH WINDOWS API) turnaround time (processing time a monster moves from one cluster for A to C) of the thread loop. In our to another), a worker thread adds struct ClusterUpdateQueue worker thread loop, TimerTask() a task (see Listing 2) at the back { ClusterUpdateTask* m_TaskQueue[MAX_TASK] ; // Circular queue performs scheduled tasks in of the ClusterUpdateTask queue. __int64 m_PushedCount ; // Total pushed task count time by checking the current All worker threads will eventually system time via GetTickCount64() process this task independently void PushBack( ClusterUpdateTask* task ) { (Windows API). The ClusterTask() so that their private thread-local __int64 index = InterlockedIncrement64(&m_PushedCount) Ð 1 exists for the effective area search storage information is updated. ; due to the nature of free-targeting Because all worker threads process // (#) InterlockedExchangePointer( (void**)&m_TaskQueue[ index & combat. We will explain this in the same queue using the same MAX_TASK ], (void*) task ) ; detail in the next section. algorithm, the per-thread cluster If there is a lock that blocks information stored in thread-local // In case of blocking at (#), calling GetTask() will return NULL (It’s OK) two-stage processing within the storage should be identical. // this makes the loop in ClusterTask() escape. worker thread loop functions, it The cluster update tasks that } will postpone packet handling and are posted to the queue provide void RemoveTask( __int64 index ) scheduled tasks. That’s why we delta information, so a task might { designed a lock-free mechanism say “remove object 28 from cluster ClusterUpdateTask* prevTask = (ClusterUpdateTask*) for the two-stage processing so the 32 and add to cluster 33.” Since InterlockedExchangePointer( (void**)&m_TaskQueue[ index & MAX_TASK ], (void*)NULL ) ; worker thread loop never stalls. these tasks must be processed delete prevTask ; by all of the worker threads to } FRONT-END STAGE ensure the thread-local storage ClusterUpdateTask* GetTask( __int64 index ) IMPLEMENTATION information stays synchronized, { We divide TERA’s seamless the tasks each have a reference if ( index < m_PushedCount ) world into squares called count. If there are eight worker return m_TaskQueue[ index & (MAX_TASK-1) ] ; else clusters. In any circumstance, threads, the reference count will return NULL ; every creature must be attached be eight. As each thread completes } to a specifi c cluster; each cluster the task, it decrements the count, // performs tasks in m_TaskQueue is a container that holds pointers and the last worker thread will void ClusterTask() ; // called in the worker thread loop. for creatures. Figure 4 displays then delete the update task. As you (implementation in Listing 3) creatures on the clusters in a can imagine, we use a lock-free } ; diagram form. When a creature function (in this case, the Windows moves from cluster 32 to cluster function InterlockedDecrement) to 33 (C à C’), for example, cluster ensure that multiple threads can methods in our programming to cores has a big infl uence: More 32 removes the creature while safely decrement the reference reduce the lock-contention. cores mean more threads, and cluster 33 adds it. In a similar count at the same time. faster cores mean faster threads. way, a creature can be added to When each worker thread LOCK-FREE Let’s look at our worker thread or removed from a cluster when it invokes ClusterTask(), it performs IMPLEMENTATION FOR loop as follows: spawns or dies. all queued tasks in the cluster TWO-STAGE PROCESSING It’s worth noting that each update queue to update its First, we adopt the void WorkerThreadRun() worker thread has its own replicated cluster information (see symmetric worker { thread-local storage (also called “Pop and Execute Cluster Task” in thread pattern [1] to remove while ( 1 ) thread-specifi c storage [3]), Figure 5). All worker threads have locks effectively in two-stage { which maintains information an index that points to the position processing. This pattern has one IoCompletionPortTask() ; about clusters. In other words, the of the most recent executed task single thread-pool that consists of // A cluster information is replicated on the cluster update queue. It is a as many symmetric worker threads TimerTask() ; // B entirely to each thread-local global variable, local to a thread. The as the number of CPU cores; no ClusterTask() ; // C storage (the number of worker code below shows how to declare thread exclusively handles a } threads determines the copy the index, (“Current Index” in Figure particular content or area. Any } count of the cluster information). 5) in the form of the thread-local worker thread can perform any kind Figure 5 represents an example of variable on the Windows system. of task. Worker threads process all The worker thread is an infi nite this structure. tasks using nonblocking methods; loop throughout server uptime. The cluster update queue, __declspec(thread) __int64 there are no blocks among The number of worker thread shown in Figure 5, serves as TLS_CurrentTaskIndex ; worker threads utilizing lock-free loops is the same as the number a task dispatcher for updating implementation [2]. This makes of CPU cores. Because we input cluster information in consecutive Whenever one cluster update task worker threads fully utilized; that is all requests through Windows order. The cluster update queue is executed in ClusterTask(), each to say, it is not necessary that we I/O Completion Port (IOCP) on is a global variable shared by all worker thread increases its own create more worker threads than the server, packet handling worker threads. Listing 1 shows TLS_CurrentTaskIndex by one. When the number of cores. This pattern from clients is processed in its implementation in the form of this cluster update task fi nishes gives us direct benefi ts because IoCompletionPortTask(), which a lock-free circular queue for best throughout all worker threads, the the number and speed of the CPU calls GetQueuedCompletionStatus() performance. last-performed worker thread—the

20 GAME DEVELOPER | MAY 2012 Listing 2: Cluster Update Task (C++ pseudo code with Windows API) clusters update class ClusterUpdateTask (move) { public: 31 32 33 ClusterUpdateTask (): m_RefCount(0) { }

bool UpdateCluster() creature { [••• •••] // Code for Updating Cluster Information 21 22 23

// Is this final worker thread? long refCount = InterlockedDecrement((&m_RefCount) ; if ( 0 == refCount ) return true ; 11 12 13 else return false ; figure 4 : Movement from one cluster to another. } void AddRef( long refCount ) { InterlockedAdd(&m_RefCount, refCount) ; } replicated cluster info

private: volatile long m_RefCount ; [...... ] // Members for delta-information for cluster update }

Listing 3: Performing tasks for update cluster info (C++ pseudo code with Windows API)

void ClusterUpdateQueue::ClusterTask() { while ( 1 ) { worker thread #1 worker thread #2 worker thread #n ClusterUpdateTask* task = GetTask( TLS_CurrentTaskIndex ) Current index: 1 Current index: 1 Current index: 1 ; if ( NULL == task ) break ;

bool final = task->UpdateCluster() ; // execute! (2) POP & EXECUTE CLUSTER TASK // remove the task when all worker threads carried out this task sk ta if ( final ) e RemoveTask( TLS_CurrentTaskIndex ) ; 0 r updat e N ++TLS_CurrentTaskIndex ; st } 1 h clu } s e 5 : Replicating cluster information to thread-local storage. U (1) pu Listing 4: Task wrapper for Lock-Free Executor cluster update (C++ pseudo code with Windows API) 2 queue template struct Task { typedef void (Creature::*MemberFunction)( Arguments ) ; // return type: “void” only 3 ... Creature* m_Creature ; // creature sequence of task MemberFunction m_Func ; // function pointer to invoke executions figure 5 : Replicating cluster information to Arguments m_Args ; // function argument thread-local storage. thread getting a return value of true thread has its own copy of the nature of free-targeting combat. creatures gathered in the front-end when called by ClusterUpdateTask:: cluster data. On the other hand, if a Overall, the cluster mechanism stage. This process makes frequent UpdateCluster()—removes it from the creature moves from one cluster to is very effective for the front-end update operations. cluster update queue. Listing 3 shows another cluster, all worker threads stage because so many queries will the program code for this process. update the cluster information find creatures in a particular space. To reduce the HitPoints (HP) When searching for creatures in in their thread-local storage. In value of a target creature by some target clusters, it is possible other words, the advantage of this Back-End Stage 200, for example, two possible to get their pointers directly from mechanism is that it takes more Implementation implementations to deliver damage the thread-local storage without work to read the cluster information The back-end stage is the to an enemy are shown in this locking the clusters, because each than to update it because of the process that modifies code:

www.gdmag.com 21 Case of using a critical section LISTING 5: LOCK-FREE EXECUTOR (C++ PSEUDO CODE WITH WINDOWS API) enemy->EnterCriticalSection() // list of LockFreeExecutor registered in this worker-thread ; __declspec(thread) deque* TLS_LfeList ; enemy->DoDamage(200) ; // indicates the LFE which occupies this worker-thread at this moment enemy->LeaveCriticalSection() __declspec(thread) Lfe* TLS_CurrentLfeOccupyingThisThread ; ;

// Lock-Free Executor (LFE) struct LockFreeExecutor Case of using a spin lock { // Task Queue (we built this queue by modifying the reference [5]) struct LockFreeTaskQueue enemy->EnterSpinLock() ; { void Push(Task* newValue) { ... } enemy->DoDamage(200) ; vector Pop() { ... } enemy->LeaveSpinLock() ; ... } ; In this way, whenever we change // member variables a property (i.e., HitPoints) of LockFreeTaskQueue m_TaskQueue ; another object (i.e., enemy) in a __int64 m_RemainTaskCount ; multi-thread environment, we must LockFreeExecutor () : m_RemainTaskCount(0) {} use a lock (such as critical section and spin lock) for thread safety. // Push a task into TaskQueue, and then Execute tasks if possible void DoTask(Task* task) { If there are a large number of if ( InterlockedIncrement64(&m_RemainTaskCount) != 1 ) updates to the shared data—in this { case, enemy—at the same time // register the task in this LFE m_TaskQueue.Push(task) ; (we call this phenomenon “lock- } contention”), it either increases else blocking (in case of using a critical { // register the task in this LFE section) or increases CPU usage m_TaskQueue.Push(task) ; drastically (in case of using a spin lock). This situation causes latency. // Does any LFE exist occupying this worker-thread at this moment? if ( TLS_CurrentLfeOccupyingThisThread != NULL ) For this reason, we built a task { dispatcher called Lock-Free Executor // just register this LFE in this worker-thread to update them locklessly. Every TLS_LfeList->push_back(this) ; } creature has a Lock-Free Executor to else guarantee the execution order of its { member functions. In this example, // acquire TLS_CurrentLfeOccupyingThisThread = this ; the function pointer changing HitPoints with an argument (i.e., // invokes all tasks of this LFE 200) is wrapped as a task, and Flush() ; then the Lock-Free Executor of // invokes all tasks of other LFEs registered in this thread that creature registers this task for while ( !TLS_LfeList->empty() ) subsequent execution. This code is { Lfe* lfe = TLS_LfeList->front() ; the case of using Lock-Free Executor TLS_LfeList->pop_front() ; for higher concurrency: lfe->Flush() ; enemy->LockFreeExecutor. } DoTask(&Creature::DoDamage, 200) ; // release The member function pointer, TLS_CurrentLfeOccupyingThisThread = NULL ; &Creature::DoDamage, with the } } argument 200 is passed into } enemy’s Lock-Free Executor by calling DoTask(). In fact, this call is // Execute all tasks registered in TaskQueue of this LFE void Flush() wrapped as a Task shown in Listing { 4 (m_CreatureÐenemy, m_ArgsÐ200, int count = 0 ; m_FuncÐ&Creature::DoDamage), do { vector taskList = m_TaskQueue.Pop() ; and then this Task is registered to count = taskList.size() ; enemy’s Lock-Free Executor, which performs its tasks in sequence. for ( int i=0 ; iOnExecute() ; function to wrap only a void delete currentTask ; } return type. Because the task } while ( InterlockedExchangeAdd64(&m_RemainTaskCount, -count) != count ) ; execution in Lock-Free Executor } is asynchronous, we cannot get a return value immediately. To

22 GAME DEVELOPER | MAY 2012 receive the return value, we should LockFreeExecutor::LockFreeTa paradigm dramatically decreased build the programming pattern skQueue, based on nonblocking our server loads, thereby opening resources similar to Active Object [4]. concurrent queue [5]. the possibility to free-targeting 1 Pattern-Oriented Software Architecture: For example, if the monster Besides using Lock-Free combat with minimal affect from Patterns for Concurrent and Networked Object instance deals 200 damage to Executor in the back-end stage, we latency. In live service, the average Douglas Schmidt et al. John Wiley & Sons, player instance and gets a return could use it anywhere to guarantee CPU usage of Tera’s world server 2000. value (HitPoints) from calling an execution order in performing (Intel Xeon E5630) is 1 percent to 6 2 The Art of Multiprocessor Programming Maurice Herlihy et al. Morgan Kaufmann, Player::DoDamageAndGetHitPoin tasks without a lock—such as percent with anywhere from one to 2008. ts(), we need a member function changing other objects’ properties 6,000 real players. 3 Thread-Specific Storage for C/C++ Douglas to receive the return value— in IoCompletionPortTask() for Schmidt et al. Monster::ReceiveHitPoints( int handling packets and TimerTask() The Evolution of C++ Report, 1997. 4 Active Object: An object behavioral pattern returnVal ) in this example. for processing scheduled tasks. Action Combat for concurrent programming R. Greg Look at this. The execution These two-stage processes We dramatically enhanced Lavender et al. sequence is (1) to (3). make free-targeting combat the combat of Tera by Pattern languages of program design, 1996. 5 Simple, Fast, and Practical Non-Blocking and This way, we get the return possible in Tera by decreasing adopting free-targeting combat. It Blocking Concurrent Queue Algorithms value asynchronously. the servers’ CPU usage to one- was complicated to implement and Maged M. Michal et al. Listing 5 shows Lock-Free twentieth of what it was previously. required much more time to code, ACM symposium on Principles of distributed computing, 1996. Executor code. Every creature has Before the two-stage processing but we think the player experience a Lock-Free Executor for updating was implemented, we first tested is much more fun than other MMO its states (properties such as the lock-based algorithm to verify combat systems. We hope that watches the character and the HitPoints and ManaPoints) from the CPU load and server response. many online game companies follow monster, not cooldown timers or other objects. If some other objects The test showed that the algorithm our lead and utilize free-targeting other U.I. elements. This sense of want to call a member function consumed high CPU loads (up combat for action-intensive immersion—that sense of freedom, that modifies another object’s to 100 percent CPU usage with MMORPGs in the future. really—is what will make free- properties, they must call the fewer than 3,000 players), which The payoff is obvious as targeting combat an evolutionary member function through using resulted in slow server response soon as core gameplay begins. leap for MMORPGs. LockFreeExecutor::DoTask(). It times. The lock-based algorithm The player aims, dodges, and guarantees the execution order made free-targeting combat nearly repositions from moment to Seungmo Koo was server architect for of function calls on a creature by impossible. However, the two-stage moment, rather than managing a Tera and is currently co-director at Bluehole utilizing a lock-free queue, processing based on the lock-free set sequence of attacks. The player Studio. Twitter: @sm9krvt

ZB

RUSH

® VFS STUDENT WORK BY BRENDAN BOYD BRENDAN BY WORK STUDENT VFS

THE ONLY ONE-YEAR PROGRAM IN PRINCETON REVIEW’S 2012 TOP GAME DESIGN PROGRAMS

www.gdmag.com 23 GAME DATA

PUBLISHER Zynga Inc. DEVELOPER Zynga Boston RELEASE DATE September 9, 2011 PLATFORMS Web (Facebook) TOTAL WHIPS PURCHASED 14 TOTAL "ACCIDENTS" INVOLVING WHIPS 2

24 GAME DEVELOPER | MAY 2012 IN THE SUMMER OF 2010, THE SOCIAL GAMES SPACE WAS STARTING TO REALLY PUSH THE BOUNDARIES OF GAMEPLAY, STORY, AND PRODUCTION VALUE. THE NEWLY-MINTED ZYNGA BOSTON STUDIO WANTED TO KEEP THAT INNOVATIVE MOMENTUM GOING WITH INDIANA JONES ADVENTURE WORLD (IJAW). THE PROMISE OF IJAW, INTERNALLY KNOWN AS “QUEST”, WAS TO DELIVER A SOCIAL ADVENTURE THAT DISTILLED TRADITIONAL ACTION-ADVENTURE GAMEPLAY INTO SOMETHING APPROACHABLE FOR EVERYONE.

Zynga Boston is made 9th, 2011. Over the last types of games that we love up of industry veterans seven months, close to 28 to play. We wanted to take from Harmonix, Turbine, million players from over 200 action-adventure games Insomniac, as well as people countries have played the like Legend of ZELDA: OCARINA from the web and tech game. Since launch, we have OF TIME and TOMB RAIDER and industries. The studio was released more than 20 new fi nd a way to deliver that formed from the acquisition story lines, and our players experience to an audience of Conduit Labs in August have whipped over 750 that expects to use a single 2010, and when we came on million snakes and recovered mouse button. board we were encouraged 1.8 billion artifacts. We like We wanted to introduce to pitch a project we were to think even Dr. Jones would social gamers to a casual enthusiastic about–a game be impressed with such (but exciting) form of we could deliver with a numbers. combat. That wouldn’t be high level of polish and easy, because one of our innovation. As happens with WHAT WENT RIGHT core design values was most teams that strive to “never punish the player.” The build something new, we 1 / Prototyping very first “beasties” in the nailed some elements, but Our goal for INDIANA JONES game were simply animated missed on others. ADVENTURE WORLD was to obstacles that didn’t fight INDIANA JONES ADVENTURE evolve social games by back. We knew we needed to WORLD launched on September introducing players to the make this interaction more

SETH SIVAK

WWW.GDMAG.COM 25 meaningful and interesting, and stop. This was just way too much confusing, and they embraced it design team to watch from outside. that meant we had to start building information, and even when players as part of the game. We recruited playtesters that fit our prototypes. understood all of it, the gameplay target audience, which represented The design team spent weeks was not terribly fun. Lesson Learned: a wide range of players inside of toying with mechanics like stealth, Every prototype was put in Innovation is not created our demographic. For each round of avoidance, and timing-based skill. front of people in the office and on paper, so make as many testing, we had fifteen testers come We built prototypes that used real- playtested side-by-side. We judged prototypes as possible. Every in Monday, Wednesday, and Friday, time movement and others that the designs primarily on their paper design (even core values) and we made sure we had designers were turn-based. We tried dozens ease of use and how easy they can benefit from the momentum and engineers on the hook to fix of different movement rules and an were to understand, but also in of a good prototype. usability issues and confusing bugs even larger variety of user interface terms of depth and overall fun. found during the test. treatments that attempted to We hoped that combat would be 2 / Constant Focus Testing Our second set of focus testing explain them all. Eventually, we a cornerstone of the game for all Designers have a love-hate was done with large groups who went broad and tried puzzle-based our players—even those who had relationship with focus testing. It’s would play unassisted for an hour combat and a few other disparate never experienced combat in a not fun to watch players struggle and then fill out a survey. We used ideas to see if there was anything game before. We went with a very with the game you have been this to get a read on the overall that stuck. One good example of simple final design that had a putting your heart and soul into and feel, what players remembered this is the “tank beastie.” handful of basic mechanics, which then hear them list all the things about the FTUE, and what they liked IJAW is a turn-based game; included critical hits that caused they hate about it. We decided to most and least. We asked specific each tile that the player crosses stuns, weapon upgrades that dealt take advantage of Zynga’s Player questions to gauge where players counts as a turn. We designed a more damage, and dodges. When Insights group and run playtests wanted more gameplay and how beastie that would move, rotate, the player is damaged, he loses every four to six weeks. These tests they felt about story elements and and attack at different rates based a unit of energy (which is used were broken down into two specific characters. This data helped us on the number of turns taken every action in the game). While groups: intensive first-time-user build out more compelling features by the player(the “tank beastie” this went against our core design experience testing (FTUE), and and tune the difficulty ramp for the would turn really slowly but attack value of never punishing our unassisted progression testing. combat and puzzles. for a lot of damage). This meant players, it allowed us to give them The FTUE focus testing had This process forced us to we needed to create a “tell” that a feeling of judgment and mastery players try the first few maps of the reevaluate some assumptions we could explain to the player that the that we couldn’t get otherwise. game with help, and take a survey. made as longtime developers and beastie was about to move, turn, or We like to think that IJAW was A person from the team sat in the gamers. IJAW was the first Zynga attack. We also had a threat range one of the first Zynga games with room with them to observe body game to include height, and we that the player could back out of, consequences. To our surprise, language, and we would screencast didn’t realize that we’d have to which would make the beastie players never found the damage their playthrough for the rest of the teach our players about height in an

26 game developer | may 2012 isometric game, or how to click and up with a FTUE that not only could launched in 2007. The platform and drag to move the camera. teach players how to play a social the technology available to early adventure but also made a promise social games had serious limits on LESSON LEARNED: Watch about the innovative story and graphical quality and performance. focus testers struggle gameplay to follow. We wanted to ensure that our game through the game and try to The first map of the game, would move the visual quality bar feel what they feel. Test early known as the Upper Jungle, was for social games and maintain a and test often, even if you think changed close to 600 times during gameplay level that traditional the game is not ready. Act on the course of development. Many of game players have come to expect the feedback quickly while it is these changes came from watching from a triple-A console title. We still fresh. You can always use the focus testing, but others came also wanted to build a set of tools another focus test. from the design team trying to to make the creation of assets and figure out how to create a map that content quick for content designers 3 / Design through Iteration was easy to understand, and which and artists. We knew we were not going to had good flow. Sometimes these We chose to build an entirely design a perfect social adventure changes meant going back to the new engine that could support game on our first try. With that in basics—for example, we changed the kind of large-scale levels and mind, we structured the team and the level design from a large open gameplay we hoped to deliver. features around weekly sprints map to a series of rooms (which is We wanted the quality of the that let us rapidly iterate the core how dungeons have been built in experience to be paramount to gameplay and content around the games for a long time). almost everything else, so it feedback we were getting from became a massive priority that focus testing. When we started LESSON LEARNED: drove both engineering and design work on the FTUE, we knew it would Structure the team to decisions. This focus really paid off, become the most important aspect rapidly iterate and understand as we were able to deliver some of of the game, but we were still things will never be right on the the best frame rates and load times trying to find the fun and figure out first try. The best designers are of any social game. The engine, our core focus. We spent months not born that way—they learn affectionally called “BRO” (Boston iterating on the first map and went through iteration. Rendering Optimization) has made through several reboots (some appearances in other Zynga games bigger than others). During that 4 / Technology like CITYVILLE and CASTLEVILLE. time we questioned many of our Social games have come a long The game was designed to own core design values and ended way since the Facebook platform be content-driven, which meant

WWW.GDMAG.COM 27 we needed to have tools that all the time. We built this game could empower designers to to deliver episodic stories to our work quickly and autonomously, players each week so that they can which is commonplace in MMO go on a quick adventure with their development, but not as much in friends. There are very few licenses social game development. Toward that would have been a better fi t that end, we built a world editor that for us. allowed designers to build maps Licenses are tricky, but they without the help of engineers and can pay off. One thing we noticed a suite of art tools that allowed our almost immediately was that our characters to have a wide range brand recognition went up. Players of animation. The time we spent were trying the game who might making these tools easily paid off not have been interested before. in the speed and iteration available In the social-games space, where to a designer when constructing a finding and connecting with an new map. audience is competitive, having IJAW was built around the that brand recognition is a huge idea of consistently delivering advantage. content to players, and it would have been almost impossible to do that without a dedicated set of tools so that designers could build their maps freely while engineers focused on feature development.

LESSON LEARNED: Invest The Indiana Jones license was in technology and tools. a particularly good fit because the Social games are casual and characters and story are deep, and light, but the technology needed it has a hardcore following of fans to run them is serious. who are hungry for more content all the time. We built this game 5 / INDIANA JONES to deliver episodic stories to our We initially launched our game as players each week so that they can ADVENTURE WORLD, but immediately go on a quick adventure with their we were given the chance to bring friends. There are very few licenses Indiana Jones to life inside the out there that would have been a game. This was a great opportunity better fit for us. for us, but it was also a shift in the As fans of Indiana Jones, we core narrative and a big design really enjoy using the characters challenge. Once we were over the to tell stories and putting in easter initial hump, the license became eggs that later end up on the a big boon for the game and the Indiana Jones wiki. Interacting development team. We were with hardcore Indy fans is really able to quickly get the hang of satisfying. the new process and start using the characters and canon in new LESSON LEARNED: A good content for our players. license can give a social Licenses are tricky, but they game instant brand recognition we needed to have tools that new map. can pay off. One thing we noticed and increased player loyalty. could empower designers to IJAW was built around the almost immediately was that our work quickly and autonomously, idea of consistently delivering brand recognition went up. Players WHAT WENT WRONG which is commonplace in MMO content to players, and it would were trying the game who might development, but not as much in have been almost impossible to not have been interested before. 1 / Innovate Everywhere social game development. Toward do that without a dedicated set of In the social-games space, where The goal for IJAW was to innovate that end, we built a world editor that tools so that designers could build finding and connecting with an with new gameplay and establish allowed designers to build maps their maps freely while engineers audience is competitive, having a new genre of social adventure without the help of engineers and focused on feature development. that brand recognition is a huge games. As it turns out, that is really a suite of art tools that allowed our advantage. hard. We tried to innovate with every characters to have a wide range LESSON LEARNED: Invest The Indiana Jones license was mechanic, user interface, and idea of animation. The time we spent in technology and tools. a particularly good fit because the in the game with the intention of making these tools easily paid off Social games are casual and characters and story are deep, and building something new. This became in the speed and iteration available light, but the technology needed it has a hardcore following of fans dangerous because social game to a designer when constructing a to run them is serious. who are hungry for more content players have come to expect a set of

28 GAME DEVELOPER | MAY 2012 features that they believe should be were not clear to the player. In part of every game and should work the end, we decided to keep the consistently across games. traditional collection mechanic Our collection system fell victim and scrap the Discoveries system to this particular problem. For the completely. Cutting a feature your readers new to social games: A designers have been working hard collection system provides a player on is nothing new to the game with a slot machine feel for every development process, but we did action in the game. Each object this everywhere—even places the player interacts with has a where we had no reason to do it chance of dropping an item from a (quest structure, for example). specific collection, and when the We ran into issues later on with player completes the collection, features like Mastery, where we they receive a reward. We went should have innovated but did not through several iterations for a have enough time left to do so. collections system that included many different additions to the core Lesson Learned: Focus almost into the Beta, and this We never wanted players to feature. Our first try, which was on a few key areas to meant most of our multisession feel bogged down or overwhelmed called “Discoveries,” was a standard innovate and invest heavily in features were not tested until it by the number of adventures. We collection system. Ideally, a player them. Resist the urge to make was far too late. hoped to give players a way to would make a Discovery, give it a everything a little bit better and The game was built to be fun leave an adventure unfinished unique name, and then have the instead make a few things a giant for a session, but social games are and have it just wash away like a option to share that discovery with leap better. designed and played like a traditional withered crop would in FarmVille. friends. That additional functionality MMO, so there needs to be a reason The problem was that we always increased the Discoveries system’s 2 / Single Session Focus to come back tomorrow. In social played through maps in a single scope, so several of the more Our focus on gameplay iteration games this is commonly known as session, with infinite energy, to see interesting parts were put into meant we used only a single “retention” and it is a notoriously how fun they were, but we rarely a secondary tier. Without those session to measure how fun the difficult value to move after launching played them for real. This meant we additional features, however, game was. This is a real challenge a game. (Some games solve this never felt the pinch of an adventure the system did not feel very for social games that need to run with an appointment mechanic.) In expiring and we continued to rewarding, and the relationship for months, or even years. We did IJAW we thought we could incentivize design around the assumption that between the Discoveries and not play through a fully working players by putting time limits on timers were good for the player. the objects that provided them version of the game until we were the adventures. When we actually started to play

www.gdmag.com 29 single feature to try and solve as many problems as possible. We wanted the Base Camp to be a consistent starting point for players, a place where they could decorate, a place where they could show off their trophies, where we could implement an appointment mechanic, and provide a place for friends to visit. We ended up solving a few of these but missed the mark on many others. It took months of iteration after the launch to fully deliver on the Base Camp, but we managed to make it a meaningful piece of gameplay for players.

LESSON LEARNED: Give added focus to any feature that is trying too much. Spend extra time mending the seams between them “at pace” we realize that is to give feedback and report issues were designed around the large- different styles of gameplay. Notice was pretty punishing to have these they were having. The Beta was an scale content structure, especially red flags early and be willing to timers on the adventures, but we awesome resource and experience, the World Map, which is the central correct your course. had always counted on them as a but it was just not enough. hub for all the adventures in the part of the core loop and left them in. game. It took weeks of iteration and A NEW ADVENTURE LESSON LEARNED: Allow work to get the World Map to match LESSON LEARNED: If a players to progress through the way players liked to experience With INDIANA JONES ADVENTURE game is supposed to run as much of your game as possible content, and it was very difficult to WORLD, we delivered a game for several months, playtest it in the Beta. Make sure all core make changes to the launch content that established a new genre appropriately—or at least find a systems are in place before the to reflect the new structure. in social games, and we are way to approximate that length of Beta. Schedule a good buffer thankful for the fans who love time and judge the impact. between the Beta and launch. LESSON LEARNED: Content playing the game every day, the for short-session games opportunity to deliver content for a 3 / Not Enough Beta 4 / Content Structure should reflect the playstyle of beloved license, and the industry The Beta in IJAW proved to be too The game content was initially the players. Episodic content recognition IJAW has received. I short and too early in development. designed to be similar to a should be satisfying in as few would make this game again if I had We were still building core features traditional MMO where one new sessions as possible. the chance, and I expect there to when we entered into Beta, and it content pack was released every be an expanding market for social only ran for a short period of time. month or two. However, we learned 5 / The Base Camp adventure games in the future. The Also, we did not give ourselves that social gamers wanted to see For months we designed the reason this game worked at all was enough time after the Beta to really something new every few days game to take place completely because of the commitment of the catch our breath and fi x any issues instead of every few weeks, and on maps, similar to a traditional team at Zynga Boston and their we had noticed before we launched. they prefer light experiences that linear game. This was a challenge unwillingness to give up. We went When your deadlines are creeping they know will start at a specifi c for players because they would through some very diffi cult times up, it is easy to say you can cut a time and last for a known length return for a session and need to be on this game and the team pushed week of Beta. Don’t do that. of time. In IJAW, players wanted re-acclimated to the game and the through together with the goal of The goals of the Beta test were to bite-sized content, but our game story they were playing. We wrestled creating something that everyone see how the game felt when played content and story lines were with this idea for a while and ended could be proud of. I was lucky over a longer period of time, and how structured more like entrees. up deciding we needed a place for enough to be a part of that and I the impact of different players’ social Before launch, we assumed we the player to call home. This is when can’t thank this team enough. graphs would change the player would release a big new map each we decided to create the Base Camp. experience. The Beta was open to all week and a new area (composed Since the Base Camp was SETH SIVAK was lead designer on INDIANA Zynga employees and we watched of another five to ten maps) every developed late in the design JONES ADVENTURE WORLD and was named the numbers daily to see how players six to eight weeks, but that was not process, it never really managed one of the Game Developer 50 in 2011. with many friends and neighbors enough—our players wanted to get to feel totally integrated into the Seth joined Conduit Labs (which became were progressing compared to those new content each week that they game. It was a very different style Zynga Boston) straight out of the who only had a few. We looked at how could complete more quickly. So of gameplay from the maps that the Carnegie Mellon University Entertainment often people were playing and how we shifted our pipeline to deliver players were used to, which was a Technology Center as a gameplay long their sessions were to determine more maps each week, and spread turn off for them. The Base Camp’s engineer. While in graduate school he if we were delivering enough each new storyline over a few main problem was the “Kitchen was part of the team that made WINDS OF gameplay for a satisfying experience, maps. Unfortunately, several user Sink” problem; our designers ORBIS: AN ACTIVE-ADVENTURE, which was a and we set up a forum for players interfaces and flows in the game pushed too many things into a 2009 IGF student fi nalist.

30 GAME DEVELOPER | MAY 2012

BRANDON SHEFFIELD

Game jams are not a new occurrence. They’ve been helping teams of developers meet each other and make games together (usually in under 48 hours) for years. But given the ease with which we’re all connected now, in under three weeks a few people were recently able to create a global game jam, with more than 900 participants across almost 35 cities making more than 300 games. This is the story of how we did it. Game jams are inspirational. They get people working together in new ways, and give you the creative push you get from a crunch without the fear of losing your job. You can (and you should) participate in or organize these sorts of jams yourself. This is the story of how we did it. appeared to help. his best tweets for those who didn’t THE MOLYJAM We also had a number of want to sift through everything, and generous sponsors. Unity, we also got a Google doc of all his Our jam, called What Would Molydeux?, took place on March 31 GameMaker, GameSalad, and original tweets. and April 1, 2012, and it was a surprise success. It began with an Construct 2 offered temp licenses We had a solid vision from offhand question on Twitter from Double Fine gameplay programmer of their engines during the jam. start to fi nish, which helped us Anna Kipnis, who wondered why there hadn’t been a game jam Individual cities got sponsors for food, get things set up. There was no based on the tweets of Peter locations, and more. People stepped confusion about goals, no back and Molyneux (FABLE, POPULOUS, up to make sure this event happened. forth about theme, and no dissent BLACK & WHITE) parody Twitter One of the smarter things we —the reason new cities joined up account @petermolydeux. Four did was set a date early on. Not was because they had already of us (Kipnis, Chris Remo of only did April Fools’ Day fi t with our bought in! Idle Thumbs, Patrick Klepek Molydeux theme, it was a Sunday, The day of the jam, Molydeux of Giant Bomb, and I) took up so we had the entire weekend to made us an introductory video, the banner, and in a short time jam. From the start, we had a hard with closing words from Molyneux the jam expanded beyond the deadline, which helped us get himself. Molyneux even showed up original California Bay Area site everything ready. at the London jam, gave an opening to the U.K., to Israel, to Mexico, to Everyone in our jam was full of speech, and participated in the Finland, to Australia, and more. Noncentralized developers jammed goodwill and positivity, especially fi rst day. on their own in solidarity from their homes. the organizers who sacrifi ced The Molyjam encapsulates How the heck did this happen? Why was it so successful? What their time and energy for the everything Molyneux himself has can we do better next time? This abridged postmortem of our event greater cause. Our jam felt like a actually tried to accomplish over may be helpful for you when planning your own jams, whether they crackling ball of positive energy! the years. Every event seemed in are global or local. Takeaway: If you’re running a jam keeping with the spirit of whimsy yourself, make sure you have a and emotional game making. The good network, and that people have takeaway here is that you should WHAT WENT RIGHT Games came up with great T-shirt bought in to your idea. get buy-in from the organizers, designs, as well as the “What Would whether it’s your company or a 1 /// Organized like a jam Molydeux?” jam name. Zane Pickett 2 /// Clear vision group of friends, right away. Make Everything came together stepped up and created our web “Peter Molydeux” signed on to the sure everyone’s committed, knows organically, just like in a game site (www.whatwouldmolydeux. project immediately, which lent the the vision, and is prepared to follow jam itself. The initial four of us com), and organized our game jam legitimacy. The jam was based it through started out with no concrete idea submission form. Justin Ignacio on his tweets, so the participants of what the end result would be, of Justin.tv came in to help with were able to refl ect on the theme 3 /// Popularity but others stepped up when they our livestreams. When something and what they’d like to do in We got a lot of press. People were needed to. Jake Rodkin of Telltale was needed, someone magically advance. Molydeux curated some of astounded that it was happening.

32 GAME DEVELOPER | MAY 2012 It was its own hype machine. that brought so many people Peter Molyneux 4 /// Upload system Almost every day the core team of together? Oakland is a very It took us a while to solve organizers would hear from a new diverse place, of course. But more the problem of how to get so city that wanted to join in. than that, we all cared about many games out to the public. We fi elded dozens of press making games, and the content of Molyjammers made hundreds of requests—some from outside the those games. The theme of our jam games, and some were simply too industry. While you may not be able attracted a diverse crowd, and I’d large for our uploader, which broke to get this level of press support (we encourage jam organizers to invite very early on in the process. didn’t expect it), make sure to let folks who would not normally On top of that, it was getting

other people know you’re jamming. come to your studio or jam to join fl ooded with requests, since COURTESY GAME DEVELOPERS CONFERENCE OF PHOTO It gives you a sense that you really in. Diverse backgrounds yield people wanted to play the games. should fi nish your project, because diverse ideas. Popularity is a great problem you’re going to show the end results to have, but it killed our web to an excited audience. WHAT WENT WRONG volunteers, and in the end, many The day of the games missed out on the initial 4 /// Livestream 1 /// Organized like a jam jam, Molydeux made wave of popularity. The takeaway: The major success in the San Not one of the main organizers us an introductory Just make sure your deployment Francisco location was the had ever organized a jam. None of video, with closing plan is clear, if you want to make livestream. The teams provided us had even been to one (though your games public (which I highly updates on their progress, which Kipnis had participated in Double words from Molyneux encourage). kept the audience engaged— Fine’s internal jams). So the fact himself. Molyneux somewhat unusual for a jam. That that we were suddenly at the helm even showed up at 5 /// Not really 48 hours caught on to other locations. “The of an international event was a bit the London jam, gave Not many venues let us use their internet was very supportive of of a surprise. We did the best we space for the whole 48 hours, which the game developers as they were could, but it was confusing. People an opening speech, is an important part of some jams— working,” said Kipnis. “That I did not asked questions we didn’t know and participated in you’re supposed to be stuck in one expect at all.” how to answer. the fi rst day. space until you fi nish your game. Folks watching the San Also, we all had our own jobs to That could be good or bad depending Francisco stream noticed a guy do on top of organizing this event. hold only 50 people. And since San on your vision for your event, but if with an orange hat in the jam. He Kipnis in particular put in long Francisco needed names in advance you tell people they have 48 hours was a musician named Bill Kiley hours, and at one point became for security, Eventbrite became the to fi nish, or a week to fi nish, you who became a mini-celebrity to ill. As the event exploded, I was only sign-up that mattered. This need to give them that amount of the stream, with folks sharing driving to Phoenix, and could only happened late in the game, it was time. In our case, we were limited by his soundcloud in the chat. The communicate via smartphone. hard to let everyone know about the requirements of our space, as team also interviewed some of the Since we couldn’t anticipate the the shift, so many folks from the well as our ability to feed people— more famous folks in the crowd, event’s popularity, we couldn’t East Bay went to San Francisco, and both of which should have been and really created a sense of plan for it, and had to scramble to many folks from San Francisco had easy to plan for. community. Getting people involved put things together. San Francisco to come to the East Bay because in the process is clearly a boon. didn’t have a venue until three days they had RSVPed on Facebook but JAMMING IN THE NAME before the event, for instance. The not Eventbrite. OF THE BULLFROG 5 /// Diversity lesson here is simple—plan your Frankly, the fact that we got I organized the Oakland/East jam well in advance if you can, and venues with projectors, good /// The Molyjam experience was Bay jam, and I felt it was unique talk to people who have organized internet, public transportation diffi cult but rewarding, and I because of its diversity. We had jams in the past. They will have a lot access, and late-night access in encourage others to try to make straight folks and gay folks. Black of excellent advice! under three weeks is amazing. This their own jams, regardless of their people, White people, Asian people, should not be a problem for jams scale. Even if nobody knows your and Hispanic people. We had a 2 /// Fragmented information that are planned in advance. jam is happening, going through it very healthy distribution of men We started out asking folks to can really help you prototype an and women, including transgender join on Twitter, then we switched 3 /// Internet connectivity idea, get a feature together, or meet folks. The ages ranged from under to a Google doc, but that grew Some locations had spotty new developer friends. So get to it! 20 to over 40. Not bad for a group unwieldy. We moved the event to internet connections that couldn’t Happy jamming! of 40 people. The diversity of the Facebook, but not everyone has a consistently stream, which crowd was astounding to me, and if Facebook account, so we also had hindered their ability to feel like BRANDON SHEFFIELD is editor-in-chief the Oakland jam were a microcosm an Eventbrite sign-up. Once sign-ups part of the community. Make of Game Developer magazine, and owner/ of the industry, problems with ballooned to 225, San Francisco and sure your connection can support creative director of game developer and gender, race, and orientation in Oakland had to split. Oakland was all your game-serving needs as consultancy group Necrosoft Games (www. games would be far fewer and originally the home of the whole jam, well as livestreaming, and all the necrosoftgames.com). further between. as we had gotten The MADE to agree programs and assets you may need What was it about this event to host us, but they can reasonably to download.

WWW.GDMAG.COM 33 34 GAME DEVELOPER | MAY 2012 toolbox

PIXOLOGIC ZBRUSH 4R3 REVIEW BY MATT LINK

It’s no secret that ZBrush stands at the forefront when it comes to making high-poly models and 3D illustrations. But competing tools like Autodesk’s Mudbox are making significant improvements with every release, so I thought I’d take a look at what Pixologic's ZBrush 4R3 does to stay at the front of the pack.

Making mountains into be the most painful lesson new dozens of menus, you will be a convenient location. If there is a molehills ZBrush users will learn firsthand— creating more detailed work faster tool in the interface you would like » ZBrush has a steep (though most likely the hard way, when and more efficiently than you could to know more about, just hold the relatively short) learning curve, in they open a saved “Document” and ever imagine with standard 3D Control key and mouse over the part because its roots as a 2.5D find it empty. You’ll eventually get applications. ZBrush is that good. button, and a pop-up explains what program means it still carries used to these little oddities, but it’s the tool is and how to use it. several idiosyncrasies in its not a pleasant process. The interface With the R3 update, you can core—none of which are changed One thing that helps is » ZBrush’s interface is completely now collapse subpalettes in the in ZBrush 4R3. For example, Pixologic’s community support customizable and comes with menus, which was a popular most 3D applications give you a forum, where users can share a handful of preset modes. A request from previous versions. standard 3D viewport, but ZBrush’s their art, as well as tips and tricks. properly customized interface can This helps keep certain absurdly viewport is a resolution-dependent Pixologic also supplies invaluable really speed up your workflow, long palettes under control, since document. It may look like you learning material on it’s ZClassroom so it’s worth spending the time to you can pick which sections are are zooming in to your model, but site (www.pixologic.com/ tweak it. You can remove buttons expanded. It’s not perfect, though— you are actually scaling the model classroom). ZClassroom contains for features you rarely use and since the subtool palette is limited within the document. To save or in-depth tutorials, walkthroughs replace them with those you use to displaying only eight subtools export something in ZBrush, unlike on new features, and other more frequently, create your own at a time, you’ll usually need to Alt- other programs, you must make instructional videos. hotkeys and menus for items you click the subtool you want to use. sure you save or export the “Tool” It’s a lot of work at first, but it’s often switch between like brushes Pixologic also changed the way and not the “Document.” This worth it. Once you can navigate the or materials, and create useful you assign your own hotkey from “Tool” concept alone is likely to viewport and quickly wade through macros and place their shortcut in a Control-click to a Control-Alt-click

Drawing masks with ShadowBox to block in a new subtool.

www.gdmag.com 35 toolbox

pixologic ZBrush 4R3 www.pixologic.com

PRICE › $699 SYSTEM REQUIREMENTS > Windows Vista/Windows 7 32-bit/64-bit (ZBrush 4R3 is a 32-bit application, and may use up to 4 GB of RAM). > Core 2 Duo or newer (or equivalent such as AMD Athlon 64 X2 or newer) with optional multithreading or hyperthreading capabilities > 1 GB RAM minimum, 6 GB recommended > 1280x1024 monitor resolution or higher PROS 1. One of the most powerful, feature- packed, polished 3D sculpting Creating a mustache with a Curve Surface brush. applications on the market. (pictured and below) 2. Excellent technical and community support with countless tutorials to learn from. 3. Competitive price, no charge for upgrading to new versions. CONS 1. Only 32-bit so it can’t take advantage of all the RAM workstation computers might have. 2. Occasional stability issues which can lead to crashes and lost work. 3. Fairly steep learning curve which can be intimidating to new users.

with not so much as a mention of the change, which was kind of annoying at first. Unfortunately, this just comes with the territory of a full-featured program.

NEW IN 4R3 » One of the most notable additions to ZBrush 4R3 is the DynaMesh tool. With DynaMesh activated, you can push and pull the mesh to the point of seeing its polys stretch and distort, and when you Control-click- and-drag in empty viewport space, your mesh will adapt to allow even poly coverage to the entire mesh, giving you a new surface optimized for sculpting. Combine this with the clay brushes and you can iterate very quickly while you explore your sculpting possibilities. This way, your creations evolve as you go. I’ve seen artists create entire characters, creatures, and trees starting from a simple sphere and DynaMesh. This helps keep you in a creative state rather than feeling limited by your Using DynaMesh on the Curve Surface initial base mesh. geometry to allow even polyflow and consistent sculpting. ShadowBox is another new tool that allows you to draw out masks on

36 game developer | May 2012 toolbox

any of the three sides of the “shadow box” and create 3D geometry from Using DynaMesh to evenly the intersecting shapes you’ve distribute the geometry subtool drawn. This is a useful way to rough created with ShadowBox. out a shape to begin sculpting on or create complex hard surface models that would be more difficult through traditional modeling. Pixologic has also added several new brushes in ZBrush 4R3, and it’s worth your time to try them out and get a feel for what each of them do—you might find some new favorites. They have even added the clip and trim brushes, which are geared more toward hard surface sculpting. The new stroke type, curve, allows you to draw out a spline to control your stroke. As you draw it out, every time you tap the Alt key, a new point appears on the spline allowing you to change direction and continue to make it more intricate. Using the Slice Curve brush, you use the curve stroke type to draw out shapes that will separate your mesh at the desired spots into different polygroups. GoZ is another new feature that sends your model to your chosen 3D package, where you can add or edit topology and make desired changes to your mesh, then send there’s no need. ZBrush has finally for a specified mesh until it’s time navigation is the same, which is it back to ZBrush and continue implemented a layer system that to render. FiberMesh is much more nice). Mudbox’s layer system far and sculpting on your new improved supports sculpting and polypainting. fluid and responsive than I expected away beats ZBrush’s. There’s also mesh. GoZ also supports the After sculpting in a layer, you can it to be, and I’m looking forward to 3D Coat ($349), a slightly cheaper extended version of Photoshop CS4 drag the slider down to lessen the new creative uses for fibers that will competitor that is built around voxel- or CS5, so you can paint it on your extent of your changes. I find this hopefully be available for download based sculpting. It has very powerful texture and model in Photoshop very useful, as I can oversculpt an on Pixologic’s ZBrush Central forums retopology tools, excellent texturing and then send your model back to area and then pull it back to where I (www.ZBrushcentral.com). tools, and a good layer system, but ZBrush. Unfortunately, when we want it. You can also toggle the layer the voxel sculpting still feels a bit tested GoZ, Photoshop ran far too visibility on and off to get a quick Tools for the Job clunky and unrefined in comparison slowly to get any usable work out of before-and-after comparison. Once » Thanks to the clever way ZBrush to Mudbox and ZBrush. it. For reference, we tested ZBrush you have created a layer, you can displays polygons, you won’t need Ultimately, neither Mudbox nor 4R3 on a PC with an Intel Core i5 no longer edit that subtool unless a high-end to use the 3DCoat can hang with ZBrush’s CPU, 8GB of RAM, an Nvidia GTX 560 you are recording in another layer. program. You will probably want community, support, efficiency, fluid graphics card, and a Western Digital This can become irritating if you a pen tablet (a Wacom tablet, interface, or ability to handle millions Raptor 15,000 rpm hard drive. When are frequently switching between for example), but it isn’t strictly of more polygons at a time. we brought this up to the ZBrush subtools that contain layers and you necessary, though the tablet does Also, once you purchase a developers, they maintained that the just want to make quick changes. let you control ZBrush better (and ZBrush license, all subsequent sluggish performance was due to Last up is the new FiberMesh, honestly, without the pressure updates are free. Photoshop’s poor handling of 3D. which lets you add fibers to your sensitivity, you might as well be In my opinion, ZBrush is Would-be Mudbox converts model and adjust them with sliders. painting a wall with a rock). absolutely worth the price, bugs should appreciate the vector You can then use the new groom and quirks aside. It’s an industry displacement tool, which lets you brushes to get them into the exact Up Against the Competition standard for a good reason. displace a surface in any direction shape and style you want. When you » There’s no doubt that ZBrush is (including undercuts). It’s not create new fibers, the base will be very powerful, but it’s not necessarily Matt Link works at Gearbox Software and quite groundbreaking—vector masked by default so you don’t move for everyone. Autodesk’s Mudbox has been involved in creating characters displacement has been in Mudbox it off your model while grooming. ($745) is easier to use for someone for several next-gen games. He is currently for several years now—but if you Use this with the new MicroMesh new to sculpting applications, and working as a character artist on Borderlands have been tempted to switch best preview rendering feature and it shares certain user interface 2 and Aliens: Colonial Marines. email him at to Mudbox for this sole reason, the fibers can act as a placeholder elements with Maya (the viewport [email protected].

www.gdmag.com 37

INNER PRODUCT // slawomir nikiel cells for cell phones USING CELLULAR AUTOMATA TO SIMULATE CROWDS FOR MOBILE GAMES

Plenty of action films feature scenes that simulate interactionsof hundreds or thousands of creatures—a horde of zombies, for instance, or an enemy army massing on the horizon—and when it comes to video games, we want similar experiences. But simulating crowds isn’t easy, (especially on low spec-devices) if we want each individual actor in a crowd to look and behave slightly differently from his neighbors. However, with the Cellular Automata model (CA) and a few grouping rules, we can model a crowd of hundreds of locally acting bots that can organize themselves in groups and attack the player—and we can do it on a simple cell phone. We’ll show you how we designed a prototype Cellular Automata AI, and see how well it runs on both an Android tablet and an older cell phone.

Cellular automata and recipe. Given the right recipe, we cells, we can obtain simulations of according to its local perception of flocking can model a whole hierarchy of ecological models. the surrounding environment, the » Cellular Automata methods structures and phenomena. Cellular Automata can simulate laws of simulated physics, and a set were developed to simulate and Our simulation procedure large numbers of entities, but the of preprogrammed behaviors. The analyze complex interactions is based on a limited region of interaction is always a matter of composite motion of the simulated through relatively simple rules space that forms a mesh of cells. neighboring cells. Groups existing flock of NPCs is the result of the of intercell interactions. They A number of objects is placed in nature (such as a flock of birds cross-interaction of the relatively are discrete dynamic systems either randomly (with a given or a school of fish), however, can simple behaviors of an individual that specify behavior completely distribution) or manually. Each cell be simulated with an elaboration of simulated NPC. In our case, we used in terms of local relations. The is empty or occupied by an object. a particle system that shows each our crowd simulation to build a CA space is represented with In the simplest case, the cell is individual member of the group as simple game about zombies. a uniform grid that contains a emptied or filled with a selected a particle and uses an augmented limited amount of information object with some probability. The behavioral model to simulate each Deriving the CA and in each cell. Time advances in final structure is obtained after particle’s motion. flocking algorithms the simulation in discrete steps, several iterations, where each Essentially, each simulated » We start building our CA-based and the transformation rules are cell of the mesh is checked. When element of a flock is designed as game logic by grouping cells of the usually expressed with a simple we permit interactions between an independent entity that moves same characteristics augmented

www.gdmag.com 39 INNER PRODUCT // slawomir nikiel

The following is our automaton movement for group cells. rule. One iteration consists of We tested this algorithm in repeated n2 following steps: a prototype test application to experiment with an appropriate s 1. Randomly pick cell c, with less value. s determines the minimum Headline than S neighbors with similar number of neighboring cells counted subhead states. in the grouping process. The most interesting results were obtained 2. In the vicinity of c, randomly for s=3 (after 500 iterations), as choose neighboring cell n. illustrated in Figure 2. The grouping procedure works 3. If C’s cell state is equal to n’s cell when the number of active cells is state then go to step 6. larger than 40. A smaller number of cells results in chaotic behavior 4. If cell n is empty (state = 0), (Fig. 2A). For the larger number of determine the growth factor (g): The cells, the influence of s on grouping number of neighboring cells with cell process is clearly visible. Smaller c’s state on location n, minus the values of S result in numerous but number of neighboring cells with cell smaller flocks of cells (FIG. 2D), c’s state on location c. If g >= 0; then while larger values of s (6 or 7) end c is “moved” to n (change c’s cell up in two big groups of each type of state to 0, and n’s cell state to c’s cell cell (FIG. 2B and 2C). Figure 1 Classical Cellular Automata Game of Life state) and go to step 6. Building the game 5. Count the growth factor g prototypE by taking the number of cells » Next, we created a set of rules for A C neighboring c on location n a prototype game. and subtracting the number of neighboring cells to n on location c. ¬ The main task of the player If g ≠ 0, then swap cells n and c. is to save a given number of humans from infection within a 6. If C is “human” and N has G time limit. neighbors, then cell C changes its state to N. In other words, C has ¬ Zombies can attack the player B D changed into a zombie. The value and his fellow humans and form of G determines how easy or hard it “flocks” to increase their strength. is to infect a human. ¬ Individual zombies try to Performing zombie attacks group and only attack when » Zombie “attacks” are performed the player shows no apparent by moving the group of infected activity. Figure 2 Experimental results obtained for the grouping simulation (after 500 NPCs toward the player’s . If iterations): A) 20 Active Cells, S = 3; B) 70 Cells, S = 7; C) 90 Cells, S = 6; D) 90 Cells, S = 3. the player touches a given number ¬ When the player’s avatar of zombies (growth factor G), the contacts a zombie, the player player is infected. In order to trigger loses life. Run out of life, and it’s with the “infection” capability. The ¬ The attack rule: When the a zombie attack, the group of game over for the player. When a result of this iteration is processed group of zombies is sufficiently zombies should be large enough to given number of zombies contact by another cellular automaton large, it can attack the player’s successfully perform the assault. humans, the humans turn into equipped with rules that can trigger avatar. In the counting process, The automaton working new zombies. large groups of NPCs to attack. We a neighborhood similar to the on the output of the grouping use three general rules to govern Margolus neighborhood is used. algorithm from the previous ¬ The player can refill his life by the simulation: section estimates the zombie picking up the “med-aid” items Grouping and infection group count. First, it defines that appear in various places. ¬ The grouping rule, which is processes a neighborhood similar to the based on the Moore neighborhood » Cellular Automata operates on Margolus neighborhood, though the ¬ The avatar has two weapons. (a cell’s eight neighboring cells). a two-dimensional grid size n x number of cells (9) is larger than The first weapon can be used m (to simplify n = m). Cells can the original (4) version. The size to destroy other game actors, ¬ The infection rule: If there have any number of states s. The of zombie groups can be changed but has limited ammunition are two zombies in the Moore border conditions are described as according to a given game level scattered across the game area. neighborhood of a human, they periodical, and we use the Moore (with the parameter S discussed in The second weapon can turn infect him and turn him into neighborhood (excluding the the next section). The automaton zombies back into humans, and another zombie. central cell). can set the preferred direction of has unlimited ammo.

40 game developer | May 2012 INNER PRODUCT // slawomir nikiel

Figure 4: The game prototype built for an Android tablet.

www.gdmag.com 41 INNER PRODUCT // slawomir nikiel

No zombies and 20 zombies and 40 zombies and 80 zombies and humans 5 humans 10 humans 20 humans Map 30x30 60x60 Map 30x30 60x60 Map 30x30 60x60 Map 30x30 60x60

No. FPS FPS No. FPS FPS No. FPS FPS No. FPS FPS

1 56.70 54.60 1 45.01 44.99 1 34.67 34.86 1 24.96 24.39 2 56.34 55.09 2 45.13 45.54 2 34.55 34.87 2 25.01 24.45 3 55.27 55.03 3 45.90 45.01 3 34.70 34.57 3 23.91 24.58 4 57.00 55.10 4 45.67 45.49 4 34.23 34.01 4 24.78 24.10 5 55.90 55.15 5 45.78 45.37 5 34.17 34.17 5 24.59 24.17

AVG. 56.24 54.99 AVG. 45.50 45.28 AVG. 34.46 34.50 AVG. 24.65 24.34

¬ When a human is destroyed, the Another drawback of the find the shortest path. (The colors are 0.25 fps on a 150x150 map number of humans the player is prototype implementation is the used for the debugging process.) with 3000 NPCs. required to save increases. discreet movement of NPCs on the We can clearly observe zombies game arena, which is caused by the gathering behind obstacles. Cell you later ¬ There is a teleporter in the game straightforward implementation of Sometimes, individual zombies will » By building bots that interact on area, which teleports the player to the CA grid to the game space, which leave the original group, wander a local level, we can create massive a random game spot. could be fixed by handling action around the area, and eventually join hordes of “intelligent” bots. Our calculations offscreen and animating the other group. From the player’s method lets players interact with Running the simulation the moving NPC fluidly onscreen, as point of view, this kind of behavior hundreds of NPCs, extending the » We built our prototype application it is performed in the Android version appears to be an “intelligent” action, programming possibilities for in Java and ran it on a Sony-Ericsson (described in the following section). such as scouting out the map or action, role-playing, and survival K300i cell phone, with CLDC1.1 and deserting a group to improve its games. We plan to further develop MIDP2.0, a 30MHz Java processor Android version odds of survival. This behavior this method in order to enrich a (equivalent to Intel Pentium III » The Android OS core limits the is controlled by the s parameter player’s experience—for example, 540MHz), 512KB stack RAM, and a screen’s refresh rate to a maximum (described in earlier sections). by using this implementation to 128x128 pixel display. of 56 to 60 frames per second As the s value increases, more make more demanding first-person The prototype application (depending on the software version). individuals will leave their groups. shooter games. managed to sustain very good In order to keep the animation smooth, This behavior is also influenced frame rates during the simulation. the CA logic-simulation algorithm by the individual’s proximity to notes Test results are part of M.Sc. diploma It’s worth noting that there were no needs to be run as a separate thread. obstacles (walls), which appears to theses by Michal Jackowski, “Implementation visible differences for different RAM Another way to handle this problem is a player as though some individuals of CA model to game logic in mobile systems, sizes (128KB and 512KB). to bind steps of the CA algorithm to the try to use the walls for shelter. and by Jakub Grzesik titled “Cellular rate of iterations per second. At each automaton implementation in 3D game logic,” Game logic game loop cycle, the number of steps Efficiency analysis University of Zielona Góra, Poland. » The game logic based on our is estimated according to the length » The CA algorithm is able to straightforward implementation of time that has passed since the last simulate large number of cells on REFERENCES Moore Neighborhood: of CA has a few inefficiencies. loop. One second is then split into the grid. We tested the algorithm’s (mathworld.wolfram.com/ First, randomly choosing a cell on n² iterations. performance by measuring our MooreNeighborhood.html) Margolus the CA grid with a large number Jakub Grzesik performed a prototype Java application on the Neighborhood: (psoup.math.wisc.edu/ of empty cells is a waste of sample simulation on the Archos G9 Sony Ericsson K300i mobile phone mcell/rullex_marg.html) Levy Flight: processing power. This can be Android tablet (http://www.youtube. with several different map sizes (www.maths.qmul.ac.uk/~klages/bee_ fixed by choosing a cell from a com/watch?v=aQqQ0MM8aqI), and unit compositions. The results wshop/bbees_chechkin.pdf) list of non-empty cells instead of shown in Figure 4 and on YouTube. can be seen in Table 1. The Android choosing from the entire grid. Also, The test app was designed with version, meanwhile, runs at the SLAWOMIR NIKIEL is currently the there is a chance that the same libGDX graphics library, (http://code. maximum speed of 56—60 fps, professor at the Institute of Control and cell could be chosen several times google.com/p/libgdx/.) though the Archos G9’s memory Computation Engineering, Department of during a single iteration (the “Lévy Here, we can see the grouping restrictions won’t let us build a map Electrical Technology, Computer Science flight”), which could be fixed by formations and pathfinding larger than 150x150. With large, and Telecommunication, University Of attaching an information index with processes at work. The cellular crowded levels, the Android version’s Zielona Góra, Poland. His research interests movement-limitation rules to active automaton sets the target position, performance drops down to 8 fps on include virtual reality systems, game cells for each iteration. and then the A* algorithm is used to a 100x100 map with 2000 NPCs and programming, and multimedia.

42 game developer | May 2012

design of the times // jason vandenberghe

LittleBigPlanet appeals to players that value harmony. thE FIVE domains of play Mapping the Five- Factor Model in psychology to game design

Over the last twenty months, I’ve been trying to draw correlations between the Big 5 motivational factors and game design elements that cater to those factors by interviewing any game player willing to take a test about their play behavior. In essence, I wanted to translate the work of motivation psychologists into game design—and I managed to draw a few correlations sooner than I had expected.

OPEN SOURCE PSYCHOLOGY (www.personal.psu.edu/~j5j/IPIP/), you get world? Well, now we’re one detailed study of » Before we get our hands dirty, I want to a report that shows where you fall in five players away from having an answer. mention a few things about why the Big 5 system personality “domains,” as well as in the individual is different from other systems. character “facets” that make up those domains. TWO SIDES TO EVERY STORY For starters, the Big 5 system doesn’t come Each of these domains is defined as having a » Each domain, or “factor,” is a two-sided from a single person—it is an international standard distribution (read: bell-shaped curve) spectrum with a positive motivation on each end. collaboration between dozens (hundreds?) when applied across humanity. A low score or a This may seem obvious at first: Some people of researchers. Instead of keeping the data high score means that for that particular facet are open to new experiences, and others less driving the discoveries copyrighted and secret, your motivation is a rarity, and a score in the so, for example. Well, compare that two-sided or preventing correlative studies with other middle means that for that facet your motivation structure to the commonly-held-in-the-game-biz systems, the data behind the Big 5 system was is similar to a majority of the population. archetype of the Achievement Player. What is the subjected to every imaginable cross-analysis— This means we have a statistical baseline positive opposite of an Achievement Player? which is ongoing, and will be into the foreseeable for any analysis we’d like to do, which is a Very The developers I have worked with tend to talk future. And while the contributors could have Good Thing—as we apply this system to game about Achievers like this: If your game satisfies owned the discoveries and charged for their use, development, we can swap out vague assertions Achievers, you’ll probably get those players to they decided to release the entire thing into the like “most gamers want X” for factual statements play your game. If your game doesn’t satisfy public domain. In other words, the Big 5 system like “half the human population has a preference Achievers, you’ll fail to attract those players, and is the of motivation psychology. for X, and the other half for Y.” Even better, we by implication you make less money. can begin to accurately measure different player I have started calling this way of looking BELLS AND CURVES populations. Have you ever wondered whether at players as the “thermometer model” of » When you take the Big 5 test (the best free the “core gaming” population is statistically motivation—you stick a thermometer in the one I’ve found: different in it’s preferences than the rest of the game and you measure its “Achievement-ness.”

44 game developer | May 2012 design of the times // jason vandenberghe

High is good, low is bad. But from what I have whom the world is a panoply of fears, anxieties, elements. The notable exception is Neuroticism, learned so far, that view is completely wrong. angers, and frustrations. A low scorer would which refuses to produce predictable correlations The opposite of an “Achievement player” is a be Obi-Wan Kenobi, for whom fear, anger, and so far. That said, based on the data so far, “contentment player:” someone who is perfectly jealousy lead to the dark side of the Force, and translating the Big 5 into game elements gives us happy to ignore your target goals, difficulty who met his death with a polite salute. these five domains of play: Novelty, Challenge, challenges, and medals, and just hang out. Stimulation, Harmony, and Threat. Someone who is motivated to be content with FACETS WITHIN FACTORS Novelty (which maps to Openness to their current state and who will buy games that » Your score in each domain in the Big 5 is Experience) is the presence or lack of new, let them act on that motivation. actually something like a weighted average interesting, dramatic, or beautiful things in the Remember the bell-shaped curve discussion of your score in six “facets” that describe game. A high Novelty game would be Minecraft, above? We’re talking about 50 percent of specific preferences within that domain. For and a low Novelty game would be Flight Simulator. humanity being on the “contentment” side of example, Openness to Experience is composed Challenge (which maps to the curve. That’s an awful lot of players who are of Imagination, Artistic Interest, Emotionality, Conscientiousness) is the part of the game not being discussed in most design meetings, Adventurousness, Intellect, and Liberalism; that requires the player to use self-discipline: thanks to a simple misunderstanding of how Conscientiousness includes Self-Efficacy, overcoming obstacles, work, avoiding danger, player archetypes work. Organization, Dutifulness, Achievement-Seeking, and (literally) collecting achievements. A high Self-Control, and Cautiousness; and so on. I won’t Challenge game would be Splinter Cell, and a low SWIMMING IN THE O.C.E.A.N. list them all exhaustively—take the test yourself, Challenge game would be LEGO Star Wars. » Let’s get down to business. The Big 5 are: read the Wikipedia page (http://en.wikipedia.org/ Stimulation (which maps to Extraversion) is Openness to Experience, Conscientiousness, wiki/Big_Five_personality_traits), or just Google the part of the game that excites, be that through Extraversion, Agreeableness, and “Big 5 facets” to see them all. direct thrill-rides or through social interactions. A Neuroticism— “O.C.E.A.N.” As you will see, many of these facets high Stimulation game would be Just Dance, and a Openness to Experience distinguishes describe polarities that game designers already low Stimulation game would be Flower. creative, intellectual folk from down-to-earth, use. These facets are where the proverbial rubber Harmony (which maps to Agreeableness) is pragmatic ones. A high scorer would be Alice In meets the road for game design. the part of the game where the player behaves Wonderland, who is happy to drink whatever she comes across and follow rabbits into the unknown. Alice finds Wonderland a delight. A low scorer would be Samwise Gamgee, who just wants to go home, have a predictable life, and not bother about with wizards quite so much. Conscientiousness deals with our ability to control our impulses and order our world the way we want it. A high scorer would be Hermione Granger, who is the best in her class at almost everything, and who is the one you go to when you need to get something difficult accomplished. A low scorer would be Jeff “The Dude” Lebowski, whose primary ambition in life is to bowl, and who can turn nearly any simple outing into a near-complete disaster. Extraversion deals with the desire for external stimulation, both social and otherwise. A high scorer would be Austin Powers, who is always ready to party, much prefers the company of others to solitude, and is the leader of the pack. A low scorer would be Edward Scissorhands, who is happy to do whatever you LEGO Star Wars is good for players that want, please, just leave him alone, in the dark. prefer less challenging games. Agreeableness deals with cooperation and social harmony. A high scorer would be Charles THE Five DOMAINS OF PLAY in a particular way toward other people or Xavier, who puts the needs of others ahead of » With the psychology described, we can go characters. Do you shoot them? Or help them? A his own, believes in the good in people, and who looking for game elements that will satisfy these high Harmony game would be Little Big Planet, understands how you’re feeling better than you motivations. In order to do this, I have been and a low Harmony game would be Street Fighter. do. A low scorer would be Snake Plissken, who, if interviewing gamer players after they take the Threat (which maps to Neuroticism) is the you want him to care about another human being Big 5 test, with the idea that people with a similar negative tone of the game that can evoke negative (like the president), you have to inject explosives score in specific facets should theoretically emotions in the player, such as addiction, anxiety, into his neck that will detonate if that person dies. prefer similar games or game elements (such as anger, or sadness. As I mentioned, Threat is the Neuroticism reflects how strongly one PvP, achievements, grouping, and so on). domain that has so far resisted my efforts to find experiences negative (and only negative) My database isn’t complete, but I have games that I can predict players will like, so I will emotions. A high scorer in Neuroticism would be uncovered strong evidence for many direct save further discussion for when solid data exists Woody Allen (the character, not the man), for associations between the Big 5 facets and game for this domain.

www.gdmag.com 45 design of the times // jason vandenberghe

feelings). The issue here is that so far none of The Madden series is a good example of a game with a realistic, not fantastic, these facets have proven to be predictive–I setting. have examples of players with very high and very low Anxiety scores (which maps to Tension, above) who both list Resident Evil 4 among their favorite games of all time. For now, Threat is still in “preproduction.” Now for some homework. If you have read this far, you’re clearly interested. Point your browser to http://www.personal.psu. edu/~j5j/IPIP/ and take the 300-question version of the Big 5 test. Then, with the mappings above, use those results to deconstruct what your motivations of play might be. A note of caution: In giving the interviews, I have learned to strongly emphasize that we are trying to map preferences of play to game elements that are satisfying—not which elements players like. The idea of “liking” a game element includes the player’s opinion on a lot of nongame things (how much time in the day they have for play, indie vs. triple-A, and so on)—and those are things that models like the Big 5 cannot predict. MAPPING FACETS TO GAME DESIGN or “grinding”), and Cautiousness (offer of— » Now we’re ready to correlate the individual precise, calculated play over run-and-gun—said HOW YOU CAN USE THIS facets in the Big 5 factors to a game’s capability another way, the silenced pistol over the rocket » The domains of play are a map to conclusions to satisfy different types of player preferences. launcher). about how satisfying our games are, what Remember; above we’re measuring the player, The third Big 5 domain is Extraversion, which motivations our games are not satisfying, what but here we are measuring the game. The idea for games we map to Stimulation. The game facets kind’s of players are enjoying our games, and is that by correlating play preferences to game are Expression (offer of positive socialization what kind’s of players could be enjoying our elements, we can predict what kind of player will opportunities—chat, emotes, and so on), Crowd games if we were to make specific changes. enjoy, play, and buy games with those elements. (offer of play with large groups of people), Role Imagine that for each motivation facet, every Let’s start with a simple example: just one (offer of leadership roles versus follower roles), game has a “band” of that facet that it “offers.” facet of the Openness to Experience factor, Pace (offer of a high volume of activities), Thrill For example, Skyrim will offer a high-to-medium which we’ve described in game terms as (offer of high-intensity/exciting action), and Joy Fantasy facet, which means that players with Novelty. In the Big 5, the facet of “Imagination” (offer of strong positive emotions in the player— a high, average-to-high, or average score in reflects a person’s preference for their inner, happiness and delight, for example). Imagination will find Skyrim satisfying. Players imaginative world over the “real world.” I find Agreeableness is the fourth domain of the with a low Imagination score will find the setting (so far) that a player’s Imagination score often FFM, mapped to Harmony for a game. The game too exotic for their tastes (specifically, the directly maps to their interest in fantastic/ facets are Trust (offer of play that includes or existence and use of magic, in my experience). imaginative settings (such as Skyrim or Mass does not include the capacity to be betrayed, With this approach, we can map out how Effect) over realistic ones (such as Call of especially in a way that feels “outside the rules”), much “coverage” our games have for all of the Duty or Madden). So, I call this facet of a game Integrity (offer of, or the lack of, the ability to motivations in the Big 5. “World,” and describe it as the game’s “offer of do the above to other players), Help (offer of During game development, I am often fantastic or realistic settings.” support roles), Cooperativeness (offer of direct confronted with this statement: “Players want World is the first of six facets in Novelty. The confrontation with other players—note that (x),” where (x) is the speaker’s opinion on what other five are Predictability (offer of exploration while pure PvP is a low Cooperativeness score, everyone wants. These are usually inaccurate and discovery mechanics over repetitive or team-based PvP is a high one), Glory (offer of statements, and we often intuitively know this. “base-building” game mechanics), Melodrama publicly viewable medals, scores, character But how do you respond? (offer of emotionally evocative narratives), customizations, etc.), and Compassion (offer of Now, I can answer in this way: “True! Half Artistry (offer of compelling visuals/audio), contexts that trigger and/or require an emotional of them do. The other half want (y),” where (y) Puzzle (offer of puzzle-solving play), and comprehension of characters). is the motivation on the other side of whatever Message (offer of socially progressive themes). Neuroticism is the last domain, and while I call facet the speaker has referred to. That has The Conscientiousness factor is described this domain of play Threat, the correlations are changed my approach to many of my team’s in game terms as Challenge. Our game facets less clear. Currently, the facets I have are these: design efforts. If the Big 5 system gave me only are Difficulty (offer of difficult-to-accomplish Tension (the capacity to instill fear in the player), that, it would be worth it to me. But from what I goals), Achievement (offer of accomplishment Provocation (the capacity to make a player can tell, that’s just the beginning. recognition, such as Achievements), Order angry), Despair (the presence of “hopeless” (offer of set-completion mechanics, as well as in-game contexts), Humiliation (the capacity to Jason VandenBerghe is a creative director at Ubisoft grid-based play over free-board-play), Obligation make the player feel self-conscious), Compulsion Montreal, which is a pretty good gig, actually. Comments, (offer of guilds and other social obligation (the presence of “addictive” game mechanics), concerns, criticisms, and offers to help out can be aimed at structures), Work (offer of labor-intensive tasks and Danger (the capacity to hurt the player’s [email protected]

46 game developer | May 2012 News and information about the Game Developers Conference® series of Events www.gdcONF.com

Ed Logg presents his GDC VAULT classic postmortem for DEBUTS CLASSIC Gauntlet. VIDEOS, GDC 2012 LECTURES

The GDC Vault service Also available for free is an (www.gdcvault.com) has released intimate chat with Minecraft cre- both free and members-only ator Markus “Notch” Persson, video, audio, and slides from the hosted by SpyParty developer Game Developers Conference in Chris Hecker. This session delves San Francisco, including free into Persson’s creative process postmortem videos for games and provides a look into the mind like Fallout and Harvest Moon. of the indie game juggernaut. Following the conclusion In addition, GDC Vault has of the record-breaking debuted a panel featuring Persson 22,500-person conference, these alongside industry figures Classic Postmortem sessions, Jordan Mechner, Tim Sweeney, along with many other notable Adam Saltsman, John Romero, talks, are now available from GDC and Jane Pinckard, on the 2012’s “Free Content” section budding indie renaissance. Other (www.gdcvault.com/free/gdc-12) feature-content on the GDC Vault on GDC Vault. includes a lecture from Plants vs. Now in their second year, Zombies creator George Fan on the the Classic Postmortem lectures best ways to teach players via stood out as a particular highlight game design. from this year’s show, offering Other free Main Conference unique insight from some of the talks include a look at the art industry’s seminal game creators. of Diablo III, an audio session The series includes notable on Supergiant Games’ indie hit talks from Frederick Raynal on the Bastion, and production tips from making of Alone in the Dark, Ed Bungie’s Brian Sharp. These Logg on crafting the classic arcade lectures represent just a few of game Gauntlet, Yasuhiro Wada on the free videos currently available Minecraft. the quirky and successful Harvest on GDC Vault. Moon, and Tim Cain on the original Outside these track highlights, Fallout, which spawned one of GDC Vault also offers 25 access to GDC Vault, and current to keep an eye on GDC Vault the industry’s most popular RPG free company-sponsored subscribers with access issues for even more content in the franchises of all time. lectures from Intel, Nvidia, Google, can contact GDC Vault admins. months ahead. Show organizers and more. These free videos To purchase a standalone will also archive videos, audio, include high-quality panels on GDC Vault subscription, send an and slides from upcoming HTML5, Android, cloth simulation, email to [email protected]. events like GDC Europe, GDC and more, and are available Group subscriptions are also Online, and GDC , so after registering for a GDC Vault available; game-related schools there’s plenty more content account. GDC organizers have and development studios who to come. To stay abreast of also released hundreds of slide sign up for GDC Vault Studio all the latest updates to GDC collections from the GDC 2012 Subscriptions can receive access Vault, be sure to check out the presenters, offering a glimpse into for their entire office or company. news feed on the official GDC many more of the show’s most More information on this website (www.gdconf.com), or influential talks. option is available via an online subscribe to updates via Twitter This new free content debuts demonstration, and interested (@Official_GDC), Facebook alongside more than 300 additional parties can contact Gillian Crowley (www.facebook.com/ lecture videos from GDC 2012 for at [email protected]. gamedevelopersconference), GDC Vault subscribers. GDC 2012 Now that the GDC 2012 or RSS (feeds.feedburner.com/ All Access pass holders have full content is online, be sure gdcnews).

www.gdmag.com 47 pixel pusher // steve theodore Tech Tao For Tiny Teams How technical artists can fit into low-budget dev teams

To me, the rise of technical art as an independent discipline has been one of the most interesting stories of the last decade in the video game business. The last console generation, born in titanic competition over graphics and production values, inflated many triple-A teams (and their budgets) to ungainly proportions. As the numbers grew bigger, developers learned to value those mysterious artists who specialized in making other artists more productive. The hobbyist riggers and hard-to-pigeonhole scripters of a decade ago have evolved into high-tech specialists in everything from programming, to SQL databases, to shuffling data over the web. At any given GDC you can find tech artists (more prolix than their pure-art brethren) arguing about the subtleties of Python syntax, the right way to manage a shader pipeline, or the hassles of getting data from a mocap studio on the other side of the Pacific. Tech art has gone big time.

production work?” the answer is

erence obviously “Hell, yeah.” f

Git ‘Er Done » Tech art is a multifaceted (read: evelopers con d “schizophrenic”) discipline. It ame g

f melds technical concerns with art, o t and mixes spit-and-bailing-wire es t inventiveness with sober, serious o cour

t process engineering. Tech artists

pho are characterized by self-reliance, a bent for problem solving, and a grudging refusal to be stymied by technology—all things you need to ship a game without the money, time, and manpower of a megastudio. Tech art is about getting things done with the tools at hand, which is important in an environment with limited time and scarce resources. Events that would be minor bureaucratic speed bumps for a 300-person team—say, a buggy 3ds Max hotfix that corrupts important files, a random publisher decree that all the green monsters have to become brown, or a last-minute push to crank out microtransaction-friendly tchotchkes—can be deadly for a smaller project on a budget. Nowadays, the big-studio audiences. The crowd at any GDC out whether a five-person art In lean times, the left half of ecosystem in which tech art lecture or IGDA meetup today is team needs a dedicated Motion the tech-art brain—the one that evolved has taken a few significant less grizzled, more diverse-and Builder integration whiz, the comes up with the crazy, quick- knocks. The rise of casual, social, often less lavishly funded than answer is probably no. It takes and-dirty fixes at the pit of a and mobile gaming has put some in years past. Which raises the a large organization to make crisis—is priceless. When a small brakes on team bloat. Sure, there question: What place is there for a productive use of people with team discovers that every texture are still 300-person megastudios tech artist on a tiny team? Is the deep but very narrow skills. On in the game has to be converted toiling away on megaprojects, tech-art field only a luxury for the the other hand, if you phrase the from DXT1 to DXT5 in time for next but a lot of the growth (and new heavy-iron houses, like rolling your question as, “We can afford only week’s demo, they don’t have a investment) in the industry is own engine? five artists. Shouldn’t our art team pool of interns or contractors who coming from smaller groups who The answer to the question have somebody who can put can open and resave five thousand can take more creative risks depends a lot on exactly how you together some lightweight tools Photoshop files. The entire art staff and gamble on new platforms or ask it. If you’re trying to figure and do automation in addition to is going to waste precious polish

48 game developer | May 2012 pixel pusher // steve theodore

time staring at file dialogs—unless, Practicing Safe Tech (Art) for new scripts. Monster teams can for the curious, DIY type. And for of course, one of those artists is » In practical terms, this means afford to have a real human being the tech artists who don’t want to the kind of person who can string that small-team tech art needs to show up at 6:30 every morning to lose touch with their roots in actual together a command line file be tightly focused and minimalist, run through the tools and make artistry, small teams also offer converter, a .bat file, and a copy of with few bells and whistles. sure everything is working. The (or more likely, demand) content AutoHotKey into a temporary file Small teams can rarely afford poor dev’s alternative is some form creation as well as tools and conversion pipeline. a slick custom GUI, elaborate of automated testing. Developers troubleshooting. procedural rigging systems, in other chaotic, fast turn-around Of course, the jack-of-all- Clean and Sober or supersophisticated engine businesses (for example, web trades lifestyle doesn’t appeal to » Of course, this kind of Rube integration. On the other hand, development) make heavy use everyone. Some tech artists prefer Goldberg technology doesn’t sit too small teams should not skimp of automatic software testing to the master-of-one route, which well with the other side of the tech- on the basics: A fast, reliable guarantee uptime, but this is still suits them far better for the kind art brain—the part that believes export pipeline, no-nonsense a novelty in the tech art world. of big projects that need them to in building and maintaining solid, tools distribution, and efficient It can be hard to convince your find a specialization and refine it. well-engineered tools. Scripting asset management are even more teamates that writing tests instead The choice between the extremes starts off as an intoxicating rush of important for tiny teams than they of tools is a good use of precious is eminently personal, but it’s new power, but as Spider-Man has are for the behemoths. time. That said, a system that can important for every TA to have taught us, “with great power comes The single most important vet every check-in to make sure some idea where they are most great responsibility.” Far too many skill for a small-team tech artist— it won’t bring down the studio due comfortable on the spectrum from technical artists get their education more important even than Maya to a missing file or a syntax error generalist to specialist. in computer science by hobbling savvy or Max-Fu—is the ability to is an essential survival tool for So, does tech art have a place an entire studio with an innocent distinguish between the tools that the small team TA. (If the phrase on smaller-scale projects? The mistake born of eagerness and ship games and the kind that serve “test driven development” doesn’t answer is an unqualified yes! ambition. As they have become mostly to wow your friends on Tech- e integral to the functioning of big Artists.org. Though your technical c teams, they’ve received a collective conscience may cry out for a cool, onferen c

crash course in responsible object-oriented and data-driven s er software engineering. menuing system, you should settle p This sense of responsibility for ugly old-school mel scripts if is why so many GDC talks they can do the job. You may loathe for technical artists focus on P4Python and dream of replacing t of game develo t of things like software patterns, it with a cleaner API, but you’ll s ourte

error handling, and test-driven have more important things to do c development. Improvisation than satisfy your need for order. hoto hoto is great for emergencies, but Huge triple-A franchises can afford p it’s not how you run things day that kind of thing, but a $750,000 in and day out. In a big team, project cannot. there’s an infinite amount of This is not to say that small work for the right-brained TA who team TAs can ignore infrastructure— dreads downtime and disorder. quite the contrary. Chaos is the ring any bells for you, check out As young companies and new Every system can be made more natural order for small projects, and a TDD website like http://onlamp. genres push the boundaries of bulletproof. Every U.I. can be the only way to stay sane when com/pub/a/python/2004/12/02/ the industry, they can benefit streamlined. Even the biggest things get crazy is to work from tdd_pyunit.html, The Foundations from both the technical agility and teams seem unable to keep their solid foundations. For example: An of Agile Python Development by the hard-won production wisdom wikis and tutorials up-to-date. efficient, low-maintenance way of Jeff Younker, or Head First Sofware of technical artists. Many TAs, Small teams tend to look getting tools into your users’ hands Development by Dan Pilone and meanwhile, will find a great arena on the industrial-strength side pays big dividends when crunch Russ Miles. You’ll be glad you did.) for their skills and all-rounder of tech art as an unaffordable time looms. If you have to push a The most critical element of habits on the wide-open frontiers. luxury. With quick turnarounds new fix out quickly, or get a bunch small-team tech art is flexibility. (It isn’t often we get to end these and creative chaos, it can be of contractors set up for a sudden This is true for tech, but even columns without a hedged bet or difficult to budget time for content push, you can’t rely on more true of people. Casual, social, qualification somewhere. Enjoy it under-the-hood improvements. email attachments or sneaker-net. and mobile games attract a lot while it lasts!) Nonetheless, small teams also Any time you save by skimping of veteran developers precisely need to practice safe technical on the distribution system will be because small teams need Steve Theodore has been pushing art. Even tiny teams need paid many times over in debugging generalists. If you hate being pixels for more than a dozen years. His working tools to ship a game; problems that come from botched pigeonholed, small teams offer credits include Mech Commander, Half-Life, indeed, they are even more installations, version mismatches, the opportunity to spread your Team Fortress, Counter-Strike, and Halo threatened by downtime than the and oversights by busy artists. wings. Tiny projects demand the 3. He’s been a modeler, animator, and big kids. When you’re shipping in Small teams also need to kind of artists who can do effects technical artist, as well as a frequent six months instead of four years, provide a high level of reliability, on Monday, on Tuesday, speaker at industry conferences. He’s busted tools hurt a lot more. which in practice means some kind and update 300 buggy collision currently the technical art director at of automated testing and validation volumes on Wednesday—perfect Seattle’s Undead Labs.

www.gdmag.com 49 hiring news and interviews good job Hired someone interesting? Let us know at [email protected]!

Moving to Mobile whowentwhere Sonic the Hedgehog co-creator Hirokazu Yasuhara Matt Sughrue leaves Seven45 Studios for Metaversal Studios has left Namco Bandai for an undisclosed role These days, it seems like everyone has their eyes on in mobile game development. with Nintendo Software Technology, a North American Nintendo subsidiary in Redmond, WA. Matt Sughrue rells us about his transition from Seven45 Studios (Power Gig: Rise of the Yasuhara got his start at in 1988, serving SixString) to Metaversal Studios’s (Updraft Jack) relatively tiny team. as director, game planner, and designer for Patrick Miller: What made you decide to team has been channeled into a development many of the original Sonic the Hedgehog titles. He leave console development for iOS? process that is manageable and delivers great has also worked on Naughty Dog’s Jak & Daxter Matt Sughrue: The project my team was games on time. and Uncharted franchises, and more recently, working on (a band game) hit the streets at Namco Bandai’s Pac-Man Party. the exact time when the music game genre PM: Did you just wake up one morning and was crashing and burning. That was enough for say to yourself, “Man, I really want to go saw several recent the owners of the company to want to move make some mobile games!” departures after releasing Journey. Executive on to other kinds of consumer products. The MS: Not really. I’ve been making games for producer has left to join team was dismantled and I found myself on the past twenty years and the progression of creator Keita Takahashi the job market for the first time in a very long my career had always been to take on more at Tiny Speck; Way designer Chris Bell, “feel challenges at bigger companies. In 2010 I engineer” John Nesky, and Way programmer was running a console studio with seventy Walt Destler have left to remake Way as a new developers that I had built from the ground up. studio called The Wilderness; and co-founder Mobile games seemed like a backward step at and president has left simply to that point. “seek new challenges.”

PM: What’s it like working with a small team? franchise creator Andy Davidson has MS: It’s a big adjustment to go from many returned to fourteen years after he departments who are building out chunks of a originally left. Davidson came back to Team17 to single game over the course of two years that work on the upcoming , due out will be sold through retailers, to individuals for Windows PCs and consoles later this year. who are working and collaborating closely Infinity Ward’sC all of Duty creative strategist over three or four months to make a game Robert Bowling has stepped down from his that’s sold digitally. What I love most about position and left Activision entirely. As of this market is that it’s still possible for a small this writing, Bowling is working on a yet- team to make original games that sell well. undisclosed project. time. After that experience, I wasn’t keen on That’s very difficult on the console side, where getting back into large-scale development the cost of developing and marketing your again. I had some breathing room thanks to a own games is much higher and the developer decent severance package, so I decided to take is up against publishers with big brands and my time and find a gig that had the potential to big marketing budgets. While I do miss the new studios rekindle my passion for making games. challenges of pulling a big console team and Gabriel Knight creator Jane Jensen and I’d been an avid iPhone gamer since title together, I love the collaborative aspects composer Robert Holmes have founded a the App Store first opened, and the idea of of working with a small team to make a game new studio dedicated to adventure games making smaller games for that platform and the challenge of getting that game up the called Pinkerton Road Studio. Pinkerton Road was very appealing. I got in touch with a charts. We’ve been fortunate to have some Studio aims to focus on storylines that are recruiter colleague of mine and found the success with our titles, and that’s given us the “deep and compelling,” and has launched opportunity at Metaversal Studios not long ability to continue to make the games we want a Kickstarter project to fund its first year after that. Metaversal at that time was a ten- to make. That’s rare in this industry, and I’m of development. Kickstarter backers will person team made up mostly of current and grateful for that opportunity every day. former college students from Northeastern be able to influence game development decisions and participate in beta tests. University. There wasn’t a lot of formal “game PM: Do you find that the hyper-competitive company” structure like source control or App Store is significantly affecting the way Gael Giraudeau and Nicolas Godement- schedules—the team just decided what you make games? Berline have started a new Paris-based game they would make and made it. They had MS: Competition makes us work harder, get mobile studio named Majaka, which has released a number of games this way, but none more creative, and make our games better. We just launched its debut iOS title Ski Champion. of them had been a commercial success. I are driven by our own desire to make great Giraudeau previously worked for Arkane came on as VP of product development and games and by the people who play them. Our Studios, and Godement-Berline worked on brought some of the best practices tools, players tell us without restraint what they several PlayStation 3 titles for outsourcing like consistent documentation, formal bug think of our work in the App Store, through house Virtuos. Majaka plans to release reporting, and milestone deliverables, that I had tweets, and on our Facebook page, and we three to five games by the end of 2012. been using over the years to the table. The end pay attention and do our best to improve the result is that the raw talent and creativity of the experience with every new release.

50 game developer | May 2012 the business // david edery

The Magic Of Free-To-Play How I stopped worrying and learned to love the free-to-play business model

The first successful free-to- true of card games (i.e., Blackjack), they are simply a convenience. Whether it’s DRM in PC games or play (F2P) games—defined but you don’t hear people protesting What’s particularly interesting unnecessary “online only” features as “games whose primary against all card games (i.e.; Dominion about the dungeon keys in Realm in console games intended to revenue source are in-game or Solitaire) So please, stop confusing of the Mad God is that they are, in deter their resale, developers purchases”—hit the market the bad things you could do via F2P many ways, the purest incarnation are constantly struggling with over a decade ago. Now with everything that can be done of the idea of F2P as a progressive business challenges imposed by they’re everywhere. They via F2P! tax or social good. Players want to consumer desire for a cheaper account for eight of the top Here’s a challenge for every plunder dungeons because they (or free) product. There’s also the ten grossing games on iOS as curmudgeon that hates F2P games: contain good loot. But buying a key common player desire for online I write this. Rumor has it that Start thinking about them as a form just gets you a chance to earn that games to live forever, even when all the major consoles will of progressive taxation, and allow god support F2P games in the next your mind to expand from there. mad generation. Even our industry’s That’s right: F2P is a system that the most prominent, respected subsidizes the poor with payments of developers (PopCap and Valve, from the relatively wealthy. for example) have begun to Think it can’t be done? Check realm embrace the model. out Triple Town and Realm of the Mad God. Both heavily favor Let me tell you what F2P represents skilled play over “purchased” to me: an opportunity to bring advantages; unskilled, wealthy entertainment to billions of people players absolutely cannot purchase without relying on advertising their way above skilled players on revenue or government subsidies. An the leaderboard. Neither contains opportunity to embrace players who systems that encourage insane want to play our games but can’t (or levels of spending, though large won’t) pay, instead of forcing them monthly expenditures are possible. to become pirates. An opportunity Those large monthly expenditures to stop making disposable are nothing beyond the level of loot; you still need skill to actually those games require servers and entertainment experiences and what an enthusiast might spend earn it. And because the most other expensive infrastructure. So instead create games that live on a favorite real-world hobby such lucrative dungeons are also the why not embrace those desires? forever, supported by devoted fans as remote-control cars, golf, or most deadly, wealthy players who who happily spend money to keep gardening. buy keys have an explicit incentive Signing off their favorite hobby alive. to invite along other players, lest » I’m not suggesting that F2P is for For the first time in the RotMG as progressive they die alone and lootless in their everyone. There are many amazing history of mass media, we can taxation own private dungeon. games that would be difficult and entertain huge audiences without » Realm of the Mad God generates perhaps impossible to make as F2P first bombarding them with revenue primarily via the sale of Rose-tinted glasses games. So yes, if you love those advertisements for sugar water and “character slots,” which allow you » It always amuses me when games, keep making them. Just corn flakes and without making to play more than one character at people pine for the “good old understand why the rest of us have them pirates. It’s a beautiful thing. a time, and “vaults,” which allow days” of game development, when chosen a different path. We’ve chosen I’m not personally opposed to your characters to squirrel away designers weren’t concerned with the opportunity to entertain millions advertising in games, but I find it more loot. Neither of these things base financial considerations. The of people, for free, often without any puzzling that so many developers are required to play the game, and arcade games that many of us forced advertising or government accept advertising, which is both can essentially be acquired grew up playing were explicitly and support, for years and years to essentially a form of psychological for free by creating additional free painstakingly designed to munch come. It’s an amazing thing, when manipulation, while decrying in-app accounts, though that’s obviously quarters every few minutes! But you stop to really think about it. payments. not as convenient. A large many of us still fell in love with additional source of revenue comes Pac-Man, Donkey Kong, and Street David Edery is the CEO of Spry Fox and Any good tool can be from the sale of “keys,” which are Fighter, and were inspired by those has worked on games such as Realm of used for evil instant portals to dungeons that games to become the developers we the Mad God, Steambirds, and Triple Town. » Yes, you can build F2P games must otherwise be sought out in are today. Prior to founding Spry Fox, David was the that resemble slot machines and the game. Again, buying keys isn’t a Even modern games on worldwide games portfolio manager for are designed to prey on people with precondition to playing the game or consoles and PCs have seen Xbox Live Arcade. addictive personalities. This is also even gaining access to dungeons; their business model change.

www.gdmag.com 51 AURAL FIXATION // DAMIAN KASTBAUER vRoom Vroom A study of sound in racing games

Night Racer. Sometimes, the best way to learn about a game’s sound design is just to listen. While reading about technology and techniques exposes us to their existence, I believe that as much can be learned about the technical and aesthetic aspects of game audio by starting from the player’s perspective. Recently, I joined forces with audio enthusiast and motorhead David Nichols (Track Time Audio) to dissect the sounds of racing games. We picked apart twelve different games to expose the current generation’s state-of-the-art in vehicle simulation sound just by listening deeply on the player side of the magic screen. Here are a few highlights from our study.

START YOUR ENGINES The earliest engine sounds used well. When the player’s tire loosens its grip, the » Sound has a unique ability to communicate the simulated vehicle RPM parameter to drive player will hear a screeching mayhem of kinetic directly to the player in a way that is impossible the pitch of a square wave. Increasing the RPM friction and know that their car is no longer driving to represent visually—all the power and fury increased the pitch of the engine note, which at optimum speed. This sound element has been of an engine revving, for example, can be communicated to the player their current speed. around since the beginning of racing games. transferred directly from the speakers to the Racing game sound has made tremendous The current generation of racing games player’s brain in a pure expression and feeling of leaps, even within the current generation. For takes the sound of tires and brings an additional speed. Racing games lose a feeling of immersion example, the quality of a vehicle’s engine sound level of communication to help players better without sound. The sound of the engine is design is currently measured by how naturally understand their connection to the road. From positioned front and center, and it gives the the RPM progression is handled during acceleration the driver’s perspective, the sounds a tire makes as it approaches its grip limit helps to identify how soon they will exceed the force of static friction and lose traction. The approach of this limit is reflected in a howling or hum present in the sound of each tire. The current crop of racing games represents this sound using multiple loops of sound that are transitioned between and pitched using a parameter from the tire simulation for each individual tire. The telemetry view in Turn 10’s Forza Motorsport series allows you to see the dynamic compression of a tire and helps to frame the change in sound.

ROLL OUT » A good vehicle sound design needs to be heavily integrated into the vehicle and tire simulations— and we hope that these informal sound studies can help you tease out exactly how the sound Forza Motorsport. designers did it. The remainder of the racing game sound study covers the use of sound for surface player a constant indication of speed in a way and deceleration; an engine noise can quickly materials, camera perspectives, physical damage, that the speedometer can’t. sound unrealistic when it is taken from its natural NPC vehicles, and user-interface design—and, The engine is also there to remind you that recorded state and modified parametrically using of course, the subtle and extreme differences “the car is the star,” as Mike Caviezel recently DSP without the proper technical design. It’s easy in technique between each game and audio said in the racing game-focused Game Audio to pick out the early racing titles from the current team. You can find the rest of our study at Podcast 18. The three main sound components of console life cycle that use a loop-based engine Track Time Audio (www.tracktimeaudio.com) the engine are the exhaust system, air induction, sound because the engine sounds are dramatically and Lost Chocolate Lab (www.lostchocolatelab. and the internal mechanics of the engine, which pitched, which makes them sound synthetic. com), and Game Audio Podcast #18 (www. can be implemented using a loop-based system, gameaudiopodcast.com) as well. granular synthesis, physical modeling, or a GETTING TIRED hybrid of the three. Once the basic sounds for » “Where the rubber meets the road” is a common “Let the good times roll”—The Cars each component are in place, each sound is then idiom used to describe the point where things tied to the same vehicle simulation used for start to get serious. It’s the same thing for a racing Damian Kastbauer is a technical sound design every other aspect of the game using parameters game: The sound of the tires serves to make rat fink who can be found hot-rodding game audio at to drive the change and modification of content. the player feel “at one with the road”— if it’s done LostChocolateLab.com and on Twitter @LostLab.

52 game developer | May 2012 STUDENT game PROFILES educated play!

One and One Story www.mattiatraverso.com/games Plenty of new game developers choose to start out with a simple 2D platformer, but few would think to make a 2D platformer based on a romantic game me- chanic like IGF Student Showcase Finalist One and One Story. We talked with One and One Story designer and programmer Mattia Traverso about the development process and the transition to iOS.

Atomic (Canabalt creator) sent me the DMCA module to take the app down, IGDA and the Vlambeer guys (Super Crate Box) contacted Apple. I got a fantastic wave of support from the community. A few lawyers also contacted me even though I never intended to sue the “thieves.” After two weeks or so, the app was removed from the store, though I haven’t heard anything else from Apple!

PM: Now you’re working on your own iOS port. Is it hard to make One and One Story work well on a phone and tablet? MT: Yes! Since it’s a platformer, the controls are a major issue. I personally don’t like games with a lot of buttons on the screen, because that’s just a way to adapt a game that was not originally designed for iOS. I’m trying to rethink the control scheme to Patrick Miller: Tell me about the MT: I think the best way to Flash because I’m just starting work without a single button on- team behind One and One Story. describe the game is that I had my developer career and that’s screen. The system is up: Now we Who worked on it, and how did a relationship, but it was full of the only tech I know. Since then, just need to playtest it! you all meet? crates and spikes, so we had to I have come to know a lot of Another problem is that the Mattia Traverso: I made the core break up! programmers. But back then, game is too short to be in a paid of the game, (with very rough Joking apart, the design nobody would have listened to a form: We need to add content, but graphics) in about a month, and phase worked in a similar way to boy with such a simple idea. We without ruining the atmosphere then I started looking for artists Jenova Chen’s design process, are now remaking the game for iOS and the mood, which is tough. and musicians. David was easy but I’m not saying I’m that good, devices thanks to a very good C++ Besides that, I should thank to find because he was very well of course! His design philosophy programmer, Tommaso Checchi. Apple: The art now needs to be known in the Flash game scene, is different from the common one: redone twice as large for the but before finding Gabriele I Normally, you take a mechanic PM: Recently, you found an new iPad! wasted two months with various and make sure it is fun. But unauthorized copy of your game artists around the web who Jenova does not start with a on the iOS App Store. How did you couldn’t get the mood of the game mechanic; he starts from an respond to that? Were you able Release Date: 10/10/2011 in their drawings and mock-ups. emotion, from a feeling that he to find anyone who could help Length of development: 3 months. 90% of the game was finished in a I realized a few days ago— wants to transmit to the player. you deal with the legal matters month, but we spent two months maybe seven months after the And that’s how we worked on and get the copy pulled off the polishing the final 10%. development of the game—that One and One Story, exploiting the store? Budget: One half-eaten lollipop. I have never talked directly with game mechanics to work toward MT: When I discovered the copy, That’s it. them! We used Skype to text, but the narration and therefore the I shouted some not-so-polite Lines of code: 4,000+ we’ve never heard each other’s emotions of the player. words on Twitter. Surprisingly, Fun Fact: An early build of the game had an ugly brown background, and one voices. Strange, huh? that helped a lot: I was retweeted playtester said “Those five minutes were PM: Did you decide to do One by around 100 indie developers, the worst of my life, I was just wandering PM: How did you come up with and One Story in Flash from the and my problem got spread around a brown nothing,” which prompted Gabriele to make the great the design for One and One Story? beginning, or did you start with around the web very quickly. I art we used in the final build. Guess we Did you draw upon any life something else? got a lot of contacts willing to should thank that tester today. experiences or memories? MT: Sadly, I was forced to use help me, to name a few: Adam

www.gdmag.com 53 Game Development Game Design 3300 University Boulevard • please visitfullsail.edu/outcomes-and-statistics. To viewdetailedinformationregardingtuition, studentoutcomes,andrelatedstatistics, Financial aidavailableforthose whoqualify•Careerdevelopmentassistance DEGREE PROGRAMSIN: Game Art Winter Park, FL Accredited University, ACCSC 800.226.7625 fullsail.edu

© 2012 Full Sail, LLC >> GET EDUCATED

ADVERTISER INDEX

COMPANY NAME PAGE COMPANY NAME PAGE E3 EXPO ...... 15 MAGIC PIXEL GAMES ...... 3

EPIC GAMES ...... 6 PERFORCE SOFTWARE ...... C2

FULL SAIL REAL WORLD EDUCATION ...... 54 RAD GAME TOOLS ...... C4

HAVOK ...... C3 SIGGRAPH ...... 31

LOS ANGELES FILM SCHOOL ...... 55 VANCOUVER FILM SCHOOL ...... 23

gd Game Developer (ISSN 1073-922X) is published monthly by UBM LLC, 303 Second Street, Suite 900 South, South Tower, San Francisco, CA 94107, (415) 947-6000. Please direct advertising and editorial inquiries to this address. Canadian Registered for GST as UBM LLC, GST No. R13288078, Customer No. 2116057, Agreement No. 40011901. SUBSCRIPTION RATES: Subscription rate for the U.S. is $49.95 for twelve issues. Coun- tries outside the U.S. must be prepaid in U.S. funds drawn on a U.S. bank or via credit card. Canada/Mexico: $59.95; all other countries: $69.95 (issues shipped via air delivery). Periodical postage paid at San Francisco, CA and additional mailing offices. POSTMASTER: Send address changes to Game Developer, P.O. Box 1274, Skokie, IL 60076-8274. CUSTOMER SERVICE: 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 or fax (1) (847) 647-5972. Send payments to gd Game Developer, P.O. Box 1274, Skokie, IL 60076-8274. Call toll-free in the U.S./Canada (800) 444-4881 or fax (785) 838-7566. All other countries call (1) (785) 841-1631 or fax (1) (785) 841-2624. Please remember to indicate gd Game Developer on any correspondence. All content, copyright gd Game Developer magazine/UBM LLC, unless otherwise indicated. Don’t steal any of it.

WWW.GDMAG.COM 55 ARRESTED DEVELOPMENT // MATTHEW WASTELAND

HotSecret inside info rumors! here Hey. You’ve probably heard of me. Yeah—I’m pretty much the guy with all the super top-secret rumors and mind-blowing insider stories about the game business. That’s right, I’ve got my finger on the hidden pulse of what’s really happening underneath those superficial press releases, official statements, and stooge journalists. I’m really well connected, and I know everyone that matters. My vast network of highly placed sources at the upper echelons of every single game company in the world ensures that I’m updated with top-secret information 24 hours a day. I get all the best game industry rumors even before the guy at GameStop does. Don’t believe me? I’ll give you some scuttlebutt right now—on the down low, of course. Promise what I tell you stays between you and me. Okay?

The New Consoles authority that the PlayStation 4 will with Valve to fund and publish a My eyes! » No doubt you’ve heard about the include a chip with a radical new new three-game Shenmue series next generation of consoles under design that will blow everything as an exclusive for the upcoming development at Microsoft, Sony, else—the PS3’s Cell included— Steambox console.” Bam. Megaton. and the secret Google/Samsung/ completely out of the water. The You heard it here first, folks. Mattel partnership (you did know details are sketchy at this point, but There are other signs that the about that, didn’t you?). And you’ve the tantalizing hints I was able to landscape is changing. A very well- probably already heard that the coax from my sources suggest that known and well-connected game next Xbox is codenamed “the 2012 the new silicon die will include as industry analyst who spoke to me Hyundai Azera,” which multiple many as 27 “Empathic Processing on the condition of anonymity— sources have already confirmed will Units,” which will vibrate in harmony let’s just call him Michael, uh, get better gas mileage and feature with the feelings of the central Microsoft gather and discuss matters Bachter—mentioned an interesting more passenger room than any processor. That will make it by far of mutual importance (I’ve heard it’s fact that underscores the shift. other four-door vehicle in its class. the most powerful video game near a volcano, but come on—that Rovio, the maker of Angry Birds, is But that’s all the amateur level hardware conceived by humankind! just sounds crazy and made up!). in talks to buy Sega. How exciting! stuff—I knew about all that literally Don’t tell anyone I said that! The Sony PlayStation Grand Priest, Imagine what they’d do with those five years ago. Have you heard resplendent in his traditional dark franchises! And that’s nothing to about Sony, though? Do you know Big Upcoming Games purple and black robes, argued that say of the rumor that a whole mess about the new technologies that » That reminds me. I was Halods might “upset the balance” of Zynga executives were spotted their crack team’s been cooking up hanging out in a bar in Redmond, of the industry if it were to come to looking really happy and relaxed in their secret undersea laboratory? Washington when some members pass, and instead he suggested that in the Konami headquarters office Well, I’ll tell you, if you keep it of the U development team each of them spend a lot of money recently. Oh, and let’s not forget to yourself: I have it on really good came in and sat right next to me. developing a console-based MMO that my good buddy was at a secret Naturally, my ears were on super- they would then cancel several years invite-only party at GDC earlier this alert for interesting new tidbits. into the future. They all agreed. year, and personally witnessed The Nintendo guys were muttering Notch make Yoichi Wada an all-cash something about “margaritas could The Winds of Change tender offer to buy Square Enix— be stronger” and “pass me those » But the word on the street is right there on the spot! tortilla chips”–both of which sound that the era of stability brought like code names for new Nintendo about by the all-powerful High Ultimate Rumor Master projects. New Metroid, anyone? Council is drawing to a close. » So what’s the theme that Speaking of games in The winds of change will soon emerges from all this talk? Well, I development, did you know that all blow across the industry again, think it’s obvious: For inside scoops, kinds of stuff gets worked on and upending established order. For nobody’s got me beat! Keep reading then cancelled? Totally true story: A just one example, I had the chance this column and paying attention few years back there was an actual, to catch up with a friend of mine to me for more amazing secret playable Halo game for the Nintendo who just recently caught up with information the big boys don’t want DS! I’m not kidding! It was called an acquaintance of Yu Suzuki. you to know! “Halods.” Guess who nixed that one... “Oh? And what is Suzuki-san up to wrong! It was nixed by Sony, actually, these days?” I asked (the “-san” matthew Wasteland writes about during a session of the Console High indicating that I’m all hip and with games and game development at Council—a regularly held symposium it vis-à-vis Japanese culture!). his blog, Magical Wasteland (www. at a highly secret location where the “Oh, not a whole lot,” he said. “I magicalwasteland.com). email him at Huh? reigning lords of Nintendo, Sony, and heard he’s currently in negotiations [email protected].

56 game developer | May 2012 See where we’re taking Physics next...

Physics Technology for the Future

Havok has always been at the forefront of innovation.

We have been building an arsenal of tools and technology for where the industry is heading next, pushing every element of Havok to new heights.

Contact Havok sales today to learn more about the future of Havok technology.

www.havok.com/sales

Thank you to all our customers and fans who voted for Havok Physics for the 2011 Game Developer Front Line Awards!

Havok™ Technologies Include: Havok Physics • Havok AI • Havok Animation • Havok Behavior • Havok Cloth • Havok Destruction • Havok Script • Havok Vision Engine