FEBRUARY 2001

GAME DEVELOPER MAGAZINE ON THE FRONT LINE OF GAME INNOVATION

GAME PLAN DEVELOPER

✎ 600 Harrison Street, San Francisco, CA 94107 t: 415.947.6000600 Harrison f:Street,415.947.6090 San Francisco, w: www.gdmag.com CA 94107 LETTER FROM THE EDITOR t: 415.947.6000 f: 415.947.6090 w: www.gdmag.com Publisher PublisherJennifer Pahlka [email protected] Jennifer Pahlka [email protected] EDITORIAL EDITORIALEditor-In-Chief Telling Stories Editor-In-ChiefMark DeLoura [email protected] SeniorMark EditorDeLoura [email protected] SeniorJennifer Editor Olsen [email protected] here have been a lot of unusu- lately. They (for the most part) solidified ManagingJennifer Olsen Editor [email protected] ManagingLaura Huber Editor [email protected] al discussions popping up their technical conventions decades ago, ProductionLaura Huber Editor [email protected] around game developer gather- and have generations of experience in the ProductionR.D.T. Byrd Editor [email protected] ings these days. People are art of storytelling using those conventions. Editor-At-LargeR.D.T. Byrd [email protected] Editor-At-LargeChris Hecker [email protected] talking about violence in Many people over the last decade have ContributingChris Hecker Editors [email protected] videogames,T whether or not games are an hyped the convergence of Silicon Valley ContributingDaniel Huebner Editors [email protected] DanielJeff Lander Huebner [email protected] [email protected] art form, how games can reach a main- and Hollywood. They were right; it is JeffMark Lander Peasley [email protected] [email protected] stream audience, and whether the industry happening. Take advantage of it by enlist- AdvisoryMark Peasley Board [email protected] AdvisoryHal Barwood Board LucasArts as a whole is doomed due to its immaturity. ing the help of excellent screenwriters, HalNoah Barwood Falstein LucasArtsThe Inspiracy We’re in a stage between garage game knowledgeable directors of photography, NoahBrian FalsteinHook IndependentThe Inspiracy BrianSusan Hook Lee-Merrow Verant InteractiveLucas Learning development and mainstream entertainment and seasoned soundtrack composers for SusanMark Lee-MerrowMiller Group Lucas Process Learning Consulting art form, and the path from here to there is your next project. MarkPaul SteedMillerWildTangent Group Process Consulting PaulDan SteedTeven Independent Teven Consulting not clear. Game developers are casting DanRob Teven Wyatt Teven The Groove Consulting Alliance Rob Wyatt The Groove Alliance about looking for guidance, trying out new This Month ADVERTISING SALES models, and attempting to learn from the ADVERTISINGDirector of Sales SALES & Marketing mistakes of other entertainment industries. n this issue we highlight games for kids. DirectorGreg Kerwin of Sales e:& [email protected] t: 415.947.6218 NationalGreg Kerwin Sales Managere: [email protected] t: 415.947.6218 The recent hearings by the U.S. Federal I What does it take to make a really great NationalJennifer Sales Orvik Manager e: [email protected] t: 415.947.6217 Trade Commission on violence in the media and fun children’s game? A good story defi- AccountJennifer Manager,Orvik e: [email protected] Region, Silicont: 415.947.6217 Valley & Asia Robert Darden e: [email protected] t: 415.947.6223 were a profound wake-up call that illustrat- nitely helps. What do you do when you Account Manager, Western Region, Silicon Valley & Asia AccountMike Colligan Manager, e: Northern [email protected] California t: 415.947.6223 ed our growing influence in society. can’t judge the quality of your game based AccountSusan KirbyManager, e: [email protected] California t: 415.947.6226 Though our technology is always on whether you personally find it to be fun? AccountSusan Kirby Manager, e: [email protected] Eastern Region & t: Europe415.947.6226 AccountAfton ThatcherManager, Eastern e: [email protected] Region & Europe t: 415.947.6224 improving, yielding stunning 3D worlds We detail games for kids in this month’s SalesAfton Representative, Thatcher e: [email protected] Recruitment t: 415.947.6224 and dramatic spatialized sound environ- main feature, Postmortem, and Soapbox. SalesMorgan Representative/Recruitment Browning e: [email protected] t: 415.947.6225 Morgan Browning e: [email protected] t: 415.947.6225 ments, an emphasis on story is developing. We also have an introduction to game ADVERTISING PRODUCTION Developers are recruiting screenwriters modifications, better known as “mods.” ADVERTISINGSenior Vice President/ProductionPRODUCTION Andrew A. Mickus from Hollywood to tune up their game Mods are undoubtedly going to continue SeniorAdvertising Vice President/Production Production CoordinatorAndrewKevin A.Chanel Mickus AdvertisingReprints Stella Production Valdez Coordinator t: 916.983.6971Kevin Chanel concepts for maximum impact. Many game growing in popularity and influence, and Reprints Stella Valdez t: 916.983.6971 engines are now available, freeing up game with this article, we’re just opening the CMP GAME MEDIA GROUP MARKETING CMPSenior GAME MarCom MEDIA Manager GROUP MARKETINGJennifer McLean development to focus more on the story floodgates. Check out all the mod web sites SeniorStrategic MarCom Marketing Manager ManagerJennifer Darrielle McLean Ruff and art. Game modifications also enable in the article’s “For More Information” sec- StrategicMarketing Marketing Coordinator Manager Scott DarrielleLyon Sadle development without the concern for tech- tion and you’ll see what I mean. MarketingAudience DevelopmentCoordinator ScottCoordinator Lyon Jessica Shultz nical superiority. On most development Jan Kautz and crew dig into the techni- AudienceSales Marketing Development Associate Coordinator JenniferJessica Cereghetti Shultz Sales Marketing Associate projects, the art and design teams are now cal details of using BRDFs in your games JenniferCIRCULATION Cereghetti Group Circulation Director Kathy Henry larger than the programming teams. in this second part of their two-part arti- CIRCULATION Director of Audience Development Henry Fung The steep slope of technology can only cle. Be sure to download their demo Group Circulation Director Kathy Henry Circulation Manager Ron Escobar take us so far in our quest to go mainstream source code from our web site at Game Developer Director of Audience Development Henry Fung magazine is Circulation Assistant Ian Hay BPA approved Circulation Manager Ron Escobar and be recognized as an art form. At some www.gdmag.com. Newsstand Analyst Pam Santoro Newsstand Analyst Pam Santoro point the environments look the same to the We at Game Developer are always SUBSCRIPTION SERVICES SUBSCRIPTION SERVICES player no matter how many extra polygons exploring the nooks and crannies of our For information, order questions, and address changes or texture passes you add. We’ve reached industry for things that you will find inter- Fort: 800.250.2429 information, order or 847.647.5928questions, and address f: 847.647.5972 changes t:e:[email protected] or 847.647.5928 f: 847.647.5972 that point — now we must turn our focus esting. With this issue we’re beginning a e: [email protected] INTERNATIONAL LICENSING INFORMATION INTERNATIONAL LICENSING INFORMATION to story. A good story is much more accessi- gradual shift over the next few months to Mario Salinas ble to people than snazzy technology. A tune ourselves more to the needs of our Mariot: 650.513.4234 Salinas f: 650.513.4482 t:e:[email protected] f: 650.513.4482 look to our past shows that in every culture community as expressed through reader e: [email protected] there are storytellers, people who pass the response. Watch this space for more on CMP MEDIA MANAGEMENT CMPPresident MEDIA & MANAGEMENT CEO Gary Marshall history and mythology from generation to our transition next month. PresidentCorporate & President/COO CEO Gary MarshallJohn Russell generation. They didn’t have the technology CorporateCFO John President/COO Day John Russell CFO John Day we have today, and yet many of those sto- Group President, Business Technology Group Adam K. Marder GroupGroup President, President, Business Specialized Technology Technologies Group Group AdamRegina K. Marder Starr Ridley ries have endured the ages. We are creating GroupGroup President, President, Specialized Channel Group Technologies Pam Watkins Group Regina Starr Ridley a whole new method of storytelling, which GroupGroup President, President, Channel Electronics Group Group Pam Steve Watkins Weitzner Group President, Electronics Group Steve Weitzner is a very exciting place to be. But the key to Senior Vice President, Human Resources Leah Landro SeniorSenior Vice Vice President, President, Human Global ResourcesSales & Marketing Leah Landro Bill Howard creating a new art form is to focus on the Let us know what you think. Send SeniorSenior Vice Vice President, President, Global Business Sales Development & Marketing Vittoria Bill Howard Borazio art, not the canvas. e-mail to [email protected], or write SeniorGeneral Vice Counsel President, Sandra Business Grayson Development Vittoria Borazio GeneralVice President, Counsel Creative Sandra TechnologiesGrayson Johanna Kleppe This is one reason why the motion pic- Cto Game Developer, 600 Harrison St., Vice President, Creative Technologies Johanna Kleppe ture industry has made a good model for us San Francisco, CA 94107

4 WWW.CMPGAME.COM FRONT LINE TOOLS ZWHAT’S NEW IN THE WORLD OF GAME DEVELOPMENT | daniel huebner

3DS MAX 4 ARRIVES FirstPerson format CULT3D enables viewers to EXPORTER ds Max 4, the fourth version of experience broad- FOR MAYA 3Discreet’s flagship modeling, anima- cast-quality con- tion, and rendering software, has been certs, movies, ult3D Exporter released. The upgrade will feature a new music videos, or C for Alias|Wave- inverse kinematics system for character sporting events in front’s Maya allows animation, new subdivision surface and full motion from users to export models polygon geometries, and new rendering any angle. created in Maya direct- abilities with ActiveShade and Render Enroute’s SDK is ly to Cycore Cult3D. Elements. Weighted constraints, angle available on nego- Artists can then create deformers, and real-time shaded skin are tiable terms, and interactive 3D objects all integrated into the IK architecture. the first game for the web, Microsoft 3ds Max 4 will be available in early titles containing Office, and Adobe 2001, with a suggested retail price of FirstPerson con- Acrobat. It is the first $3,495. Upgrades from version 3 will be tent are scheduled 3D exporter software priced at $795. to debut in 2001. available for Maya from a third-party 3DS MAX 4 | Discreet | www.discreet.com FIRST PERSON | developer. Cult3D runs Enroute | on PC and Macintosh www.enroute.com The Cult 3D viewer allows users to view over low-bandwidth and move Cult3D objects on the web. connections. The Cult RESEARCH 3D viewer works GROUP under Netscape RELEASES PIVOT Navigator and Microsoft Internet Explorer, and consists of two compo- he University of North Carolina’s nents: the Cult3D plug-in, which allows T Chapel Hill Research Group has users to view Cult3D objects on the web, released PIVOT (Proximity Information and the Cult3D Designer and Exporter, from VOronoi Techniques), its software which imports 3D objects and exports that uses multi-pass rendering to perform them to a web page, or a Microsoft proximity queries between objects. These Office or Adobe Acrobat document. 3ds Max 4 heads-up display features slider- computations include collision detection, Cult3D Exporter is available free for manipulators for speedy character animation computing intersections, separation dis- download on the Cycore web site. with real-time rendering window below. tances, penetration depth, and contact points. PIVOT balances computation CULT3D EXPORTER | Cycore | ENROUTE TARGETS between the CPU and graphics subsys- www.cycore.com PLAYSTATION 2 tems by localizing the closest features between the two objects and computing TERRAPLAY SYSTEMS nroute has joined Sony’s Tools and the proximity information in those local- RELEASES SDK E Middleware ized regions. The program, authoriz- proximity informa- erraplay Systems’ first SDK for PC ing them to begin tion is received T game developers provides developers offering FirstPerson from a computed with the ability to combine Terraplay’s toolkits to Play- distance field. platform with online games. Terraplay is station 2 develop- PIVOT will be an IP-based system designed to speed up ers. Enroute’s available in early network-based games by formatting FirstPerson system 2001 and will be game data for available bandwidth combines multiple free for noncom- regardless of whether clients are using video streams cap- mercial use, howev- modems, broadband connections, or tured from any er, commercial pric- wireless connections. Terraplay’s develop- UNC Chapel Hill’s PIVOT can turn a 3D scene in to outward-looking a 2D collision problem. ing has yet to be ment kit is available free on its web site camera system and determined. for downloading. creates a self-navigated 360-degree video format for playback on PCs and enter- PIVOT | Chapel Hill Research | TERRAPLAY SDK | Terraplay Systems | tainment consoles. Enroute claims the www.cs.unc.edu/~geom/PIVOT/ www.terraplay.com

6 february 2001 | game developer INDUSTRY WATCH JTHE BUZZ ABOUT THE GAME BIZ | daniel huebner

Financial results. Major game publish- based on Hasbro properties. Infogrames’ ers are continuing to feel a financial license on the Hasbro brands will run for pinch. Eidos reported a $116.4 million 15 years, with an option for an additional loss for the six months ending September five years based on performance. Among 30, a figure that more than doubles the the properties changing hands as part of losses reported by Eidos for the same peri- the deal are best-selling game franchises od one year prior. Though much of such as ROLLER COASTER TYCOON and Eidos’s poor performance can be attrib- CIVILIZATION, as well as successful toy uted to a $51 million write-off related to brands such as Monopoly. The purchase the company’s failed experiment with price totaled $100 million; $95 million in online game retailer Express.com, Eidos Infogrames SA shares and $5 million in failed to meet sales expections for many of ROLLER COASTER TYCOON, one of Hasbro Interac- cash. Subject to shareholder approval, its mainstay products. tive’s titles now owned by Infogrames. both sides expect to wrap up the deal by The situation is much the same at the first quarter of 2001. Acclaim Entertainment, which posted a with sales of 10.2 million units Infogrames made other company major loss for its fiscal 2000, which ended worldwide in a six month period despite changes with the move of two senior Euro- August 31. Acclaim managed revenues of component shortages. Nintendo expects to pean executives to North America. Rob just $188.6 million, resulting in a net loss sell 23 million Game Boys for the full year, Watson, Infogrames’ senior vice president of $131.7 million. In contrast, Acclaim including one million for worldwide licensing, has moved to the reached revenues of $431 million and net handhelds following its March launch in company’s Los Angeles office, where he earnings of $36 million the previous year. Japan. The company did, however, cut its will oversee operations at Infogrames’ Acclaim blamed the decline on poor Nin- N64 forecast to 3.05 million units from an I-Stars label in addition to his current tendo 64 game sales, which had been earlier projection of 3.5 million. duties. Jean-Philippe Agati, head of Euro- Acclaim’s main focus, as well as delays in pean publishing and production in France, the introduction of new titles. Though Digital Anvil acquired. Microsoft has travelled to Infogrames’ San Jose head- Acclaim’s operating expenses have been strengthened its ability to produce in- quarters to take on the role of senior vice negatively impacted by the research cost house Xbox titles with the acquisition of president and general manager for the related to next-generation consoles, the Digital Anvil. The terms of the deal gave company’s operations there. q company believes that the new platforms Microsoft full rights to in-production will return Acclaim to profitability as titles, including Digital Anvil’s long- early as next quarter. anticipated FREELANCER and an unnamed Xbox project. Digital Anvil will operate UPCOMING EVENTS Hook exits. Brian Hook has left Verant as a part of Microsoft’s internal studio Interactive. Hook, formerly with 3dfx and structure, but unlike earlier Microsoft CALENDAR id, had been working on next-generation pick-up Bungie, Digital Anvil will not be graphics technologies for the company. relocated to the company’s Redmond, GAME DEVELOPERS Although the departure was amicable, Wash., headquarters. The deal does not Hook did reveal in an interview with game include Digital Anvil founder and CEO CONFERENCE 2001 news site Voodoo Extreme that Verant had Chris Roberts, either. Roberts is leaving SAN JOSE CONVENTION CENTER become too corporate for his tastes. Hook the company to pursue other creative San Jose, Calif. plans to take some time off from the game endeavors, though he will stay for the March 20–24, 2001 business before returning to open his own remainder of FREELANCER’s development Cost: Expo — $145 and up studio sometime this year. as a creative consultant. Conference — $425 and up Digital Anvil’s president, Martin Davies, www.gdconf.com Nintendo profits. Nintendo managed to moved to Internet consultancy Sapient as beat many analysts’ expectations by vice president for games. Davies will pro- AMERICAN ASSOCIATION announcing strong half-year results. A 26 vide strategy and implementation for next- FOR ARTIFICIAL percent drop in Nintendo 64 game sales generation game development at the for- INTELLIGENCE SPRING wasn’t enough to keep Nintendo from post- mer Human Code studio in Austin, Tex. SYMPOSIA ing a pretax profit of $470.6 million for the STANFORD UNIVERSITY April to September period. Much of this Infogrames grabs Hasbro. Infogrames Stanford, Calif. gain, however, is attributable to an increase has purchased 100 percent of Hasbro March 26–28, 2001 in the appraised value of the company’s Interactive’s common stock, and as part of Cost: $295 for nonmembers assets and the dollar’s relative strength the purchase gains Hasbro’s Games.com www.aaai.org/Symposia/Spring/ against the yen. Game Boy hardware and web portal and a long-term exclusive 2001/sss-01.html software continued to be a bright point, license to develop and publish games

