FEBRUARY 2003

GAME DEVELOPER MAGAZINE www.gdmag.com 600 Harrison Street, San Francisco, CA 94107 t: 415.947.6000 f: 415.947.6090 Publisher

GAME✎ PLAN Jennifer Pahlka [email protected] LETTER FROM THE EDITOR EDITORIAL Editor-In-Chief Jennifer Olsen [email protected] Managing Editor Everard Strong [email protected] Production Editor Olga Zundel [email protected] Product Review Editor Daniel Huebner [email protected] Art Director Audrey Welch [email protected] Editor-At-Large Chris Hecker [email protected] Contributing Editors Where’s the Party? Jonathan Blow [email protected] Hayden Duvall [email protected] Noah Falstein [email protected] Advisory Board ow is not the best time in those studios for whom they used to Hal Barwood LucasArts Ellen Guon Beeman Monolith the world to be a third- come relatively easy. If you now work for Andy Gavin Naughty Dog Joby Otero Luxoflux party game developer. a small studio and the name printed in Dave Pottinger Whereas in the past the the corner of your paychecks hasn’t George Sanger Big Fat Inc. Harvey Smith Ion Storm natural rhythms of game changed to that of a larger company in Paul Steed Independent Nindustry cycles and fortunes mirrored the past couple of years, you could be in ADVERTISING SALES big-bang–big-crunch cycles of consolida- for a bumpy ride. Director of Sales/Associate Publisher tion and start-ups, the game industry is New this month. This issue features the Michele Sweeney e: [email protected] t: 415.947.6217 Senior Account Manager, Eastern Region & Europe now large enough that a long-range fore- debut of a new editorial property, Game Afton Thatcher e: [email protected] t: 828.350.9392 cast of continued consolidation seems Developer Mobile. So much information Account Manager, Northern California & Southeast Susan Kirby e: [email protected] t: 415.947.6226 more likely. is swirling around the nascent industry of Account Manager, Recruitment Going first-party will provide only games for mobile devices that we’ve set- Raelene Maiben e: [email protected] t: 415.947.6225 Account Manager, Western Region & Asia short-term security for some developers if tled on a newsletter format, with report- Craig Perreault e: [email protected] t: 415.947.6223 the next year sees a major shakeout ing and analysis from Ben Calica, a veter- Account Representative among publishers, as analysts are begin- an game industry writer and analyst. Our Aaron Murawski e: [email protected] t: 415.947.6227 ning to predict will happen. Second par- goal is to cut through the hype with an ADVERTISING PRODUCTION Vice President, Manufacturing Bill Amstutz ties barely exist as such anymore, most independent perspective, while providing Advertising Production Coordinator Kevin Chanel of the prominent ones having been fully the most relevant, up-to-date information Reprints Cindy Zauss t: 909.698.1780 absorbed or cut loose by their publishers and trends in a context that keeps devel- GAMA NETWORK MARKETING in this console cycle. opers’ issues and concerns at the fore- Director of Marketing Greg Kerwin Is the industry headed for a shakeout front. Look for this new feature bi- Senior MarCom Manager Jennifer McLean Marketing Coordinator Scott Lyon in 2003? If there’s one thing to learn monthly, and be sure to let us know what CIRCULATION from games, it’s that very few match-ups kinds of news and information you’d like Group Circulation Director Catherine Flynn don’t end up with winners and losers. to see in future editions by e-mailing us at Circulation Manager Ron Escobar Consolidation has been a consistent fea- [email protected]. Circulation Assistant Ian Hay ture of the maturing of most other enter- The next 12 months will be crucial Game Developer Newsstand Analyst Pam Santoro is BPA approved tainment media, and currently the odds for mobile game developers. In order to SUBSCRIPTION SERVICES don’t seem good that we will see as many carve out a successful role in this mar- For information, order questions, and address changes game publishers at the end of 2003 as ket, game developers must provide their t: 800.250.2429 or 847.647.5928 f: 847.647.5972 e: [email protected] there are today. Those that go down will clients real value in the form of well- INTERNATIONAL LICENSING INFORMATION take their first-party studios with them, executed games, while asserting their Mario Salinas leaving some developers in unfamiliar strategic value in a market where most t: 650.513.4234 f: 650.513.4482 e: [email protected] hands through mergers and acquisitions, business deals remain ad hoc and few CMP MEDIA MANAGEMENT President & CEO Gary Marshall and leaving others out in the cold entire- workable standard models have Executive Vice President & CFO John Day ly. Developers and publishers in all three emerged. Handset manufacturers and Chief Operating Officer Steve Weitzner Chief Information Officer Mike Mikos major markets — Japan, North America, mobile operators seem convincingly President, Technology Solutions Group Robert Faletra and Europe — continue to face unique committed to supporting a market for President, Healthcare Group Vicki Masseria but significant challenges in their respec- games; let’s hope they give developers President, Electronics Group Jeff Patterson President, Specialized Technologies Group Regina Starr Ridley tive economies. enough leverage and incentive to make Senior Vice President, Global Sales & Marketing Bill Howard The hardware makers are holding — good ones. Senior Vice President, HR & Communications Leah Landro Vice President & General Counsel Sandra Grayson and exerting — an increasing amount of Vice President, Creative Technologies Philip Chapnick power, making tycoons out of winners and paupers out of losers. On the devel- oper end of the food chain, budgets are being clamped down and plum projects Jennifer Olsen seem to be harder to come by, even for Editor-In-Chief

4 WWW.GAMANETWORK.COM INDUSTRY WATCH ; KEEPING AN EYE ON THE GAME BIZ | everard strong

No more Mr. Nice Box. Microsoft has no plans to ease up on its efforts to carve out a position in the $10 billion videogame market, rather than cutting its losses and exiting from the venture. Industry analysts expect Microsoft to spend more than $2 billion in the next five years on the Xbox. Microsoft’s Xbox Live broadband service has seen early success, with a reported 150,000 kits sold in the first week of release.

Metis brands Acclaim. Marc Metis has joined Acclaim Entertainment as its new senior vice president of brand. In his developers Stainless Steel Studios have signed a multi-title deal with . position, he will manage Acclaim’s fran- to a $607,000 operating loss for the outside factors, such as increased compe- chises and new brands. same period in 2001. tition from the console industry or other broader economic trends. No rust in Activision deal with PC game sale revenue up for 2002, Stainless Steel. Known for the PC but unit volume down. NPDTechworld Take-Two takes its own Angel. Take strategy title EMPIRE EARTH, Stainless revealed that PC game revenues were up Two has acquired Angel Studios, develop- Steel Studios has signed an exclusive 1.2 percent — from $945 million for the ers of MIDNIGHT CLUB and SMUGGLER’S multi-title, multi-year agreement with first 10 months in 2001 to $956 for that RUN, for an aggregate $28 million in cash Activision. Their first title will be anoth- same time period in 2002 — but the and around 235,000 shares of restricted er historical RTS game. number of units sold fell by 6.2 percent, common stock. Angel Studios will now from 44.4 million in 2001 to 41.6 mil- be known as Rockstar San Diego. NewKidCo posts loss. Due to the lion for those same 10 months in Send all industry and product delayed release of two titles — LITTLE 2002. The research also pointed news to [email protected]. LEAGUE BASEBALL 2002 (GBA) and TOM out that the average selling price & JERRY WAR OF THE WHISKERS (PS2) — of PC games rose from $32 in UPCOMING EVENTS NewKidCo announced an operating loss 2001 to $37 in 2002, but it did not say if of $2.4 million for Q3 2002, compared this price increase caused the lower vol-BCALENDAR ume of unit sales or if there were other, GAME DEVELOPERS THE TOOLBOX CONFERENCE DEVELOPMENT SOFTWARE, HARDWARE, SAN JOSE CONVENTION CENTER P AND OTHER STUFF San Jose, Calif. March 4–8, 2003 Calculate game royalties and pay- adjustable wind effects, seamless LOD Cost: $150–$1,975 outs. PLX Systems introduced a new transitions, and a library of over 90 www.gdconf.com royalty accounting and licensing system trees from 30 core species. GDC MOBILE www.idvinc.com for large game publishers. The product, SAN JOSE CONVENTION CENTER PLXware Right Track Suite San Jose, Calif. (PLXware/RTS), can be used to process New Intel C++ compiler. Intel’s March 4–5, 2003 royalties for authors, artists, com- newest C++ compiler, version 7.0, Cost: $895 posers, producers, and other rights- integrates with Microsoft Visual www.gdcmobile.com holders. www.plxsystems.com Studio, and the Linux version provides GNU compatibility to C++. The com- MILIA (NEW DATES) New tree creation software. IDV piler also include an auto-paralleliza- PALAIS DES FESTIVALS recently released SpeedTreeRT, a tree tion option that automatically looks Cannes, France creation tool for game and visual simu- for opportunities in applications to March 26-28, 2003 lation development. The program deliv- create multiple execution threads. Cost: variable ers low-polygon, realistic trees, with www.intel.com www.milia.com

6 february 2003 | game developer PRODUCT REVIEWS THE SKINNY ON NEW TOOLSXX New Worlds, New Battlefields: Massively Multiplayer Online Game Middleware by mitch ferguson and michael ballbach

reating a massively multi- Game player online game is Servers Landscape game development’s equiv- and Object alent of a moon shot. It’s Location Management 1 expensive, technically dif- ficult,C and can take years to complete, Location and yet everyone wants to give it a try. 2 NPC Processes The technology required is not easy for newcomers to develop. Sensing the need for software that handles a variety of Game Client Client/Server functions, including billing, patching, Messaging Location Game-Specific Gateway support, administration, client messag- 999 Mechanics Dispatcher ing, stable servers, data persistence, and server clusters, several companies are developing middleware libraries and products to ease these hurdles. Butterfly.net and Zona’s Terazona are Database two products that provide nearly com- plete MMOG solutions. Both supply the A simplified version of Butterfly.net and Terazona architecture. skeleton of an MMOG, leaving only the skin of a graphics engine, a billing sys- particular character. This uses a client- servers are the final destination of the tem, and the guts of the actual game server messaging system, which is easily game client messages. The boundaries mechanics to be defined. extensible, reliable, and simple to inte- between these world locations are imple- Taken at the highest level, Butterfly.net grate into a game client. mented in different ways for Butterfly.net and Terazona use the same solution strat- Game servers and their landscape. The and Terazona, but both make information egy. The details are different enough that developer divides up their world into about things on the other sides of these the environment and personality of the fixed sections, with the size of each sec- boundaries available to the game client. developer will clearly suggest one over the tion dependent on how much action is These servers are divided into two other. Their highest-level strategy is not expected to occur there. The actor/object separate halves: the generic landscape appropriate for all future MMOGs, how- positioning and landscape collision for functionality and the game-specific ever, and whether you would use each section is simulated on a single serv- mechanics. The developer writes the Butterfly.net or Terazona depends on if er. There can be multiple sections on a game-specific mechanics to take care of your game fits into their mold. single server, but there cannot be multiple the simple rules such as trading, group- servers for a single section. These section ing, and targeting. In addition, the devel- Common Parts of the High-Level Design MITCH FERGUSON | Mitch was a lead engineer on Maxis’s THE SIMS ONLINE and Jaleco’s LOST CONTINENTS, and now works for a MMO startup in San Francisco called essaging to dispatcher or gateway. Perpetual Entertainment. M Both systems have a simple API to MICHAEL BALLBACH | Mike has been a server engineer at VR1/ Jaleco for six years, connect, validate an account, get avail- was the lead server engineer on Jaleco’s LOST CONTINENTS, and now works for Perpetual able game characters, and connect with a Entertainment. www.gdmag.com 9 XPRODUCT REVIEWS

oper must write a separate process that NPCs and monsters. When it comes to that you define all the state variables that simulates monsters. monster AI, both systems pass the buck. are needed (also in the database), and it Game-specific mechanics. Messages Terazona has NPC servers connect as a persists the player’s data in the clear from the client are forwarded to the privileged game client. Butterfly.net has a when it can. Terazona saves out the play- game-specific functionality in case special separate NPC server for every section. In er data as a block into the database. This physics or movement rules are in play. both cases the developer is in charge of saves you from having to define a table, Butterfly.net has you write this code in how these separate servers are designed but it also prevents you from performing Python, which is interpreted by the built- and coded. There is an API for receiving any simple queries on the player data. in interpreter. Terazona asks that you callbacks and sending messages to the Games that work with these assumptions. link in a shared library to receive these landscape and the game clients. While both systems claim to be very callbacks. Either way, this rule-checking Persistence. The player data structure extensible, in fact both vendors are open code is used to validate game state and (or parts of it) is automatically persisted to deals that include the source. It client messages. by both systems. Butterfly.net requires should then be possible to shoehorn something unique into either of these DEX frameworks, though this could offset the Selecting Networking original reason for using one of these Middleware Horizon, a Glimpse of Tomorrow Monrovia, Calif. middleware solutions in the first place. Most of the last generation of massive- hen considering networking middle- (626) 446-8925 ly multiplayer RPGs would have been ware, things aren’t as straightfor- www.horizongot.com W able to use either of these systems. Their ward as you may think. Networking is not landscapes are stable, the population den- just a numbers game; you can’t look at fill NET Z AND ETERNA sity of various areas is easily predicted, rate and rendering features as you might Quazal and the NPC load isn’t outrageous. Both graphics engines. Networking is more Montreal, Quebec, Canada systems allow the tuning of the perform- closely tied with players rather than the (514) 395-4646 ances characteristics to allow for a faster, game’s features. It’s what allows your www.quazal.com twitch style of game. players to play against each other, and However, many of the coming genera- unlike the game, your players aren’t such SIMINTERNET tion of MMOGs are starting to break the a known or predictable quantity. MÄK Technologies old mold. THE SIMS ONLINE and TABULA — Crosbie Fitch Cambridge, Mass. (617) 876-8085 RASA both will have a very dynamic sys- SELECTED PROVIDERS: www.mak.com tem of landscapes and server processes coming in and out of existence. Also, if TERAZONA LITHTECH DISCOVERY SYSTEM someone decides to try a game with a See page 12 for contact details Lithtech random landscape system or an often modified and persisted landscape, they BUTTERFLY.NET Kirkland, Wash. might have difficulty. See page 12 for contact details (425) 739-1659 www.lithtech.com OPEN SKIES The Details Cybernet Systems TURBINE ENGINE Ann Arbor, Mich. Turbine Entertainment Software erazona. Terazona server compo- www.openskies.net Westwood, Mass. T nents are implemented almost entire- ly in Java. A lot of components make up VAST (781) 407-4000 the server suite, including the authentica- Rebel Arts www.turbinegames.com tion server; these include the administra- Calabasas, Calif. tion component; the NPC servers; the [email protected] NEL GSS, (or Game State Servers); and others. www.rebelarts.com Nevrax London, U.K. Intercomponent communication is real- TERRAPLAY [email protected] ized by an implementation of the Java Terraplay AB www.nevrax.com Message–oriented middleware standard Solna, Sweden provided by ICE Technology. +46 (8) 764 91 00 TWISTED The Game State Servers require the www.terraplay.com Twisted Matrix Labs developer to implement a set of functions www.twistedmatrix.com (their GSAPI, Game State API) in C/C++ and compile them into a DLL or shared

