ebook img

GDM January 2003 PDF

37 Pages·24 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview GDM January 2003

JANUARY 2003 G A M E D E V E L O P E R M A G A Z I N E G A M E P L A N 600 Harrison Street, San Francisco, CA 94107 t:415.947.6000 f:415.947.6090 Publisher Jennifer Pahlka [email protected] ✎L E T T E R F R O M T H E E D I T O R EDITORIAL Editor-In-Chief Jennifer Olsen [email protected] Managing Editor Everard Strong [email protected] Tales from the Front Line Production Editor Olga Zundel [email protected] Product Review Editor Daniel Huebner [email protected] T his issue marks the fifth how developers are allocating their budg- ArtA Duidrerceyto rWelch [email protected] installment of Game Devel- et resources are ultimately far more sig- Editor-At-Large oper’s annual Front Line nificant to their business than any hic- Chris Hecker [email protected] Contributing Editors Awards. Every year the job cups in how much they are spending. Jonathan Blow [email protected] of picking the year’s best The role of NIH syndrome is becoming Hayden Duvall [email protected] Noah Falstein [email protected] game development tools gets easier, largely ceremonial at many game develop- Advisory Board because there are more quality tools for ment studios today, thanks to the growing Hal Barwood LucasArts Ellen Guon Beeman Monolith developers to choose from, and every technical and budgetary arguments in Andy Gavin Naughty Dog year picking them gets harder, because favor of the increasing range of workable Joby Otero Luxoflux Dave Pottinger Ensemble Studios there are more quality tools for develop- middleware options available, which are George Sanger Big Fat Inc. ers to choose from. represented in this year’s Front Line Harvey Smith Ion Storm Paul Steed Independent Our panel of industry professionals Awards in the new Game Components ADVERTISING SALES who judge the year’s releases face the category. The Production category is on Director of Sales/Associate Publisher same challenges you do in their daily hiatus this year — frankly, we were not Michele Sweeney e:[email protected] t:415.947.6217 Senior Account Manager, Eastern Region & Europe work, and they want the same things sufficiently impressed with the field of eli- Afton Thatcher e: [email protected] t:415.947.6224 from their development tools: solutions, gible nominees to give any an award in Account Manager, Northern California & Southeast Susan Kirby e: [email protected] t:415.947.6226 stability, and support. Developers who this underserved area, unless we felt like Account Manager, Recruitment used to have to sacrifice stability in their honoring Microsoft Excel, which hardly Raelene Maiben e: [email protected] t:415.947.6225 tools for feature richness, for example, fits the awards’ goal of recognizing prod- Account Manager, Western Region & Asia Craig Perreault e: [email protected] t:415.947.6223 now have a better chance of getting both. ucts that specifically address game devel- Account Representative Vendors who have listened to game opment needs. Last year’s winner in the Aaron Murawski e: [email protected] t:415.947.6227 developers’ requests and feedback over category, NXN Alienbrain, has since ADVERTISING PRODUCTION Vice President, Manufacturing Bill Amstutz the years are being rewarded for their added so much software-configuration Advertising Production Coordinator Kevin Chanel efforts to meet this industry’s unique management functionality (including a Reprints Cindy Zauss t:909.698.1780 needs in functionality and support, at a bundled version of Araxis Merge, a 2001 GAMA NETWORK MARKETING time when business in related fields such Front Line Award winner), it may find a Director of Marketing Greg Kerwin as broadcast, film, and web production home in the Programming category next Senior MarCom Manager Jennifer McLean Marketing Coordinator Scott Lyon has declined for many of them. year when version 6, released after this CIRCULATION Even vendors who lacked a revision year’s eligibility cut-off, will be eligible. release within the 2002 Front Line It’s a poor workman who blames his Group Circulation Director Catherine Flynn Circulation Manager Ron Escobar Awards’ eligibility window of September tools, says the old adage, and it’s as true Circulation Assistant Ian Hay 1, 2001, to August 31, 2002 (including in game development as it is in carpentry Newsstand Analyst Pam Santoro Game Developer one of the 900-pound gorillas of the Art or anything else. Nevertheless, developers is BPA approved SUBSCRIPTION SERVICES category, Maya), had a significant impact have been stymied in the past by some For information, order questions, and address changes on the industry this year with price cuts. truly inadequate development tools. t:800.250.2429 or 847.647.5928 f:847.647.5972 e:[email protected] The ramifications in the 3D software Today, more vendors than ever under- INTERNATIONAL LICENSING INFORMATION business alone were huge. stand and appreciate the strategic impor- Mario Salinas At the beginning of the high-tech tance of enabling game developers to meet t:650.513.4234 f:650.513.4482 e:[email protected] downturn, vendors approached the game the challenges of delivering top-quality CMPMEDIA MANAGEMENT development industry to find that game work within a reasonable budget. With President &CEO Gary Marshall Executive Vice President & CFO John Day developers were not only buying, their the Front Line Awards, we want to recog- Chief Operating Officer Steve Weitzner budgets were actually rising rapidly dur- nize those vendors and products, and Chief Information Officer Mike Mikos President, Technology Solutions Group Robert Faletra ing the last console transition. That rise encourage them to continue listening to President, Healthcare Group Vicki Masseria is now leveling off. Most developers cur- their game development customers, so President, Electronics Group Jeff Patterson President, Specialized Technologies Group Regina Starr Ridley rently undertaking new projects are they might serve this market even better in Senior Vice President, Global Sales & Marketing Bill Howard doing so with similar and in some cases the future to the benefit of all. Senior Vice President, HR & Communications Leah Landro Vice President & General Counsel Sandra Grayson even slightly smaller budgets. And while Vice President, Creative Technologies Philip Chapnick a slowdown in budget growth might seem a dismal picture for vendors serving the game development market, there remains plenty of opportunity for ven- Jennifer Olsen dors who understand that changes in Editor-In-Chief 4 WWW.GAMANETWORK.COM S A Y S Y O U C A FORUM FOR YOUR POINT OF VIEW. GIVE US YOUR FEEDBACK... Storytelling Pitfalls sequels. And I’m not sure you can even script compiler. My goal is to allow properly consider a game like ZELDA: nonprogrammers to create large, plot- Iwas relating “The Godfather OCARINAOFTIMEa remake; games with oriented RPGs. Paradox” (Better by Design, familiar characters, unlike old 3D arcade The problem, which I imagine most November 2002) to a friend in the games, just feel different. But it all professional game developers already industry when it occurred to me that comes down to apples and oranges, and know, is that creating a game is far more movies and other media that tell stories you’re absolutely right that it’s danger- than programming or plot development. are one of the few kinds of products ous to push the comparisons of different that can get worse on successive itera- media too far. Jeff Freedman tions. If you compare videogames to, I’m intrigued by your observation that via e-mail say, vacuum cleaners or new models of storytelling does poorly with sequels. If cars, you’d expect them to get better you consider characters being reused, Ethics, Shmethics each time around. It seems like Noah things change quite a bit — you get an Falstein makes the classic mistake of explanation for the popularity of sitcoms Irecently read Jennifer Olsen’s editori- comparing videogames to movies. I or even TV dramas, where characters al “Decisions, Decisions” (Game think it’s better to think of a videogame seem to matter more than telling really Plan, September 2002). With the media “sequel” as an improvement on the new stories. For that matter, the James attention GRANDTHEFTAUTO3has same product. Bond or Dirty Harry movies come to been receiving, the analysis has been As ZELDASget re-released, they have mind, or other action-hero films where entirely focused on the metaphor of the the tendency to tell an approximation of the actor plays a similar role in each film game, which is relevant to the market- the same story over and over again. even when the stories and even charac- ing of the product, but not overly rele- ZELDA: OCARINAOFTIMEis not a sequel ters are supposedly different. vant to any analysis of lasting effects of to ZELDA: LINKTOTHEPASTin the narra- the game on a player. tive sense; it feels more like another draft What About Brazilians? The message of GTA (the game) itself of the same story. It’s better to compare is much less inflammatory than seems it to Hollywood remakes than sequels. (I, I’m the CIO of a game development implied by either a description of the personally, liked John Carpenter’s version company in Brazil. I enjoyed Jennifer game metaphor or the media attention it of The Thingmuch better than the origi- Olsen’s editorial “Hello World” (Game has received. After playing heavily for a nal, although I know there are critics out Plan, November 2002). The only omis- couple of weeks, the only residual game there who bash remakes.) sion I saw was that you said nothing effect I experienced in real life was an I’ll go out on a limb here: Maybe try- about the game market in Brazil or South increased awareness of police cars while ing to pick up a narrative thread where America. Although games from that walking down the street; not a big deal, METALGEARSOLIDleft off is one of the region don’t have much of a presence in well within the constraints of reasonable places where MGS2 got in trouble? If the global market today, the industry is human behavior, and in some places in Hideo Kojima had instead rehashed the growing rapidly there. the world, enhancement of a positive sur- METALGEARstory — improving upon In fact, DEERHUNTER3was made by vival trait. its flaws — maybe MGS2 sales would a Brazilian company, Southlogic Studios, Emergent gameplay is about giving the be overtaking MGS now. and released by Infogrames. user the freedom to explore his own ethi- We need more people like Falstein cal quandaries, not imposing our own shining light into the most important and Giuliano B. Schiavon upon them. Any game that tries to model least understood area of videogames. I Oniria Entertainment such ethical content will succeed or fail fear game design, like art, is resistant to via e-mail not on the specific metaphorical nature of rational analysis. Still, rational analysis is the quandary, but on the resulting game- one of the only tools at our disposal. Entrepreneurs Unite! play. The albatross is a development quali- ty thing, not an ethics of metaphor thing. Jamie Fristrom Ienjoyed “Games for the People, by the Treyarch People” (Soapbox, October 2002), in Gregor Koomey via e-mail which Matthew Stibbe wrote “. . . it via e-mail would be exciting to see the open source NOAH FALSTEIN RESPONDS:I think that it’s movement do more to embrace games.” a little deceptive to compare games to I’ve long wanted to make it possible CLet us know what you think: send us an vacuum cleaners. I’d be more interested for ordinary people (like myself) to cre- e-mail at [email protected], or write in seeing other forms of entertainment ate games; and so, as part of the Exult to Game Developer, 600 Harrison St., that people expect to get better in project, I’ve written a map editor and San Francisco, CA 94107 6 january 2003 game developer ; I N D U S T R Y W A T C H KEEPING AN EYE ON THE GAME BIZ | everard strong Nintendo gets slapped with the European Xbox’s Ohura steps down. Hirohisa Ohura, Commission’s fourth-largest fine.Resulting Microsoft managing director for from charges of price-fixing on the Japanese Xbox operations, is leaving the European continent, Nintendo has been post on January 1 and moving to the told to dole out a record €149 million company’s U.S. headquarters. No reason ($150 million) in fines. The fine was the was given for his departure at the time. fourth highest handed out by the com- Microsoft immediately began the search mission. Nintendo officials are not con- for a replacement. testing the charges but expressed surprise at the amount of the fine, claiming the ESRB names new president. The Entertain- commissionshould be more lenient, as ment Software Rating Board (ESRB) Nintendo volunteered the information to announced that Patricia Vance has been the EC in the first place. appointed its new president, replacing Rockstar Games’ GRANDTHEFTAUTO: VICECITYis Dr. Arthur Pober, who led the ESRB GRANDTHEFTAUTO: VICECITYbreaks big num- giving Hollywood a run for its money. from its inception and helped design the bers.Industry analysts predict that rating system used today. Pober will still Rockstar Games could sell as many as 2007. The number of game players who serve as the ESRB’s president emeritus. 10 million copies of GTA: VICECITYin play more than 15 hours a week will 2003, generating more than $400 mil- grow by 40 percent, from 12 million to 17 Interplay to focus on content. Following its lion in revenue, a number that puts it on million by 2007. financial woes, Interplay has announced par with major Hollywood blockbuster that a series of as-yet undisclosed moves film releases. Epic/Sony is releasing seven Time Warner rolls out G4.G4, the Comcast- will shift the company to a “content- separate CDs featuring the music played owned videogame television network, driven” focus. Personnel shifts within the on each of the seven radio stations fea- signed a carriage agreement with Time company have resulted in Philip G. tured in the game. Warner Cable that will see the network BAdam being named as the company’s rolled out to all of Time Warner’s digital new president and Gary Dawson as chief q Console market is growing up.New studies basic subscribers over the next two years. operating officer. by Jupiter Research show that the median age of game players is 23, 61 percent of Sega’s expectations fall. Sega has slashed those surveyed favor “low-intensity puzzle its half-year net profit forecast by 77.8 UPCOMING EVENTS and board games,” and one in 10 online percent, forecasting to sell 4.6 million CCAALLEENNDDAARR adults owns a current-generation console units of game software by the end of this (Playstation 2, Xbox, or Gamecube). The fiscal year ending March 2003, com- overall audience of game players across all pared to earlier predictions of 6.2 million MILIA platforms will grow 18 percent, with a 61 units. Sega cites in part poor sales of its PALAISDESFESTIVALS P percent penetration of the market by NFL 2K3 title for this downturn. Cannes, France February 4–6, 2003 TTHHEE TTOOOOLLBBOOXX Cost: variable www.milia.com DEVELOPMENT SOFTWARE, HARDWARE, GAME DEVELOPERS AND OTHER STUFF CONFERENCE Nokia unveils game-focused handset. that reproduces the dynamics and sur- SANJOSECONVENTIONCENTER Nokia revealed their N-Gage, a combi- round sound effects of a 5.1-channel San Jose, California nation mobile phone with game input speaker system on a dual-speaker PC. March 4–8, 2003 controls and a full-color screen. Sched- www.dolby.com Cost: $150–$1,975 uled for a February 2003 release, Sega www.gdconf.com Vicon ships Vicon IQ. Motion capture com- has signed on to develop games for the GDC MOBILE pany Vicon introduced Vicon IQ, soft- device. www.nokia.com ware that, by retaining data from each SANJOSECONVENTIONCENTER San Jose, California Dolby introduces new virtual speaker tech- stage of the capture process, reduces March 4–5, 2003 nology.Dolby Laboratories announced inaccuracies and minimizes time-con- Cost: $895 Dolby Virtual Speaker, a technology suming manual editing. www.vicon.com www.gdcmobile.com 8 january 2003 | game developer P R O D U C T R E V I E W S X X THE SKINNY ON NEW TOOLS Adobe’s Photoshop 7.0 by spencer lindsay O ut of the box, the inter- face for Photoshop 7 looks very similar to the 6.0 update. However, upon further inspection, some really cool new features emerge that are especially useful in games pro- duction. Since Photoshop 7 comes with so many features in all, I’m going to focus solely on the new ones. Healing Brush and Patch tools.The Healing Brush is similar to the Clone Stamp tool in previous versions, but with a twist: when you select a source area of your image to duplicate, it only clones the texture of the sample, not the lumi- nance values or color information, which is great for creating seamless tiles for tex- ture maps. The Patch tool is for bigger areas and Photoshop 7’s Pattern Maker tool holds great potential for 2D texture artists. works somewhat the same way. Select the area you want patched and then drag the tures. Like most features in Photoshop, er is batch renaming. If you’ve got a selection to the new texture area you want it’s very straightforward and easy to use. whole load of images that you took at E3 to clone from. Again, this won’t clone the File browser/web gallery.There are and they’re all named “P000098234.jpg,” pixel chroma or luminance values, just the some great features in the file browser, you can rename them all to something texture of the source. I played around specifically the ability to save the more useable and transfer them to anoth- with the tool for a while and found it easy Exchangeable Image Format (EXIF) er directory. Using the web gallery fea- to remove blemishes and random image information data from your digital cam- ture, you can place them in a web page noise from a picture. era with each image. All the settings with icons and navigation buttons and Pattern Maker.The new Pattern Maker from your digital camera — the date, the upload them in a matter of seconds. The tool is excellent at creating tiling patterns time, and whether the flash was fired only beef I have with this feature is that it from a completely unusable source; you during the shot — is saved in the EXIF makes you save your pages with the select a section of the source image and window, and it keeps that information .HTMextension instead of the more tra- the Pattern Maker creates an endless with the image after saving it. ditional .HTMLand you have to trim the number of randomly patterned, tiling tex- Another useful feature of the file brows- <meta name>tags out of each file. New brush features.The brushes are SPENCER LINDSAY | Spencer is president at Etribe Studio in Santa Cruz, Calif., a now modifiable in so many ways that real-time 3D and multimedia content provider for the game industry. He spent five years at you can simulate painting with pretty Atari Games as art director, where his titles included SANFRANCISCORUSH, SANFRANCISCO much anything. You want to put oil RUSH: THEROCK, METALMANIAX, and the design phase of SANFRANCISCORUSH2049. paint on canvas with a camel hair brush? www.gdmag.com 11 X P R O D U C T R E V I E W S XXXXX excellent XXXX very good XXX average X= X disappointing X don’t bother How boring. How about axle grease the UVs on addition, if you onto rubber with a dead fish instead? my model. have LCD shut- Done. Blood on stone with a hand? Using Liquify, I ter glasses, Done. The scatter function combined can nudge small there’s a stereo with texture allows a wide variety of or large areas output realistic, smudgy, natural effects that of the tex- allowing were much more difficult to achieve in ture map you to run the older versions. I needed a “ground into the right an OpenGL texture” for our game the other day and alignment. application in in 10 minutes was able to crank out Tool palettes. stereo. some realistic-looking grass and dirt that Photoshop 7 now For those of you running model- tiled nicely. allows you to save ing applications that support lights, the In addition to a slew of parametric tool palettes and brush- Wildcat VP line supports 24 hardware- controls, you can set the brushes to es in a user-configured preset that can accelerated lights. The Acuity driver work with Wacom’s pen angle, airbrush open automatically. In addition, you can interface lets you select performance wheel, and a passel of other customiz- save “Tool Presets,” yet another palette in options for either high texture require- able pen controls. the History and Actions tab. In the new ments (as in a modeling application) or Liquify.The enhanced Liquify com- version, if you come up with a tool set- lots of geometry. mand is great for subtly moving portions ting for your paintbrush that you like, There are four Wildcat VP models, of a texture map to fit a mesh. When I you can set that as a preset and then later from the new low-end VP560 ($249) to build characters, I always find that one on access that with a button click. the ultra-high end VP870 ($1,199), with spot that doesn’t match up exactly with Bottom Line.Photoshop 7 is an excel- the differences being in speed and memory lent upgrade and has enough new fea- configurations. PHOTOSHOP 7 XXXX tures and tools to warrant purchase. The These cards are fully DirectX ]] new brush dynamics and the Healing 8.1–compliant, and they will have Brush tools alone make the upgrade DirectX 9 drivers. The major DirectX 9 STATS worth it. So go out and get a copy and features that the Wildcat VP doesn’t have ADOBE then spend the rest of your life in a dark are 2.0 pixel shaders (they do support San Jose, Calif. room, staring at a CRT. 2.0 vertex shaders) and floating-point (408) 536-6000 pixels. This means that there’s no hard- www.adobe.com 3Dlabs’ Wildcat VP ware support for the extended precision PRICE color operations that require 64- or 128- $609 (MSRP) by ron fosner bits-per-pixel color space. SYSTEM REQUIREMENTS OpenGL support, as you might guess, Mac: G3 or G4, Mac OS 9.1–10.1.3; 128MB The Wildcat VP is built around 3Dlabs’ is excellent. The most interesting aspect RAM (192MB recommended): 320MB new P10 chip, a real-time multi- is that 3Dlabs and ATI are the driving disk space; 800(cid:2)600 color monitor with threaded processor that allows you to run forces behind the OpenGL 2.0 specifica- 16-bit color or greater video card. single or multiple accelerated graphics tion, and 3Dlabs has a set of prerelease Windows: Pentium III or 4, Windows 98, applications with increased performance. drivers available. All of the specifications ME, NT, 2000, or XP; 128MB RAM: 280MB The Wildcat VP cards can address up to can be found at www.3dlabs.com/ disk space; 800(cid:2)600 color monitor with 16GB of virtual memory, with the cards support/developer/ogl2/index.htm. 16-bit color or greater video card. having 64MB or 128MB of on-board If your day-to-day activities include memory. Therefore, these cards are not working on modeling in 3DS Max or PROS designed to improve performance on older Maya, or you’re looking for a high-end 1.Great new brush functions. machines, they are designed for machines graphics card for that über-work PC, or 2.File browser and batching options. with Pentium 4 or Xenon processors with you’re looking to try out the latest Open- 3. More specific tools make creating tiled lots and lots of RAM running Windows GL shader language, then the Wildcat VP q textures easier. 2000 or XP. They will run on Windows deserves serious consideration. 98 or ME, but it’s not recommended. CONS The sheer beefiness of these cards is XXXX | WildcatVP 1.Lack of hotkey customization. impressive. Not only can they run acceler- 3Dlabs | www.3dlabs.com 2.Still Mac-centric at its core. ated OpenGL in a dual monitor setup, but 3.Emphasis on web-specific features each monitor is capable of running in Ron Fosner is a 3D programmer and instead of traditional ones. 2048(cid:2)2048 resolution in 32-bit color. In consultant. Reach him at [email protected]. 12 january 2003 | game developer P R O F I L E S TALKING TO PEOPLE WHO MAKE A DIFFERENCE | everard strong American McGee: Silver Screens & Pixellated Dreams T here is a belief in the game going. Eventually, you and I will plug our computers development community that into our heads and escape into any world we want, game teams can, and should, surrounding ourselves with a completely new reality. be assembled the way they The interface is coming, the content is evolving, and are around films: gather indi- whether they know it or not, game creators are on viduals and groups for each project, with- their way to being alternate reality creators. out committing to long-term contracts or GD:What do you mean by alternate reality creators? employment. American McGee, with his AM:PONGis a game. DEFENDERis a game. PAC- experiences in game development (id, MANis a game. DOOMand QUAKE, they’re crossing Electronic Arts, and his own development over from game into alternative reality. GRAND company, Carbon 6), and in other media THEFTAUTO3, an extremely important game for projects, including film and video, shared Carbon 6’s American McGee ponders our industry, goes much further away from game. his views on movie making, game mak- what Hollywood and game develop- It’s an escape, but at the core of it, it’s not even a ing, and, in his opinion, how separate the ers can teach each other. game. It’s a narrative, and you are part of the story, two worlds really are. and it’s a sandbox in which you can go play Game Developer: Do you think the game industry adopting around. A game is almost a misnomer for what we’re eventual- Hollywood’s methods of forming teams on an as-needed basis is a ly turning ourselves into as an industry. Do you call a book a viable one? game? Do you call a piece of fiction a game? No. Those things American McGee:Bringing teams together on an as-needed are attractive to people because they’re an escape, and whether basis only works in an industry that has standardized tools, lan- you’ve escaped through the page, or television, or film, or guage, and practices. This works well in the film industry, as music, it’s about letting people have an alternative life, an alter- they’ve been working with the same tools for several decades. nate reality. That’s what I mean by alternate reality creators. On the other hand, games are almost always started from GD:Do developers limit themselves by thinking in terms of creat- scratch with new lighting systems, animation systems, a scripting ing games instead of experiences? language, and often with basic game-mechanic principles being AM:I think as an industry, we don’t really think about just re-invented. The in-house vocabulary related to the tools and how big of an impact we can have with our medium. The word game design is also being invented on the fly. This necessitates “game” makes it seem small to a lot of people. The collective having key members of a given development team stick together subconscious definition of a “game” is still stuck in the 1980s from project to project. If you disband, you lose the tribal with some kid pumping quarters into an arcade game. knowledge of what was built last time around; we’re not In Hollywood, a lot of people I’ve talked with view games as recording that history right now. an inferior medium, and they have a right to because a couple of GD:Physical proximity is key to Hollywood keeping their produc- years ago they really were. But now, as people here recognize tion system workable. Does the game industry’s lack of a Hollywood what can be done, they are starting to freak out partly because and Vine impede the incorporation of such a system? they’re seeing a lot of their sales cannibalized by those of games. AM: There is a “Hollywood and Vine” for the games indus- You meet with them and they’re like, “We don’t want to get try: the Internet. One of the projects I’m currently managing is involved with games because it will just help games grow bigger.” being created by individuals in Australia, Los Angeles, and That’s backwards thinking. Games are going to keep growing, so Texas. It’s a global development team in a very real sense, and you better jump on or get lost. it’s working marvelously. It’s allowing me to use the very best GD:Do you think we’re at the stage where people are going to resources from around the world. start test-marketing titles as they do movies? Will there be a panel The only thing I’ve ever seen come out of developers who are of mall-goers giving their input on the next GRANDTHEFTAUTO? near one another is tons of employee theft, gossip, caveman AM:The great thing about GRANDTHEFTAUTOis that num- rivalry, and bitterness. But then, maybe that was just something ber three in the line was the big hit. People forget that there weird in Dallas. where two of them. It was something that wasn’t right the first GD: How has the film industry’s progress differed from game time, and it wasn’t quite right the second time either. But the development’s so far? third time around, man, they got it. Now they’ve got a formula AM:We went from 2D black and white [games] to 3D faster for success, and they shouldn’t screw it up by trying to add the q than film went from black and white to color. And we’re still kitchen sink to it, which a lot of game people tend to do. 14 january 2003 | game developer I N N E R P R O D U C T j o n a t h a n b l o w Interactive Profiling, Part 2: Behavior Analysis L ast month (“Interactive Profiling, Part 1,” December But historically, interactive profilers have provided minimal 2002), I talked about the sorts of low-production- functionality: a list of program regions and CPU times and not value profilers we often need to build into our much else. The numbers they present to us are ephemeral — games. I described these as “interactive profilers,” either they exist for a frame and then disappear, or they’re aver- distinguishing them from the commercial products aged over several frames, hiding spikes that are important to available, which I called “batch profilers.” detect. This is an interesting conundrum in interactive profiling: I also described several ways that an interactive profiler can we want to add hysteresis to the reported data so that it is easi- be helpful when a batch profiler cannot. A big problem with er to read (as with the IIR filters I discussed last month), but batch profilers is that they average measurements across the that hysteresis can hide important events. Hysteresis makes the profiling session. If the program changes its overall behavior profiler less interactive and more batch-oriented, but without several times during the session, a batch profiler offers some the stored-data advantages of batch profiling. kind of average behavior which may not be much like the spe- So with the common kind of interactive profiler, we lose cific behaviors you want to debug. one of the strengths of batch profiling: the capability for pre- To illustrate this point, Table 1 shows an example of three cise and unhurried analysis of the available numbers. We can different behaviors that a program might exhibit and the result- see changing behaviors in the live profiling data, but they’re ing analysis you’d get from a program such as VTune. During difficult to quantify. How much time is being spent in behav- any given frame, the readout of an interactive profiler will ior A and how much in behavior B? How frequently is some clearly show one of these three behaviors, each of which has a particular performance spike occurring, and how long does single dominant function eating most of the CPU time. The the spike last? result given by the batch profiler shows no such dominance. In a sense, we want to quantify the behavior of the profiling Now suppose that behavior C is actually an error, and it numbers at a meta level. The raw list of numbers for any par- should not be happening at all. Given a clear picture of these ticular frame tells us how long the program spent drawing the numbers, you see that there is a dominant function in behavior world, running AI routines, performing collision detection, and C and we have a hope of understanding why that function is so on. As we saw with Table 1, those numbers can change sig- called. The result of the batch profiler shows three functions of nificantly during a run. Really we want to step up a level and roughly equal importance, and it’s unclear how to proceed in not limit ourselves to speaking only about elements of the raw optimizing the system. In practice, modern games are even less timing data. We want to look at the array of data from any clear than this, since they involve much longer lists of profiling given frame and treat it as a coherent set of numbers, as an numbers and a broader gamut of behavior. abstract object in its own right. An interactive profiler helps clarify problems such as these. That coherent set of numbers is a way to quantify what I have been calling a “behavior.” We want to talk about how TABLE 1.The CPU usage profiles for three different behaviors A, consistently the game produces that behavior, and, when it pro- B, and C, measuring time spent in three different program sections: duces some other behavior, precisely what that means. We want “rendering,” “physics_sim,” and “ai_pathfind.” solid, quantitative information about when and how often the program exhibits each behavior. Behavior: A B C Batch Average Thus we can elevate ourselves to a level where we are tak- ing concrete measurements about formerly abstract ideas such rendering 75% 25% 25% 42% JONATHAN BLOWIJonathan (jon@num- physics_sim 15% 65% 15% 32% ber-none.com) is a game technology consult- ant. Right now he is hanging out in Austin ai_pathfind 10% 10% 60% 27% and writing the “Bio” section for his column. 16 january 2003 | game developer I N N E R P R O D U C T as “the fill-rate-limited behavior” and have more choices of different ways to render duplicate entities is to collect them “the physics-heavy behavior.” We will alter an algorithm while still accomplish- by portal navigation through the world, no longer be trying to make inferences ing the same goal. With so many degrees but in this case the ones you have already by looking only at timing data for indi- of freedom and with limited manpower collected don’t get marked correctly. Odd vidual program zones. If this elevated to spend on optimization, we can easily combinations of portals would then data is presented in an easy-to-perceive exhaust our work budget exploring algo- cause entities to be added to the render way, it will become an important tool rithmic changes without reaching the list multiple times. for understanding just what our pro- low-level optimization stage for most of Another example of seemingly correct gram does. our game’s subsystems. Thus, we want a behavior concealing incorrect behavior This month, I want to explore the framework that encourages and supports might arise when performing collision kinds of analysis capabilities we might profiling at an algorithmic level, not an detection against an excessive number of want in an interactive profiler following instruction level. faraway objects. Either bounding vol- up next month with some concrete Traditional profilers also assume that a umes for the objects are unintentionally implementation. My goal will be to program’s behavior is somewhat orderly large, or the data structure they’re being introduce as much analysis as possible and that a static listing of CPU times is stored in is overly loose. In both this and without slowing down the run- the duplicate-drawing case, the ning game, which is important We want a framework rendered scene appears to be for reasons I discussed last correct, but the game has month. taken a lot of extra time to that encourages and generate it. What Do We Thus, one of the main pur- Want? poses of a modern profiler supports profiling at should be to act as a tool to To design appropriate understand the behavior of a analysis tools, we first program, to verify that the need to define clearly what we an algorithmic level, program is running correctly want the tools to do. This or to understand how it is clarification may take some wrong. Even when perform- thinking; as games have not an instruction ance problems are not due to evolved, our profiling needs bugs, they often exist because have also changed. we don’t quite understand the First of all, instruction-level level. performance ramifications of profiling is no longer as impor- our algorithms when given tant as it once was. For one complex input data. The chief thing, modern CPUs are unpre- job of the profiler is to pro- dictable, and it’s harder than ever to sufficient to understand its behavior. But vide us with such an understanding. make a program faster by applying games are so complicated now that we Effectively using such profiling data minor code tweaks. But there’s also a often don’t have a good idea of what requires an approach that is a little less deeper reason. they’re doing internally, even when they direct than what we had in the past. With It’s a piece of ancient programmer wis- seem to work. instruction-level optimization, the profiler dom that we should not resort to peep- For example, it’s easy to accidentally can point to the exact piece of code with hole optimization (which is what instruc- draw all the entities in the world twice which we should be concerned. But when tion-level profiling is good for) until the per frame. Big blocks of code may have optimizing algorithmically, the code options for algorithmic optimization have gotten moved around, but a function call where the time is being spent is not usual- been carefully explored. High-level got duplicated. In this case the entity-ren- ly what we care about. We actually want changes to an algorithm can functionally dering routines get called twice, but it’s to know why time is being spent there so invalidate low-level optimizations, while hard to see because the calls are in differ- we can change the program’s overall the overall impact on the execution time ent files, a few function calls’ depth apart behavior, by either calling that code less dwarfs the gain of those low-level tweaks. from each other. If you’re using multipass or eliminating it entirely. As time goes on, algorithms used in rendering, there will already be multiple Imagine rendering stencil shadow vol- games are getting more complicated. calls to some entity-drawing routines that umes. The profiler tells us we’re spending Thus, the number of degrees of freedom you actually want to be there, further a lot of time computing the silhouettes of for possible algorithmic changes is con- confusing the situation. the objects in our game world, so that stantly increasing. In other words, we A more sophisticated way you might the shadow planes can be extruded from 18 january 2003 | game developer I N N E R P R O D U C T them. Once we are convinced that the silhouette computation is In the previous stencil shadow example, there could be a not grossly incompetent, we look for algorithmic solutions to behavior when the silhouette-finding takes unreasonable the problem, which will likely yield much greater speed-ups amounts of the CPU, but there doesn’t appear to be an unusual than trying to optimize the silhouette computation itself. One number of light sources or objects in the scene. I could turn on such speed-up is to cull more aggressively the light sources that wireframe rendering and see that far in the distance, in areas only create shadow volumes that cannot be seen. With fewer that are occluded from view, there are many light sources and light-to-object interactions, we call the silhouette routine less objects. I can then deduce that there is an error in the occlu- often, and the game goes faster. sion-culling code. I could also find this kind of problem with- While understanding the behavior of our program is a very out a journaling system or analytical set of behaviors, by walk- important goal, right now we have no tools for that purpose. ing around the world and watching the live numbers. But the That seems like a bad thing. idea is that the extra analytical capability helps me find prob- lems more quickly and in a more reproducible way, and also How We Might Use Such a Profiler helps detect problems that are subtler. I’d also like to have some querying ability about the behav- So what specifically do we want the tools to do for us iors. I want to be able to ask things like, “Which behaviors when we sit down in front of the computer to profile? contain a lot of silhouette computation?” and then look at First of all, I’d like to be able to casually run the game and those behaviors as a group to understand them better. Perhaps get profiling data, without needing to prepare a special build I want to perform queries with Boolean operations, such as, and without a large frame-rate hit. This ability allows me sim- “Which behaviors contain a lot of collision_detectand not a ply to walk around in the game world and do things that test lot of physics_simulate?” This would indicate unusual situa- performance characteristics. tions where objects collided a lot without moving far between In addition, I’d like the profiler to detect the various ways collisions, which is a behavior case I might want to spend a that the program behaves and to provide me with an abstract lot of effort to alleviate. list of those behaviors with quantitative results attached. After I If I am investigating a certain behavior, I may wish to ask, run around the game world doing a bunch of stuff, I want the “Which behaviors are like this one?” in order to find other profiler to give me something like Table 1 and say, “You were cases that may shed light on the current situation. Or I may in behavior A 50 percent of the time, B 35 percent of the time, want to ask, “Which behaviors are very much unlike this one?” and C 15 percent of the time.” A, B, and C each consist of a in order to see how far the game’s behavior can deviate from separate set of profiling data, like a batch profiler would give what I am studying. us for an entire run. Once I’m viewing things from a higher To discover performance patterns, I want the profiler to level, I would like to know how important each behavior is and detect correlations between timing values. Suppose time spent how the behaviors interact. It would be nice to see a graph of in the dynamic texture generator is roughly proportional to which behavior was happening when, so I can correlate the time spent drawing particle systems, and both of those corre- changes with things that happened in-game. late significantly with increased frame time. That would indi- Once a well-defined set of behaviors has been measured, I’d cate that the artists are using too many procedurally generated like the facility to mark some of them as expected/acceptable textures in the particle systems, and they need to cut down on behaviors and some of them as anomalous/unacceptable behav- those. But perhaps the other dynamically generated textures iors. The profiler can provide statistics about how much time do not represent a performance problem, say, the ones used was spent in unacceptable behaviors. Suppose the game has a for rippling water. journaling system, where I run a recorded session several times Since the profiler is built into the game, I can expose game to benchmark performance as I attempt several optimizations, variables to the profiler. So instead of just classifying behaviors to see how effective those optimizations are. I can watch the based on timing data, it can also look at “the number of mon- percentage of time that is spent in unacceptable behaviors and sters currently running around” or “the number of nodes in the the CPU measurements for those behaviors in isolation. These potentially visible set.” It can find correlations between these observations may provide much more concrete and useful infor- variables and the timing data, or perhaps just among the vari- mation than a batch-profiler-style average. ables themselves. With that capability, I have a powerful tool If the game has a journaling system, I’d like to mark certain tremendously different from anything I’ve had before. behaviors as things I want to debug. Then I can start playing back the journaled game events; when the game reaches one Next Month of the target behaviors, the playback pauses. This pause allows me to access the problematic game states quickly and This month’s column has consisted basically of a big wish list. then look at the game world to infer what might be causing Next month, I’ll look concretely at the implementation of an q the problem. interactive profiler that attempts to satisfy these wishes. 20 january 2003 | game developer

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.