8 february 2001 | game developer PATTERNS GAME PROGRAMMING PATTERNS & IDIOMS | chris hecker & zachary booth simpson zwww.gamasutra.com/patterns Dead Reckoning a.k.a. Motion Prediction

Problem nique. For example, say a tank locks on Unreliable transport. When implement- target to another tank and starts firing; the ed with non-reliable transport protocols hen writing a network game, main- hit points may be decremented predictably such as UDP, Dead Reckoning algorithms W taining synchronization of game on the client with few updates. Or, an even must account for the fact that a previous objects can be challenging. The problem is simpler form of the pattern is when the update may not have arrived or may usually stated as a problem of “latency” — server orders an effect animation such as have arrived out of order. Occasional the delays that are inherent to all commu- “explode at time T” without any subse- “gratuitous updates” must be broadcast, nication systems and that are particularly quent server updates. even if an object has not deviated from noticeable on the Internet. its predicted course, just in case a previ- Network latency is not as simple as it Issues ous update did not arrive. The Dead may appear; a brief review is in order. Reckoning technique is useful under both There are two related causes of latency: rediction algorithm. It is often advisable reliable and non-reliable protocols, “path latency” and “queuing latency.” Pto use different prediction functions for although the particular choice of algo- Path latency is the time it takes for a mes- different situations. While it may be useful rithm could be substantially dependent sage to get from one place to another, for an airplane to send acceleration along on this choice. while queuing latency is created when the with velocity, this may be less useful for an sent data exceeds the bandwidth of the avatar who can stop on a dime. A common References channel. A highway analogy is useful: adaptable algorithm is for the server to cal- path latency is the time it takes to drive culate the difference between the client’s onsiderable research has been con- from home to work at midnight — it is predicted value and the actual value and C ducted by the Department of Defense only a function of distance and any speed broadcast a correction once the error passes for its Distributed Interactive Simulation limits. Queuing latency is caused when the a certain threshold. This threshold can be (DIS) protocol (www.darpa.mil). Jesse rush-hour traffic volume exceeds the road dynamically adjusted, depending on current Aronson discusses DIS and implementa- capacity. For the network programmer, the bandwidth availability. tions of Dead Reckoning algorithms in important fact is that the only way to Warping. What if a game client was told “Dead Reckoning: Latency Hiding for reduce latency is to reduce data traffic. that an enemy airplane was traveling at a Networked Games” (www.gamasutra.com/ given speed, but before the next update features/special/online_report/ Solution arrived the plane had radically altered its dead_reckoning.htm). Also see Zack’s course? Upon the next update, the client paper, “A Stream-based Time Synchroniza- o reduce latency, predictable state must somehow get the plane to its true tion Technique for Networked Computer T changes are simply not transmitted. position. However, simply snapping it to Games” (www.totempole.net/ The classic example of this is linear the new location might look strange; for timesync.html). motion: instead of sending frequent posi- example, what if the predicted position tional updates (“the ship is now at X”), a was inside a mountain? The resolution to Credits position and velocity are sent less frequent- such problems is called “warping,” and ly (“the ship is at X and has velocity V”); there are too many resolution techniques hanks to Joel Desjardins of Eternal the resulting positions are estimated by to enumerate here. T Software for significant contributions extrapolation until another update arrives. Time synchronization. If one could ensure to this pattern! q This ancient navigational technique of esti- that the computers shared an identical mating one’s position based on a known clock, one could improve the performance Look for Patterns on Gamasutra.com starting point and velocity is called “dead of Dead Reckoning. For example, instead reckoning.” The name comes from the nau- of transmitting “unit at position P, velocity This month’s pattern is the last which tical technique of throwing a floating V,” one could say, “at time T in the future, will appear in Game Developer maga- object overboard, rendering it “dead in the unit will arrive at position P.” This helps zine. Visit www.gamasutra.com/patterns water,” and then timing its travel from bow reduce warping problems and is especially to learn more about the Game Program- to stern to estimate the vessel’s velocity. useful when the end of an action is impor- ming Patterns Database. Contribute to The Dead Reckoning pattern is more tant and one wants to ensure good syn- our ongoing list of game programming versatile than simply predicting object chronization. For example: “object will patterns and idioms by sending yours to motion. Any game variable whose state is explode and at time T.” (For techniques, [email protected]. predictable over time can use this tech- see under References.)

10 february 2001 | game developer PRODUCT REVIEW XXTHE SKINNY ON NEW TOOLS

now much easier (the demo includes a “walking fingers” animation that would have been nearly impossible to create in Character Studio 2.x). To animators who have labored to keep a toe on the ground in the takeoff phase of the footstep, this will be a very welcome addition. A new Ankle Tension control offers a shorthand method of specifying the stiffness of the ankle (or wrist), neatly complementing the new pivot points as a tool for keeping appendages in place (see Figure 1). Biped’s user interface has also received some positive attention. Very welcome is a new option for splitting the keyframe tracks of hands and fingers (or feet and toes) from those of their parent limbs. It’s no longer necessary to set a key on the entire arm to move a single finger. This makes combining complex hand gestures with larger arm motions much easier and less frustrating than before. In the biped’s command panel, a new rollout makes it FIGURE 1. Biped’s animatable pivot points (indicated in red on the foot) and new IK interface. easier to set the IK attributes of a new key quickly, and, if desired, automatically lock it to a previous key position. A more ambiguous improvement is an Discreet’s Character option in the keyframe clipboard to copy entire animation tracks within or between by steve theodore bipeds. This offers a quick way to copy Studio 3 animations from one biped to another, and is an invaluable aid in creating cycles. ince its debut in 1996, Char- Max’s scripting system, improved handling Unfortunately, the behavior is erratic if any acter Studio (developed for of motion capture data, and a number of of the keys being copied are IK keys; IK Discreet by Unreal Pictures) workflow improvements. attributes are not always copied correctly, has been an indispensable tool and when the IK is pasted onto a new limb, for animators in the game, Biped Refinements the pasted keys point at the IK target of the Svideo production, and film industries. original — meaning that the position of the Character Studio 3 is the latest edition of rom the animator’s perspective, the limb may be different when pasted to the popular package for 3D Studio Max F Biped plug-in is the heart of Character another biped or an opposing limb. 3.x users. The original Character Studio Studio, and version 3 offers a number of consisted of two Max plug-ins: Biped, a nicely nuanced improvements to the Biped Physique hybrid forward/inverse kinematic skeletal module. The most significant improvement system, and Physique, which performs is the addition of user-selectable pivot iscreet claims that the interactive per- skeletal and muscular deformation. Version points in the hands and feet. Each IK key D formance of Physique is between 3 updates these plug-ins and adds a new set is set with its own pivot, making it much three and ten times faster than in previous of tools (collectively known as Crowd) for easier to model the shifting of weight from versions. In my tests, however, the results applying semi-intelligent behaviors to large the heel of the foot to the toe during a were less dramatic than this might suggest. groups of characters and objects. Character walk. Likewise, maintaining positional A 740-polygon character playing back a Studio 3 also adds extensive support for consistency as a hand moves and rotates is simple animation went from 11.1FPS

STEVE THEODORE | Steve is an animator at Valve Software. He is currently working on TEAM FORTRESS 2, and can be reached at [email protected].

12 february 2001 | game developer XPRODUCT REVIEW

Related behaviors can also be assigned based on MaxScript conditionals. The interface attempts to manage all this complexity with mixed success (see Figure 2). To help manage large scenes, delegates can be grouped into “teams” which can be controlled together. Cloning and random placement tools also help generate large groups quickly. However, the cramped confines of the Max inter- face mean a lot of functionality is jammed into one 218-pixel-wide rollout. Fortunately, Character Studio’s manual is comprehensive and contains a series of tutorials to help users grasp the underly- ing logic of the process. Very few users will be able to get much out of the Crowd system without at least a glance through the manual. When all of the various behaviors and conditions have been assigned, the move- ment of the entire system is computed, or “solved,” much like a Max dynamics sys- tem. Like dynamics, crowd simulations can be computationally expensive and may take quite a while to calculate. When FIGURE 2. The Crowd plug-in in action, showing some of the interface. complete, however, the scenes run at the same speed as a normal Max scene of under Character Studio 2.2 to 13.7FPS intended to aid the animation of large comparable complexity. Scenes with ran- under version 3. The same file without a groups of characters. In essence, Crowd dom elements can be reinitialized and Physique modifier ran at 16.7FPS. These works like a smart particle system, creat- rerun with new seed values to generate figures came from a 400MHz Pentium II ing groups of dummy “delegate” objects multiple animations that satisfy the same with 512MB RAM and a 64MB GeForce that perform a variety of movements set of conditions. GTS Pro; results for multi-processor sys- ranging from random walks to target tems or models with very complicated homing. The delegate objects can be Conclusions Physiques should be more impressive. replaced with animating characters or Previous versions of Character Studio objects. If the characters are Character verall, version 3 is a significant step required that all the bones deforming a skin Studio bipeds, they can intelligently Oforward for Character Studio. How be part of a single hierarchy. In version 3, choose appropriate animations from a list exciting it seems to you depends largely the new Floating Bones option allows users provided by the user and smoothly transi- on which features will be involved in to add bones that are not connected to a tion between the animations as they fol- your work. The upgrades in Biped and common root and can move independently low their programmatic path. Physique are useful improvements for a of the other bones in the character. Perhaps The amount of control that Crowd worthy product, though they are less more interestingly, users can add spline offers is quite impressive and a little than revolutionary. For cinematic anima- objects as floating bones. The splines will intimidating. The basic movements of the tors, Crowd may be an enormous time- perform deformations along their whole delegates can be modified with a variety saver and open a lot of new creative length and can be animated. This can be a of avoidance and collision behaviors, and doors. Animators who don’t have much particularly useful tool for complicated sur- can be constrained to operate within vol- call for crowd simulations (one suspects face deformations and facial animations too umes or on object surfaces. Complex most real-time game animators fall into complex to handle with bones. behaviors can also be scripted directly this category) may still find Crowd useful using MaxScript. The relative priority for creating particle-system-like effects 3’s a Crowd and effect of behaviors can be keyframed animations, or even for easily generating so that a crowd of delegates could con- idle animations. he real innovation in Character Stu- verge on a target until a given frame and Critics of Character Studio will note T dio 3 is the Crowd plug-in, which is then turn and wander away from it. that some long-standing gripes about the

www.gdmag.com 13 XPRODUCT REVIEW XXXXX excellent XXXX very good XXX average =XXfair X don’t bother

package — the inability to animate scal- Max files made with earlier versions of CHARACTER STUDIO 3 XXXX ing of limbs, the limitation of bipeds to Character Studio will have to be resaved, STATS no more than four IK-enabled limbs, and and in most cases, Physique modifiers in DISCREET Physique’s difficulties in dealing with those files will have to be manually reini- Montreal, Quebec, Canada topology changes in a mesh, to name a tialized from their initial skeletal poses (800) 869-3504 or (514) 393-1616 few — have not been addressed. Never- before they can be used with version 3. www.discreet.com theless, particularly with the new pivot Although the new MaxScript extensions PRICE point mechanism and the interesting pos- make it possible that this annoying task $495 upgrade, $1495 new sibilities of spline deformers, the package could be automated, it seems a needless SOFTWARE REQUIREMENTS is an increasingly powerful tool for char- irritant and will undoubtedly lead to ver- Windows 98/ME/NT/2000 with 3D Studio Max acter animation. Equally important is the sion control problems for teams with a 3.1 HARDWARE REQUIREMENTS fact that Character Studio remains the large content base. Also in the worst tradi- 128MB RAM with 350MB disk space, mini- only game in town for character anima- tion of the Max platform, Character mum 1024×768×32 display tors on the Max platform. This domi- Studio 3 has no mechanism for saving files PROS nance will be somewhat shaken with the in older formats, so any team that wants 1. Flexible crowd animation system. release of Max 4 (if we can believe the to switch will have to switch en masse — 2. Improved IK; animatable pivot points. pre-release publicity surrounding the new there is no way for version 3 users to 3. Faster skeletal deformation with new control IK tools, at any rate), but for the foresee- make files available for users of earlier options. able future Character Studio is and versions. Unless users have an immediate CONS should be the Max-based character ani- need for one of the new features, they 1. Cumbersome file-format update procedures. mator’s tool of choice. may consider waiting until they upgrade 2. New functions difficult to access. Is it time to upgrade? Character Studio to Max 4 to upgrade their Character 3. No backward compatability with earlier 3 is unfortunately true to Max’s lamenta- Studio seats in order to take all of the file- versions. ble tradition of file-format incompatibility. format hits at the same time. q jeff lander GRAPHIC CONTENT

“And when they battle in a puddle, it’s a tweedle beetle puddle battle.” — Dr. Seuss

FIGURE 1. The Puddle Battle.

hen I left you last time, I had a battle beetle built. To this, I added a skeletal system and defined bounding spheres at the The joints. These spheres will be used for collision detection. During the last month, the beetles have scrounged up a couple of paddles to make the battle more brutal. However, before any kind of bat- tleW can actually begin, I need to find a way to make the beetles budge. The goal is to Battle create a battle scene like you see in Figure 1. With a traditional skeleton-based animation system, I would use animation data to set the orientation of each joint in the character directly. However, there are two problems with that approach. I want the characters to behave like soft objects. When they are hit, Rages they should squash and stretch. For this to happen, the “bones” in the characters cannot be as truly rigid as they are in a normal skeletal animation system. I need to devise a sys- tem that will allow the animation to guide the bone position, but not be limited by that. The second problem is that I would like the characters’ bodies to react to hits some- On what realistically. When a character is struck in the arm, the arm should react. In many games this is handled by creating a series of reaction animations that handle situations such as a hit to the head or a body blow. I am sure everyone remembers the great piece of reaction artwork in the “vintage” arcade game PUNCH OUT. When an opponent was hit in the belly, the character let out an audible “ooof” and his eyes bugged out — great stuff. Good as it was, however, the character was not truly reacting, it just responded to a hit by showing you what a canned response looked like. I would like my character

JEFF LANDER | Presently, Jeff is probably pondering perplexing problems with polygons. Jot Jeff a jaunty jingle at [email protected].

www.gdmag.com 17 GRAPHIC CONTENT

response to be physically based. The bodies should react directly to the forces of the hit. In This Corner, Rubber Man n order to accomplish these goals, I I need the skeletal system to be driven by a dynamic simulation. I could treat each bone in the skeleton as a chain of rigid links and then use rigid body dynamics to simulate the characters. However, this would not allow me to achieve the goal of making the charac- ters soft. The mass-and-spring models that I have used in the past to create soft objects are closer to the feel I am trying to achieve. I have the skeleton of the character, which is effectively a series of root points connected in a hierarchy. I can make the root of each character bone a 3D particle, and then use a spring to connect each of these particles to each of the particles representing the children of that bone. In Figure 2, you can see FIGURE 2. The battling beetle and its skeleton. the character and the underlying particle- and-spring skeleton. Fortunately, the solution is very easy. The animation system The simulation will have a couple of differences from simula- generates a set of values for the joints given the desired animation tions I have created in the past. I am not going to apply gravity to targets. This information can be converted easily to world space the individual particle nodes. Since the character should be able to locations for the root of each bone. The way I accomplish this is support its own arms, this should not be a problem. I also want to build the transformation matrices for each bone in the skele- to keep the characters largely grounded and upright. If the bottom ton, and then grab the world space coordinates directly out of of the character were weighted normally, it might be easy to those matrices. This efficiently provides me with target positions knock it down. To solve this, I can make the root particle of the for my physical particles. character, which is the top node of the hierarchy positioned on the To move the simulation particles toward those animation tar- ground between the feet, more massive and thus more difficult to gets, I once again turn to the ever-useful spring. The spring is move. This makes my character like those big inflatable punching attached to each simulation particle and to the animation target clowns that you can knock over, but they pop right back up. position. This creates a force on the particle which, when integrat- Now I have a character composed of a rubber skeleton tied ed forward in time, will move the particle to the target. Using this together with springs. The next step is to figure out how to move it. system, I can make the dynamic control mesh assume any pose. This system achieves some of my main goals. I get an animated Animated Rubber character that moves in a flexible manner and can respond to dynamic forces. As an extra benefit, the animating particles gain s I mentioned earlier, in order to animate a character with a and lose momentum as forces are applied. This causes hits to A skeletal system I would need to take the animation data for actually have some “weight” behind them. For example, if you each joint and set the position and orientation directly. However, have the character swing its arm around in a windup followed by to drive the animation physically, I need to apply forces to animate a punch, the impact will have more force behind it than a punch the character. If it were a hierarchical rigid body, I would use a with no windup. This is a level of realism that is difficult to controller, such as a proportional integral derivative controller, to achieve with canned animated sequences. change the orientation of each link. Chris Hecker described this Once the simulation particles have been moved to the desired method in depth in his article on physical controllers (“Physical positions, I need to make the changes back in the 3D object so we Controllers: Re-inventing Game Animation,” April 1999). Howev- can see the results. That is basically as easy as you would expect. I er, since I do not have rigid bodies, these controllers will not work. set each of the actual mesh bones to the positions of the simula-