10 february 2003 | game developer PRODUCT REVIEWS XXXXX excellent X XXXX very good XXX average =XXdisappointing X don’t bother object that the server will load and use the developer. The client-server protocol might be too young of a genre to support for game-state validation. The interface to provided is based on TCP, which may be this strategy. A more open-ended toolbox the GSAPI proved clumsy; they give you a unacceptable for many applications, approach is proving useful for graphics header file full of C function definitions though Zona has promised a reliable UDP engines such as Criterion’s Renderware, a and tell you to implement them. This is implementation. Because they only ask a useful model to emulate on the server- O.K., but it would be preferable to small up-front fee in exchange for part of side as well. This would mean a large export a structure of function pointers, or the subscription revenue, Zona’s business collection of smaller functional libraries, implement a class with pure virtual mem- model is attractive to new MMOG devel- separated by a well-documented API. bers and export a factory. opers. This has the extra benefit of Libraries of functions for messaging, per- In Terazona, sections are called regions, increasing the support and library impro- sistence, cluster control, and terrain but they operate much like we described vements developers will receive. quad-trees could be combined into what- the Game State servers. One interesting Butterfly.net. Butterfly.net is more of a ever system a developer might need. thing to note is the fail-over support total solution than Terazona, which is In addition, neither system supports inherent to their design. Since entities not necessarily a good thing. In fact they the concept of an automated generic pool (players or NPCs, generally) are ghosted are proponents of a utility model that of servers. This would entail every server to the necessary neighbor regions, when a allows you to use their server clusters. As being able to perform any function and region server fails, another server will traffic goes up and down, those servers would create a high amount of reliability reinstantiate the region and attempt to get are shared with other products that are with very little human intervention. entity state from servers that had it ghost- also using the utility model. Although Last word. It’s very exciting that the ed. If that fails, it will go back to the very cost efficient, this prospect could be massively multiplayer market is growing database. GSS servers can be brought up frightening to even the most experienced enough to support the creation of these and down while the game is running, MMOG live teams. They don’t prevent types of solutions. MMOGs are fast without restarting other components. you from putting the parts together your- becoming too complex and risky to Terazona does not have its own imple- self on your own systems. develop for very much innovation to mentation of a landscape and does not do The rules management system that the occur, and we are all happier if systems landscape validation for you. server uses to validate game state uses like Terazona and Butterfly.net help alle- Terazona uses the “NPC server as a functions written in Python. This could viate that. Still, neither has a well- trusted client” model. The downside of greatly simplify game authoring and also known MMOG that has used their tech- this model is that sometimes the most helps with thread safety. The Python nology yet. Even so, both are strong complicated logic exists in the NPC interpreter is built into the game server, contenders in this young market. q servers, and their scalability is left up to so performance shouldn’t be a problem. Visit www.gamasutra.com for a longer The Butterfly.net system can have a version of this review. separate NPC server for every landscape TERAZONA XXX ] section (which they call locales). If you BUTTERFLY.NET have an NPC-heavy game, this should XXX ] STATS help with the distribution of CPU load. ZONA (The NPC server is not written in STATS Mountain View, Calif. Python.) However, human intervention is BUTTERFLY.NET (650) 964-1133 required should these NPC servers or Martinsburg, W. V. www.zona.net locale servers crash. Butterfly.net has no (304) 260-9520 PRICE automated server management that can www.butterfly.net Depends on project and studio size. restart processes or bring up another PRICE from a pool of servers. Depends on project and studio size. PROS The suggested operating system is 1. Portability. Linux with a DB2, Oracle, or Postgres PROS 2. Automated game state. database, but if you were required to use 1. Utility model. 3. Flexible environment model (space, a different operating system or database, 2. Almost a complete solution. water, ground). Butterfly.net claims that much of the sys- 3. Persistent data is stored in the clear. tem can be ported. Tools for porting ter- CONS rain models from Maya or 3DS Max CONS 1. Persistent data is stored in blob format. into Butterfly.net’s Landscape quad-tree 1. Utility model. 2. Reliable UDP still in development. are also provided. 2. Lack of automated disaster recovery. 3. Regions are statically defined. What would we prefer? Although total 3. Locales are statically defined. solutions have their place, MMOGs

12 february 2003 | game developer PROFILES TALKING TO PEOPLE WHO MAKE A DIFFERENCE | everard strong

Matt Toschlog’s Descent into Outrage

ince 1986, Matt Toschlog has ible as the game design and programming unfolds? enjoyed a varied life within the MT. I think the creative process is affected by game development industry. the size of the games. If a company is going to Starting his journey at spend 5 or 10 or 20 million dollars on a game, Sublogic, Matt continued they’re going to want to keep close tabs on where Sthrough Looking Glass Technologies, to the money is going. You’ve got to be a lot more Parallax Software (which he co-founded), careful when you’re spending that kind of money. and is now Studio Director for Outrage GD. What role do you see middleware playing in Games, a company he splintered off from the future of game development? Parallax and was president of until its recent MT. Middleware is starting to be a real factor. acquisition by THQ. One of his most These days, most consumers don’t care as much notable contributions to videogame history about technology. Developers realize that and so far includes the DESCENT series. want to focus on content; using stable develop- With what looks to be an ongoing trend Outrage’s Matt Toschlog. ment systems make that easier. We’ve always of big publishers and media conglomerates written out own engines here, and will probably acquiring once-independent developers, we asked Matt — continue to do so, but we’re placing a high premium on writing among other things — to give us an insight on what things are reusable code. like after the Big Change. GD. You served as chairman for the International Game Game Developer. Do you think the current trend of third-party Developer’s Association (IGDA) for a couple of years. How do you developers being acquired by publishers bodes well or badly for see the organization’s goals compared to when you came on board? the industry? MT. I think the goals of the IGDA have remained pretty con- Matt Toschlog. It’s a good thing in that it allows third-party stant — to be the voice of the professional developer and to developers to keep making games. As games and team sizes and provide support to the people making games. What’s changed budgets have grown, it’s become increasingly hard for inde- — steadily, though sometimes slowly — is our ability to fulfill pendent developers to survive. The stakes are too high, and those roles. We’ve been building membership, establishing pro- publishers are hesitant to spend the money required to make a grams, making contacts, and generally creating a foundation. great game if they don’t have more control over the process. Many of us who have been with the IGDA for the last few GD. How do you see your work changing from the days of Parallax years got involved because we had a vision of where the associ- to the present? Has working for THQ changed your work behavior in ation could be down the road. We’re still looking toward the any way? future, but we’ve already come a long way. MT. The biggest change is that I don’t program anymore. GD. Do you miss those garage days when you first started creat- When we wrote DESCENT I was one of three principal program- ing DESCENT? Do you ever wish for a return to those simpler days? mers. Now I’m a full-time manager. Another major change is MT. Oh, yeah. It was great being hungry and lean like that. that our projects are much bigger. At the end of DESCENT we Sometimes we talk about doing a GBA game to try and re-cre- had eight people working on the game; our current project, ate that atmosphere. ALTER ECHO, now has about 25. That means a lot more manage- GD. Looking back, what elements made the DESCENT series the ment and coordination, and a much less intimate environment. success that it was? Do you think those elements came together by At the time we were acquired, we’d been working on ALTER choice or chance? ECHO for THQ for about a year. When our other publisher ran MT. DESCENT offered the classic game mechanic of “shoot all into trouble, it was natural for THQ to step in. We were in the the bad guys” in a way that no one had seen before. At the time, middle of our E3 crunch when the acquisition happened, and 3D games were still somewhat new, and DESCENT was the most we just kept on working. We had to shift some people around 3D of them all. Piloting a ship through those crazy tunnels pro- when our other project was cancelled, but for most people, vided a challenge that rewarded those who could master it. Outrage isn’t much different now than before THQ came in. I think success depends a lot of chance. One thing I’ve learned GD. Do you think the creative process of making a game is is that no matter how hard you work and how well you plan, affected by these acquisitions? Is there more paperwork, strategy, there’s still a huge amount of luck that determines whether your and playability planning going into the making of a game in a big game is fun or if the customers will care. If we really understood company than in smaller ones, where things can be a lot more flex- how to make hit games, then every game would be a hit. q

14 february 2003 | game developer INNER PRODUCT jonathan blow Clustering

or the past two months I’ve been discussing profil- general, we are faced with a clustering problem: given a bunch ing. I started out by decrying the lack of good pro- of vectors containing timing data, we want to arrange the vec- filing tools for games; I talked about the difference tors into groups, where the centroid of each group can be used between a “batch profiler,” like VTune or the as a summary. CodeWarrior profiler, and an “interactive profiler,” Clustering is a common task in computer science and engineer- Flike the ones we usually build into our games; I then proceeded ing applications, and many algorithms have been developed, for to make a big wish list of features that a good interactive pro- example so-called k-means clustering. Here’s how k-means filer might provide. works: First, randomly partition your input into a set of initial Chief among those features was the ability to abstract the pro- clusters. Find the centroid of each cluster. These clusters obvious- gram’s timing measurements into higher-level “behaviors” and to ly won’t be perfect yet, so to fix that problem, you iterate over do some analysis regarding the frequency and consistency of each input vector and reassign it to the cluster whose centroid is these behaviors. Modern games don’t exhibit one consistent pat- nearest. Now recompute the centroids. Repeat this reassignment tern of resource usage. At one time they might be fill-rate limited process until the results converge, and you perform an entire pass by the graphics card, at another they’ll be slowed down by an without changing anything. abundance of pathfinding and physics. A tool that helps us visu- The name “k-means” indicates that there are some number of alize these patterns would be valuable. clusters (k of them), and that we are representing each cluster by its center (by the mean of the input values). Finding a Clustering Method Unfortunately, k-means and most other clustering methods are batch algorithms. They require you to have all the vectors avail- et’s look at Table 1, which I introduced in last month’s col- able at once and to access those vectors randomly. Since I want L umn (“Interactive Profiling, Part 2: Behavior Analysis,” an interactive profiler, which can classify behaviors on the fly January 2003). Here we see three behaviors: behavior A is ren- during a single program run, these algorithms are unsuitable. dering-heavy, B is physics-heavy, and C is AI-heavy. Imagine the numbers in the table came from a profiling run of a game in Nonbatch Clustering progress; as each frame is processed, we get a new set of timing numbers. Now suppose that the next frame is measured, produc- here’s a special term for clustering algorithms that can handle ing the results: rendering 72%, physics_sim 17%, ai_pathfind 11%. T streaming input: they are called “online clustering algo- Those numbers are very much like behavior A. Even though the rithms” For example, there’s an “online k-means.” numbers do not match exactly, we would expect the profiling Online k-means works like this: Start with k cluster centers tool to classify this frame as exhibiting behavior A. arbitrarily distributed through space. For each input vector you That’s not hard to implement when you have a predefined want to classify, find the closest cluster point, classify the vector list of behaviors like Table 1. It’s harder when you start from into that cluster, and move the cluster point closer to that vector. scratch with no preconceived notions of program behavior. In (See “Radial Basis Function Learning” in For More Information.) Online k-means really is an incremental version of batch k- TABLE 1. The CPU usage profiles for three different behaviors A, means, but making the algorithm incremental is a big change, so B, and C, measuring time spent in three different program sections: the explanations of the two versions sound fairly different. “rendering,” “physics_sim,” and “ai_pathfind.” How do you decide how many clusters are necessary to repre- sent your data stream accurately? There are some heuristics that Behavior: A B C involve removing cluster points when you have too many (some

rendering 75% 25% 25% JONATHAN BLOW I Jonathan Blow physics_sim 15% 65% 15% ([email protected]) really likes the way bedrooms in Korea have heated floors. You just ai_pathfind 10% 10% 60% walk around in your socks and it’s all warm.

16 february 2003 | game developer INNER PRODUCT

of them are lying idle, never attracting input) and adding cluster SOM. We then move that closest-match point toward the posi- points when you have too few (when the radius of space attrib- tion represented by the incoming frame, just like online k-means. uted to a particular cluster point is too large). Unfortunately, But the SOM does something extra: in addition to giving the these heuristics all require some kind of a priori knowledge of the clusters positions in the input space, it treats them as having posi- data: you need to know how many samples is the minimum for tions in another space also. The clusters have fixed positions considering a point to represent a valid cluster, or how spatially along a regular grid, in what I will call “neighbor space.” When- large a good cluster is likely to be. In other words, you need a ever you move a cluster center toward an input in input space, good guess about the duration and scale of your data. you also look up its neighbors in neighbor space and move those But we don’t want to have to guess at that stuff in order to get neighbors through input space in the same direction, thought not a good profile. Really, we want the computer to figure out by as much. appropriate values from context. And those values may need to This neighbor space is usually implemented just by storing the change. If we are running our game for five minutes and see cluster data in a 2D array and by iterating across nearby cells in some frames that spend 70 percent rendering, 75 percent render- that array. You can think of this as applying a “move filter” to ing, or 80 percent rendering, we probably want to draw distinc- the array, where the filter kernel is high in the center but tapers tions between these and call them three different behaviors. But off with an increasing radius. then if we walk into another room in the game and we start see- After many such iterations, the clusters in input space will con- ing a lot of behaviors like B and C from Table 1, then perhaps all verge, just like k-means. The size of the move filter shrinks over of the previous frames should be categorized as A. time as the clusters become settled, until it becomes a point. The Clearly, some kind of hierarchical clustering is necessary. It’s “self-organizing” part of SOM represents the idea that, because probably best to let the user decide at which detail level to view we applied that move filter in neighborhood space, we were con- the abstractions; we should maintain a tree of behaviors from stantly influencing neighboring array cells to take on similar val- which the user selects a particular view. Unfortunately, the typical ues. So after we are done processing our inputs, we not only get methods, such as hierarchical agglomerative clustering, tend to be cluster centers, but the clusters are arranged in the 2D grid data-intensive batch processes. according to similarity. We can generate a 2D display where simi- lar clusters are drawn near each other, which can help us under- Visualization stand the data. This is a quick-and-dirty description of the SOM, with some here’s one other problem we need to solve for effective visu- simplifications. For reasons of isotropy, like we saw when look- T alization of our profiling data. In a full-sized game, there ing at networking (“Transmitting Vectors,” July 2002), it’s usual- may be a few hundred different subareas of the program for ly better to use a hexagonal tiling than a rectangular grid. Also, which we get profiling data. In clustering terms, we’re clustering the SOM grid can consist of any number of dimensions, but two data points that have a few hundred dimensions each. Suppose dimensions is the most common choice, since a map with more we manage to do this, and we get a result with 15 different dimensions is harder to visualize. Finally, initialization of the behavior clusters. Those clusters are still points in a high-dimen- SOM is best done using some attributes of the training data, sional space. We can list them, like in Table 1, but we’d like bet- since a random spread in a high-dimensional space is likely to ter methods of visualization. Maybe we want to project these produce points that are not near anything in your data set. In this clusters somehow onto a 2D chart and have the clusters that are case, the only way array elements are used is when they get most alike placed near each other on that chart. Maybe the two dragged into use by a neighbor, so it takes a while before the dimensions of the chart can even mean something, related to the SOM is working at reasonable effectiveness. two biggest ways in which the behaviors tend to vary. For some references that explain self-organizing maps in There are some well-known methods for projecting multidi- greater detail, see For More Information. mensional data onto a 2-plane. These methods tend to fall into two categories: ad hoc, producing poor results; and complicated, Adapting the SOM to Real-Time slow, and scary. There’s another alternative, though: a hybrid Tasks kind of algorithm that clusters and projects simultaneously, and does a good job of both. he SOM is a batch algorithm for two reasons. For one, to T produce good results, the algorithm wants a randomly The Self-Organizing Map ordered sampling of the data. Imagine first presenting all your samples of behavior A, then presenting an equal number of sam- n this month’s sample code, I used this hybrid algorithm, the ples of behavior B, which happens to land in a cluster neighbor- I Kohonen self-organizing map (SOM) to perform the classifica- ing A, so the movement filter for B wipes out most of A — this tion of CPU behavior. The SOM is an array of points in the input process will not produce desirable results. space; all the points are initialized to random values. For each The second reason the SOM is a batch algorithm is that it incoming frame of profiling data, we find the closest point in the wants to have a global notion of time. Early in training, the

18 february 2003 | game developer INNER PRODUCT

movement filter is very large; over time it shrinks, until toward between them, and that is the longest axis of the spread. Then I the end of training it’s almost a point. But with live input data, remove that dimension from the warm-up data by subtracting we don’t know how long we will be running, and we may wish each point’s projection along that axis. Then I choose another to run indefinitely. So I made some modifications to the SOM random point, find the warm-up point furthest from that one, algorithm to adapt it for real-time data. These modifications are and that is the second-longest axis of the spread. I then initialize somewhat questionable, since I have not analyzed them deeply, the SOM entries to points evenly spaced across the plane defined and I can already think of some ways they may be problematic. by these two axes, centered on the mean. If the axes are degener- But to a first approximation they work O.K. ate within some numerical threshold, then I seed the SOM with random offsets from the mean. Shrinking the Filter Sample Code ather than using a global time, I introduced the idea of R “local convergence,” which is a value between 0 and 1. The his month’s sample code (available at www.gdmag.com) is an filter size centered around any given array cell depends on that T updated version of the toy game world that I described in my cell’s local convergence: a convergence of 0 means a big filter, 1 December column (“Interactive Profiling, Part 1”). In addition to means a small filter. AI-heavy and entity-render-heavy behavior modes, there’s now a Whenever a point in the SOM is generally staying in the same sun in the sky. When you look toward the sun, ridiculous place, its convergence value increases. If it starts getting yanked amounts of lens flare are drawn, bogging the system down. someplace else, its convergence value decreases. I use the IIR fil- As you move around the game world, you’ll cause various ters I described in “Toward Better Scripting, Part 1” (October behaviors that are mixtures of AI, entity, and lens flare. 2002) to track the trend of a point’s motion. If many training Whenever mouselook is enabled so that you can move around, steps confirm the positions of some region of the map, that the game system takes each frame’s profiling data and classifies region will no longer feel the need to upset its neighbors. But if it using an SOM. When mouselook is disabled and the SOM is an area of the map keeps being upset, its “local time” will go paused, you can move the mouse pointer over the SOM’s dis- backward and it will jostle its neighbors in a bid to create more play and look at the behaviors it has detected. space for the competing values. There are a number of visualizations enabled, which are This “hardening of the map” does to some extent alleviate the explained in the README. These visualizations aren’t as intu- “B wipes out A” problem but does not solve it. To solve it, I itive as I’d like, but after a bit of exposure you get used to them would implement a hierarchical series of maps, with maps that and can infer interesting relationships about the clusters by look- change quickly, feeding data into maps that change more slowly. ing at colored diagrams. I haven’t had time to try this yet, but I plan to soon. One further problem is that there’s no way for the SOM to Future Work grow. To achieve reasonable results, you need to construct it with enough initial nodes. But I believe hierarchical maps would solve o far this work has been pretty experimental, but I think it this problem as well. S shows some promise. I am going to try some hierarchical versions of the SOM and online k-means and will report on Initialization their effectiveness in a future column. In the meantime, next month I’ll go back to a more conventional topic: creating bet- wanted a good way to initialize the SOM. As I mentioned ear- ter-looking graphics. q I lier, random initialization is not so good. The way it’s usually done for batch data is to perform principal component analysis on all the input, find the two non-axis-aligned dimensions along FOR MORE INFORMATION which it has the greatest spread, and initialize the SOM array Kohonen, Teuvo. “The Self-Organizing Map (SOM)” entries to cover that spread evenly. In other words, you find the www.cis.hut.fi/projects/somtoolbox/theory/somalgorithm.shtml covariance of the data with respect to the mean, then pick the two longest axes of the multidimensional ellipsoid. This process Moore, Andrew W. "K-Means and Hierarchical Clustering” is just an n-dimensional version of what I demonstrated in “My www.cs.cmu.edu/~awm/tutorials/kmeans09.pdf Friend, The Covariance Body” (September 2002). Since I don’t want to wait for the whole batch of input data, I Palmeri, Paolo. “Radial Basis Function Learning” collect 10 frames’ worth of “warm-up points” before the SOM http://miles.cnuce.cnr.it/~palmeri/datam/articles/okmc.ps.gz kicks into training mode. Then, because I didn’t want to write n- dimensional matrix decomposition code, I approximate the Vesanto, Juha, Johan Kimberg, and others. “Enhancing SOM-based Data spread as follows: First I pick a random warm-up point, then I Visualization” www.cis.hut.fi/projects/ide/publications/html/iizuka98 find the warm-up point that is furthest from it. I find the vector

20 february 2003 | game developer ARTIST’S VIEW hayden duvall

What’s Wrong with Our Games? Part 2

have heard character cre- many ation, this month times, I’ll look at some expressed additional areas in a variety in game visuals Iof ways, that the that often lose success of a something in the game lies firmly translation from with its execu- page to screen. tion rather than in its design. It is Lighting a fact that many ideas and their initial design documents put forward what seems to be an interesting and exciting ne indication of concept, but by the time O how videogame the game finds itself on the shelf, it technology is improving is the quality has turned into nothing more than a late meaningfully onto the of the lighting available to designers. mediocre space-filler that will find a home screen to have any chance of being even Unfortunately, many games still view in the bargain bins within the month. close to the truth. If you run such a doc- lighting as number 138 on their list of I’m sure that any experienced devel- ument through a truth filter, many such things to pay close attention to, and as a oper reading my column could write me sentences would read, “Set in a routine- result, the energy developers spend creat- a list as long as my arm of the reasons ly realized fantasy cliché, made to ing a world of detail and quality is wast- why a finished game differs substantial- appear large by repeating the same ed for many games. They pay little atten- ly from the original design spec and geometry over 100 times.” tion to lighting, or decide not to invest why, in general terms, evolution of ideas Continuing the theme I began in last much time in their light-related technolo- through the development process is month’s column (“What’s Wrong with gy. Nasty lighting can hammer even a always a good thing. Implementation, Our Games? Part 1,” January 2003), in well-constructed scene to death, whereas rather than initial ideas, usually which I covered design, animation, and high-quality lighting will bring a scene to accounts for the eventual quality of a game when it is released. HAYDEN DUVALL I Hayden started work in 1987, creating There is no area more relevant to the airbrushed artwork for the games industry. Over the next eight years, discussion of implementation than that

Illustration by Dominic Bugatto Illustration Hayden continued as a freelance artist and lectured in psychology at of a game’s visuals. The irrelevant lan- Perth College in Scotland. Hayden now lives in Bristol, England, with guage of a pitch document that promis- his wife, Leah, and their four children, where he is lead artist at es a game “set in richly detailed fantasy Confounding Factor. world of epic proportions” has to trans-

22 february 2003 | game developer ARTIST’S VIEW

life. Attempting to re-create the real- The downside is that texture baking from applying a planar map across faces world behavior of light in a 3D scene has can destroy texture memory in no time that are nearly perpendicular to the UV led to a whole variety of lighting solu- flat. The price to pay for what is effec- plane is one example of careless or hur- tions over the years. tively light distribution information, ried mapping that looks very ugly. Initially, severe color-palette restric- customized for each surface, is that the Seams that show painfully obvious tions made the idea of lighting irrele- cost to memory can be massive in scenes joins between mapped sections can also vant, but as we moved through the 8-bit with a huge amount of surfaces. Con- stand out, especially if the geometry is and then the 16-bit era, the simulation densing multiple light maps into more large, like a rock face for example. With of lighting effects allowed our early 3D economic single textures, applying low- many complex objects, especially organ- worlds to appear more solid. Once true resolution light maps on top of regular ic shapes, it’s all but impossible to map 3D began to appear, it wasn’t long texturing, and careful level design that the entire surface with a continuous, before basic light sourcing was a com- takes these limitations into account can seam-free texture, so some jiggery-pok- mon feature. Today, artists ery is often needed to reduce can apply just about any the appearance of problems. high-end lighting solution Heavy-handed application Many designers overlook the to some degree in a gaming option of placing joins in the context, and the question texturing where they will be of which solution to use of just about anything, the least visible. This may seem then depends on cost ver- like an obvious solution, but sus benefit and which plat- regardless of how nice it is, it’s important to remember form you’re dealing with. that “the least visible” means Up until recently, the can ultimately do more from the player’s perspective, most advanced of these not that of the artist, so devel- solutions have been excep- harm than good. opers must play through the tionally slow. Unless you sections in question carefully to had access to a render farm assess the least visible areas for the size of Alaska, the mas- these scenes. sive amount of numbers being crunched all make texture baking more usable. Another crude but nonetheless worth- manifested themselves in single-frame While the cost is high, the quality of the while problem-masking technique is render times that were measured in end result can be worth it. using textures that naturally minimize weeks rather than minutes. the appearance of seams. Such textures Artists now have the tools and the tech- Textures are those that are even in terms of nology to do more than place colored detail, color, and contrast. Ideally, a sys- point lights around a scene that they hope he easiest targets for game artists to tem that obscures unavoidable seams, will do the job. The approximation of real T pick on when examining the work of such as multitexturing, works better, as light distribution is now more accessible their peers are most probably the textures long as the artist has the time and the within the limitations of a game world. and the texturing. Many games now have inclination to take advantage of this Designers can now use texture baking to extremely large worlds that can be method. incorporate the subtleties of radiosity, explored in fairly close detail, and as a Specular and bump mapping. Specular global illumination, and lighting from result, it is hard to find a game that has and bump mapping technologies are not high-dynamic-range images. faultless texture work across its entirety. new, but they are only now becoming Texture baking has been around for a That said, there are a few texture prob- practical in any real sense for main- while, but the newest iteration of many lems that appear time and again in games: stream gaming. Still, heavy-handed high-end renderers now brings together Bad mapping. Bad mapping can take application of just about anything, the most advanced lighting solutions many forms, some worse than others, regardless of how nice it is, can ulti- with the ability to render this light and usually indicates either a lack of time mately do more harm than good. Both information to textures. Whether the and resources, or some level of apathy on bump mapping and specular effects have light information is rendered into a sep- the part of the offending artist. the ability to introduce additional and arate layer to be added on top of more Faced with a significantly large dynamically responsive material proper- traditional texturing or added directly amount of geometry to texture in a given ties to surfaces within your game. But if to the textures themselves, the results time, it is understandable that inconsis- they are applied with no concept of one can achieve are far more realistic. tencies should appear. Texture streaking restraint, they will end up being intru-