18 february 2001 | game developer GRAPHIC CONTENT

tion particles and render. The one thing that the simulation does V(A) not address is the orientation of the bones. Since I am dealing t strictly with point masses, I do not have any orientation data, as I would in a rigid body simulation. For now we can just use the orientations that come out of the animation system. This may lead A B to visual problems where the bone is bending but not rotating, but let’s leave that alone for now.

n Taking a Pounding he simulation now has particles flying all over the place. T Hopefully, some of those particles will be hitting my opponent. In order for anything to actually happen when this occurs, I need to add some collision detection and response. Earlier we attached bounding spheres to the base of each bone in the skeleton. These are the boundary spheres that I will use for the FIGURE 3. Two spheres colliding. particles. So, in order to handle collisions between the characters, I need to add handling for sphere-to-sphere collision. Fortunately, I By moving the mouse, users can interpolate between the two covered this back in my column on billiard physics (“Physics on the poses as fast or slow as they desire. Back of a Cocktail Napkin,” September 1999). To simulate the col- The interpolation is handled using a quaternion spherical linear lision between two spheres, I first need to determine whether the interpolation (SLERP) on each bone. This allows smooth steps two spheres are colliding by checking their positions and bound- between each pose. With my smooth control system, users can hit aries. I also want to check the relative velocity of the two spheres. If as hard or soft as they want. they are moving toward each other, they are colliding. However, if they are moving away from each other, I shouldn’t do anything. No Pain, No Gain You can see the situation in Figure 3 where sphere A is traveling with a velocity vector V(A) when it strikes sphere B. now have a system where the two battling beetles can strike Once I have determined that they are colliding, Newton’s third I each other. In order to determine what kind of pain they are law of motion takes effect: The forces exerted by two particles on inflicting, I need to create a damage model of some sort. In the each other are equal in magnitude and opposite in direction. battle with paddles, the greatest amount of pain comes when the I calculate the direction of collision between the two spheres paddle connects with a more fleshy part of the opposing beetle. and use that to determine the normal velocity vector, n, and tan- Fortunately, this is exactly the sort of information that is gent velocity vector, t. The normal velocity is negated and scaled already generated by my collision response system. From this sys- by the coefficient of restitution, Kr, and applied as an impulse to tem, I know when the boundary spheres in the opposing charac- the particle. The opposite impulse, scaled by 1 – Kr, is applied to ters collide. I can then check to see, for example, if the paddle of the other particle. one beetle connects with a head sphere of the other. That would Another issue I ran into was that since the character mesh had be a hit likely to cause damage in most players’ minds. But how quite a few boundary spheres in it, several of them always overlap. much damage has occurred? This really messes up the simulator, since it continually believes a As I discussed above, the collision response system calculates that collision is happening. My solution was to create an exclusion a collision has occurred and also calculates physical values that are table that ignored collisions between spheres that were initially needed to resolve it. The system calculates the collision normal as determined to be overlapping. well as the velocity at which the two spheres collided. I can take The characters are now able to knock each other’s bones that collision velocity and multiply it by the mass of the paddle, giv- around using big sticks. However, I now need to create a control ing me the momentum of the collision between the paddle and the system for the characters. head. This value can then be scaled by some scoring system that ensures blows to the head are more damaging than blows to the Maintaining Control arms. The result is then deducted from the damaged beetle’s health. When a beetle is too injured to continue, a winner is declared. need a control scheme for allowing the beetles to battle. I This damage model provides a fairly standard battle system for I could attach animation poses to keyboard keys and allow the a fighting game. However, by basing the system on an underlying system to handle the in-betweens, but that wouldn’t look very physical simulation, I can crank the realism up a bit more. Beetle nice. It also would not give the user the amount of control I action poses are achieved through the use of controlling springs. would like. The strength of those individual control springs regulates how The solution is to create “moves” that the user can select from. quickly and accurately an individual move is achieved. It is proba- Each move will have a starting and ending pose. After the user bly obvious to many that these spring strengths could be dynami- selects the move, pressing the mouse button initiates the move. cally changed. If the spring strength is reduced proportionally to

20 february 2001 | game developer GRAPHIC CONTENT

the damage that an individual control may be a bit too squishy. I certainly bone has taken, that control bone will want the characters’ bodies to squash a have difficulty achieving a particular bit, but it is unclear if parts such as the pose. This reaction simulates the way paddle should appear more rigid and that a battered boxer has a tougher time less like a rubber mallet. I can adjust swinging at his opponent as the fight this quite a bit by playing with the con- goes on. A traditional animation system trol springs and making some dependent based on the playback of motion capture links rigid. However, for less cartoonlike data does not have an underlying physi- characters, this method would probably cal model controlling it. For that reason, not work as well. dynamic modification of the animation For more realistic characters com- system is difficult to simulate using these posed of bones that may not stretch, a traditional methods. That is one of the more rigid approach would be more reasons that you don’t see that level of appropriate. I will take a closer look at realism in many fighting games. In most linked rigid characters next month. fighting games, the system may track a These characters are currently unable stamina variable which determines if and to fight without user control. For a two- when you can make a move. However, player or Internet game, this may be suf- once the move is made, it always comes ficient. However, most players like to out the exact same perfect way. With a have a computer opponent at least to physically based animation system, practice against. A simple finite state dynamic changes to the fighter’s abilities machine can be used to create a decent are much easier. opponent. In a finite state machine, I create a number of states for the com- Environmental Issues FIGURE 4. Beetle in a puddle. puter-controlled character, and set rules that govern when the states change. wanted to create a puddle for the beetles to battle in. Once For my simple fighting character, two states will probably do the I again drawing from the archives, I turn to a column I wrote in trick. When the character is healthy and ready to fight, the charac- December 1999 (“A Clean Start: Washing Away the Millennium”) ter goes into attack state. In the attack state, the character stands in describing a well-known algorithm for generating rippled water. a ready pose and then initiates various attacks. Whether the attack The system uses an array of height fields that represent the water is an overhead, sideways slash, or body blow is determined ran- level. To create a ripple, a drop is generated at a position in the domly. Once the attack is finished, the character returns to the array by changing the height. The system then applies a filtering ready pose. If, while in ready pose, the character detects that his process to advance the system and make the ripples animate. opponent will attack, a block move is initiated. If the opponent is I can use this system to generate the texture for my puddle. Since not within reach, the character moves closer. I know the point where the beetle’s feet are standing, I can generate If the health of the character goes below a specified level, the drops at those positions. The water height-field array is then updat- defense mode is set. In defense mode, the character does not ini- ed, and every frame this texture generated by the array is uploaded tiate any attacks and simply stands in a defensive posture and to the 3D graphics card for use as the floor texture. You can see the attempts to block any strikes. If the health is particularly low, results in Figure 4. the character can be made to take a step away from the battle. Since the texture upload does take time, it may not be neces- This simple system is not nearly enough to make a world-class sary to update it every frame. However, in this application it artificial fighter. However, it is good enough to provide an amus- doesn’t seem to affect things too much. To make the environ- ing battle. The system could be greatly improved by creating more ment even more realistic, the water texture can be used to dis- states and perhaps including a learning system that keeps track of place the ground grid. This kind of software displacement map- the opponent’s strategy and refines moves that were successful in ping is fairly computationally expensive, but for a small grid it the past. But I will leave those improvements up to you. q may not be too bad. FOR MORE INFORMATION

Bring on the Battle B Hecker, Chris. “Physical Controllers: Re-Inventing Game Animation” o at the end of the day, what have I created? By pulling (Game Developer, April 1999). S together a physically based simulation with a skeletal anima- tion system we have the makings of a dynamic fighting game. The decision to use point masses connected by springs is the first item Discuss this article in Gamasutra’s Connection! up for review. It does result in the squash and stretch that you www.gamasutra.com/discuss/gdmag would expect when two cartoon beetles do battle. However, they

22 february 2001 | game developer mark peasley ARTIST’S VIEW

The first step is to understand what graphic design is and how it relates to user Interface Design interface design. Essentially, graphic design is nothing more than presenting informa- tion in a strong, consistent, visually appeal- for Games ing format. The text and visuals are organ- ized in such a way as to provide the viewer with an easy way to retrieve, sort, and store oday’s game development game artist is a bit of a generalist. This is the information. Composition, layout, and artist is faced with a vast especially true if the project is smaller in typography are all balanced to provide the array of tasks. With more and scale than the triple-A, multi-million-dol- strongest visual presentation possible. How- more sophistication going into lar megatitle that includes everyone and ever, graphic design in the traditional sense the development of games, their cousin in the development cycle. Or is a one-dimensional medium for conveying users’T expectations and level of acceptance perhaps you are now an art lead or art information. It is targeted to a noninterac- are pushed ever higher. This is especially director. Whatever you call yourself, the tive, one-way presentation. true in the area of graphical user interface chances are good that you will eventually User interface design adds many new ele- designs. The amount of effort that can be be called upon to design and create a GUI ments to the equation. Not only are sound devoted to the design and implementation for a game. graphic design principles needed, but con- of a game’s interface alone can be stagger- This can be a daunting task for the sideration has to be given to a whole new ing. Over the years, the software industry uninitiated. Perhaps you’ve never consid- set of design requirements such as user as a whole has evolved an awareness of ered yourself much of a graphic designer, interaction, navigation and the impacts of the science behind interface design and or maybe you haven’t really given it much sound, animation, and time. Designers how it can make or break a product. How thought at all. After all, you did design must consider how they will be controlling people interact with computers, extract that web site for your Aunt Gertrude and the user throughout the experience: what information, and utilize this knowledge is it wasn’t that hard — what can be all that sort of feedback mechanisms will be in becoming a critical element in the develop- hard about designing a GUI for a game? place, and how all of these elements will tie ment of software. You slap some shapes, text, and colors together to form a cohesive unit. In the game development industry, down, add a drop shadow or two, and you Oftentimes, the best GUI is the one that developers are devoting more time and have yourself an interface — right? is most transparent to the user. The last more sophistication to this critical link thing you want is to have the gameplay between the programming code and the The GUI Isn’t the Game elements impeded by a poorly designed player. It usually falls upon the game interface. Depending upon the needs of the artist to create this interface between man whole multitude of elements come game, a minimalist approach to the user and machine. A into play when designing an inter- interface design might prove to be the If you are like most artists on a project, face. What makes one GUI good and most appealing to the player. With all of you wear different hats on different days. another great? What are some of the rules this to consider, it’s easy to see why creat- One day you might be texturing, while on that can be broken without getting into a ing a well-thought-out design can have a another, you are called upon as an anima- lot of hot water? major impact on your time. tor, modeler, or designer. As team sizes grow, specialization is becoming more MARK PEASLEY | Mark is currently the art director at Gas Powered Games. Visit his common, but it still seems as though the web site at www.pixelman.com or e-mail him at [email protected].

www.gdmag.com 25 ARTIST’S VIEW

Main Multiplayer Menu Information Multiplayer Game Stats Listing FIGURE 1 (above). Using color without altering contrast might give difficulty to users with Multiplayer Multiplayer Menu color blindness. FIGURE 2 (right). A flowchart Maps Multiplayer Multiplayer Match Up Waiting will solidify design and structural ideas as well Sign-In Area as work out errors in the interface’s general Multiplayer Chat Room LAN Setup functionality. Character Multiplayer Multiplayer Multiplayer Multiplayer IP Creation Things to Think About Select or Host Chat Room Character Select et’s first consider some basic graphic L design elements, and how they might be expanded upon for use within a graphic GUI you design for a kids’ game will be can satisfy this need easily and prevent user interface design. radically different from a first-person user frustration. If loading a file takes Simplicity. The best thing to keep in shooter. Beyond the obvious differences, longer than five to ten seconds, it’s a mind is K.I.S.S. (Keep It Simple, Stupid). you need to consider how knowledgeable good idea to provide the user with some Every artist I know (including myself) has a the user is, how they perceive the informa- form of a progress bar or percentage feed- tendency to noodle something beyond what tion presented, what sorts of feedback back. Without these, load delays can is needed. In interface design, the simplest mechanisms will be used, and how simple often be mistaken for program crashes. solutions are usually the easiest to use, and the navigation needs to be. In addition, the most effective. Less is more — some- consider the cultural implications that Design Elements times more information and greater impact might affect your design, particularly if can be gained by using fewer elements. the product is going to be international. In reate a flowchart of the design. I Consistency. We are creatures of habit. the United States, the color red might C know this seems obvious, but believe We learn through repetitive occurrences mean “stop” or “danger.” However, that it or not, it’s something a lot of designers and are quicker to respond to events if we same color can have an entirely different don’t get around to doing. This is espe- can predict their behavior. Once users meaning in another culture. cially critical when the functional design have learned the function or placement of Color usage. Don’t rely on color alone to and the aesthetic design are being done by an interface element, they will use that convey critical information. Use additional two different people. It is fairly common knowledge on new screens in an attempt feedback mechanisms. Consider that a cer- for the game designer to come up with to find consistency in the structure. If the tain percentage of the population (roughly the functional requirements of the menu consistency isn’t there, they will be frus- eight percent of men) has either color blind- system, while the artist comes up with trated by having to relearn new para- ness or color perception deficiencies (see how it will look. Oftentimes a flowchart digms. Consistency also makes a design Figure 1). Use enough contrast between the will flush out flaws in the logic of the seem simpler to use. If users feel that they foreground and background elements, espe- menuing system well before any time and inherently “know” how a menu will func- cially where text is concerned. Avoid large effort have gone into creating art assets tion, then they won’t view the interface as amounts of light text on a dark background; (see Figure 2). Always try to get all ele- an unpleasant learning experience. By set- it is more difficult to read. As with graphical ments of the GUI defined as soon as pos- ting up consistent placement of repetitive elements, use color in a consistent manner. sible. Without a doubt, the most difficult elements, such as where to find the cancel Feedback mechanisms. What is the visu- GUI design to create is one that needs to button or how to minimize windows, you al mechanism you will provide the user to be open-ended enough to allow for unde- can create an environment that the user enhance the experience? A common fined design elements. This approach feels empowered to explore. Metaphors example of this is standard buttons in often leads to having to redesign the can also add consistency. For example, most applications. They usually have a entire GUI from the ground up. your interface might always reveal help rollover state that indicates when you are Make navigation simple. Whenever possi- files when the user rolls over an eyeball over a “hot spot” of the button. This can ble, make the navigation as simple as it can symbol. The user learns to associate the take the form of a highlight, a special be. Think of the user’s memory as a RAM help function with the eyeball symbol, effect, an animation, a sound, or any chip, with only a finite amount of space regardless of its location. combination thereof. Give the user visual that can be used before it starts to be over- Know your target user. In the broadest feedback that they have accomplished a written. Our short-term memory works strokes, this means understanding and task such as pushing the button. Also, let essentially the same way. Ideally, users predicting how the product will be used the user know when the computer is should never be more than three to five by the target demographic group. The working on something. A progress bar clicks away from accessing the information

26 february 2001 | game developer ARTIST’S VIEW