24 february 2003 | game developer sive gimmicks that turn a game’s visuals texturing geometry in isolation. Geometry into an unsuccessful mess. Environment mapping. The use of an Coupled with dynamic light and shad- environment map, particularly in con- ow that polygon counts are less of owing, bump mapping is a particularly junction with other layers of texturing N an issue than they were a few years useful way to achieve the appearance of in order to give the appearance that a ago, such problems as having to use five- fine surface details without using actual surface is reflective, has become one of sided cylinders or being forced to resort to geometry. But many designers are drawn the most abused effects of recent times. triangular cross-sections everywhere don’t into making just about everything bumpy, It is a toy that needs to be put back into exert the pressure they once did. Building or at least into adding bumps where they its box and only brought out when it environments that look good isn’t sudden- have no real need to be. Likewise, specu- genuinely fits. ly a piece of cake just because we can be a lar maps can seduce artists into finding Especially bad offenders combine little freer with the triangles, but the prob- ways to incorporate specular effects on environment maps with such effects as lems at present tend to focus more on every object they create, not a good idea worn and damaged metal surfaces, so such elements as texturing, lighting, or in most circumstances. that a material that should be relatively general design issues. Bottom line: Restraint is key, as the unreflective ends up looking like it has In this respect, it isn’t the quality of the player’s attention is drawn to the areas been coated with a very thick layer of geometry that is a problem; it often has where the techniques I’ve just mentioned varnish and buffed to a mirrorlike shine. more to do with the variety of geometry are used judiciously, rather than to excess. Here again, restraint is key. used, particularly when it comes to interi- Straight from scan. Any game that is or spaces. It’s very easy to decide that the attempting a certain level of realism is Cutscenes corridors of a space station would, in real- likely to use photographic sources in its ity, all be pretty much identical, so why texture generation. Problems arise when he art of creating the perfect cutscene not just take a section of geometry that the initial scan or digital photo finds its T is a large enough topic to warrant sev- you are happy with and duplicate it as way into the game without any signifi- eral columns, but when asking others many times as necessary? Likewise, the cant processing. The end result of what they think most often goes wrong sewers under the castle are all made from unprocessed images is usually textures with cutscenes in a game, the almost uni- the same brick, so why build 10 variations that feel out of place or flat. As most tex- versal answer is that they are too long. of the same thing? tures need to be balanced for brightness, The debate about what the role of the Repetition is a great time saver, and contrast, and other properties to make cutscene actually should be in a game has when you use it with care it can be vir- them consistent with the game world, several contrasting viewpoints. Still, no tually invisible to the player. On the neglecting to process images will usually matter how cutscenes are presented, other hand, without enough unique make them stand out unnecessarily. whether in-engine, 100 percent preren- geometry or some other form of land Scaling gone wrong. Another common dered, partially interactive, or whatever, marking, a player can get lost quite easi- problem arises when textures are com- the bottom line should always be: do ly. Navigating an area may seem simple pletely out of proportion with the envi- they improve the player’s experience, or to the artist who created it, but often ronment that they are supposed to be do they just get in the way of enjoying the modeler’s perspective is completely part of. This problem is especially com- the game? different from the player’s restricted mon in larger areas, where a texture is This can be a difficult question to viewpoint. For the player, figuring out likely to be repeated many times, and answer, as my idea of a great cutscene how an area is laid out, even somewhere artists sometimes cut down the number could be the opposite of what you are that is relatively uncomplicated, may of repeats by scaling a texture up. looking for. However, because lots of peo- prove to be quite a task. The problem becomes most apparent ple feel that long cutscenes intrude on the Aside from the possibility of becom- when a character (or player, if it’s third- experience of playing a game, it would be ing disoriented, a player can also bore person) is in close proximity to the a good idea to look at ways of reducing quickly if the visuals become overly offending texture, where it is possible to cutscene length where possible without monotonous. The artist has failed in his see that the heads of the nails in the compromising story or atmosphere. There or her task if players switch off because wooden planks are actually the size of is a limit to how much information a they are tired of wandering around loca- watermelons. This kind of scaling mis- player can retain from a cutscene, so if it tions that all seem to be essentially the match is easy enough to avoid, but it does contain things they need to remem- same thing. requires the artist concerned to pay ber, then dragging it on will make that In the end, we can’t expect our games close attention once again to the player’s more difficult. to be 100 percent perfect in every experience, as opposed to building and respect. But in the quest for greatness, www.gdmag.com 25 SOUND PRINCIPLES simon amarasingham

Music That Won’t Give You a Rash: Taking the Irritation out of Repetition

o matter how much you and groove may be pleasing, the melody love your favorite piece of is what the listener actually remembers. music, if you listen to it In a game, this can be bad — every time enough times, the repeti- that theme pops up, the player notices it. tion becomes annoying. Themes are built using a structure. NIn-game music is subject to this kind of John Williams’ opening theme for Star repetition, so how do you avoid irritat- Wars uses a single rhythmic motif repeat- ing listeners? Given that repeating ele- order to “understand” it. An extreme ed four times with a variation on the last ments is a fundamental part of composi- example of such a structure might be: repetition. It’s brilliantly crafted and high- tion, let’s look at how the game’s audio A-B-C-D-E ly memorable — too memorable, in fact, engine affects the fundamentals. A music professor would give such a to be heard many times in succession. Repetition in the structure. Music is piece an F , because in theory it would Many of the preceding suggestions typically structured in patterns. For lack coherency. However, when the game regarding the structure of a piece of music example: engine repeats the piece over and over can be applied to creating themes. For A-B-A-B-C-B while you’re killing monsters, the player example, you could try increasing the denotes a typical rock-song structure, eventually becomes familiar with all five variety in the motifs that make up the where A is the verse, B is the chorus, parts. It would take considerably more theme. However, we’d like to make the and C is the bridge. Notice that B actu- repetitions than the rock-song example case for not using full themes at all in ally takes up half the piece — this is to get to know this piece, which is exact- games. Rather than making a coherent done purposefully so by the end of the ly what we want. musical sentence using short motifs, try piece the listener should be able to hum For most composers, it’s quite hard to leaving the pieces unglued, peppering your the chorus. write something completely lacking in piece with smaller fragments instead. By Even though the point is to hammer repetition. They have a deeply ingrained varying these motifs so that you seldom home the chorus, there’s a reason the instinct to use repetition, so it’s better to hear the same one twice, you can achieve song doesn’t simply feature the chorus try easing into it rather than giving it up musical coherency without hitting the lis- all the way through. The contrast of cold turkey. If we took the rock-song tener over the head repeatedly with a sin- other musical sections is required the to structure, wrote an additional D section, gle attention-grabbing melody. avoid boring the listener. Although there and varied one of the A sections to give: The final mix. The result of all this are examples of 20th century music that A-B-A-D-C-B reduced repetition will be music that plays push the envelope in the realms of con- we’d have a tune that is much more well over the course of playing a game but trast and repetition, for the most part a loop-friendly without being completely doesn’t stand up very well to a single lis- good balance is required. incoherent. ten. So if you’re presenting music tracks But what happens to this balance Repetition in the melody. Just as the use independently of the game, such as on a when a game’s audio engine loops a of structure needs to be reconsidered in CD, you may need to create different ver- piece of music? Our example structure the context of in-game repetition, so does sions of the pieces that incorporate a more would end up looking like this: that of melody. A melody or theme is the usual level of repetition. We never prom- A-B-A-B-C-B — A-B-A-B-C-B — A-B- most commonly remembered element of ised that better game music was going to A-B-C-B — and so on. a piece of music. While the arrangement be easy. q In just three loops we’ve heard B nine times and we’re already sick of it. SIMON AMARASINGHAM I Simon is a composer/sound designer However, we can remedy this situation with dSonic (www.dsonicaudio.com), a company that creates music by breaking some of the traditional and audio specifically for the game industry. Kemal Amarasingham rules of composition. and Vincent Stefanelli, who are also founding partners of dSonic, The trick is to write with the structural were contributors and consultants for this article. dSonic’s past cred- repetition reduced to the point where the its include SYSTEM SHOCK 2, ARX FATALIS, and MASTERS OF ORION 3. piece needs to be heard many times in

26 february 2003 | game developer BETTER BY DESIGN noah falstein

Good Points Don’t Go Down

One of my favorite jobs as a freelance always some bonus, but one that designer/producer is doing game/studio increases geometrically the faster the reviews for publishers. Working on a player finishes. Second, in some shoot- design on my own can be an isolating ing games when the player hits a team experience, so I relish the opportunity to member or non-combatant, they turn on get out in the world to visit a develop- him in anger, and points are deducted. ment studio and essentially do a tune-up, It’s just as easy, and more fun for the advising them on business plan, company player, to award a bonus for not hitting or game team structure, and tools and them, or even award the player with techniques to manage their games to extra help or gifts as appropriate from completion. But my favorite part of that The game CHASE awards points for success gratefully spared civilians. experience is tinkering with the design, rather than taking them away for failure. Tidbits from the e-mailbox. Dave looking for ways to help them improve Grossman was one of many who respond- the game while minimizing production the character. There are cases where it ed to the “Godfather Paradox” (Novem- costs and risks. can be a good thing to take things away ber 2002) column. He offers some rules I’ve found the growing body of game from the player — a villain in a game that I’ll paraphrase for brevity: rules very helpful in this process. I often who is out to destroy the world is well • Have a realistic budget: Don’t assume switch roles from sage to scholar as some- and good, but when he takes away your it can be done for less than the original. one makes a suggestion about the game character’s best magic sword, he’s really • Cut some good stuff: Make room for design, and I think, “Rule!” and jot it evil! The caveat is that in defeating (or at new innovation by resisting the tempta- down. One such moment came during a least challenging) that villain it becomes tion to rehash all the good bits of the meeting at Firetoad Software in Calgary, possible to win back whatever you have original. reminding me of one of the very first rules lost. This technique has been used effec- • Pretend it’s not a sequel: Challenge I learned in the arcade business. tively in games as far back as the thief in yourself to think of it as an original ZORK, or the temporary loss of coins or game. The Rule: Don’t take away points or other rings in many platform games, or as Like a teenager moving out of the hard-won possessions from the player. recently as Daxter’s transformation in house, says Dave, the sequel must find JAK & DAXTER. its own path. His credentials include t’s often tempting to design a Examples and counterexamples. Let’s DAY OF THE TENTACLE, an excellent penalty for the player to empha- consider two frequent violations of this example of his rules. size failure at a task or to dis- rule. First, we have racing games that Finally, Ray Mazza, a graduate student courage the player from attempt- use timers to deduct from the score at Carnegie Mellon University, suggests ing to do something in the game when the player is slow to finish, some- using popular musical themes from origi- youI don’t like. But failing and being dis- times to the extent that it is impossible nal games and building on them in the couraged just aren’t fun. There’s always — dare I say pointless? — to try to fin- sequels, and similarly using some recog- a way to turn it around and reward the ish the race. Why not, as in the new nizable territory as a part of the new, larg- player for success, or encourage them to Xbox game CHASE from I-Imagine, give er world. That reminded me of how nicely do what you want. a bonus when the player finishes early? DIABLO II did both of those things by The Rule’s domain. This rule applies to Or use a countdown bonus timer that including the town of Tristam along with all games but is particularly important counts more slowly with time, so there’s its signature musical theme. q where points are awarded, as in sports games. NOAH FALSTEIN | Noah is a 22-year veteran of the game Rules that it trumps. This rule should industry. You can find a list of his credits and other information at trump the temptation to take things away www.theinspiracy.com. If you’re an experienced game designer inter- from the player for reasons of realism or ested in contributing to The 400 Project, please e-mail Noah at to add excitement. [email protected] (include your game design background) for Rules that it is trumped by. Make villain more information about how to submit rules. and opponents evil to the player, not just

28 february 2003 | game developer CHARACTER ANIMATION john lally

JOHN LALLY | John is the animation technical director at Insomniac Games. In addi- tion to RATCHET & CLANK, John has animated characters for SPYRO 2 and 3 and for several Squaresoft Games. He is currently working on Insomniac’s newest Playstation 2 project and can be contacted at jpl@insomni- acgames.com.

30 february 2003 | game developer Giving Life to RATCHET& Enabling Complex Character CLANK Animations by Streamlining Processes

t first, we were thrilled. As Testing with Prototypes: of the character’s height, proportions, character animators, we Why and How and posture. couldn’t have asked for a For the most part, our prototypes had better project. There were art of achieving our goal of tying extremely simple skeletons: all geometric two heroes, dozens of ene- P our characters closely to their envi- components were assigned to a single Amies, scores of NPCs, and more than ronments and gameplay meant prototyp- bone with no special deformation. 100 character-driven cutscenes. Enthusi- ing low-resolution versions of our char- Though such simplicity made for blocky- asm and artistic latitude made it all ours acters and their respective animations. looking models, in practice our anima- for the taking. Like coalmine canaries, we sent proto- tors had all the flexibility they needed to But staying true to our shared vision of models into our new levels to nose out test out a move set. RATCHET & CLANK meant that our digital potential animation, programming, and Animating our proto-characters was actors needed to become more than mere design problems. We relied on prototyp- similar to sketching a traditional pencil cycling automatons. We regarded each ing throughout the course of our produc- test. Although animators were given a character as an intermediary through tion as a means of refining a character’s designer-approved move set, it was which we could reach out to players and move set. This process of refinement was understood that animations needed only draw them deeper into our universe. This key to winnowing down unworkable to be rendered into their roughest forms. meant our characters needed to blend ideas before animating a character’s high- One pass was often sufficient, as polish physically into their environments, emo- resolution incarnation. and overlap were unnecessary. tionally into their situations, and expres- As a rule, our prototypes emphasized The areas where precision did count sively into our narrative. It was on these function over style. And although we set were timing, measurement, and interac- principles that we based both our objec- the aesthetic threshold low, these previsu- tion with other characters. As they have tives and our standard of success. alization models still needed to be built the greatest direct impact on gameplay, Our team acknowledged that a rift and animated accurately enough to func- these attributes were considered critical existed between the level of complexity tion as valid test cases. For the anima- to testing a new character’s behavior we desired and the time we had sched- tors, this meant that prototype characters accurately. uled to implement it. In order to sur- needed to jump to their correct heights, Timing has a major effect on both the mount this obstacle, we developed sever- attack to their design specifications, and readability of an animation and on game- al methods for using Maya, our artistic run at their proper speeds. play. From a distance, a poorly timed idle skills, and our time more effectively. Generally, we created prototypes using can look muddy. An attack animation This article will discuss these methods a character design sketch as a guide. can be too slow to make an enemy a both in terms of their functionality and These proto-characters were constructed worthy opponent, or too fast to be regis- their implementation. To this end, it will with primitive objects and only roughly tered. Emphasis or a lack thereof on just provide technical details on our testing resembled their future incarnations, as a few frames can make or break any ani- practices, our MEL shortcuts, and our you can see in Figure 1 (on page 32). mation, especially within the short cycles real-time animation procedures. Since previsualization models were so of the real-time universe we were creat- Furthermore, it will explain how each of simple to construct, every animator ing. We discovered that by testing and these methods saved us valuable produc- could assist in building them, regardless fine-tuning our timings in the prototype tion time, enabling us to achieve our of their modeling experience. Accuracy stage, we could often avoid reworking artistic goals. was required only in the representation polished animations on final characters. www.gdmag.com 31 CHARACTER ANIMATION