be applied to new screens (see Figures 3a • Be aware of cultural implications of and 3b). symbols, colors, and sounds. Construct a tiered menu system. The • Always avoid going below 12 pixels most powerful menu system is one that in font height. That is about the mini- can expand with the user. For the novice, mum number of pixels required to form it contains only the most basic of com- the symbols in a Japanese font. If, for mands. Break their decision making down example, you have created a special but- into simple, controlled segments. For the ton that requires your special eight-pixel advanced user, the interface can be made font on it, the localization using a 12- to reveal a more complex level, allowing pixel font will run into some serious for greater control. As an example, in the space constraint problems. GUI for a flight simulator I worked on several years back, we had a main menu Typography with only five choices. One of those choic- Fundamentals es was a “fly now” mission, where the designer had predetermined all of the ele- hat font should be used? Should ments that the novice user would most W more than one be used? If so, likely choose. They were then presented should it just be a bold version of the same with a preflight screen where the mission typeface, or should you go with a different was described, the settings shown, and the one altogether? Is it O.K. to mix serifed and “fly” button was available. If users pre- sans serif fonts? How does the font look at ferred, they had the ability to alter any of the game’s resolution? These are some of the settings, but they could also simply the questions you will probably ask yourself FIGURES 3A and 3B. A sample interface (3A, top) press the “fly” button and be in the air when it comes to choosing the right font or and its underlying grid design (3B, bottom). within three menu clicks of the main fonts for your interface. A good choice will menu. For advanced users, we offered help solidify your design, while a bad choice they want. Of course, this is sometimes menus within menus that gave them the will look out of place and detract. Here are impossible to maintain, but keeping naviga- ability to customize almost any element of some fundamentals to think about as you tion to a minimum will increase the user’s the game. This proved to be very well begin to narrow in on your selections: comfort with menus. Grouping multiple received by the users, and the concept Shape recognition. We recognize letters functions or options in one area is a good went on to become a standard for many and words as shapes, which we have memo- practice. This allows users to make more of the flight simulators that the company rized as a meaning or concept. Think about efficient decisions and keeps them within produced in later years. how you read a page of type. You aren’t the same screen real estate. Avoid giving Remember localization considerations. If sounding out each letter in the sentence you users the impression that they are jumping your product is small and has a limited are reading. Instead, you have memorized from screen to screen unless it is by design. target audience, you might not need to the combination of letters into words. This has a tendency to give users the feeling think about the localization impacts. When text is written in all uppercase letters, that they are navigating a large menu sys- However, overseas sales make up a sub- it is much more difficult to read, since the tem where they might easily get lost. stantial part of the target market for pattern recognition is all just rectangles Establish a grid. Underlying almost all many of the games under development. instead of more distinguishable groupings good design is a grid. The grid is a visual By keeping in mind some of the more found in a combination of upper and lower- structure that provides the framework for simple localization rules, you can avoid a case letters (see Figure 4). A good test of the design and gives it balance. Take any lot of rework down the road: this is to take any paragraph of text in a magazine, newspaper, or advertisement as • Don’t embed any text into your art if at Word document, switch it to all uppercase, an example. If you study the piece, you all possible. Text should be handled via code and read it. You will generally find that it is will soon see a grid that all of the images as either TrueType fonts or bitmapped fonts. harder to read, and the speed at which you and text fall within. At an almost uncon- • If you do have text embedded in art progress across the page is slower. scious level, this grid provides the consis- (like in a road sign or logo), then it’s a Serifed vs. sans serif fonts. In large bodies tency I talked about previously. From a good idea to get into the habit of separat- of text, serifed fonts are easier to read since design standpoint, the grid gives the artist ing the text onto a unique layer in your the serifs provide horizontal structure for a logical structure for the layout. A well- working base art file. That way, the local- the eye to follow. However, consideration designed grid will give the GUI screens a ization of it can be done easily. must be given to the resolution limits of a look and feel that is consistent and tight. • Allow 30 percent extra space in all game screen. Even though hardware contin- It also provides a good basis for narrow- areas where type is present. German lan- ues to improve, we often still design for the ing down design decisions and establish- guage conversions are notorious for need- lowest common denominator in terms of ing a set of rules or style guides that can ing extra space. screen resolution. On a standard 640×480

28 february 2001 | game developer ARTIST’S VIEW

to change resolution based upon the user’s desires. Will you provide a single set of art that is scaled up programmatically to the larger sizes? How does this affect the look FIGURE 4 (above). The differences in shape of the art? Or, will you provide two or recognition between upper- and lowercase three sets of artwork that will be used at letters. the various screen resolutions? Does this FIGURE 5 (left). Avoid using text less than 12 decision essentially double or triple your pixels in height: smaller sizes pose problems art production time on the GUI? with both readability and localization. At the End of the Day grams are easy to use, don’t require a ton screen, small fonts become very cryptic. of ramp-up time, and, more specifically, ow that you’ve learned a lot of rules of Once you get down into the ten-pixel range don’t require a programmer to become Nwhat to do and what not to do, you for letter height, most serifs and other sub- involved. Programs such as Macromedia’s are free to break them. These rules are not tleties are lost in an effort to make the let- Flash or Director can easily create a mock- hard and fast, but rather are guidelines that ter’s form even readable. You should gener- up of the navigation elements, with sound are to be followed when applicable, and ally avoid mixing serifed and sans serif and functionality. These prototypes serve broken when the design calls for it. But do fonts unless it is done carefully. to solidify artistic elements as well as pro- so cautiously. These rules are a form of International considerations. If you are vide programmers and other team mem- structure that give you a framework within creating a bitmapped font for your game, bers with a very clear, concise vision of which to base your designs. Within that you will most likely be opening a large can what you think the GUI should look like. structure, there is an almost infinite amount of worms you didn’t know existed. This is If time and budget allow, this is a good of freedom for the GUI designer. q especially true when the font is to be used way to work the kinks out of your design for localization in different languages. All ideas without involving a lot of people. It FOR MORE INFORMATION of the specialized ASCII characters will is often easy for artists to visualize what need to be present for localization. the end product will look like, but they WEB SITES Kerning and the use of bitmapped fonts. have difficulty describing it to others accu- B Interface Hall of Shame The type we are used to seeing in everyday rately. These prototypes provide artists www.iarchitect.com/mshame.htm print uses kerning, which is the adjustment with a means of communicating their of space between characters so that part of design ideas clearly and with little room B IBM — Ease of Use one letter extends over the body of the for misinterpretation. www-3.ibm.com/ibm/easy/eou_ext.nsf/ next. An example would be two circular publish/561 letters such as a c and an o. They would Creating Game-Ready have a much narrower kerning than two Art B Yale Style Manual parallel lowercase ls. Kerning takes a beat- http://info.med.yale.edu/caim/ ing when bitmapped fonts are generated. t is always a good idea to bear in mind manual/contents.html The code is usually set so that each letter is I the repetitive nature of the elements that defined as a cell in the bitmapped font. make up the GUI for a game. Frequently, BOOKS The cells can be uniformly spaced, but these elements can be made from a com- B Beaumont, Michael. Type: Design, Color, kerning is a much more difficult proposi- mon set of base artwork without a visible Character and Use. London: Quarto Pub- tion. In most cases it ends up being a low loss in quality. It is often possible to create lishing, 1987. priority on the programming list and usu- a basic set of building-block components ally ends up being dropped. If the game (buttons, surround elements, text boxes, B Hamlin, J. Scott. Interface Design with engine supports TrueType fonts, then the and so on) that 80 percent of the GUI ele- Photoshop. Indianapolis: New Riders kerning is maintained, but control over ments can be generated from. Publishing, 1996. subtle alterations is reduced. When creating art, especially hardware- B Marcus, Aaron. Graphic Design for Elec- only GUI elements, optimization of redun- tronic Documents and User Interfaces. New dant elements is essential. You may find Rapid Prototyping York: ACM Press, 1992. that in-game GUIs require special attention, here are several programs out there since texture memory is usually at a premi- B Swann, Alan. How to Understand and Use T that allow GUI designers to create a um. You must also consider multiple screen Grids. London: Quarto Publishing, 1989. mock-up of their idea quickly. These pro- resolutions. Most games have the capability

30 february 2001 | game developer AUDIO MISTAKES the fat man, george alistair sanger

The Sound of Money (Down the Potty) Common Audio Mistakes in Kids’ Games

here is a great and tragic battle that has raged for decades and has taken a drastic toll on our industry. We have been fighting for dollars, but we have been losing business and alienating cus- tomers. And, oddly enough, the key soldiers in Tthis battle are the musicians and the “sound guys.” While they themselves may have respect for the unique nature of the terrain Do you make games upon which they shed their blood, often the commanders of their forces do not. The most important point that gets missed is this: the person for young kids? who buys the game (the parent) only experiences the game through the audio. This is an important point. History repeats itself, but Would you like to know since I am not yet history, I will paraphrase myself instead: Assum- ing that the game installs easily and that the kid can play the game mostly by him- or herself, and that the kid pretty much likes the how you can stop game, all of the customer satisfaction, everything the buyer experi- ences, all of the motivation to buy the next product — comes from flushing a whole load the audio. The parents do not see or play the game. They hear it. Yet due to the inability of Command to recognize this fact, never so much as even three percent of resources has ever been of cash right down directed to the soldiers at the very important musical front. Histo- rians are still trying to figure that one out. the crapper? THE FAT MAN | is a big-hearted alien who wears the skins of cowboy heroes whose bodies he has found in the desert. He finds it to his liking to hover over Austin in a huge radar-cloaked zeppelin, Please, read on. composing music for games with his legendary team of Cowboy Composers, Team Fat. His work on hit games has more than once changed the face of game music. People magazine called him “a top candidate for the most prolific — and obscure — living American composer,” yet as he consumes only ammonia and uncooked brown rice, his rates remain reasonable, and he is very well-behaved. He can be reached at [email protected].

32 february 2001 | game developer Illustration by Tadeusz Majewski by Tadeusz Illustration

www.gdmag.com 33 AUDIO MISTAKES

Atomic Weapon: Use with Discretion these things. Because people think kids actually like these things. But that’s insane. None of them is necessary or desirable, ever. udio, especially game audio, is a powerful weapon. When Kids like good music, just like you and me. They get bored, just A used properly, it has the power to involve, immerse, elevate, like you and me. And even if they didn’t, it doesn’t matter because and reward. It has the power to excite. It can make an artificial you’re never going to drive the kid crazy with good audio. But world appear to be deeper, older, and much more complex and you’re sure to drive the parent crazy with that crap you’re giving complete than it actually is. But when misused, audio reveals its them, and that’s the last sale you’ll make in that household. most awesome and deadly power — the power to annoy. The annoyance situation for any game is already potentially And Again I Say, History Repeats dangerous. The game developers budget for an hour of music. That hour is stretched over a 40-hour entertainment experience. hat is the battle. Repetition is the enemy, so you’ve got to fight This can be likened to driving cross-country with one audio cas- T it with everything you’ve got. The following are some tips: sette that you didn’t choose. Furthermore, the scarcity of disk Don’t rely on new technology or clever gimmicks to make things space requires that the music be played at a low sample rate, or sound better. That is like trying to build a baby-sitting robot via MIDI, or, God forbid, through some crazy auto-composing instead of being with your kids. Always direct all routine like DirectMusic Composer. So what you’re getting isn’t your audio energy toward making lots and lots exactly a direct view into the heart of Aaron Copland. Add to and lots of warm, exciting, varying, that tiny speakers and an audio environment that was heartfelt audio. You can do this better never put through QA with anybody who knew with a kazoo and a cassette recorder what to listen for. Of course, I will be more than with physically modeled 3D inter- than happy to send a formal let- active vaporware. ter of apology to anybody Don’t use one repeating tune for an who can show me — in entire level of a game. That’s old writing — that a feedback school, there’s no excuse, and it cycle exists in their devel- will kill the parents. Don’t do it. opment timeline in O.K.? Just don’t. If any one tune which the musician, the in your game repeats for more only one who knows than five minutes, you should do how many times that D- one of the following: (1) change to minor section is supposed to another tune after five minutes, or repeat, is supposed to listen to (2) stick a hot fork into your own the finished game and correct mis- eye, you evil moron. takes before it ships. Reuse your resources in different Now add to this dire situation circumstances. I know you want the multipliers that are unique special “cinematic” pieces, and to kids’ games. For some reason, “payoffs,” and a unique piece for the somebody has decided that any puzzle with the cute duckies and such. But game created for somebody under the math is simple. If the game’s budget is the age of nine will have the follow- for 20 minutes of music, and the game is ing audio characteristics: constructed so that music plays for an hour • The compositions will be more in a given session, the music is going to repetitive than those in adults’ repeat somewhat. And remember that three games. repetitions of the music would happen only in the • The tones will be pedestrian. best possible circumstances, meaning all music has the same odds • The tunes will be shorter and of repeating. But suppose you get greedy about special-case simpler than even normal game music. music. The more of your music that goes to special one-time • The tunes will all be in the same key, cases, the more the other tunes have to repeat to cover for it. C-major. Reuse that “Binky meets the cougar” tune as a “tense puzzle- • Half the tunes will be public domain building” or “will we win the pony race?” background piece. The “favorites” such as “Twinkle, Twinkle, Little Star.” kids won’t mind — the situation will be different enough that • Characters will yell in high, squeaky voices the following they’ll experience it as two different pieces of entertainment. The phrases: “GOOD JOB!” “VERY GOOD!” “TRY AGAIN!” parents will be grateful for one less repetition of that incessant “NOT QUITE!” “HEY! YOU’RE GOOD AT THIS!” “riding the pony” music. “GREAT JOB!” “HEY! YOU’RE GOOD AT THIS!” Do not use musical structures that utilize repetition to build famil- “GREAT JOB!” iarity. This is hard to get away from. Sure, conventional musical Why? Because it’s easy. Because people think kids don’t notice theory suggests that we play familiarity against variation to

34 february 2001 | game developer achieve tension. That’s why conventional music uses forms such office, then barely has the energy to cook. Somehow she manages. as AABA. But in a game, you’re going to get 30 repetitions of the “Dinner! NOW!” shouts Dad, feeling guilty that it wasn’t he who tune at least. Think about that. How many times have you lis- cooked it. tened to the CDs in your house? Even your favorite CD? In a “But I’m right in the middle of my game!” comes the kid’s game, you can concentrate on the variation and relax on answer. Good. The game is interesting. The makers of the repetition. An hour into the game, the familiarity the game can be proud. But the parents — the cus- will be there, I guarantee it. tomers — are getting angry. Don’t insult kids with poor tones and yelling, “DINNER! Get in here right now or I’ll squeaky voices. Elmo and Barney are beloved, throw that damn thing through the win- but so are the softer, lower-voiced characters dow.” such as Mr. Rogers, Captain Kangaroo, and “O.K.! O.K.! O.K.!” answers the kid, if Marvin the Martian. Kids’ ears are brand new, the parents are lucky. and they can probably hear better than you. If The kid comes to dinner. What do we you want to delight kids, play a pretty little bell hear from the other room all through the for them. Yes, they respond well to high tones. meal? Music! It’s the ice cream truck, parked Yes, they even like those little square waves, by in our living room, clanking out “Twinkle, God. But even though some little girls might be Twinkle, Little Star” over and over and over and inclined towards pink, Crayola has not yet rationalized over and over again. And what’s worse, every 45 filling an entire box of crayons with that one color. seconds, a shrill voice yells out, “HEY! ARE YOU THERE? HEY! ARE YOU GONNA PLAY OR WHAT? Somebody Stop Me! SNORE!!!” Oh, yeah, the parents are going to love that. Why isn’t there a .K., the knife is in. Now let’s get down to the twisting. “fade to silence after two minutes of inactivity” feature? Were the O Picture this typical scenario: Mom works very hard at the designers never in a human family? Are they designing for kids

www.gdmag.com 35 AUDIO MISTAKES