Making sure that proto-characters adhered to design measurements was also important. For example, if the design document called for an enemy to attack at a range of 4 meters, animators would ensure that the prototype did exactly this. Designers could then get an accurate idea of whether an enemy trav- eled at the correct speed, was tuned to the appropriate difficulty, and was scaled appropriately in relation to the main characters. Prototyping also gave us a means of pretesting character behaviors and inter- actions. Whether it was with Ratchet or Clank, with the environment, or with another character, proto-models provided invaluable early glances at interactive behavior. For artists, programmers, and designers, previsualization served to tele- graph character behaviors both in terms of their technical feasibility and their gameplay value. Ultimately we found that our previsu- FIGURES 1A–C. The Dog Charger prototype was used to pretest the final character’s animations, alization process was beneficial not just including its walk, run, and attack. FIGURE 2 (bottom left). The final Dog Charger model. to animators but to our design and pro- gramming staff as well. It gave our pro- grammers a head start on coding game- operations, customize animation specified relationships between the IK- play, while designers could test, tune, and processes, and level our technological handles, a set of locators, and several ask for changes at a very early stage, playing field. NURBS constraint objects. allowing room for refinements. Two such scripts (examined later in Though relatively simple, setting this Prototyping saved animators time and this article) allowed our team to take IK-system up by hand for every NPC, energy that otherwise would have been advantage of driven key functionality enemy, and prototype would have taken spent painstakingly modifying or redoing that otherwise would have been too more time than we had. Moreover, we final multi-pass animations. It provided a cumbersome to animate or too tedious knew that this time would be better relatively simple means for evaluating to rig by hand. Another tool enabled our spent bringing our characters to life. character behaviors with respect to their artists, regardless of technical experi- An actual tools programmer might timing, specifications, and interactivity. ence, to fit characters with IK systems scoff at the artist-authored MEL script Moreover, it provided our animators automatically. we developed to make our leg chains. In with a practice run, complete with feed- Most of our bipedal characters had leg the end, however, our “IK Setup Tool” back, before moving on to a high-resolu- setups like the one pictured in Figure 3. reduced an hourlong technical chore to a tion character (Figure 2). As seen in the hierarchy (Figure 4) our simple task that took seconds. Further- legs had standard hip, knee, and ankle more, the script did not require setup MEL Shortcuts: joints, a heel joint, and two to three expertise, and our relatively simple code Automating OurSetups bones in the feet. (For clarity purposes, could be customized and refined entirely please note that we referred to our foot from within the art department. aya Embedded Language (MEL) bones as “toes.”) Using the IK Setup Tool (Figure 6) M scripts were essential for bridging Our IK-rig consisted of three to four was a three-step process. First, an artist the gap between the level of complexity RP (Rotate Plane) IK-handles. These con- checked their characters’ leg joint names we desired and the time we had sched- nected hip-to-ankle, ankle-to-toe, toe-to- against the tool’s presets, making any uled to implement it. Through MEL toe and/or toe-to-null. All were config- necessary changes. Next, a scale factor scripts, we were able to streamline setup ured into a hierarchy (Figure 5) that for the constraint objects was entered,

32 february 2003 | game developer FIGURE 3. This leg setup was used for most bipedal characters, saving tedious hand-setups for IK systems for individual characters.

FIGURE 6. The IK Setup Tool streamlined based loosely on a character’s size. The FIGURE 4. Standard hierarchy for a charac- repetitive, error-prone setup procedures and artist then hit nine buttons in sequence. ter’s leg, as shown in the Hypergraph. kept customization within the artists’ hands. These buttons would auto-attach the IK handles and instantly build the con- straint hierarchy. two new parent objects to the knee joints and the locators to positions in front of Dissecting the IK the knees. Button number four configured the Setup Tool cones, locators, IK handles, parent EL is a quirky and often inconsis- groups, and constraints into a standard- M tent language. A good portion of ized hierarchy via the parent command. the time we spent developing our IK Again, the new groups were translated Setup Tool was used to track down the into place using move. New constraint rela- proper commands for the tasks we need- tionships were created between the knee ed to execute. Still, we managed to locators and main leg IK handles, and the uncover the MEL commands we needed new constraint hierarchy and the skele- to actuate the core tasks of each of our ton. These were implemented using the nine tool buttons. poleVectorConstraint and scaleConstraint The first button’s purpose was to commands, respectively. place IK handles on a character’s legs. It Button five added several expressions read the names of the bones from the to the scene, saving us data-entry drudg- top text fields by using the textFieldGrp ery. We added expression code for speci- command in its query (-q) mode. These FIGURE 5. The leg constraint hierarchy viewed fying both constraint and skeletal string variables were then passed to the in the Hypergraph, showing connections behavior using the expression command, ikHandle command, which in turn created between the IK handles, locator set, and allowing us to automate both the cre- the IK handles. NURBS constraint objects. ation and the specifications of our setup The second button placed NURBS expressions. cones on a character’s hip, ankle, and cones into place. Finally, MEL’s Number six altered the rotate order of toe joints. These cones, created using pointConstraint locked the hip cones to the heel and toe NURBS cones from MEL’s cone command, were the primary the character’s hips. XYZ to YXZ using setAttr. We had pre- constraint objects an animator would Pressing the third button called viously determined that this rotate order use to manipulate the legs. The xform CreateLocator to place a pair of locators in produced the most reliable rotations in command was used to query (-q) the the scene. Next, the group command our quaint Z-up environment. positions of the leg bones and store them grouped the locators to themselves. Then Buttons seven through nine performed as variables. The move command then xform (-q) queried the positions of the some final housekeeping tasks. Button read these variables and moved the character’s knees, and move translated the seven grouped custom rotation guides to www.gdmag.com 33 CHARACTER ANIMATION

FIGURES 7A–C. Joint scaling and translation offered animators direct manipulation of poses and gave characters’ moves extra verve for the modest cost of a low-tech solution. a character’s spine using the polyCube and Automating this process with MEL Low-Tech Animation parent commands. Button eight used both saved us time and eliminated the Solutions setAttr to ensure Maya’s segment scale steps most prone to human error. compensate was switched off for all of a Furthermore, by enabling any artist, he shortcuts and prototypes I’ve character’s joints. Finally, button nine regardless of their setup experience, to fit T described so far shared a common keyed a reference frame at –10 on the a prototype and/or character with a func- purpose: to help us create better anima- character’s skeleton and constraint hier- tioning IK system quickly, we alleviated tion more efficiently. Both of these archies using setKeyframe. Listing 1 (page bottlenecks. This conservation of both methods accomplished this by either by 34) shows some of the MEL procedures time and human resources saved energy telegraphing problems or by saving we found most useful. that could then be devoted to artwork. time. Often, however, we would spurn a high-tech solution due to its specificity, inefficiency, and/or complexity. And still LISTING 1. Some helpful MEL procedures. at other times, we embraced traditional CG taboos. // A method for querying a bone’s position in world space: We consistently and repeatedly trans- xform -query -worldSpace -translation my_joint_name; lated and scaled our characters’ bones. True, most of us learned on our grand- // A method for querying the contents of a text field: mothers’ knees never to do that to a CG character. “Use your constraints,” she textFieldGrp -query -text my_text_field_name; would say. “Rotate your bones if you must. But avoid scaling them, and don’t // A method for setting a keyframe at frame -10 on a hierarchy: ever, ever let me catch you in a transla- setKeyframe -time -10 -hierarchy below my_hierarchy_name; tion!” We all love our grandmothers, but we found that the tenets of traditional animation called for — nay, demanded // Basic transformation methods: translation, rotation, and scaling: — that we defy her. The reason behind our disobedience // Moves an object to (0,0,5): was squash and stretch. We found that move -absolute 0 0 5 my_object_name; by scaling our joints, and especially by translating them, we could instill our ani- // Rotates an object by 90 degrees on Z, // relative to its current Rotation: mations with extra gravity and snap. Major translations often lasted only a rotate -relative 0 0 90 my_object_name; couple of frames and, borrowing an idea // Scales an object to 3 times its current size: from Disney, were “more felt than seen.” Since we had no IK setups to speak of scale -relative 3 3 3 my_object_name; on the spines and arms of our characters, translating the bones in these body parts // (Note: All flags are listed in their long forms.) was quite simple. If needed, we could key the leg IK solvers “off” in order to

34 february 2003 | game developer FIGURES 8A–C. The Walk Guide helped line up characters’ feet on the ground properly every frame to minimize unattractive foot sliding. manipulate these joints. Translation and length. A set of constraints and locators Making Faces: scaling were effective across the board ensured that as the stride length changed, Artistic Reasons and and worked wonders on anything from the preset foot size remained constant. Technical Details walks to attacks to facial animation Since our walk cycles were animated in (Figures 7a–c). place, we needed a way in which to sim- e knew from the start of devel- Requiring no additional setup, these ulate forward movement while keeping W oping RATCHET & CLANK that low-tech solutions saved us time. Within track of the positions of a character’s facial expression would be an important limits, this method of animation provid- feet. The solution was to animate the component not just to our cinematics ed animators with a direct, tactile, and Walk Guide to the speed specified by the but to our gameplay animations as well. expedient method of sculpting their char- designer (2 meters per second, for exam- Once again, we were faced with the acters’ poses. Although unglamorous, ple). Once the Walk Guide was moving dueling goals of animation depth and this technique was as effective as any in at the proper speed and the small scheduling efficiency. We settled on two terms of preserving our resources and cuboids correctly scaled, an animator methods for making faces: one simple improving our animations. could begin working on the character’s one for our enemies and one more com- walk cycle. plex for our heroes. Expressions exag- Walks and the Walk The trick to using the Walk Guide to gerated the idles, intensified the attacks, Guide eliminate foot sliding was to keep the and sealed the deaths our of enemies character’s foot markers lined up with and heroes alike. nother device we used to aid our the small cuboids on the Guide. This When animating our enemies, we drew A animation was called the Walk applied for every frame in which the on a traditional animation dictum: A Guide. We used this tool help our char- foot made contact with the ground (Fig- viewer of animation is usually drawn to acters’ feet stick to the ground during ures 8a–c). a character’s face, particularly to the walk and run animations. Although foot Upon a cycle’s completion, a character eyes. Attention paid to a character’s eyes slippage is commonly forgiven in the could be put into a level and moved at its and mouth was very important to mak- world of games, we hoped that by elimi- preset speed with little or no foot slip- ing convincing actions, especially during nating it we could add an extra dimen- page. Additionally, programmers could our quick gameplay cycles. sion of believability to our characters’ scale the playback speed of the cycle rela- Most enemy characters had fairly sim- locomotion. tive to the character’s velocity and still ple face skeletons. However, these skele- The Walk Guide was an elongated have the feet stay grounded. tons allowed for a high degree of manip- cube with many smaller cuboids attached There were several gameplay situations ulation of the eyes and mouth. Each eye to it. The smaller cuboids were identical that were not as clean as the test case I had between two and four bones con- to the polygonal markers on our charac- just described; however, the Walk Guide trolling its brow and lids. Mouths were ters’ ankles and toes, which were did serve to plant our character’s feet generally simpler, using only one or two grouped to their feet during setup. properly in most of our worlds. Once bones. In most cases, this setup gave us By scaling a special parent node, the accustomed to the Guide, we animators all the flexibility we needed to exagger- Guide’s small cuboids could be adjusted found that using it benefited both our ate the enemy’s features and thus height- to match a character’s foot size. Scaling schedule and our artwork, as it kept en the emotion of its actions (Figures 9a the large cuboid allowed an animator to track of the more technical aspects of and 9b). accommodate for the character’s stride locomotion for us. Our heroes’ faces had a more sophisti- www.gdmag.com 35 CHARACTER ANIMATION

cated setup, which they shared with the As I mentioned earlier, hero and NPC Scripting Facial NPCs. Though NPC faces were manipu- expressions were animated by combining Presets lated mostly in our cinematics, RATCHET preset driven key attributes via a MEL & CLANK made heavy use of expression script slider interface. These presets ssigning facial presets to our char- during gameplay, as well. allowed the animator to combine and A acters cost us some setup time. Like the enemy setups, hero and NPC create a wide array of facial expression However, we were able optimize some of faces were manipulated via their face without having to build them from the processes with another MEL script. joints. Unlike the enemies’, these joints scratch. Like color primaries, these Like our other MEL tools, this script were animated though a driven key sys- attributes could be blended together to automated some of the tedious steps, tem instead of being transformed direct- form new combinations. allowing a setup artist to spend more ly. Since they clocked more screen time, About half of a character’s 40 or so time on the art of sculpting facial poses. hero and NPC faces tended to have a facial attributes were dedicated to pro- Facial presets were created in a sepa- far greater amount of bones — and ducing a basic expression, either on all rate animation file, where each expres- hence expressive range — than their or on parts of the face. These basic sion, phoneme, or feature pose was enemy counterparts. expressions included anger, disgust, fear, stored as a separate keyframe. Upon Figures 10a and 10b show some of the happiness, sadness, and surprise, all of completing this file, a character artist range of expression Ratchet and Clank which would be easily recognizable to a would use our MEL Driven Key Genera- exhibit during gameplay. He smiles when player. More subtle attributes were dedi- tor (Figure 11) to set the driven keys excited, grimaces when he’s hit, grits his cated to animating phonemes and con- automatically for each pose. teeth during combat, chatters them when trolling individual facial features. The Driven Key Generator worked by he’s cold, and drops his jaw when he Unique and varied emotional ranges comparing the transformations of the dies. Clank’s expressions change both could then be achieved by combining keyframed pose to those of a default. while he’s strapped to Ratchet’s back and expression, phoneme, and feature attrib- When the script registered that a channel when he’s played independently. utes together. had changed from the default, it would set a driven key on that channel based on its changed value. The script relied on MEL’s arithmetic functions to identify value changes, and its setAttr and setDrivenKeyframe commands to activate the drivers. Listing 2 shows some of the Driven Key Generator’s sample code. The drivers for our facial animations were stored on a model called the Control Box, shown in Figure 12. This hierarchy of cubes served as a visual out- line of facial attributes, and could also FIGURES 9A & 9B. With enemy face skeletons, less was more. Bone detail was reserved for the double as a second interface. For efficien- eyes and mouth to enable simple, exaggerated expressions. Here, during an in-game animation, cy’s sake, Ratchet, Clank and all of our the Robot Paratrooper’s face reacts to being knocked down. NPC characters had identical Control Boxes, though Ratchet’s had many more active drivers. We found our automated setup method to be advantageous for three rea- sons. First, it saved a setup artist from having to manually identify and key bones, channels, and drivers. Second, it assigned driven keys to changed channels only, leaving any non-affected channels free for animators to keyframe. Finally, it circumvented Maya’s built-in driven key interface, which we found to be cumber- FIGURES 10A–B. Ratchet and Clank’s gameplay facial animation system (also used for NPCs) some and even unreliable when simulta- needed more sophisticated setups than enemies’ for the broader range of expression they were neously assigning multiple bones and required to show during gameplay. channels to a driver.