who don’t eat, go to school, or play soccer? Is the target kid one problem, and you’d have to solder another chip into every last who buys his own software and sets his own bedtime? cartridge yourself to rectify the problem, do it. I’ll hold the solder- And do you know why these games sell as well as any other ing iron. Because that one element of game design has done more games for kids? It’s because even the greatest games in the world damage to our industry than any other. have these design problems, and the parents’ choice is either to Parents might say that the problem is the violence, but it’s not. buy no games for their kids or to buy annoying ones. Can you It’s the fact that games have committed the unthinkable crime. imagine what would happen to sales of kids’ games if some of They have made parents’ lives even more difficult than they them stopped being deathly annoying? already are. And they have done this by making it impossible to get a kid who is playing a game into a car, into his clothes, to And Another Thing school, to the dinner table, or even out of a burning building if that kid is in the middle of a game with no save screen. And what should end the article here, but it is my duty as a Texan to go are the parents’ choices? They can say, “O.K., I’ll wait for you,” I into areas I know nothing about. Here is my non-audio gripe: which leads to untold misery and a quick undermining of the fam- Who in the world decided to let this happen: “Mom, I can’t ily dynamic, because now the sister, who was all ready to get into come to dinner now! There’s no place to save my game until I get the car, asks if she can start a game too. The parents can say, out of this battle!” One game even makes you earn a certain “Quit without saving,” which even parents know is a mortal sin object that allows you to save your game more often. — besides, it can easily lead to an hour of tears. Or the parents (Long pause, Texas voice, one eyebrow raised.) Now I’m no can say, “No more games for you anytime within an hour of when game designer, but I know financial-suicide-by-greed when I see it. another activity is planned.” Which is, when you think about it, The kid has simply got to be able to save instantly at any time. exactly what happens, because it’s the only option available. Whatever the justifications are for having designated places in the Given the mistakes I’ve seen and heard, I think it’s a damn mir- game from which the player can save, trash them. If you have to acle that games are even allowed in homes with kids. So pay hit your lead designer with a cattle prod until he admits that he attention to the lessons of your industry’s history, and maybe you screwed up, do it. I’ll buy you a new cattle prod. If it’s a hardware can make a bundle and save the world and a family or two. q

36 february 2001 | game developer REAL-TIME REFLECTANCE jan kautz, chris wynn,

Achieving Real-Time Realistic Reflectance

Part 2

JAN KAUTZ | Jan is a Ph.D. student at the Max-Planck-Institute for Computer Science in Saarbrücken, Germany. His main research area is interactive realistic lighting and shading using graphics hardware. He can be reached at [email protected]. CHRIS WYNN | Chris is an OpenGL software engineer working at Nvidia Corp.’s technical developer relations group. You can ask him anything (BRDF and otherwise) at [email protected]. JONATHAN BLOW | Jonathan prefers the AK-47 and the Colt M4A1. He will use the MP5, though, if that’s what it comes down to. He reads e-mail sent to [email protected]. CHRIS BLASBAND | Mr. Blasband has more than 17 years of experience in applying BRDF phenomenology to military and commercial applications. He can be contacted at [email protected]. ANIS AHMAD | Anis is an undergraduate student at the University of Waterloo, majoring in computer science. You can contact him at [email protected]. MICHAEL MCCOOL | Michael, who can be reached at [email protected], is an associate professor with the Computer Graphics Lab at the University of Waterloo, Canada. His research areas include real-time hardware-acclerat- ed shading and illumination.

38 february 2001 | game developer jonathan blow, chris blasband, anis ahmad, michael mccool

n last month’s article (“Achieving Real-Time Realistic Reflectance,” January 2001), we

presented the necessary background on BRDFs (bidirectional reflectance distribution

functions) and reflectance. This month, we will detail the separable decomposition tech-

nique and describe how it can be used to implement sophisticated real-time per-pixel I lighting models on current graphics cards. Real-Time Hardware-Accelerated describe in this article. It factors BRDFs into simpler terms that Techniques are then multiplied together using multi-pass rendering or multi- texturing. It can be considered a compression technique for ow, how can we render materials with sophisticated BRDFs that uses graphics hardware for decompression. This BRDFs in real time? As we have seen, a BRDF is a four- N technique is suitable for use with anisotropic reflectance models dimensional function representing the reflective properties of a and can be used to generate approximations for measured data. material. However, it can only be used with A BRDF could be sampled using point or directional light sources. grids of incoming and outgoing direc- Separable decomposition tions and the results of all possible The Separable parameter combinations placed in a Decomposition large 4D lookup table. This is the can be considered a Technique most general format, and the way measured data is often presented. compression technique eparable decomposition as a However, this approach has several S BRDF approximation technique is drawbacks for hardware rendering. for BRDFs that uses a two-step process. First, as a pre- To get a decent degree of accuracy process, the four-dimensional BRDF of and quality, numerous incoming and choice is decomposed into one or more outgoing directions are needed and graphics hardware pairs of two-dimensional functions that this results in an extremely large are stored as textures. Either measured table. While the space requirements for decompression. data or analytical models can be used, may, in some cases, be suitable for as the approximation techniques are one or two BRDFs, the number of purely numerical — in the case of an materials used in a typical game makes this an infeasible analytical model, we just sample the reflectance function. Then, approach. during actual rendering, these textures are parameterized with Fortunately, better real-time techniques for implementing texture coordinates that depend on the orientation of the sur- reflectance models have recently been developed. One such face relative to a given viewer and to a given light source. The approach, developed by Wolfgang Heidrich and Hans-Peter results of the texture lookups are multiplied together, and then Seidel (see For More Information), uses view-independent pre- multiplied with the results of the usual Lambertian lighting filtered environment maps to produce isotropic reflectance model. This technique requires only simple multi-pass or multi- effects. This approach is simple and effective, and can obviously texture operations, which are supported on almost all current handle environment maps, but it is really only suitable for consumer-end accelerators. The results, as seen in Figure 3c, are isotropic reflection models. images generated in real time that are virtually indistinguishable A second technique, separable decomposition, was introduced from those generated by per-pixel software evaluation using the by Jan Kautz and Michael McCool. This is the technique we’ll original BRDF.

www.gdmag.com 39 REAL-TIME REFLECTANCE

Generating a Separable require graphics hardware that supports for all cases, because of the variety of phys- Decomposition arithmetic on negative values, which cur- ical phenomena that can influence reflect- rently is a rare thing. Signed arithmetic ance. We will discuss two parameteriza- ur goal in generating a separable can be simulated on current graphics tions that do, however, support many sur- O decomposition is to take the BRDF hardware, but it’s painful. face types of interest. and create a set of 2N “subfunctions” The ND approach produces single-term The most intuitive parameterization which, when combined appropriately, will decompositions that aren’t typically as (and the one used in most definitions of approximate the original BRDF: good as those generated by an SVD, but the BRDF) simply uses the incoming and N they are often good enough. The results outgoing directions ˆ i and ˆ o (expressed ƒ ≈ ()xy, ∑ pj () xqj () y from the ND tend to be oversmoothed, relative to a local surface coordinate j=1 but this is not necessarily a bad thing if frame). An example of a BRDF that sepa- We can generate a full decomposition the BRDF data is noisy. However, the ND rates well under this parameterization is that is in fact exactly equal to the original approach is far simpler than the SVD, it velvet. The reflectance of velvet is charac- BRDF, within the limits of numerical preci- consumes much less memory, and it auto- terized by self-shadowing and self-mask- sion. Unfortunately, such an exact represen- matically produces positive factors. In ing, and for this type of material the tation would require too many terms to be fact, rather than filling out the entire pre- () ˆ i , ˆ o parameterization generally works practical for game applications. However, ceding matrix, the ND can work on the well. For glossy types of surfaces, howev- we can arrange for most of the important matrix one row at a time. We will describe er, this parameterization is not accurate features of the BRDF to be contained in the only the ND approach, as it is of the most and something different is needed. first few terms of the preceding series, and immediate practical benefit. See For More The following parameterization (which the sum can be truncated to give a good Information to find resources on the SVD we will call the half-vector parameteriza- representation. In fact, in many cases, only algorithm. tion) not only leads to good separability of one term is enough. To compute a normalized decomposi- glossy BRDFs, it also results in texture In this equation, ƒ is the original BRDF tion, first compute the average mk of coordinates that can be interpolated cor- and pj and qj are the result of the decom- every row mk of the initial matrix, M. rectly across the surface. The first step in position. The parameter vectors x– and y– This will give you a vector of N values. this approach is to find the normalized are reparameterized versions of the incom- This vector can then be put into the 2D half-vector, hˆ . The half-vector is the vector – ing and outgoing directions, respectively. function p1(x ). The next step is to divide halfway between the incoming direction Reparameterization will be discussed later; each row of the matrix by its average and outgoing direction. In this case, the assume for now that both x– andy– are 2D value to get a normalized row. Finally, incoming and outgoing directions must be vectors. The first step in decomposing a average all normalized values in each col- expressed relative to the same coordinate BRDF is to tabulate it into a large matrix: umn to construct one row vector, and put system that the surface tangents and nor- the result into the function q (y– ). The mal are expressed in, though not relative ƒ()L ƒ() – – 1 xy11,, xy 1 n product p ()q (y ) is a single-term sepa- to them. We will use the notation vˆ and ˆ   1 x 1 l rable approximation to the BRDF. for these “global” view and light vectors. M =  MOM   With that caveat, we compute the “global”   ƒ()xy,,L ƒ() xy  nnn1  Choosing an Appropriate half-vector as follows: ––– – Parameterization vˆ + lˆ Here, the sequences (x1, x2, x3,…xn ) and ˆ = hg – – – – ˆ + lˆ (y1, y2, y3,…yn ) each represent a selection n order to achieve good results, the v of appropriately spaced parameter values. I parameterization for the BRDF must be There are two approaches to decompos- carefully chosen. By parameterization we This vector, re-expressed relative to the ing this matrix: the singular value decom- mean the parameter space in which the local surface frame ( t,ˆ s,ˆ nˆ ) will be used as position (SVD) algorithm and the normal- BRDF is evaluated. The first constraint is our first parameter: ized decomposition (ND) algorithm. The that it must be possible to interpolate the   htˆ ⋅ ˆ SVD approach is more general and pro- parameters using linear interpolation, since  g  duces better decompositions, and pro- this is what texture coordinate interpola- hˆ =  hsˆ ⋅ ˆ duces a series which can approximate a tion does. This eliminates a number of oth-  g   ˆ ⋅  BRDF to arbitrary accuracy, but it is more erwise useful parameterizations. Further- hng ˆ complex and consumes a fair amount of more, if the important features of the resources. It also produces signed factors, BRDF do not align with the axes of the To obtain the second parameter, a new and so requires signed arithmetic for parameterization, the separable decompo- reference frame is first created such that reconstruction. This is a problem. Since sition will cause significant blurring. This the half-vector is the new “vertical” polar ˆ we’ll be reconstructing the BRDF by put- blurring is particularly visible when the axis. Two new tangent vectors t h and sˆ h ting the terms into texture maps that are ND approach is used. Unfortunately, no must be created and oriented so they are modulated and added together, we would single parameterization of BRDFs is ideal perpendicular to this new polar axis but

40 february 2001 | game developer as close to the old tangents as possible. be able to look up the BRDF value in our This can be accomplished by orthonor- BRDF: malizing the tangents of the original local ˆ = []T surface frame: t f 100,, r   =−ˆˆ ⋅ˆˆ ttthhˆˆˆ=−⋅norm ()ˆˆ ttthh() hff h gg   r t ˆ =׈ ˆ ˆ = rh shthh FIGURE 1. Texture map. t h t h ωˆ =++ˆ ˆ ˆ ixdth dsy h dhz interpolation in some situations. To store shtˆ =׈ ˆ the factors in hemisphere maps, simply use h g h ωωωˆ =⋅ˆ ˆ ˆ − ˆ oii2()hh the following as texture coordinates (see ˆ – ˆ ˆ Now we expressl with respect to this new Figure 1), wherea is either ˆ i , ˆ o , h , or d : coordinate frame and get our second Here dx, dy, and dz are the coordinates of ˆ 1 + a parameter: d. Now we can use ˆ i and ˆ o to sample u = x our BRDF with ƒ() ˆ i , ˆ o and store the 2   value in the matrix. Then we can apply the + lˆ ⋅ tˆ 1 ay  h  ND algorithm discussed previously. v = 2 dˆ =  lˆ ⋅ sˆ   h  Unfortunately, the hemisphere map has lˆ ⋅ hˆ  Putting the Factors  g  problems when a– < 0. In theory this can’t into Texture Maps and z Texture Coordinate happen for true surfaces for the parameter- Our reparameterized BRDF now izations we will give, but it can happen in ˆ ˆ Generation depends on h and d instead of ˆ i and ˆ o . practice when polygonal approximations This yields much better separability for he separable decomposition results in to surfaces are used with vertex normals, – many “glossy” BRDFs that peak when the T two two-dimensional functions, p1()x and these normals align badly with the – half-vector is near the normal, n ˆ . It is pos- and q1(y ). As we want to put these func- surface. Also, the hemisphere map has sible that other parameterizations can be tions into textures, we have to map them poor resolution near its edge. A slightly found that result in even better separability into a 2D texture space in some way that better mapping of the unit hemisphere for certain reflectance models and/or are gives reasonable interpolation. Both of the onto the unit square of texture coordinate faster to compute. Be sure to let us know. parameterizations presented depend on space is the parabolic map, given by unit vectors varying over the hemisphere. In all cases we will have represented these a 1 Separable Decomposi- u = x + unit vectors with coordinates relative to 21()+ a 2 tion and Half-Vector z Parameterization some local coordinate frame, either the nˆ tˆ ay 1 frame given by , , and sˆ , or the frame v = + ˆ ˆ ˆ ()+ n order to clarify the relation between given by hg, th, and sˆ h (for d ). The coordi- 21 az 2 ˆ I the decomposition algorithm and BRDF nates of h , ˆ i , and ˆ o are taken relative parameterization, we will walk through to nˆ , tˆ , and sˆ , and are computed with dot This looks a lot more complicated, but in how the half-vector parameterization is products against these vectors. For exam- fact you can just use the three dot prod- used together with decomposition. ple, the coordinates of hˆ are computed ucts as homogeneous texture coordinates, ˆ ˆ ˆ ˆ ˆ T ˆ – As before, we sample the BRDF into a with h =[(hg· t ), (hg· sˆ ), (hg· nˆ )] , where hg with az as the homogeneous coordinate, matrix, but this time using the half-vector is the half-vector in world coordinates. and then set up an appropriate texture parameterization: Likewise, we’ve already shown how dˆ is in transformation matrix to compute the fact just the light direction parameterized parabolic map:   with respect to tˆ , sˆ , and hˆ . ƒ()hdˆ , ˆˆL ƒ() hd, ˆ h h g  11 1 n  Now we must map these local coordi-      1011a x M =  MOM nates into texture space. There are several         ways to do this: hemisphere maps, para- 0111ay ƒ()hdˆ , ˆˆL ƒ() hd, ˆ     nnn1   bolic maps, and (on graphics accelerators 0000 1     that support them) cube maps. Both hemi-       For discrete values ofhˆ and dˆ we sample sphere and parabolic maps are stored in 0022 az our BRDF and store it in the matrix M. 2D texture maps, are easy to set up, and Since BRDFs are usually given in the will work on any hardware that supports If cube maps are supported, these are () ˆ i , ˆ o parameterization, we have to cal- 2D texture maps (in other words, every- really the best representations for func- ˆ ˆ culate ˆ i and ˆ o fromh and d in order to thing), but cube maps will give better tions defined over a hemisphere, since

www.gdmag.com 41 REAL-TIME REFLECTANCE

interpolation will be over great arcs where- as linear interpolation in hemisphere and parabolic maps only approximates this. The benefits of using cube maps are partic- ularly noticeable for BRDFs that contain a significant amount of anisotropy or when the light direction or view direction is near- ly parallel to the illuminated surface. Unfortunately, with all these maps, some space is inevitably wasted. In all cases, the “edge” of the function defined over the hemisphere should be extended (that is, by extrapolating the value at the FIGURES 2A (left) & 2B (right). hˆ and dˆ texture maps using the hemisphere map parameterization. edge of the hemisphere) into the “unused” part of the map to avoid interpolation Please note again that lˆ and vˆ are the model, which is already supported by exist- artifacts. These artifacts can occur for two light and viewing direction in “global” ing APIs, and for which Gouraud shading reasons. First, the bilinear interpolation of coordinates, whereas ˆ i and ˆ o are by con- works well. Note that the Lambertian texture maps may pick up values from vention relative to the local surface coordi- reflectance model also multiplies by zero ˆ outside the hemisphere. Second, for para- nate frame. The vector hg is the halfway- the parts of the reflectance model that face bolic and cube maps, the generated tex- vector between lˆ and vˆ in “global” coordi- away from the light source. ture coordinates may lie outside the nor- nates. The value pairs (hu,hv) and (du,dv) are Since multi-texturing is widely supported – ˆ mal range if az < 0, although again this the texture coordinates for the factors p1()h on gaming platforms and leads to signifi- ˆ should be an unusual occurrence. and q1(d ) that should have been put into cantly higher performance for this tech- hemisphere maps. This above computation nique, we will describe the steps required Half-Vector has to be done at every vertex of an object to render a single-term separable approxi- Parameterization, using a separable approximation with the mation using one point light source in one Hemisphere Maps, and half-vector parameterization and the hemi- pass using multi-texturing (enhancements Texture Coordinate sphere map representation. Part of the and gotchas will be discussed following): computation of (hu,hv) and (du,dv) can be Generation done with appropriate texture transforma- 0. Place the two factors (p1( ˆ i ) and q1() ˆ o ˆ ˆ ow it’s time to show how the texture tion matrices, although this probably won’t or p1(h ) and q1(d )) into separate tex- N map representation and the BRDF be faster unless you have hardware T&L. tures t0 and t1. (See Figures 2a and parameterization go together. Assuming we 2b.) use a hemisphere map and the half-vector Rendering with Then, for each frame: parameterization, texture coordinates are the Separable 1. Compute the two vector parameters computed the following way for a given Approximation and generate corresponding texture light and viewing direction: coordinates for each vertex of the ˆ ˆ o use the separable approximation for model (that is, ˆ i and ˆ o or h and d hvˆ =+norm()ˆ lˆ T direct lighting, we’ll revisit the point- and then apply the UV texture coordi- g source reflectance equation discussed in nate mapping).   last month’s article. This time, however, 2. Enable the diffuse component of the ttthhˆˆˆ=−⋅norm ()ˆˆ h  gg we will replace the BRDF with an N-term point source to handle Lambertian separable approximation, use an expan- lighting. ˆ =׈ ˆ shth g h sion for K light sources, and use our cur- 3. Enable the texture units t0 and t1. rent vector notation: 4. Set up the multi-texture combiner unit htˆ ⋅+ˆ 1 = g to compute t0 * t1 * fragment color. h u 2 K N   5. Draw the object specifying (u0,v0) and Lv()ˆ = ∑ ∑ phqd()()ˆˆ L()llˆ () nˆ ⋅ ˆ ojk j k i kk (u ,v ) as texture coordinates. ˆ ⋅+ˆ + 1 1 hsg 1 k =1  j=1  h = v 2 This efficiently evaluates the reflectance lˆ ⋅+tˆ 1 In order to compute the radiance of the equation for all points on the object — d = h u 2 light source multiplied by the positive assuming single term approximation and cosine of the angle between the incoming one point light source. (See Figures 3a–c.) lˆ ⋅+sˆ 1 d = h direction and the surface normal (the term In order to render the separable approxi- v 2 ˆ ˆ Li(l k)(nˆ ·l k)+), we will simply rely on the mation on hardware that doesn’t support diffuse component of the Lambertian multi-texturing, steps 3 through 5 would be

42 february 2001 | game developer ˆ ˆ ˆ ˆ FIGURES 3A–C (left to right). Teapot rendered with h texture (A), with d texture (B), and with h texture * d texture * cos(Oi ) (C). replaced with two separate passes and the diffuse and specular components, we will Finally, one advantage of the separable multiplications would be performed using want to divide their reflectances into two approximation technique is that it can be compositing operations in the frame buffer. BRDFs, so that we can use one to add and easily antialiased by using MIP-maps for the other to modulate. each factor of the decomposition. This Implementation for prevents highlight aliasing when the cur- Games Enhancements vature of the surface is too high relative to the pixel spacing by automatically choos- o use separable decomposition in a s noted, a diffuse texture map may be ing a broader representation of the BRDF T game, we need to have source data of A added to the result to give the surface exactly when needed. (See Figure 4.) You the material types we wish to render, so more detail, especially if the BRDF has should generate the levels of the MIP-map that we can create our texture maps. As only a near-specular component. For this by smoothing and downsampling the mentioned in last month’s article, some pass, normal Lambertian lighting can be BRDF itself before generating a separate collections of measured data, such as the used, which also fills in the ambiently illu- approximation for each resolution level of CUReT archive, are already available (see minated part of the model. An alpha map the MIP-map. As an approximation, you For More Information). By choosing the can also be used to modulate the regions can also just blur and downsample the appropriate analytic function and sam- where multiple BRDFs are applied, so a factors themselves in the usual way. This pling it, this technique can simulate many single surface can have many BRDFs in a approximation reconstructs a slightly other materials. generalization of texture mapping proba- incorrect reflectance for the downsampled For added visual effect, we can combine bly best termed “material mapping.” factors because the integral of a product is a texture-mapped BRDF with gloss maps Some BRDFs are a sum of several not the same as the product of the inte- or bump maps on the same surface. How- effects (for example, the reflectances of grals. However, preventing aliasing is far ever, what we really would like is for the human skin and certain paints are a com- more important visually than getting the bumps on the material to respond to light bination of surface specularity and subsur- reflectance exactly right, so do per-factor in accordance with our BRDF. Unfortu- face scattering). For these kinds of BRDFs filtering anyway if for some reason you nately, to accomplish this we would need to it may not be possible to get a single sepa- can’t smooth and decompose the original repeat our per-vertex computation at every rable decomposition to work well, but a BRDF data itself at different scales. It pixel and use dependent texturing (a fea- sum of two decompositions parameterized should be noted that good reflectance ture expected in the next generation of in different ways should work. In other model antialiasing is also possible with graphics hardware which allows you to use words, you may have to layer reflectances other texture-based reflectance techniques, texture coordinates stored in one texture to to get more subtle overall effects. You can such as the prefiltered environment map reference another) to get bump maps with fit such BRDFs numerically by finding an technique mentioned briefly earlier. arbitrary BRDFs. approximation with one parameterization, As we mentioned earlier, we can use ordi- subtracting that approximation from the Gotchas nary texture maps to provide varying color original data, then finding another for the over the material’s surface to draw things residual, iterating if necessary. urrently, separable approximations such as the grain pattern of wood. Whether To support lighting from multiple light C should only be used when necessary. the BRDF on a surface should modulate or sources, the separable approximation While good frame rates can be achieved, add to the surface color depends on the needs to be rendered multiple times, once separable approximation is still relatively type of reflectance that is being encoded; from each light source. Note however that costly, since the texture coordinates diffuse reflectance should modulate the sur- the “ambient/diffuse” passes and some of depend on the light source direction and face color, and specular reflectance should the computations (such as the normaliza- view direction, and computation of the add to it. For materials that have important tion of the view vector) can be shared. parameters has to be done on the host at

www.gdmag.com 43 REAL-TIME REFLECTANCE

FIGURES 4A (left) & 4B (right). Close-up of teapot with and without MIP-mapping. Figure A is with- out MIP-maps and shows aliasing. Figure B uses MIP-maps and shows no aliasing. the moment. In the near future, extensions the texture-mapping parameterization Developer’s web site at www.gdmag.com. to hardware APIs will support some addi- problem, and should have similar “solu- The demo works on ATI Rage and Nvidia tional per-vertex “shader” programmability tions” in practice. TNT2 and GeForce cards. Nvidia also has which could be used to support rendering A final issue is dynamic range and preci- an introductory tutorial on BRDFs as well with separable reflectance models (see, for sion. BRDFs can vary over 0 to infinity, as sample source code that demonstrates instance, Nvidia’s vertex shader extensions whereas current graphics hardware com- the technique available at www.nvidia.com/ to OpenGL). putes with values only in the range 0 to 1. developer. Surface Optics Corp. is build- Most models don’t come with per-vertex To get the BRDF computation to “fit” in ing a commercial database of measured tangents, most modeling programs don’t the available dynamic range, it is necessary BRDFs, which will be available soon; see export them, and existing APIs don’t know to scale the factors of the decomposition www.surfaceoptics.com for information. q how to transform them. Ideally, there down and scale the result back up after would be a “Tangent” call added to APIs multiplication. Since modern multi-textur- FOR MORE INFORMATION as well to support those new texture-gener- ing units support scale factors of two or ation modes. In the meantime, even if you four in a single pass, making the product PAPERS transform tangents yourself (or back-trans- of the scale-down factors 1/2 or 1/4 is con- form the light and view direction instead), venient. This scaling unfortunately loses Heidrich, W., and H. P. Seidel. “Realistic, there is the problem of adding tangents to precision and makes it hard to do certain Hardware-Accelerated Shading and object models. If a spline model is used high-dynamic-range BRDFs well. This Lighting.” Proceedings of SIGGRAPH (such as the teapot used in our examples), restriction, as well as the lack of signed 1999. pp. 171–178. tangents can be found by evaluating partial arithmetic (which inhibits use of the singu- derivatives. In fact, the normals for spline lar value decomposition), has the potential Kautz, J., and M. McCool, “Interactive models are usually evaluated by taking to be removed with future generations of Rendering with Arbitrary BRDFs Using cross products of these tangents. For consumer-level graphics hardware. Separable Approximations,” Rendering polygonal models, take a “global” tangent Techniques ‘99 (Proceedings of the 10th and orthonormalize it against the normal Conclusions at each vertex to get per-vertex orthonor- Eurographics Rendering Workshop). New mal tangents. This works especially well e hope to have shown the benefits York: Springer-Verlag. pp. 281–292. for surfaces of revolution, where the global W of using separable approximations tangent can be taken as the direction of the to improve lighting in real-time applica- WEB SITES axis of the model. If a model has already tions. The technique can be used to ren- been texture-mapped by a 3D artist, then der many interesting reflectance models, CUReT BRDF Database the tangents can also be extracted from the including anisotropic models, with anti- www.cs.columbia.edu/CAVE/curet texture maps. Just take the texture coordi- aliasing. It scales over a range of cost- Cornell BRDF Measurements nate vector (u,v) = (1,0) at each vertex and performance trade-offs. It fits well into a www.graphics.cornell.edu/online/measurements transform it from texture space into model multi-texturing, multi-pass game render- space. Another technique to generate tan- ing engine, and can be layered with other University of Waterloo Computer Graphics Lab gents has been developed by Nvidia in the effects like specular maps. Finally, it can www.cgl.uwaterloo.ca/Projects/rendering context of bump mapping but it is also be implemented on practically every exist- applicable here (see Nvidia’s web site for ing installed graphics accelerator. Jan Kautz’s BRDF Page more details). Jonathan Blow of Bolt-Action Software www.mpi-sb.mpg.de/~jnkautz/projects/hw_bidir In general, though, there is the problem has written an OpenGL demo of this tech- Nvidia that it is impossible to give a smooth tan- nique, which was used to generate the www.nvidia.com gent-space parameterization of arbitrary images in this article. You can download closed surfaces in 3D. This is similar to the source code for this demo from Game

44 february 2001 | game developer www.gdmag.com 45 MOD DEVELOPMENT charlie cleveland

The Past, Present, and Future of PC Mod Development

ince the dawn of PC games, players have always hacked on them. The tinker- er nature of the PC gamer encouraged them to try to figure out how to add magic items to games, tweak levels, and hack the high-score list. NETHACK was probably the first game to promote modification and to have widespread distribution of a modified version of itself. It has been in postpartum devel- opmentS now for 15 years, a process which still continues today. The gameplay continues to evolve and grow, reaching unprecedented depth. A similar thing happened with id Soft- ware’s DOOM. Players figured out how to create their own levels, then distributed them to extend the game’s multiplayer lifespan. When id saw how much players modified DOOM, they intentionally built their next game, QUAKE, to be user-modifiable. After QUAKE was finished, id released some of the tools they had used to create maps, including a mini-lan- guage that let players script new behavior into the game. That’s when the PC “mod move- ment” really started, and id Software is largely credited for promoting it. Since QUAKE, id Software, Epic Games, Valve Software, and others have all been pro- moting “mod development,” or game modifications, by designing their games to be easy to change. In exchange for creating, releasing, and supporting content creation tools, pro- viding occasional informal technical support, and letting registered owners of their games use their engine for any noncommercial purposes they desire, these companies have dedi- cated fans creating unforeseen variants of their games. Modifiable games remain popular for longer, appeal to more people, and blur the line between game player and game cre- ator. Making games “open” and modifiable also increases sales: almost all mods require the original game in order to be played. Therefore, if you find a good free add-on for a particular game, you might go out and buy the base game just so you can play it. Recently, both Valve and Epic have profited from releasing newly packaged versions of their games which include content developed for free by their player communities. The term “mod” now refers to any code modification of a game and is usually a combi- nation of new levels, game rules, and artwork. The “mod community” refers to program- mers, game designers, artists, musicians, and level designers (“mappers”) involved with using a published game engine in a new way. There are fan-created levels, weapons, mod- els, “skins,” sounds, and gameplay variants available for free. Sometimes new, complete games are written, games with no recognizable attributes from the original host game. These “total conversions” (TCs) are all written with an existing game’s engine and tools. A “mod platform” is a host engine and game that a mod can be written for, such as UNREAL TOURNAMENT or HALF-LIFE. This kind of movement to modify and expand was bound to happen on the PC, where players are technically savvy and have keyboards, CHARLIE CLEVELAND | When he isn’t mice, Internet access, and a tolerance for delayed gratification. leading an underground game development The mod movement represents the reasons why many are attracted to game development coup d’état, Charlie can be found working on in the first place. For me, it’s self-expression, music, breathtaking visuals, and drama. It’s PC strategy games at Stainless Steel Studios in also the chance to spend all my waking hours and thoughts working on an experience Cambridge, Mass. The “dictator of freedom” that could give a sense of awe and wonder to players. Creating a mod is all about good can be reached at [email protected]. ideas and content creation, not technology development and compatibility testing. Most