36 february 2003 | game developer Regardless of method, facial animation played a vital role in breathing life into our gameplay char- LISTING 2. Sample code from the Driven Key Generator. acters. Again, MEL was instrumental both in granting our artists access to an advanced Maya // The “if” gate checks for changed X-Translation values feature, and in optimizing our workflow. Whether // between the Default and Posed frames. a hero or an enemy, virtually every character per- if ($txa != $txb) sonality in our game was strengthened through { facial expressions. In turn, this enhanced interac- tions both with players as well as between the // Sets the Driver Attribute and the Current Joint’s characters themselves. // X-Translation to their Default Values; // Sets a Driven Key Frame for the Default Values.

End of Cycle setAttr $atnm $dr0; setAttr ($current + “.tx”) $txa; ike all character-driven projects, RATCHET & setDrivenKeyframe -currentDriver $atnm -attribute CLANK presented our animation team with a L translateX $current; unique set of artistic and technical challenges. Our artistic philosophy was built on the understanding // Sets the Driver Attribute and the Current Joint’s that our characters were the instruments though // X-Translation to their Posed Values; which a player would experience our universe. We // Sets a Driven Key Frame for the Posed Values. knew that in meeting these challenges, our puppets would transcend mere game space and become the setAttr $atnm $dr1; entities that our players would identify with, vilify, setAttr ($current + “.tx”) $txb; and even personify. setDrivenKeyframe - currentDriver $atnm -attribute However, this philosophy needed to be coupled translateX $current; with practical methodology if it was to see our // Prints command summary to the Script Editor for project to its conclusion. From this necessity grew // easy reference. our testing practices, MEL shortcuts, and real-time animation procedures. Throughout production, print ($current + “: TX has been keyed for slider these methods removed many of the barriers that value 0: “ + $txa + “ and slider value 10: “ + would otherwise have obstructed the artistic efforts $txb); print “ \n”; of our animators. } As the Insomniac team cycles into our next proj- // In this loop segment, $current is the current joint, ect, we continue to refine and expand upon the sys- // and $atmn is the attribute name. $dr0 and $dr1 represent tems and procedures we developed during RATCHET // Default and Posed Driver values. $txa & $txb are the & CLANK. Though our procedures continue to // Default and Posed X-translation values, respectively. evolve, our underlying goals remain unchanged. For in the end, we can only prove a technology’s worth // (Note: All flags are listed in their long forms.) by an audience’s response to our characters. q

FOR MORE INFORMATION Poses Phonemes BOOKS Gary Fagin. The Artist’s Complete Guide to Facial Expression. New York: Watson- Features Basic Guptill Publications, 1990. Blids Ears Mouth Eyes Frank Thomas and Ollie Johnson. The Brows Head Mouth Illusion of Life. New York: Hyperion, 1981. Tlids Pupils Expressions RECOMMENDED MAYA TRAINING MEL Fundamentals (formerly MEL for FIGURE 11. The Driven Key Generator analyzed FIGURE 12. Each NPC and hero had its own Artists): Information available at a preset facial pose, compared it to a neutral Control Box on which its facial drivers were www.aliaswavefront.com, click on Maya pose, and assigned driven keys to the affected stored. Facial drivers were actually attributes of Training under “Education” channels. the Control Box’s cubes. www.gdmag.com 37 GDC PREVIEW jennifer olsen

he 17th Game Developers Conference convenes again in San Jose from March 4 to 8 this year, and conference organizers find themselves in a quandary similar to that faced by many of their attendees: overcoming sequelitis. Like many devel- Topers working in today’s sequel-driven marketplace, their chal- lenge lies in satisfying returning customers who expect certain features and experiences that made forerunners popular, while innovating and refining enough to attract new customers and add value for those returning.

rom content spanning the different conference tracks through programs such as the two-day GDC Mobile event. to the extracurricular parties and events, the organiz- Creating a stronger sense of developer identity is important, ers, CMP Media’s Gama Network (which also publish- too. The International Game Developers Association (which func- es Game Developer), and the GDC Advisory Board tions as an independent nonprofit under a management contract have focused their efforts on honing GDC into an with the Gama Network) develops its own conference track indispensableF event for game developers. The events market is focused on developer and community issues, and the IGDA still feeling the effects of 9/11 and the economic slowdown, and returns with the third annual Game Developers Choice Awards, a many development studios that used to spring for annual trips to program that aims to create meaningful peer recognition for game GDC, E3, and Siggraph are now scaling back their budgets to developers. Meanwhile, the Independent Games Festival, now in include just one or two events for employees. Others make the trip its fifth year, continues to groom itself into a showcase for innova- on out-of-pocket expenses, hoping that glittering pitch demo or tive indie game projects. polished résumé will pay off big returns. Some critics contend the Aside from the din of the GDC Expo floor, the blur of parties, and event has become too “corporate,” leaving the needs of small inde- the impromptu encounters in the hallways, the heart of GDC pendents, and even the event’s own grassroots beginnings, behind. remains in the more than 300 lectures, panels, and roundtables Taking into account the changing needs of a rapidly evolving presented, and in the speakers who variously swim or sweat industry, organizers are always looking at new opportunities to through their Powerpoint slides for the betterment of industry ratchet up the value of the event. The advisory board has made knowledge. We caught up with a few of this year’s speakers to find careful iterations in the content goals of the various conference out what they have in store for attendees and what they as atten- tracks, while emerging markets are finding new prominence dees think of this ever-evolving event.

38 february 2003 | game developer cutscene for your particular game. Cutscenes can do a lot to enhance gameplay, but gameplay always comes first. Having said that, I think there is a lot of ignorance of the fundamental princi- ples of cinema in the game world. These are principles which were codified and haven’t changed for the past 70 years or so. And when you go from gameplay to cutscene, you are stepping into the arena of cinematic storytelling. A greater awareness of cinematic structure and the power of the camera would help bring cutscenes to a higher level. GD: How many years have you been going to GDC? AS: This is going to be my first year at GDC.

STUART ROCH Executive Producer, Shiny Entertainment Production Lecture: “My MATRIX Experience: A Survival Guide to Working with Movie Licenses” GD: What will your session cover? Stuart Roch: While working on the MATRIX project, the film’s interactive producer and I often talked about what a shame it would be if, once the project was completed, all the knowledge she and I had gained about the marriage of Hollywood and the GDC attendees descend on the Expo floor as the doors open. gaming industry were to be lost. We actually felt a little bad, fig- uring that others in the business might be forced to learn through ADAM SCHNITZER trial and error as we have had to these past couple years. So I Senior Artist, LucasArts hope to share all the lessons we have learned, so others in the Visual Arts Lecture: “How to Build a Better Cutscene” industry can get a step up on a future licensed game. I’ll cover Game Developer: What will your session cover? everything from the initial deal all the way through the postpro- Adam Schnitzer: I’ll talk about the reasons for doing duction process. cutscenes, how to plan your cutscenes, the importance of pre- GD: What are the communication challenges developers face when visualization, and the ins and outs of how to transition from working with a movie studio on a licensed property? gameplay to cutscene and back again. I will also spend a little SR: A number of communication problems can arise, from time talking about production methods that can streamline the making sure the movie and game companies use the same ter- cutscene creation process. Because my background is as a lay- minology to describe issues, to coordinating schedules out artist at Pixar, my perspective is that of someone who is between two entertainment mediums whose pre- and postpro- very concerned with cinematic design, so much of my talk will duction schedules don’t mesh very well. Perhaps the biggest focus on that as well. communication problem that can arise is when a developer GD: How do you see the role of cutscenes in games changing in the can communicate to the directors only by going through the next few years? studio office. This indirect communication channel can lead AS: There are so many different styles of games, it’s hard to to delays and potential misinformation. In our case, the predict with certainty what the role of cutscenes will be. But for Wachowski brothers recognized this potential problem and set a certain style of story-based game, they are indispensable. up communication channels directly between themselves and With game engines getting more and more sophisticated, and Shiny to make sure that accurate information and assets were the consoles allowing us to create more filmlike environments, I flowing as efficiently as possible. can envision more immersive cutscenes and more seamless tran- GD: Do you feel that your experience on the MATRIX project carries sitions in and out of cutscenes. With these higher-resolution in- over well for future endeavors? game environments that are evolving, we will eventually be able AS: Not only has the development process been easier than to dispense with prerendered cutscenes altogether, but I would we expected due to the unique communication channels, but guess that that day is still five to 10 years off. we’ve all learned a lot about how Hollywood approaches simi- GD: The name of your session implies — fairly — that there is ample lar development problems, and we applied some of their solu- room for improvement in the quality of game cutscenes. Why do you tions to our development process. Hollywood is a mature think this area continues to vex developers? industry, and through my session, I’ll be sharing some of their AS: It’s important to be very clear on the purpose of the techniques which may be of help to other developers. www.gdmag.com 39 GDC PREVIEW

GD: What have been the most significant widen their perspective and really see sessions. Unlike other industry shows changes to GDC since you began attending? what it’s all about. They can meet the throughout the year, this is the one stop I AS: The most significant changes I’ve people that are making the games, they make where I always have useful take- seen at GDC are its growth international- can meet some of the people they look away from my industry peers. You never ly and the fact that we have so many up to, they can be inspired by the creativ- feel as though the time spent at GDC is respected overseas speakers flying over to ity of others, and they can take away time wasted. The thing that always seems share their knowledge and experiences. concrete advice. to be a problem with GDC is that it There’s also been an incredible growth in GD: What’s your favorite event at GDC? inevitably coincides with some sort of new talent looking to work in this indus- What’s your least favorite thing about GDC? crunch time on one of our projects. try. GDC gives those people a chance to AS: I always really enjoy the lecture KATIE SALEN Independent Game Designer ERIC ZIMMERMAN CEO, gameLab Game Design Lecture: “Breaking the Rules of the Game” GD: What will your session cover? Katie Salen: We are presenting a lecture on rule-breaking and its relevance for game design. Like it or not, rule twisting, bending, and breaking are part of games — but rule-breaking can be positive or negative, and game designers have a lot to learn from it. We will look at the for- mal, social, and cultural ways that players break rules and how rule-breaking can be integrated into the game design process. GD: Why do players want to break the rules? KS: Players break rules for all kinds of reasons, but they generally do so not to break or end the game. Instead, most cre- ative forms of rule-breaking introduce excitement, variety, strategy, and fun into the game. GD: What will your session cover? What can game designers learn from rule-breaking? KS: Because games are systems, it is always possible for players to drive a wedge into it, bending the system into a new shape by breaking the rules. We chal- lenge game designers to find ways of including this natural desire of players into their game designs. When given the right tools, players will transgress the rules of the game in pursuit of alternate forms of expression. How can this desire be enhanced or slowed, modified or trans- formed, by the design of the game itself? This is what we will explore in our talk. GD: How many years have you been going to GDC? What has been the most significant change since you began attending? Eric Zimmerman: My first GDC was 1998. It was the year in Long Beach

40 february 2003 | game developer when the entire conference played a giant JS: My favorite events are the informal game of dart-gun ASSASSIN. The confer- get-togethers that happen after lectures ence has lost that kind of wonderful and roundtables. Being able to pigeon- folksiness, but that is inevitable as the hole people with proven experience industry grows. For the last two years at about a specific issue you may be having, the GDC, gameLab has tried to bring or even just bending their ear about back a bit of that spirit with our own something that interests you, is great. It massively multiplayer off-line games saves time, wasted research effort, and (BITE ME in 2001 and LEVIATHAN in usually nets a suggestion you would 2002). Look for our new game this year never have had yourself. in the IGDA booth. Least favorite? Well, lets be honest, GD: What’s your favorite event at GDC? it’s the hangover each morning. What’s EZ: The best moments at a conference a GDC without some company-spon- always happen in the interstices between sored parties? the organized talks, meetings, and par- ties. Surprise encounters between ses- DAN SCHERLIS sions, gab sessions at cheesy hotel bars, CEO, Etherplay and late-night hotel-room game design Business and Legal Lecture: “Doing debates are what make GDC so fantastic Business with the Telecom Industry: for me. I just wish there was more time. Understanding Their Deal Terms, Culture, Rites, and Ritual” JAKE SIMPSON GD: What will your session cover? Psychology Programmer, Maxis Dan Scherlis: Many developers are fasci- Programming Lecture: “Animation System United Game Artists’ Tetsuya Mizuguchi nated with mobile games, for many good Implementation: What Works and What demonstrates REZ during a game design lec- reasons. And many developers are have Doesn’t” ture at last year’s GDC. trouble getting attention from telecom GD: What will your session cover? types, not to mention getting deals and Jake Simpson: My session involves dis- ing and more spectacular the results will getting paid. I am not being glib in the cussing approaches to building state-of- be. Great tech depends on artists and session title; I do feel that the major issues the-art animation systems, heavy on the content creators building stuff that uses are downright anthropological. The two practicalities of what works and what it to the best of its ability — you need industries speak and act differently. doesn’t, what’s worth experimenting with everyone to be on the same page for it GD: What has the telecom industry learned and what’s not. This information is all to come together. about game developers in the past year, and drawn from experience in working with GD: How many years have you been going has it altered their approach to these new con- animation systems for third-person to GDC? What has been the most significant tent creators at all? games (HERETIC II), and creating new change since you began attending? DS: Telecom has been a motivated and animation systems for networked first- JS: I’ve been going for about four years attentive student of games and of game person games (Ghoul 2 for SOLDIER OF now. From where I sit, the most signifi- developers. In the last year I have heard FORTUNE II and JEDI KNIGHT II) and for cant thing is what the GDC Advisory far less talk of games as a commodity next-generation SIMS products. Board is doing. They’ve made such an and more respect for the value of quality GD: What’s the single biggest takeaway you effort this year to try to be specific in product. This is bringing about better got from developing Raven’s Ghoul system what they present, in terms of actually deal terms. that you think can save developers time in getting value out of the lectures. I figure That said, we are still of different planning animation system features? if I have to take notes at a lecture, then worlds, and there is so little history of JS: “Give the animators and coders it’s worth my time, and they seem to be deal-making between us that we do not more time to learn how to use the new going all out for this effect this year. have much precedent for basic terms and technology.” Game development being Also, every year I feel like we are start- structures of our deals. what it is, it usually takes two or three ing to get more attendees from the rest of GD: What’s the single biggest gotcha that games before new technology matures the world, notably the Japanese. We all awaits game developers making their first enough for content creators to really have something to learn from people who foray into dealings with telecom companies? know where the limits are and how to have such mastery of our craft, and I for DS: Communication — especially style use it all in the most efficient manner. one applaud this international flavor. of communication: Game developers use The earlier you get the tech in the hands GD: What’s your favorite event at GDC? whiteboards; telecom types use of the content creators, the better-look- What’s your least favorite thing about GDC? Powerpoint. www.gdmag.com 41 GDC PREVIEW