46 february 2001 | game developer LEFT. OPPOSING FORCE for HALF-LIFE features smart companions and a good story in the HALF-LIFE tradition. of mod development is spent on visible results: game design, non- QUAKE). There are also entire single-player campaigns with new engine code, art, levels, music, and sound. stories in new settings (THEY HUNGER, OPPOSING FORCE). Most mods are first-person shooters because most mod platforms’ tools, Significant Mods source code, and fan-run servers are all heavily biased toward this genre. It takes talent and patience to try to make these architec- EAM FORTRESS for the original QUAKE engine was one of the tures work for other genres. T first mods to gain widespread popularity. Players are divided into two teams, each with its own fortress to defend. Inside each Making the Right Choices fortress is a flag which the enemy tries to capture. Most important- ly, TEAM FORTRESS introduced the “class” system, where players hoosing an engine as a mod platform can be a difficult task. can choose the role they want to play, such as soldier, engineer, or C The three all-around best choices right now are the UNREAL medic, each with its own special abilities and attributes. TEAM TOURNAMENT engine, the QUAKE 3: ARENA engine, and the HALF- FORTRESS is one of the earliest and most influential mods. LIFE engine. An innovative but underplayed mod is the atmospheric and UNREAL TOURNAMENT. With its beautiful engine, powerful IDE elegant GLOOM, for the QUAKE 2 engine. All players choose to (UnrealEd), and easy-to-learn UnrealScript, the UNREAL TOURNA- be either an alien or a marine, whose purpose is to take out the MENT engine is a solid mod platform that is the most accessible enemy’s base. Players score points which can be spent to respawn for beginning mod developers. If you don’t want to stray far as a more powerful alien, or a marine with better weapons. The from standard FPS gameplay, there is no easier choice. If you production values are top-notch and every alien has a unique feel need something more powerful than UnrealScript, it also has and tactics. native bindings to let you use C or C++ to build game code. Any The most popular mod of all time is COUNTER-STRIKE, a realis- mod that is created using UnrealScript ships with the source tic terrorism and counter-terrorism game for the HALF-LIFE engine. code, meaning that most mods are public and modifiable, a boon Players choose to play as a terrorist or counter-terrorist and par- for new progammers. ticipate in a number of objectives. COUNTER-STRIKE is important QUAKE 3: ARENA. It still has the best graphics out there. id started because it shows how a talented mod team can make a game that the whole mod movement and still boasts the most numerous is fully accepted into the mainstream. Just as Valve brought the and highest-quality mods for any platform. The QUAKE 3 SDK is first-person shooter into the mainstream by making the superla- a well-designed interpreted C which means free cross-platform tively paced HALF-LIFE, COUNTER-STRIKE brings online play to the support on Mac OS, BeOS, IRIX, and possibly even next-genera- masses, using the HALF-LIFE technology as a springboard. Today, tion consoles. Because it uses C, it isn’t as well suited to amateur COUNTER-STRIKE has more people playing it online at any given programmers as UnrealScript is, but it is very powerful. There is time than all of the other first-person shooters combined. also a large and loyal QUAKE community, making it easier to find While most mods are twists or extensions to deathmatch or talent and resources. team-based first-person shooters, there are also mods created for HALF-LIFE. The HALF-LIFE engine is showing its age, but the other genres. There is at least one driving simulation (QUAKE upcoming TEAM FORTRESS 2 engine will bring it up to date and RALLY), QUAKE chess (QUESS), and a real-time strategy game (RTS should be backwards-compatible with existing levels and tools.

www.gdmag.com 47 MOD DEVELOPMENT

LEFT. COUNTER-STRIKE for HALF-LIFE is the most popular mod ever made. RIGHT. GLOOM is a dark and innovative strategic shooter for the QUAKE 2 engine.

While id got the mod movement going, Valve is currently the com- A significant benefit of the mod community is that it can serve pany most committed to the mod community. They regularly as a gateway to the professional game development industry. It has update their SDK and have even been known to fund promising always been hard to land your first game industry job. Companies mod teams. It’s written in C/C++, so it’s best for more experienced require experience, but there usually isn’t any way to get experi- programmers. The HALF-LIFE mod platform currently boasts many ence without being hired. Mods can help job-seekers get around thousands of players, many more than the other platforms. Finally, this catch-22, because a hard-working and talented person or mod it is the only mod platform to allow complete mod ownership and team can more easily create something that is technically competi- resale without negotiations or paying for a license. tive and gets noticed by game companies. Mods bring back the grassroots style of game development, enabling amateurs to “just Alternative Platforms do it.” If you want to show off your game creation skills, creating a mod is the perfect way to get noticed and get into the industry. here are other platforms to consider if you have more special- The process for creating a mod is essentially the same as creat- T ized needs. If your main goal is to learn how game engines ing a game at a game company. Of course, you won’t have to deal are created, the QUAKE I source code is available for free under with a publisher’s schedule and creative demands, but not every the GPL (General Public License). Huge outdoor mods are possi- game company has to deal with that, either. The important things ble with the TRIBES or the upcoming TRIBES 2 engine, both of are those hard skills that take years of experience and working on which are heavily modifiable. If role-playing and interactive story- many titles to learn: writing design documents; controlling feature telling are your main goals, Nihilistic’s VAMPIRE: THE MASQUERADE creep; creating, adapting, and communicating a clear game vision — REDEMPTION or Bioware’s upcoming NEVERWINTER NIGHTS with the rest of the team; creating a cohesive art vision; play-bal- could serve your needs best. For real-time strategy mods, DARK ancing and player feedback; design iteration; tweaking game REIGN 2 is the most extensible, but TOTAL ANNIHILATION is heavily responsiveness and “feel”; cutting features that don’t (or no modded as well. longer) fit; managing a team; and, to an extent, public relations and marketing. Creating your own game mod is the fastest way to What Does It All Mean? learn game development, period. It is also likely to be as close to a “pure” game development long with mods and mod tools came a new way to create experience as you will ever have, with virtually all effort going A games — the distributed development team. Since mod cre- directly into game creation instead of finances, publisher and ators generally work in their spare time on specialized projects, human relations, and running a company. Leveraging mod tech- many mod teams have members that have never seen each other nology instead of writing a game from scratch means a small in person. To stay organized, some teams use CVS or SourceForge team can compete with other titles on the market, and it also to organize their development, both of which are free. Some teams greatly increases the team’s chance of finishing the project. have meetings over ICQ or IRC to discuss development challenges Because engines have recently become so complex, mods mean and deadlines. The distributed development team means more that, for the first time in many years, a small team can compete (and more specialized) game development efforts are feasible, but with gaming veterans. The core COUNTER-STRIKE team is just two communication is challenging. people, and most mod teams are well under ten people.

48 february 2001 | game developer Independent mod development teams can innovate regardless graphics can be rewritten or extended. Most importantly howev- of financial pressures or market desires. Even mod teams that get er, unlike traditional game development, the initial lack of these publishers (another exciting trend) are more likely to remain systems doesn’t prevent or slow development. All team members autonomous because the publisher recognizes that as a strength. can experiment and contribute immediately, with new systems Diverse talent, fresh ideas, and freedom from time-consuming added as you go. Mod development can be faster, more experi- technology development puts mod authors in the unique position mental, more creative, and potentially more profitable than tradi- to push the art form forward. Climbing production costs for tra- tional game development. Games developed as mods have the ditional game development ensures more publisher intervention potential to be created in only a few months but still compete to protect their interests. Additionally, many mod platforms have with or exceed traditional games in every respect. The mod a larger receptive audience than the average traditional title on movement embodies the innovation and spirit of PC game cre- crowded store shelves. Unless you have a high-profile title, you’re ation and it’s happening now. Viva la revolución! q likely to have a smaller receptive audience with a published game than with a mod on an established and popular platform. This is FOR MORE INFORMATION especially true for multiplayer, where it isn’t uncommon for a really good game to only have a mere ten or twenty people play- MODS ing online at any given time, due to marketing or product-place- COUNTER-STRIKE ment problems. Leveraging an existing engine means gaining www.counter-strike.net access to thousands of fan-run servers and many thousands of GLOOM players familiar with and loyal to the base game. To some extent, http://gloom.teamreaction.com mod platforms even have the standardization advantage of con- OPPOSING FORCE soles: the host game is already installed, configured, and running www.sierrastudios.com/games/opposingforce acceptably. The mod should, too. TEAM FORTRESS www.planetfortress.com/teamfortress Mods of the Future NEANDERTHAL www.overmind.org/neanderthal f the past is any indication, the future of mods is bright. A QUESS I handful of mod teams have recently landed publishing deals, possibly achieving the holy grail of independent but funded devel- ftp://ftp.zdnet.com/gs/action/quake/quess12.zip opment. As mods grow in popularity and their social and financial ALIENS VS. HUMANS benefits become obvious, game companies outside the FPS genre www.overmind.org might open up more to the mod community. Mods will become UNREAL Mods easier to create, submit, organize, and download. As mods fuel www.planetunreal.com/modcentral sales of their host games, those games will popularize the mods by QUAKE Mods packaging, selling, and supporting them, although this will proba- www.planetquake.com/motw bly remain unique to the PC. With the arrival of next-generation HALF-LIFE Mods consoles that have writeable mass storage, keyboards, and Internet www.halflife.net/triggerhappy/mdatabase.html access, there could be mod activity on non-PC platforms as well, but it’s hard to imagine console gamers staying up all night furi- PROGRAMMING ously coding a new game on a joypad in their living room. HALF-LIFE coders list (VorteX) Just as the web is moving toward more interactivity, more www.topica.com/lists/hlcoders gamers will use the game tools to design and create, enriching HALF-LIFE SDK and tools their own game experiences and expanding their skills. Promot- www.planethalflife.com/half-life/files ing the community around a game could become as high a priori- QUAKE 3 SDK and tools ty as creating the game in the first place. Instant messaging, www.planetquake.com/quake3/files.shtml e-mail, and web site creation tools are being added to some UNREAL Technology Page games in development in order to promote mod development http://unreal.epicgames.com and tighter community bonds. OTHER MOD PLATFORMS Lots of Potential DARK REIGN 2 ods can be used for many purposes. They can be used for www.pandemicstudios.com/dr2 M prototyping new game ideas, learning how games work, TRIBES getting a job in the industry, creating a great game in record time, www.sierrastudios.com/games/tribesplayers or just for fun and experimentation. While the capabilities of a VAMPIRE: THE MASQUERADE — REDEMPTION mod platform seem limiting, they are extensible. The artificial www.vampiremasquerade.com intelligence, user interface, physics, and even networking and

www.gdmag.com 49 POSTMORTEM eric gross with ryan touchon

Humongous Entertainment’s MLS EDITION nown for creating engaging interactive con- tent for children, Humongous Enter- tainment broke new ground in 1998 when it introduced an entirely new genre to the world of interactive sports games for kids. KSports simulations were nothing new on the PC, but even to experienced game players and avid sports fans, the overall experience out of the box was rarely an enjoyable one. Controls could eventually be mastered and the players would probably stumble upon most features of interest, but only after a dedicated effort and a significant amount of time invested. We knew that kids loved sports, and it was obvious that they were being completely left out by the current offerings, so our goal was to design a series of great sports simulations designed for our younger audience. These products would need to be not only true to their sports, but also easy to navigate, simple to control, and most of all, fun to play. By the time our first Humongous Sports title was completed, almost every adult in our studio was addicted to , and we knew we had a winner on our GAME DATA hands. The game featured an intuitive menu flow with a very kidlike feel, and a simple

mouse-driven interface that allowed kids to jump right into a game with almost no NUMBER OF FULL-TIME DEVELOPERS: 1 lead artist, instruction or ramp-up time. The game enabled the youngest of our players to laugh and 4 art subleads, 16 artists, 1 lead program- click their way through entire games on the easiest setting, while featuring enough game- mer, 3–4 programmers, 1 QA lead, play and statistic-tracking features to hold the interest of even the most sophisticated 4 testers

sports addict. BACKYARD SOCCER was the next entry in the series, which continued to push our development system to its limits, while helping to establish our line of fun, NUMBER OF CONTRACTORS: 5–8 ink-and- exciting sports games for children of all ages. painters, 1 writer, 1 musician, 9 voice actors, 1 additional tester

ERIC GROSS | Starting at striker for The Programmers is Eric “The Red Menace” Gross. LENGTH OF DEVELOPMENT: 6 months Standing 510 and weighing in at 170 pounds, Eric brings to the field speed, agility, and a penchant for full-contact programming. His first foray into the Humongous world of PROJECT LENGTH: 174 code files between 100 was as co-designer and co-lead on 1998’s original BACKYARD SOCCER. He and 15,892 lines each; 3,075 art files; 6,678 also filled the role of lead programmer on 4: THE HOGFISH RUSTLERS OF BRINY sound files; and 13,765 voice files GULCH, then co-designed and led the programming team of the hit children’s adventure 3: YOU ARE WHAT YOU EAT FROM YOUR HEAD TO YOUR FEET. RYAN TOUCHON | And on the other side of the RELEASE DATE: September 4, 2000 field, starting in goal for The Artists is Ryan “Billybubba” Touchon. Stretching the INTENDED PLATFORMS: Windows 95/98; Mac OS tape at 6 2 and 168 pounds, Ryan 7.5.3 and up. brings everything he has to both work and play (frequently leaving CRITICAL DEVELOPMENT HARDWARE: 450MHz parts of himself in his wake). Starting as a storyboarder, he Pentium PCs. worked his way up to 3D ani- mation lead and then to lead CRITICAL DEVELOPMENT SOFTWARE: Lightwave, artist. He has worked on every Photoshop, Debabelizer, Codewright, and a sports title that Humongous host of proprietary art and archival software Entertainment has released: BACKYARD BASEBALL, BACKYARD NOTABLE TECHNOLOGIES: Humongous SOCCER, , BACKYARD BASEBALL 2001, and Entertainment’s proprietary lan- BACKYARD SOCCER MLS EDITION. guage and sputm engine

www.gdmag.com 51 POSTMORTEM

The next change to the Backyard Sports line was the introduction of major-league team logos and professional players, as kids, to our neighborhood rosters, which in our case came in the form of players and members of the U.S. Women’s National Team. Just like our 30 Backyard Kids, each pro came with his or her own unique attributes and characteristics. Also planned for BACK- YARD SOCCER MLS EDITION were head-to- head play, keyboard and gamepad sup- ABOVE. Pablo Sanchez’s official player card. port, art enhancements taking advantage of 16-bit color, and an entirely new navi- familiar with their tools, and were even all involved. This resulted in the team con- gation and menuing system, which was seasoned sports animators. They consis- stantly taking it upon themselves to push patterned off of the intuitive and success- tently met or beat their deadlines, which the artistic level without prompting from ful new system that the BACKYARD BASE- allowed us to identify and resolve various their leads. BALL 2001 team had just developed. small problems with our approval process Also included in the art team was a Ryan Touchon and I agreed to lead early on, and kept a constant flow of art to four-person group that specialized in all what I would later jokingly refer to as the the programmers. They rallied for one brief aspects of the game’s menus, interface, flaming train-wreck from hell. Our sched- crunch to hit an overly aggressive mile- and logos. The scheduling for this group ule was finalized, our teams were assem- stone, which meant one less inevitable neg- faced significant hurdles (more on this bled, and what follows is a synopsis of ative ripple effect on the team. later), but they ultimately turned out some what we learned. We also had six 2D animators who were amazing work. charged with creating the concept art, play- Rounding out the art side was our What Went Right er cards, thumbnails, team photo poses, vaunted staff of ink-and-painters, who did and bleacher animations for the pro kids. a beautiful job of cleaning up and bring- Experienced people are invalu- Again, almost all of these artists were ing color to our mountain of 2D anima- 1.able. If there was any single factor extremely experienced. They avoided a tions. Each of these groups had a dedicat- responsible for the successful release of this group crunch and instead took it upon ed sublead, and each of these leads report- product, our team was it. The BACKYARD themselves individually to work any extra ed to Ryan, our art lead. SOCCER MLS EDITION development team hours that were required to keep the team For most of our cycle, my programming comprised three main groups: art, pro- on track, and hit every one of their collec- team consisted of three senior program- gramming, and quality assurance. tive milestones. mers. We were able to grab one last engi- The art team had five 3D animators A small but dedicated subset of these neer just in time for the final month of responsible for bringing our 45 on-field groups was responsible for the game’s development. The programming team was kids into the wonderful world of 3D. Not amazingly elaborate intro backgrounds some of ’s only were the animators experienced, but and animations. They were allowed a finest programming talent. Their skills they were also well acquainted with the great deal of creative freedom, which con- and experience (each had worked on at look and feel of the Backyard World, were tributed to the motivation of everyone least one other sports title) were huge fac-

RIGHT. Detail from a character sketch for Marky Dubois.

52 february 2001 | game developer LEFT TO RIGHT. Character studies of Kenny Kawaguchi, Reese Worthington, and Keisha Phillips. tors in actually hitting our scheduled implementing. His team did excellent tions of the code. As you might also guess, release date. One of the benefits of a team work despite not having received a fully there was a fair amount of overlap with with this level of experience and dedica- playable version of the game until very interlocking aspects of the game, so the tion is their ability to multi-task. When late in the process. programmers were encouraged to work problems arose, be they art fixes or issues closely together. They took this sense of with bits of legacy code, the programmers Our team structure worked teamwork to another level, and used wasted no time in contacting the respon- 2.well. We stuck with our estab- breaks from their own work to lend a hand sible team member or lead, then delving lished project-leadership structure, which when an extra head was needed to puzzle into whatever task was next on their list continually proves to be effective. The through another programmer’s perplexities. of priorities. The leads helped complete roles of each lead and sublead are well They also had a great familiarity with the circle by ensuring that issues were defined and understood. On the art side, our development process and the roles our resolved quickly, and that details of the Ryan allowed a high level of creative flexi- various artists played. When minor art resolution got back to the programmers bility, which took full advantage of the fixes or additions were needed, my pro- immediately thereafter. This team was artistic talents of his subleads and their grammers were able to approach the handed a non-revision-friendly code base, teams. As a result, the majority of the appropriate artists directly. By being able full of redundant arrays, vague and smaller issues were resolved without hav- to describe their requirements directly to undocumented variable names, and hard- ing to go through multiple levels of the artist, and without having to explain coded assumptions. They had to log approval. This was possible only because the problem to and wait for the associate ungodly hours to make up for the aggres- of the level of self-motivation exhibited by producer and all of the leads for every lit- sive schedule we finally established (dis- the individual team members. tle tweak (copying them on an e-mail mes- cussed later) and still managed to keep The lead structure is even simpler on the sage was sufficient), art was ultimately their heads and put out a fantastic soccer programming side. We had a small and tal- able to get into the game quicker. Another game. ented team of senior programmers working bonus to this scenario was that the pro- I also worked closely with our QA lead, closely together and reporting to an experi- grammers didn’t spend as much time with Eric Snyder, whose team was made up of enced lead programmer. Our small team their hands tied, waiting for others to a core of four testers, with others rotating size and high level of experience were both evaluate and respond to their requests, through when possible. Eric had just come keys to our success. With so few engineers empowering them to be responsible for off of BACKYARD BASEBALL 2001 and was involved, there was little to no confusion and accomplish more. well prepared for the design we were over who was responsible for what por- Outside resources were help- 3.ful, professional, competent, and a pleasure to work with. Every contact we had with our Major League Soccer representative was sheer joy. Not only were they businesslike and efficient where MLS interests were concerned, but they showed a great deal of interest in the overall development of our game. They, more than any other outside resource, had the potential to devastate our already har-

LEFT. Keisha’s bio and skill ratings, compiled from dozens of unique characteristics.

www.gdmag.com 53 POSTMORTEM

ABOVE. Players see 20 different fields and five different surfaces — grass, dirt, cement, sand, and indoor turf — with the appropriate material-specific physics and player characteristics. For example sand affects stamina, while cement discourages side tackles. ried timeline and compromise our release Rhett’s time and musical skills were frenzy with no room for additional sched- date. They not only completed their unavailable to us, and we were forced to uling issues), and was the perfect comple- reviews and approvals of the various MLS- look outside of our team and studio. ment to our new group of characters. related aspects of our game in a timely Luckily, Tom McGurk, a talented musi- In addition to the outstanding work fashion, but were thorough enough in each cian whom I had recently worked with on from our musician, the recording studio of their play-throughs so that no one was FREDDI FISH 4: THE CASE OF THE HOGFISH that we’ve grown to love over the years, faced with the all too common “I know RUSTLERS OF BRINY GULCH, was available. Seattle-based Bad Animals, came through we signed off on that beta, but we didn’t Ryan and I were looking for exciting new for us again. First, they set us up with a notice how big that guy’s eyebrows were. intro music and a number of pads for the great pool of talent to choose from for the Please re-do his face everywhere it appears pro kids that needed to be in the BACK- casting of our pro kids. We saw children in the game” scenario. The individual pro YARD style, but also called for a slightly as young as five and adults of all ages, players’ agents also demonstrated a degree harder, hipper edge. We met with Tom for with nothing in common other than a of professionalism and alacrity that was about an hour, gave him all of Rhett’s strong sense of professionalism. The voice not only appreciated, but vital to our con- original music, picked out a slew of exam- talent we selected, a few of whom hadn’t strained timeline. ples from our favorite artists, passed along had the opportunity to amass much expe- For the game’s music, our musician read some timing specs, and he was off. The rience (due primarily to conflicts with their us perfectly. The music for the original pads he brought in at his first milestone heavy grade-school schedules), were great game had been written and performed by were almost all right on the sports and lots of fun to work with. They my co-lead, Rhett Mathis. As one of the money. This was the first good came through for us like seasoned veter- lead designers, he had obviously been sign. Even more promising was ans, checking yet another potential time intimately aware of his ability to interpret our rela- (and money) sink off of our list. Bad Ani- our audio needs. tively vague and muddled suggestions mals’ engineers also continued their tradi- Unfortunately, and provide at his next milestone exactly tion of working seamlessly with our leads, what we were looking for. In keeping and everything from auditions to final with his first two milestones, and to our pick-ups was exactly what we needed great pleasure, the balance of his work them to be — flawless. was delivered on time (a good thing, since the rest of our development was done in a Good internal team communi- 4.cation. Whether it’s a tribute to LEFT. Marcelo Balboa our entire team’s experience, professional-

february 2001 | game developer ABOVE LEFT. Pick-team screen. TOP RIGHT. Scoreboard screen. BOTTOM RIGHT. Penalty kick attempt against Mr. Clanky in single-player practice mode. ism, or personalities, all of the individual minimum. This level of communication and our confidence in the engineers that main- aspects of development worked extremely ease of teamwork made the day-to-day tain our system, allowed for our relatively well together. Our programmers felt com- work that much more enjoyable, greatly short QA cycle to focus primarily on the fortable approaching the artists with minor aided the workflow, and saved countless higher-level art, design, and gameplay questions, issues, suggestions, and vice hours of production. Even our marketing, issues. Even the last-minute additions of versa. Having worked together before in sales, and creative services departments high-color support and relatively late many cases, or at least in the same develop- were familiar enough with our characters implementations of gamepad support and ment environment for an extended period and sports line that communication head-to-head play had seen some produc- of time, they also had a high level of between departments about our game was tion test time. knowledge of and confidence in each virtually trouble-free. We were pleased with the way the origi- other’s abilities. Problems could be dis- nal BACKYARD SOCCER had turned out. cussed openly and succinctly, leading to Our proven technology and With much of the general gameplay swift and accurate resolutions. 5.concept meant two fewer already established, our tasks were easier QA could stop by and chat about areas things to worry about. We had the bene- to identify and attack. In addition, of the game that were troublesome, while fit of starting not only with a well-test- the entire art team was very well the programmers never hesitated to offer ed engine and comprehensive acquainted with our Backyard suggestions on where to look for potential proprietary language, but also Kids’ physical characteristics problems. This led to quicker bug isolation, with a proven concept. Our and personalities, which and kept the amount of programming development environment made designing circum- work lost from compounding faulty code and tools stantial actions and to a minimum. The art, interface, and pro- have reactions effortless. gramming leads were all soccer junkies and under- intimately familiar with the sport, but not gone What Went all of the team members were necessarily dozens Wrong soccer fans. The important thing was that of pro- everyone had Backyard Sports experience, duction An unrealistic schedule can’t giving us a common language and under- cycles, including four 1.be saved without pain. Our standing, which served as a shared frame of previous sports titles. original development schedule was slated reference allowing us to communicate more This, combined with for a nine-month cycle. Shortly after incep- effectively and keep the need for explana- tion, due partly to our desire to release as tions of background and context to a bare RIGHT. Tiffeny Milbrett. close to soccer season as possible, the cycle

www.gdmag.com 55 TOP LEFT. Clubhouse screen. BOTTOM LEFT. Season-mode team page with navigational tabs to the Statistics, Trophy Case, Schedule, Standings, League Leaders, and Game/Control Options screens. ABOVE RIGHT. Single game setup. was shortened to six months, with little far wiser choice than the countless hours den off of the interface lead’s shoulders. change in design and no additional staffing. spent fixing and refixing flawed and In addition, our main in-house tools At this point, our schedule was obviously incomplete design on the fly. weren’t quite ready for high-color applica- too tight. It didn’t allow for any unantici- tions. This caused some pretty big pated setbacks that could cause milestones Late arrivals and double duty headaches when dealing with palettes and to be missed. When we did miss them, it 2.aren’t tolerable. Several factors the various conversions and manipula- created a huge crunch time and resulted in combined to force a late arrival of the all- tions necessary. Trying to take a 16-bit inadequate testing during the final phases of important interface team, but the main image and put it into a program that only production. There was no way to buy extra contributor was a previous project’s works with 8-bit images required adding time at the end of production, when we missed deadline. Several weeks of unre- several interim steps. While none of these needed it most. coverable production time were lost right steps was terribly difficult or time-con- Unfortunately, no additional staff was at the start. This combined with the lack suming, they added an additional layer of available, so the only way this situation of preproduction time created a very large work to an already overcrowded schedule. could have been alleviated was by removing hole to climb out of. features from the design. Another option The interface lead arrived after three Lost team members need to be might have been postponing our title in months of severe crunch on his previous 3.addressed immediately. We favor of another, but other circumstances project. To make matters worse, his time had a number of staffing issues. The first, made this impossible for us to consider. was divided between two products for and one of the most severe, was the loss of Given the choices we made, one decision nearly the entire run of the project. Unfor- our producer. She had been the driving could have eased our pain immensely had tunately, no one else was available to take force behind the MLS license, and was the we chosen to take a different route. When over his role on the second project, so he one person keeping abreast of the overall confronted with our revised release date, was forced by default into being the inter- development of the game in relation to the we chose to dive right into production in face lead on two projects simultaneously. other titles in our Backyard Sports line. an effort to maximize our available staffing Both deserved his full attention, so he was Shortly thereafter, our associate producer resources. This came at the expense of a constantly forced to compromise. was out of the picture as well. One of his full complement of preproduction aids. Had we spent the time to complete our primary duties had been to track the flow Failure to complete our design documents preproduction, we would have realized of art files, so his departure created a very cost us more production time in the end what a huge undertaking the interface was dangerous void. than we would have spent on finishing this going to be. With that knowledge, Ryan Compounding this misfortune was the vital stage of development. The immediate would have recognized the need to devote very short notice we were given with both hit of another week or two of idle pro- more of his energy toward the menu-art of these departures. We did bring on a new grammers and artists would have been a layouts and design, taking some of the bur- producer, but she ended up wearing both

www.gdmag.com 57 POSTMORTEM

the producer’s and associate producer’s tribute to the importance of solid and dren’s software title alongside our other hats, and was further hampered by insuffi- complete design. recent sports titles, BACKYARD BASEBALL cient time to be briefed adequately by the 2001 and BACKYARD FOOTBALL. Even so, departing team members. We underestimated the impor- as I’ve demonstrated, there are some clear Less severe but still enormously prob- 5.tance of focus and morale. lessons that can be learned from our expe- lematic was an agreement that we would During the production of BACKYARD SOC- rience in developing this product. shift our test team’s focus to another prod- CER MLS EDITION, Humongous Entertain- First and happiest is the not-so-surpris- uct for a short period of time. This was in ment was undergoing substantial manage- ing news that talented and experienced consideration of the other game’s immi- ment changes. Ownership of the company developers, both full-time and contract, nent release date, and with the under- had recently changed hands, resulting in a are invaluable. Also, a well-conceived and standing that we would get their time state of upheaval and a number of morale established organizational structure within back, with interest. As you might guess, issues for the staff. This resulted in a high the project plays a positive role on many we never did get that time back, and QA level of distraction and cost our team levels. Cutting down on confusion is its ended up even farther behind than they focus during the period of restructuring. most obvious benefit, but the positive already were, given our accelerated sched- An example of one of the more minor influence it has on overall team communi- ule. This resulted in a game that wasn’t elements affecting the team’s focus was cation is also undeniable. fully testable until very late in the cycle. the implementation of new office assign- No matter how short a production cycle The obvious result of all of these factors ments. This company-wide reorganization is, complete design and preproduction is was frantic testing with minimal coverage into separate studios and teams, while a vital. I know this sounds like common toward the end of development. positive change overall, came near the end sense, but the reality is that shaving time of production, when most of the BACK- off of the front end of your schedule to Conventions should have been YARD SOCCER team was in massive crunch. pull your release date back is one of the 4.better documented, commu- We should have recognized focus and easiest traps to fall into. The pitfalls you nicated, and adhered to. Although we morale as top priorities. Instead, we will head off and redundant work you will had established workflow documentation underestimated the level to which focus avoid, not to mention the stress and wast- to aid in our day-to-day file tracking, it and morale issues could affect project pro- ed time associated with filling design holes wasn’t complete. Most of the art files had ductivity. In our attempts to address both on the fly, will more than make up for the their routes in place: animation went from project- and restructuring-related priori- time required to complete the design and the artist to production for scanning, back ties, we neglected to address the issue of preproduction phases of development. to the artist for cleanup, then off to the team morale sufficiently. Employee The project development process can be lead for approval, on to the programmer, burnout is a very real phenomenon but a fair source of anguish all by itself. If out- and so on. The routing for the menu-art can largely be averted by paying careful side influences are adding to the overall files hadn’t been addressed, which resulted attention to the ebb and flow of employee stress level of your team members, their in files being sent to the wrong people or satisfaction. Managers focus and morale should become top prior- not being sent at all, and contributed to and leads must work ities. Whether this attention comes in the overall confusion and breakdown of together to develop the shape of off-site team meetings the entire system. Not helping matters and adhere to real- (to address the problems or to was our lack of standardized terms for a istic schedules and just chill out and decompress number of our new menu-related features. recognize all poten- away from the office), We contributed to the confusion by fail- tial morale issues as or constant one-on- ing to establish the order that our new their highest priorities. one contact to team names and logos should appear in ensure that their various art files until weeks before The Big Picture your team release. The effects of losing our associate members producer, who was in charge of keeping ACKYARD SOCCER MLS EDITION aren’t neg- tabs on all of these files, would have been B had a great team of talented lected in any minimized had we finalized and enforced artists, testers, and programmers and way, some form our workflow conventions. Determining overcame many obstacles to put out a of vigilance is vital. standard names for all of our new art ele- clean, fun game on time and under None of the issues discussed ments and setting sequences for our logos budget. Our efforts have certainly been here is by any means unique to and team names up front would have recognized, as the game continues to sell our company. The more these saved us a fair amount of frustration and extremely well. As I write this, BACKYARD issues are recognized, the more lost time as well. These three items are no- SOCCER MLS EDITION is currently PC fun we’ll have making brainers, and would have been covered Data’s number-one best-selling chil- games, and the better off during the course of normal preproduc- our industry will be tion, so this turns out to be yet another RIGHT. Jorge Garcia gets a wake up call. in the long run. q

58 february 2001 | game developer SOAPBOX gano haine

Surviving Children’s Software

hildren’s software isn’t what it used to be, and what staid but worthy days of educational value, to quasi-educa- perhaps that is all to the good. Cagey old vets in tional value (and we’ve had a lot of that), to entertainment prod- the children’s software industry can be defined as ucts riding on the coattails of the big brands, we’ve arrived at a having at least five years’ total experience and full shelf. A-B-C, 1-2-3, entertain yourself with a large blue dog, having worked at a minimum of two companies. a bigger purple dinosaur, or the one and only pink goddess. So CPerhaps the second sentence somewhat illuminates the first one. I continued on page 63 remember being flabbergasted, after three years’ experience, at being referred to as “seasoned.” I came from academia, where it is not unknown for someone to spend several years mulling the first chapter of a publication, several weeks refining a sentence, and where research is not a trip to the bookstore for three sev- enth-grade-reading-level books on a given subject. Stepping from the abstract, cool passion of the brain-bending activities of schol- arship to the ship-at-alpha, action-item, oh-they-cancelled-it, what’s-the-minimum-config, can-you-pull-in-a-quarter world of software development is impossible to describe, so I won’t try. I do know, however, why I did this to myself (apart from the idea that I could make money, I mean). When you’re in theater graduate school, it’s impossible to tell what the quality of a thing is by the way it is described. Nearly everyone talks a good game, but when they stand up to perform, it either is or isn’t good, is or isn’t entertainment. A software team is a much more immediate kind of place. While teams are not immune to other types of agendas — and we all have our war stories — the industry is still a place where talent is respected among the rank and file, and the end result is made to be touched and used rather than analyzed. The success of the end product is vulnerable to all the generally discussed factors, and a few others that aren’t mentioned except in whispers. Yet it’s still true that, every once in a while, making things wins out. The industry is pretty much an ice field that keeps cracking open. We jump from ice floe to ice floe, or reorg to reorg, or, in my case, out of large companies and into the death-defying world of running a development group and making product that actual- ly ships. Attachments to company loyalties, brand identities, and favorite tools, co-creators, or delivery media have to fall away. Can’t let go? Well, then you’re done. The perfect game stays tan- talizingly just out of reach, and there is a large human cost that you can observe in those trying to catch it. The world of children’s software has some additional obsta- cles. It has been more difficult to capture the budgets, the place on the SKU plan, and the talent for a children’s title. Movies, books, and television don’t have this problem. Within the captive world of larger companies, not a lot of quality product has been made. At times it seems that the quality of the packaging is in inverse relationship to the worth of its contents. From the some-

64 february 2001 | game developer SOAPBOX

continued from page 64 The good news is that you can experi- to do something different in order to be why do many of these games cycle around ment; school’s out. The bad news is that commercial. Time to put on your skates the same old play patterns? The produc- most of the old play patterns can be coded and start jumping again. Maybe we tion values are unnamed to protect the in Flash or Java in about a month — and should not think about what is “fun,” or innocent. with much the same fidelity of the old “educational,” or “worthy.” Maybe we CD-ROM was never intended as the be- CD-ROM games. And so far, it’s free. should just look at what is compelling. all or end-all. It was just a big data deliv- Sure, many families still have one phone Compelling can be silly or dark, short or ery space with incredibly pokey access. line and don’t want their kids surfing in long, 256 colors or made out of sticks. It The latest crack in the ice field — and the the largest unsupervised space of all time, has a quality that can’t be analyzed, but boom of the ground opening underneath and kids still fall in love with characters you can see it in the way children — or our feet is nearly deafening — is the Inter- and want to interact with them over and players of any age — react to it. So while net and the digital toy. It’s possible to cre- over again. The game Concentration is we’re surviving, it’s good to remember ate content without dedicating a team of not news, but it’s news to the four-year- why we’re doing it. It’s because people are six people, ten months (O.K., 14 months), old who plays it for the first time. at their best while they’re playing, and and a million dollars to it. This is both But overall, what does this new phase that’s the space in which we’re talking to good news and bad news to developers. mean? Well, it means that we finally have them. q

GANO HAINE | Gano is an interactive designer and writer who has worked in the industry since 1991 at companies such as Sierra On- Line, Electronic Arts, and Mpath Interactive. She has been a co-owner of Stunt Puppy Entertainment since 1996. Stunt Puppy’s credits include BARBIE GENERATION GIRL GOTTA GROOVE CD-ROM and BARBIE NAIL DESIGNER. Gano is currently at work on titles for Hasbro Interactive and LeapFrog Toys.