Also, a developer should not assume lenge, many industry veterans stay home, the parties since 1993. Then I got smart that a telecom executive knows anything and the sheer size is daunting, but I am and became a speaker. The biggest about games. If you offer an RTS with always delighted by the many chance change besides the obvious sheer number FPS action but RPG depth, with down- encounters with colleagues at GDC. of people would be the emergence of a loadable mods and ortho view, you will huge audio community coming out to not be understood. If you give examples TOMMY TALLARICO GDC. In the early years you could count like WARCRAFT, HALF-LIFE, and FINAL President, Tommy Tallarico Studios the number of audio people on three FANTASY, you will continue to strike out. Audio Panel: “Orchestral Panel” hands. Since the Audio Pass was created, Test your pitch on a smart nongamer. GD: Who’s on the panel and what do you hundreds of interested audio profession- Your parent or spouse will have too much hope to cover? als and nonprofessionals have come of a clue. Try your dentist or accountant. Tommy Tallarico: We will have some of seeking knowledge and understanding of GD: There have been many losses, and the best orchestral composers for the this crazy profession. In audio you have much pain, amongst mobile-game startups. videogame industry on the panel: Jack to deal with three important elements in Where do you see an opportunity for profit Wall (MYST III), Clint Bajakian (of production: creative, technical, and busi- from mobile game development? LucasArts fame), Jeremy Soule (HARRY ness. GDC is a place you can go to learn DS: Mobile games are echoing the his- POTTER), Bill Brown (RAINBOW SIX), and about all three. tory of Internet games. We see many Dan Irish (producer of MYST III). We GD: What’s your favorite event at GDC? basic mobile games, which are hard to may also have a few special guests and What’s your least favorite thing about GDC? differentiate. Over the Internet, we saw surprises! TT: My absolute least favorite thing many ad-supported games, few of which Last year’s orchestra panel was really about GDC is trying to get a room every earned good money for their developers. tailored toward composers. This year we year. My favorite event is the Game The games that make big money online felt it very important that the producers Developers Choice Awards ceremony. It’s are fundamentally different: they are of and designers know about live orchestral really nice to see the developers get the premium quality, their designs exploit sessions as well, so we are tailoring it recognition they deserve from their peers. the network and include persistent social more for them. Budgets, production dos structures, and they have subscription and don’ts, how to convince your boss, For the most up-to-date GDC 2003 economics. I believe that this description the real value of using live players, union information visit www.gdconf.com. q will apply to the most profitable mobile vs. buyout, as well as other things, will games. This is why several online-game all be covered in this panel. It is impor- veterans are being attracted to mobile tant for the project decision makers, platforms; we see an opportunity to milestone schedulers, and purse-string build profitable communities, without holders to find out how to go about get- the multi-million-dollar, multi-year ting live music in their projects. development cycles. GD: How do you think producers and audio The greatest challenge is to the design- professionals should best go about deciding er. We need to design explicitly for this when to use orchestral performances in new medium, rather than trying to sell games and when not to? either shovelware or obvious but deriva- TT: Style of music and game genre is tive and shallow distractions. one big contributing factor. Not every GD: How many years have you been going game warrants live orchestra, but most to GDC? What has been the most significant would benefit greatly because of it. change since you began attending? Publishers are looking to differentiate DS: I started attending GDC in 1992, I themselves to the consumer from a quali- think, when I joined Papyrus. I’ve missed ty standpoint, and using a live orchestra only one or two since then. can help do that. Live orchestras don’t The most dramatic change has been cost hundreds of thousands of dollars to the astounding growth. As the common produce, either — there are many differ- complaint goes, this growth threatens the ent alternatives. You can’t get a 50-piece sense of community and collegiality that live orchestra recorded for less than attracts many long-time attendees. $1,000 per minute of music. I can gripe with the best of them, but in GD: How many years have you been going Lionhead’s Richard Evans accepts last year’s fact I have been pleased by the degree to to GDC? What has been the most significant Game Developers Choice Award from the which the community survives. The San change since you began attending? IGDA for Excellence in Programming, for his Jose Convention Center has been a chal- TT: I used to sneak in and just go to work on BLACK &WHITE’s AI.

42 february 2003 | game developer POSTMORTEM ian fischer and greg street

44 february 2003 | game developer Developing Sequels: The Designer’s Dilemma

Ensemble Studios’

ne is pretty hard. There are a lot of things to Two is easier, although you may not think so at the time. attempt and reject, a lot of mistakes to make, a With your first game out in the wild, you’re able to get real- lot of lessons to learn. Without a prior success world feedback on what worked and what didn’t. You know (or even a prior failure) for comparison, much more about your team and ideally have a familiar engine and of your design relies on instinct. Without an tool set to work with, providing you with a much better idea of Oexperienced team, much of your schedule operates at dart- what’s possible. Additionally, from the lazy designer perspective, board-level accuracy. Figuring out both how to work around half of your feature set is waiting for you at the start of the proj- long-expected pieces that don’t pan out and how to capitalize ect — everything you ran out of time for on the first game. on unexpected miracles is a big part of the job. Mix these fac- Three is the end of the world. By this time you’ve amassed a tors in with the usual chaos surrounding a game company on good understanding of what people like about your games. her maiden voyage and you have a situation often referred to Unfortunately, you also have fans who’ve played two titles in generously as “challenging.” the series, plus a few expansions, and are starting to grumble

IAN FISCHER | Ian joined Ensemble Studios as a designer in 1997, just in time for the final stages of . In his spare time he likes playing games and arguing. He can be reached at [email protected]. GREG STREET | Greg was a marine biologist up until he discovered AGE OF EMPIRES in 1998 and ended up joining Ensemble Studios to work as a game designer. Feel free to send your marine crusatcean questions to [email protected].

www.gdmag.com 45 POSTMORTEM

for something different. At the same What Went Right time, removal or alteration of any exist- ing feature will be met with ranting e- Iteration. Ensemble’s basic mails, forum petitions, and overturned 1.design process is to get the game cars in your parking lot, so this is also playable early and then tweak it until the time when finding out that preserv- it’s fun. This applied to virtually every ing everything the old games had feature in the game. Some features becomes vital. The engine and tools you changed a million times, and we were developed for the first game and willing to abandon things that just did- advanced in the second are behind the n’t work, even when it was painful. technical curve by this time, so now you AGE OF MYTHOLOGY’s God Power need to add developing and learning feature is a good example of this new ones to the to-do list. And, at some process in action. On paper, our initial point, you’re going to get a visit from a concept of God Powers and Heroes graduate of the this-trend-will-continue- sounded good: Heroes would have but- GAME DATA forever school of projection who, armed tons on the interface to target God with charts showing that title One Powers wherever the selected Hero hap- PUBLISHER: Microsoft moved a million copies and Two moved pened to be — simple enough. NUMBER OF FULL-TIME DEVELOPERS: 3 million, will tell you Three should Unfortunately, when we got the fea- 50 total employees, 15 programmers move 9 million copies. ture in the game and started playing CONTRACTORS: 10 quality-assurance This is where the design team was at with it, it was awful. Having to have a contractors, no contract programmers the start of AGE OF MYTHOLOGY. The big Hero in the place where you wanted a LENGTH OF DEVELOPMENT: question that haunted us was: Wow, God Power devolved all combat tactics 30 months what are we going to do to top AGE OF to selecting all your units and clicking RELEASE DATE: KINGS? on the enemy hero. This led to Heroes October 31 2002 Ensemble Studios’ projects are ambi- constantly getting killed, prompting TARGET PLATFORM: PC tious, and we ratchet up the ambition comments like “The Heroes don’t feel DEVELOPMENT HARDWARE: From with each new project. As the scope of heroic.” Additionally, with all God Pentium 2, 300MHz, 64 MB RAM, TNT1 the project grew, the size of the team Powers targeted with your Hero, if you graphics cards to Pentium 4, 1.7 GHz, 2 grew. We were developing a new engine called down a meteor, it would land on GB storage, GeForce 4 graphics cards and a new multiplayer online service at his hand. It didn’t damage him but it DEVELOPMENT SOFTWARE: MS Visual the same time that we were developing a didn’t look good. Studio 6, Source Safe, 3DS MAX 4.0, new game, a game in which we wanted We tried a new model where the Photoshop to incorporate new features, such as God Heroes built “lightning rods” for the NOTABLE TECHNOLOGIES: Granny, Powers and myth units, and a more God Powers (so players could kill some- Bink ambitious single-player campaign. thing other than enemy Heroes to stop PROJECT SIZE: 1,500,000 lines of code Rather than restate the all-too-com- an opponent’s God Power, and so that mon problems of having more ambition Heroes could get out of the way of their than resources, of having marketing own God Powers). This wasn’t fun. We push for content before it’s ready, and tried another model where you could buy of having personnel problems every all of the God Powers with resources, company goes through from time to like most everything else in the game. time, we find it more useful to focus on This wasn’t fun. We tried a dozen more design aspects in this article. Designers models and variants. are Ensemble’s vision-bearers, but we Finally, after a lot of trial and error, don’t get to just ram our ideas down we hit on the model we shipped with. everyone else’s throats (as attractive as Heroes were divorced from God Powers that power sounds at times). The and made the thing used to kill myth designers must keep the project in units (which feels decidedly heroic). scope, keep the artists and program- God Powers were moved to the main mers from killing each other, and make interface, and we made them single-use sure feedback is heard without devolv- only, which made them feel large and ing the game into a design-by-commit- important and kept them from landing tee project. atop Heroes at every use.

46 february 2003 | game developer Ensemble Studios worked hard to capture the building detail that was a Units were first conceptualized to make sure that they both fit with the hallmark of AGE OF EMPIRES in the new 3D engine. common art style, and also could be easily discerned from similar ones in the game. Small meetings. For AGE OF EMPIRES and to a lesser 3.extent AGE OF KINGS, we kept the entire team involved Because God Powers were so important to the vision of the in the high-level design. In one particularly long meeting for game, we couldn’t just yank them from the title after the sixth AGE OF KINGS we tried, as a company, to come up with a or seventh different model didn’t work. Instead, we just con- design for herd animals. Past a certain number of attendees, it tinued to try different systems, brainstorming and then imple- became unmanageable to go around the room even once. So, menting models. Because a new approach often required new as these meetings got longer, we tried to keep focus by includ- code and new art before it could be evaluated, we ended up ing the various department leads and trusting them to relay throwing a lot of work away to achieve our end result. But the feedback of everyone on their respective teams. However, we did achieve an end result we’re very happy with. Ours is in a project the size of AGE OF MYTHOLOGY, even the leads’ emphatically not an efficient process, but it continues to work meetings could have a dozen attendees, making it harder to for us. reach a consensus on any of the issues. Eventually we refocused the leads’ meetings on task manage- Everyone play-tests. It’s amazing how many devel- ment and progress reports and implemented a new series of 2.opers rely on outside testers to tell them if the game is meetings for design brainstorming with a core group of only fun or not. Outside feedback is vital in the later stages of a four to five people, half of them designers. Features, such as the project, but if your entire game is designed by polling the fans list of civilization bonuses, myth unit abilities, and God or beta testers, you end up with a mushy game with no Powers, were all compiled in these meetings. When necessary, vision. At Ensemble, everyone play-tests the game at least we took these meetings offsite to make sure we could get our once a week. This strategy keeps the team bought in to the business done without distractions. We found that e-mail was- game that’s being developed. There are mandatory, assigned n’t efficient enough, and as busy as everyone was, impromptu play-test times in the morning and multiple pickup games in meetings weren’t always possible. We had to be formal about the afternoons or evening. scheduling these conferences, which we ended up arbitrarily We have found that these play-tests are instrumental in keep- calling “small pets” (after “pet features,” since we needed a ing the team informed on the state of the project, giving them name that didn’t sound like we were excluding anyone). ownership of the process, making sure bugs don’t slip through Because it was important to our process that everyone have a the cracks, and figuring out when the gameplay is fun enough to chance to give feedback, we would announce the decisions ship. The earlier implementation of God Powers described in the made in “small pets” meetings to the company at large. We previous section made sense until it got out in front of our co- heard people’s concerns and ideas, incorporated any changes workers, at which time a mob brandishing torches and pitch- we thought necessary, and then implemented the design into the forks strolled into our office. If the designers had relied solely game. Everyone still had a voice, but ultimately we couldn’t on our own instinct about the model, we likely would have rely on a large group to come up with design implementations shipped with it. as fast as we needed them. www.gdmag.com 47 POSTMORTEM

Data-driven tools. Developing data- were made before testing the various scenarios again. 4.driven tools early in the process was a It was a tremendous amount of work at the strategy that really paid off for AGE OF end of the project, when we could scarcely MYTHOLOGY. It took a lot of programmer time afford it. But the work paid off, and we away at the start of the project, when we were all delivered well-received single-player cam- anxious to begin playing the game, but the paign. resource hit paid for itself when designers could implement new content without What Went Wrong having to wake up the programmers all the time. For example, although we Design drove too much. Sure, targeted 36 unique God Powers, some of 1.the design department had all of these were implemented in similar ways behind the these fancy tools, but in the end, scenes. Once the programmers had implemented a designers ended up doing a lot of the God Power to switch units, we could turn enemy work that a programmer might have been soldiers into pigs, or allied Pharaohs into the Son able to do faster then it took the programmer to of Osiris, all through data. develop the tool in the first place. We had early There is, however, a potential downside frustrations when specs didn’t pan out as to spending so much effort on tools. intended in the end product, coupled with the For one, instead of working on high- arrival of new people who had not worked er-visibility game features, program- with us on a title before. We compensated by mers spend their time on tools that heaping so much detail into specs that they players may not see. Second, you might were often not even read. We went so far as to be trading programmer time for designer time. provide descriptions for what artwork should be Near the end of the project, the design team had associated with the various icons in the scenario all the tools they needed to implement editor, and the various locations and states for some features but lacked the time to those buttons. enter the changes. Since all they were doing was connect- ing the dots on someone else’s feature, Focus on campaign. The cam- new employees did not feel empowered. 5.paigns for AGE OF EMPIRES and AGE OF As a result of days spent writing things KINGS were fun but lackluster, largely completed such as, “When you click this button, it by one or two designers. At the beginning of plan- should appear depressed until the user ning AGE OF MYTHOLOGY, we decided that the releases the mouse button, at which single-player campaign would be one of the time it should revert to looking un- game’s big features on the back of the box. We depressed; clicking the button in this man- hired several new content designers, invested a ner should cause a sound to occur, the lot of time in custom animations for the in- sound should be kind of like a twig snap- game cinematics, and made two trips to ping…,” the design department took up Hollywood to work with professional voice drinking in the middle of the afternoon. actors instead of using local talent or (shud- In the future, we plan to keep design der) our own overacting. driving the process, but at a higher level. We will We had never before attempted an epic, trust people at the implementation level to fill character-driven script, and we approached in the details. the task in epic fashion, appointing a story committee to review progress on the script. Scriptwriting n00bs. We knew (In retrospect, trying to please so many peo- 2.we wanted a script that had all ple so early in the project was more trouble the scope and drama of The Iliad, and we than it was worth.) Near the end of the proj- knew we wanted characters who could slap each ect, the designers working on the campaign, other on the back, make fun of each other, and devel- often with the artists working on animations op relationships over time. In short, we needed a big for the cinematics, met several times a day story with a lot of dialogue. While the designers had so they could all keep in touch on some writing experience in various forms, progress. The lead designer docu- none of us had ever tackled a script like mented everything, ensuring changes this. We also had not yet figured out how the in-game

48 february 2003 | game developer POSTMORTEM

High-polygon opening cinematics are demanded by the fans. This time around, Ensemble experimented with working with an outside contrac- tor. Those experiences might make for an entire Postmortem by themselves. cinematics would work, or how long we could make them with- room several times a week. Even worse, we stalemated a lot out boring everyone. more and started to resort to compromises to placate all We had no idea what we were doing. We did it anyway. The involved, so some of our design decisions began to result was a lot of revisions to satisfy different opinions about result in bland design-by-committee game models how a story or characters should work. Everyone had their (“oatmeal design,” in our parlance). favorite bit character or script fragment that was We settled on a strategy where the design impossible to delete, and deleting anything threat- department would gather everyone’s feedback, ened to collapse the intricate story line. We eventual- mull it over, and then make the call. It was dif- ly had to take a step back and revise with a much ficult changing our mode of communication smaller group of just two people. In the future we in the middle of the project, and some of the will keep early feedback to a smaller group, squeakier wheels protested that there was a which we hope will get us closer to nailing the design black hole that swallowed up their correct length, number of characters, and plot feedback. This prompted us to redouble our intricacies with fewer revisions. efforts at documenting and communicating Developing this sort of material at both a high changes to the team, but this was an ever- level of quality and in something resembling an widening gyre; for every e-mail you sent out efficient manner demands some pain and experi- explaining a decision, you got five replies that ence that can only be gained by actually doing it. If disagreed with various points of your logic and you’re planning on doing this sort of project and haven’t required a response. Eventually, we got to the done it before, double your estimates for everything point where we had to make a decision: the design related to the project, then halve your plans for the con- team could either do the work we needed to do to tent (number of characters, lines of dialogue, number of and complete the game, or we could explain and scenarios, number of special art objects, and so on). defend every decision we made. We came to think of our larger team size as Consensus is hard with large groups. simply a variable — it changes how we go about 3.Consensus is the basis of the game design being consensus-based, not whether or not we process at Ensemble. This company philosophy worked use a consensus-based approach. Either way, we exceedingly well when there were only a dozen of us. were committed to our consensus-based process. Even when we grew to 20 or so people, getting Our plan at this stage was to formalize what everyone in a room (we usually all had lunch The models used for the in-game eventually worked during the latter portions together) and hashing things out worked well. As cinematics needed to match their of AGE OF MYTHOLOGY with our “small the size of our team grew, however, it became low-poly equivalents that were pets” meetings. Our new projects are now increasingly less efficient to get everyone in a seen during gameplay. built around small, nimble groups with rep-

50 february 2003 | game developer POSTMORTEM

One of the goals of AGE OF MYTHOLOGY was to design a beautiful, living world. Ensemble uses bright colors to make inviting landscapes they hope players will want to spend time in. resentation from all of the disciplines. These groups have the gate these disagreements in the future by attempting to answer ultimate decision-making authority but also the responsibility the big questions such as “How different?” early on, and then for gathering feedback from the entire team, explaining and keeping these guidelines in front of the team for the duration defending decisions, and building a general consensus. of the project.

How different is “different”? The well-known, Unfinished tools. Because we were dealing with a 4.inherent risk of sequels is that you need to keep 5.new engine and there was no shared code from our what is popular about earlier products while still offering previous titles, we made the right decision to reserve a lot of something new to justify the purchase of a new product. The time early on to develop tools. Unfortunately, since the tools AGE OF EMPIRES games are large and complex, and we knew were for internal use only, it was easy to move people off of we couldn’t take AGE OF KINGS and layer several new game those tasks when other problems came up. Several tools were features on top of it; we had to pull out some systems and never completely finished, and the customers for those tools change things to make a game that was “different.” While (typically designers) waited up until the final days of the devel- some of us were (or thought we were) clear on what “differ- opment cycle to see if improvements of incomplete features ent” meant, there were many other definitions floating about. could be added. While waiting for the tool, we hacked a lot of For some members of the team, different meant, “AGE OF content in place, figuring that it was better to do some work KINGS, but the knights look like Minotaurs.” For other team than sit idle. A good example was the AI for computer oppo- members, different meant, “There are no units, and you con- nents in scenarios, which came online very late, after the trol the game with your mind.” When a new feature didn’t designers had hacked in fake AI using scenario triggers. This work right away, the differences of opinion led to a lot of kind of work was difficult to unhack and left us with less time pressure to revert to the tried-and-true. to iterate than we would have liked. For example, we went through several variations of our pop- For the future, we (like everyone else in the game business) ulation model. Earlier implementations lacked houses, which need to remember the value of tools and not skimp on their for some of the team was just too great a departure. The team development time. We additionally need to pay particular atten- quickly split into two camps, one that argued for even more tion to those tools that might ship with the game, such as the change in the gameplay, and another that was scared that we scenario editor, which was never completed to our satisfaction. were moving too far from the game our fans loved and expect- ed. The fans are not particularly forgiving in this respect, and Here to Four once the game was out, they applauded some of the new fea- tures while protesting about even the smallest features that he good and bad of getting there aside, the end product of were removed, such as choosing your player color. T all this is our Three, AGE OF MYTHOLOGY. Everyone at Ultimately, there is no ideal solution to the problem of Ensemble Studios is immensely proud to have contributed to defining what is different; games today are too complex to be this game and we’re now looking forward to the opportunity to fully defined by a vision statement, so there will always be figure out what type of beast Four will be. some degree of opinion to factor in. We plan to try to miti- At this early stage, we only have one question on the board:

52 february 2003 | game developer SOAPBOX heather kelley

Narrative Games: Finding Another Side to the Story

s developers, we place a dispropor- tionate stake of our medium’s identity in character-based narrative games. These games give us something that we can’t get from the intellectual beta-wave exercise Aof puzzle games or the adrenaline-pumping simulation of sports games. While puzzle and sports games represent a hefty chunk of game sales and game players, you seldom see a polygo- nal quarterback, much less a falling brick, on a magazine cover. We want to reach players emotionally in the best way we know how; because stories holds a privileged place in our culture — in all cultures, in fact — we use these games to represent our craft stories that a to the outside world. As humans, we use stories to make sense of player wants to the world, and narrative games are how we achieve that goal in experience, even if our medium. they don’t fulfill these obvious power fantasies. If we don’t make them relevant to wider audiences by This kind of innovation poses a bigger challenge than it increasing their variety and complexity, narrative games will sounds. Hero narratives depend on the triumph of the protago- ultimately hamper the evolution of games themselves. We must nist. Since we embody the story’s protagonist rather than simply expand beyond the classic hero story to get these games past watching the story unfold, such games leave no room for the status of geek recreation. It’s not going to be easy, or pretty, tragedy or failure. Failure can be an effective emotional experi- but it’s what we’ll have to do if we want the game industry to ence as a bystander, but as long as we have choice, we do not grow up and achieve mainstream recognition as a form of art naturally choose to fail. We don’t mind empathizing with a trag- and human expression. ic character if we see the machinations of the universe working Console publishers and developers have long known that the their ruin, beyond our control, but we can’t stand to be that majority of the potential game-buying population doesn’t give a person ourselves and be powerless to prevent it. So we need new damn that your game has dynamic LOD, bump-mapped decals, story mechanics that either allow the player to fail and still be and pushes 1.5 trillion multi-pass lit polygons per second. If we satisfied, or other contexts for success that don’t depend on an want a larger audience, we need to shift some focus from the endless string of worlds-in-peril that only we can save. visual aspects of game technology and focus on innovations in Multiple fully realized characters. Most narrative games are plot player experiences. driven, with no attention given to character subtlety. But this To accomplish such a shift in narrative games, we need to doesn’t have to remain the case. Some games are already blazing innovate on a number of different fronts: compelling trails in this arena. For example, SEAMAN integrated Narrative variety. Most story games are comparable to super- the intimacy of a spoken interface with a nonheroic personal hero comic books in terms of audience and themes. But why? story arc. Player achievement in SEAMAN was on a much smaller Why not explore more varied subject matter? The majority of scale but was as meaningful as saving the world. The day I acci- superhero comics and narrative games give us a chance to play dentally killed my carefully nurtured two-month-old Seaman was with power. But that’s not the only story there is to tell about probably the most emotionally charged moment I’ve had playing

being alive. We can innovate through our design and writing to a game. On a technical level, until we have simulated personali- Munday by Steve Illustration explore other facets of existence; we can invent situations and continued on page 63

64 february 2003 | game developer SOAPBOX

continued from page 64 player responsibility becomes a facet of ently appealing to established developers. ties complete with nonverbal communica- gameplay. In ICO you must actively keep Publishers in turn like the fact that recog- tion and speech recognition, we at least Princess Yorda with you by pulling or nizable characters help sell games. But need more robust AIs that can make real- coaxing her forward, and defend her indie developers don’t have the same istic personal decisions in a wide variety from the constant threat of capture. resources and infrastructure to make rev- of scenarios beyond simple fight-or-flight. Design for player expression. As world olutionary narrative games. Mods offer Interface innovation. Button and builders, we can give the players tools some potential, but availability of better thumbstick controllers are especially and settings to inject themselves into the and cheaper tools for enabling deep char- good for fighting things but not so great story, supporting a broader freedom acter development will lead to more at other interactions with anthropomor- within the constraints of the fictional set- innovation, sooner. phic characters. Interface innovations in ting. In GRAND THEFT AUTO 3, the best For years we’ve survived on easy inter- speech and face/gesture recognition, and example to date of this kind of richly activity, and what I’m proposing here is the use of input methods such as music developed game world, players interact not the easy stuff. But our medium will and text, all possess untapped potential with the game world to write their own not expand until we make more effort to to elevate and vary our emotional experi- short story, while playing out the larger tackle the hard and messy problems. Not ences in games. narrative. More often than not, it’s those all games made with more complicated Emotional buy-in. What makes us player-written stories that make the game technology are going to be masterpieces care? The size of the stakes? Not neces- memorable and generate excitement. of the form — in fact they most certainly sarily. What’s really important is how That’s why many players spurned won’t be, initially. The biggest ground- much a given situation or problem GTA3’s story mode entirely in favor of breakers should try first to entertain. relates to us personally. Everyone agrees the open-ended play mode. To make bet- Mass appeal nabs publishers and others that if “the universe” or “good” as we ter narrative games, we need to incorpo- to fund projects; risk can be incremental, know it is destroyed, the situation rate the lessons of systemic gameplay and and amortized. Little by little, our cre- would certainly be personally relevant. integrate that play style into fiction arcs ative and artistic landscape will grow; But smaller stakes can seem equally that aren’t so easily discarded. only then will our Anna Kareninas and important if they are made sufficiently Development processes that encourage Citizen Kanes emerge. q personal. One way to achieve this per- innovation. Games with characters and sonal relevance is through a direct narrative are almost universally expen- HEATHER KELLEY | Heather is a responsibility for another single crea- sive. It’s no coincidence so many indie designer on THIEF 3 at Ion Storm Austin. ture. SEAMAN and earlier, simpler sim games are puzzle games, card games, and She has a master’s degree in radio-TV-film creatures were examples of this, and space flight sims. Creating living, walk- from the University of Texas and has con- other recent games have successfully ing, talking beings is incredibly labor tributed production and design work to used this formula, such as BLACK & intensive. Large teams can saddle such three published titles during her first five WHITE and ICO. More importantly, per- risk because the potentials are large years in the industry. You can excoriate her sonalizing the responsibility means that enough and because the genre is inher- at [email protected].

www.gdmag.com 63