FEBRUARY 2000

GAME DEVELOPER MAGAZINE ON THE FRONT LINE OF GAME INNOVATION

GAME PLAN DEVELOPER 600 Harrison Street, San Francisco, CA 94107 t: 415.905.2200 f: 415.905.2228 w: www.gdmag.com

Publisher Local Maxima Jennifer Pahlka [email protected] EDITORIAL “A foolish consistency is the hobgoblin of throughput competition. Now that Editorial Director little minds, adored by little statesmen and everybody’s implemented the same clas- Alex Dunne [email protected] Managing Editor philosophers and divines.” sic SGI-inspired pipeline, no one is quite Kimberley Van Hooser [email protected] — Ralph Waldo Emerson sure what features to implement next. Departments Editor SGI’s not leading the pack anymore on Jennifer Olsen [email protected] t’s conventional wisdom in the features, and so this next generation of News & Products Editor Daniel Huebner [email protected] game industry that desktop per- 3D hardware is going to go every which Art Director sonal computers have to become way as vendors throw things against the Laura Pool lpool@mfi.com more like videogame consoles or wall to see what will stick. Editor-At-Large I Chris Hecker [email protected] they will cease to be a viable platform This wackiness and volatility is not Contributing Editors for which to develop games. necessarily a bad thing. For example, Jeff Lander [email protected] I’m not so sure. No, I don’t dispute when you’re trying to maximize some- Mel Guymon mel@infinexus.com Omid Rahmat [email protected] that PC game publishers spend tons of thing using mathematical optimiza- Advisory Board money on technical support because tion, you don’t necessarily always want Hal Barwood LucasArts PC games rarely work for consumers to keep going in the obvious direction, Noah Falstein The Inspiracy Brian Hook Verant Interactive 4 out of the box. Similarly, I don’t dis- the one that constantly increases your Susan Lee-Merrow Lucas Learning pute that selling seven million copies objective. If you do this, you might get Mark Miller Group Process Consulting of a console game in its first weekend stuck at the top of a foothill when the Paul Steed id Software Dan Teven Teven Consulting looks very nice compared with selling true peaks are a bit farther away. The Rob Wyatt Microsoft 70,000 copies in a PC game’s lifetime. top of this foothill is a local maximum, ADVERTISING SALES And who would dispute the allure of where every direction from here goes National Sales Manager developing games for a piece of hard- downhill and reduces our objective, Jennifer Orvik e: jorvik@mfi.com t: 415.905.2156 ware that’s guaranteed to be there even though we’re not at the global Publisher Relations Manager when somebody runs your game? maximum — our true goal. Ayrien Houchin e: ahouchin@mfi.com t: 415.905.2788 Still, I’m going to miss the current This mathematical concept carries Account Representative, Silicon Valley Mike Colligan e: [email protected] t: 415.356.3486 PC architecture if it truly does go the over to the game industry; these wacky Account Executive, Northern California way of the dodo. The best word I can ideas keep us from getting stuck. Their Dan Nopar e: [email protected] t: 415.356.3406 come up with to describe the trait I’ll randomness bounces us around a bit, Account Executive, Western Region miss is “wackiness.” The PC is a won- shakes things up, and maybe gives Darrielle Sadle e: dsadle@mfi.com t: 415.905.2182 derfully wacky medium, and I think somebody an insight into a completely Account Executive, Eastern Region Afton Thatcher e: athatcher@mfi.com t: 415.905.2323 even the console industry benefits different way of doing things. from its wackiness. Consoles don’t have this level of ADVERTISING PRODUCTION What do I mean by “wacky”? Take wackiness, at least when you consider Senior Vice President/Production Andrew A. Mickus Advertising Production Coordinator Dave Perrotti the original Nvidia NV1 chip, one of the rate at which they change. Sure, Reprints Stella Valdez t: 916.983.6971 the first attempts at consumer-level 3D consoles like the Sega Saturn are plenty graphics in hardware. Now that was wacky when they’re released, but a few MILLER FREEMAN GAME GROUP MARKETING wacky. The NV1, for you young, TNT- months later everybody’s used to it, and Marketing Manager Susan McDonald spoiled whippersnappers, rasterized three years later it’s downright boring. CIRCULATION quadratic surfaces directly. Who cares There’s an intrinsic tie between the Vice President/Circulation Jerry M. Okabe whether quadratic surfaces don’t mesh pace of technical innovation and the Assistant Circulation Director Kathy Henry well with any known modeling para- stability of a platform, and so it stands Circulation Manager Stephanie Blake digm in this universe? Who cares to reason that if we give up our insta- Circulation Assistant Kausha Jackson-Crain whether anybody ever actually used bility, we’ll have to reduce our pace of Newsstand Analyst Pam Santoro this hardware to make a game? It cer- innovation. Don’t get me wrong, I INTERNATIONAL LICENSING INFORMATION tainly caused a ruckus and made for think consoles are great, especially for Robert J. Abramson and Associates Inc. t: 914.723.4700 f: 914.723.4722 some very interesting conversations their users. It’s probably inevitable that e: [email protected] among game developers. the PC will evolve in that direction. Or how about Aureal’s 3D sound API However, I will definitely miss the that expected you to upload your technological wackiness of the PC. ■ CEO/Miller Freeman Global Tony Tillin world geometry? Definitely wacky. Chairman/Miller Freeman Inc. Marshall W. Freeman ’s MMX instructions? Wacky. D3D President & CEO Donald A. Pazour Executive Vice President/CFO Ed Pinedo execute buffers? Beyond wacky. There Executive Vice Presidents Darrell Denny, John Pearson, are infinite examples. Galen Poss I actually think the PC 3D hardware Group President/Specialized Technologies Regina Ridley industry is about to go through a renais- Sr. Vice President/Creative Technologies KoAnn Vikören Sr. Vice President/Human Resources Macy Fecto sance of wackiness after the last couple Chris Hecker years of relatively boring fill-rate and Editor-At-Large

GAME DEVELOPER FEBRUARY 2000 New Products: Famous Technologies ships new Famous Faces, Realviz intro- duces Stitcher, and Human Machine announces Inmotion p. 7

Industry Watch: Sony’s on the work- station warpath, Sega coughs up a $182 million loss, and EA inks a five-year deal with AOL. p. 8

Product Review: Mel Guymon flirts with Maya 2.5 and contemplates whether the package is one-stop shop- News from the World of Game Development ping for game development. p. 10

tive to keyframe animation. Open blurred, color-blended, and warped so New Products motion-capture channels provide easy they won’t require additional editing, integration with common 2D and 3D and Stitcher also provides its own set by Daniel Huebner mo-cap sources including Motion of flexible production tools. Analysis and Vicon. Stitcher is available for Windows NT Famous Faces 1.5 is available as a at a suggested retail price of $2,000 and You Look Familiar... stand-alone for Windows NT, and also an IRIX version is in the works for includes plug-in support for most release by the end of the first quarter. FAMOUS TECHNOLOGIES has shipped major animation software, including Realviz also offers a pay-per-use licens- Famous Faces 1.5, adding to the influx Lightwave 3D, Softimage, Maya, 3D ing plan, an appealing alternative for 7 of new facial animation software for Studio Max, and Filmbox. It is priced small budgets that only need the soft- 3D animators. Unveiled at Siggraph 99, at $4,990. ware on a limited basis. the package a is stand-alone system ■ Famous Technologies ■ Realviz S.A. that aims to accelerate character ani- San Francisco, Calif. Sophia Antipolis, France mation workflow by allowing anima- (415) 835-9445 +33 (4) 92-38-84-60 tors to extract 3D facial motion from http://www.famoustech.com http://www.realviz.com .AVI files and NTSC video. Designed for use in the film, broadcast, games, and location-based entertainment Sew It Up Putting Sound In Motion industries, Famous Faces uses an actor’s performance to animate dialog and REALVIZ is serving up another image HUMAN MACHINE INTERFACES has facial expressions quickly, enabling ani- processing technology designed to announced the Inmotion 5.1 Sur- mators to create more lifelike and con- make life easier for 3D modelers and round Producer, a professional appli- vincing facial animations. special-effects professionals. Stitcher’s cation designed to let users create true Among the new features for version task is to combine multiple vertically- multi-channel audio mixed for 5.1, 1.5 is multiple input support, allowing and horizontally-overlapping 2D 6.1, 7.1, or any other desired speaker for the use of motion capture, video, images seamlessly for fast and simple layout, without affecting the quality puppetry devices, voice recognition, creation of wide-angle and panoramic or tone of the original audio stream. or a combination of these methods. images. Those images can then be Inmotion’s interface works by allow- The system has also added support for exported into a variety of compositing ing users simply to draw the path the real-time game animation, an alterna- and 3D modeling packages, including sound should follow to a set of virtual Realviz’s own speakers. Imagemodeler. Inmotion’s environmental modeling The minds capabilities include Doppler motion behind Stitcher see effects, air absorption, occlusion mod- it as an alternative eling, reverberation, and distance to costly and time- modeling. The system also allows for consuming loca- real-time updating of all effects para- tion shoots for the meters without audible clicks or pops. production of Inmotion supports audio input and large-scale back- output in standard .WAV and .AIFF file ground scenes. formats for easy integration, and sup- Panoramic images ports audio sample rates of 11, 22, 44, up to 360 degrees 48, and 96KHz. by 360 degrees can The Inmotion 5.1 Surround Producer be created and is available for Windows 95/98/NT at exported to build an introductory price of $995. photo-realistic ■ Human Machine Interfaces Inc. Famous Faces lets animators work from existing mo-cap or matte paintings or Eugene, Ore. video to create lifelike facial animations. environment maps. (541) 687-6509 Panoramas are de- http://www.humanmachine.com http://www.gdmag.com FEBRUARY 2000 GAME DEVELOPER BIT BLASTS - INDUSTRY WATCH

company recorded a profit of $11.5 center, and Compuserve. Electronic Industry Watch million in the same period last year. Arts will create new games exclusively Sega also announced a major for the America Online Games Chan- by Daniel Huebner restructuring that will focus the com- nel and also take advantage of AOL’s pany more on Internet gaming. “We highly trafficked venue to showcase SONY WAGES WORKSTATION BATTLE. are a believer in the Internet, so we existing EA titles. AOL’s Games Chan- In an interview with Nikkei Electron- will focus on entertainment on net- nel will be relaunched in the summer ics, Sony Computer Entertainment works,” said Sega president Shoichiro of 2000 with new content ranging CEO Ken Kutaragi laid out Sony’s Irimajiri. “We are now aiming to pro- from card games to massively-multi- plans for entering the workstation vide our services on the Net...to player online worlds. EA hopes that market. Sony hopes to use the devel- become a network entertainment by adding to its own company web opment of workstation technology to kingdom.” Sega plans to list its site, EA.com, its strategic relationship drive the development of the Internet-related business in Japan and with AOL will enable EA to reach mil- Playstation 3 and other future prod- the U.S. at the beginning of its next lions of new consumers. ucts. “I don’t think that the worksta- fiscal year in April 2000. The same day EA announced its deal tion business will be able to turn a Sega will also split its research-and- with AOL, the company also acquired profit, but we will supply the funds development, home-game, and Kesmai Corp., based in Charlottesville, for development work there from the arcade-game units into separate com- Va. Formerly a subsidiary of News game machine side of the company,” panies as it looks for ways to focus Corp., Kesmai is a developer and pub- 8 said Kutaragi. better on Internet development. lisher of multiplayer online entertain- Sony is expecting that workstation Included in the planned listings will ment and a provider of content for competitors such as SGI will be unable be ISOA Corp., the joint-venture com- AOL’s Game Channel. ■ to keep up with Sony’s technological pany created to handle online services pace in the for the Dreamcast. future. “For 2000, In addition, Sega will set up more we are preparing than ten new spin-offs from its devel- UPCOMING EVENTS workstations with opment business. Sega of America’s capabilities ten senior vice president of marketing Peter times better than Moore welcomed the announcement, the development saying that Irimajiri’s statements rein- CALENDAR tools currently force Sega’s commitment to expanding available — and upon the Dreamcast’s forward-thinking in 2002, they will gaming and network functionality. Linux World Conference & Expo be a hundred times better,” 3DFX NAMES NEW CEO. The position JACOB J. JAVITS CONVENTION CENTER explained of president and CEO at 3dfx, made New York, N.Y. February 1–4, 2000 Sony chief execu- Kutaragi. Sony available by Greg Ballard’s departure enjoys the luxury in October, was filled when the com- Conference: $225–$695 tive Kutaragi: not http://www.linuxworldexpo.com messing around. of being able to pany’s board of directors named Dr. afford the invest- Alex Luepp to the top position. Luepp ment in semicon- is a 25-year veteran of the semicon- ductor manufacturing technology on ductor industry and has served as a Game Developers Conference 2000 the scale necessary to maintain that member of the 3dfx board since kind of pace, and Kutaragi went so far October 1998. Gordon Campbell, SAN JOSE CONVENTION CENTER as to claim that most companies 3dfx’s chairman, cited Luepp’s tech- San Jose, Calif. would go out of business trying to nology expertise, leadership abilities, March 8–12, 2000 keep up with Sony. Kutaragi clearly and strong understanding of the semi- Cost: $200 and up isn’t hedging his bets, asserting, “SGI conductor industry as contributing (early-bird discounts available) doesn’t have enough strength remain- factors to the board’s choice. Luepp http://www.gdconf.com ing to go on competing at the very joins 3dfx from Chip Express Corp., cutting edge of technology.” having previously spent 12 years with Siemens Microelectronics, including American Association for Artificial LOSSES INCREASING, SEGA RESTRUC- six as chairman and CEO. Intelligence Spring Symposia TURES. Citing the cost of promoting its products overseas, Sega of Japan EA PARTNERS WITH AOL. Electronic STANFORD UNIVERSITY announced big losses for the first half Arts has entered into a five-year agree- Stanford, Calif. of its fiscal year. Despite increasing ment to be the exclusive provider of March 20–22, 2000 sales by 25 percent and reaching the games content on America Online’s Cost: $280 for nonmembers one-million mark for North American Games Channel, as well as for provid- (student rates also available) Dreamcast sales well before Christmas, ing game content for additional AOL http://www.aaai.org Sega’s losses totaled $182 million. The properties including AOL.com, Net-

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com BIT BLASTS - PRODUCT REVIEW

been choosing Maya as their weapon of with ease. The Visor window is simply a choice for game development. The lat- file browser that facilitates a drag-and- est version of the software, Maya 2.5, drop workflow for image files and other adds some real improvements to an graphical elements. The combination of already strong package. the two new panels made texturing and FIRST IMPRESSIONS. It was apparent materials-management a snap, and the immediately that this latest version of drag-and-drop functionality made creat- Maya has come a long way since its ing and applying the textures extremely initial release. Over the course of the intuitive. Although the Multilister panel last two upgrades, there have been is still included for those die-hard Power fixes and upgrades in almost every cat- Animator fans, I found that now I could egory. The interface has been stream- do without it entirely. lined and augmented, adding function- Another huge improvement in gener- ality and removing problematic clutter. al workflow is the addition of an Inter- Polygonal modeling is much easier in active Photorealistic Renderer, or IPR. Alias|Wavefront’s 2.5, and most of the functionality The IPR window is a fully rendered ver- available in the lower-end programs sion of the scene that updates nearly in Maya 2.5 has finally been added. Most impor- real time. Once the artist performs an tantly, the Artisan module is now fully IPR render, a raster file is generated 10 by Mel Guymon functional with polygonal geometry. which stores the results of the rendering Attaching a skinned character to a calculations for the scene. Subsequent lias|Wavefront’s formidable skeletal hierarchy is extremely intu- changes to the rendering nodes, such as Maya software has been gar- itive, and a new modeling method lighting values or texture and material A nering support in the games dubbed Subdivision Surfaces has been changes, are automatically updated in and feature film industries ever since its added. However, the most impressive the rendered image. However, since release in early 1998. With its open, new feature is the much-anticipated most of the transform and lighting cal- script-based architecture, powerful ani- Paint Effects module. Combining the culations have already been stored in mation and rendering tools, and con- power of Maya’s particle effects system the raster file, the updates take far less stantly evolving feature set, Maya seems with the intuitive interface of Artisan, time to generate than re-rendering the eminently suited to the task of game Paint Effects will very likely revolution- entire scene, and only the affected pix- development. It beat out some stiff ize the workflow for creating 3D con- els are updated. Even on my relatively competition to pick up a Game Developer tent. But we’ll get to that later. low-end test machine (a 500MHz Pen- Front Line Award last year, and it INTERFACE. One common criticism Maya tium II with 256MB RAM and a Dia- should come as no surprise that an ever- has faced has been the number of win- mond FireGL card), the technique was increasing number of developers have dows and panels the user must navi- extremely fast. Despite the limitations gate. It’s ironic, of my system, I found that the IPR win- then, that of the dow updated in near-real time (one to many interface two seconds per change) changes I improvements of made to the textures and lighting in the Maya 2.5, the one scene. For large scenes, selecting a sub- that stuck out was region within the IPR image can greatly the addition of the increase the update speed. With Maya Hypershade and 2.5, IPR is now fully multi-threaded and Visor windows in the renderer will make use of all avail- the rendering mod- able processors. ule. The Hypershade ANIMATION. Aside from some interface window combines adjustments in the Graph Editor and the functionality of Dopesheet, the animation features in the Multilister and Maya haven’t changed much, not that the Hypergraph they needed it. Maya’s animation tool- window into one box includes a robust IK system with panel, allowing multiple solvers (including an intuitive, artists to manage easily-adjustable spline-based solver), a The Multilister and two new windows, the Visor (left) and the renderable fully interactive set of constraints, and the Hypershade (bottom). nodes (materials, a tool for creating what are termed “set- objects, and lights) driven keys,” which is basically an extremely fast graphical method for Mel Guymon has been animating in the gaming industry for several years. When he’s creating complex expression-based ani- not at his desk pushing polygons, he can usually be found at the local Barnes and mations. With this arsenal of function- Noble, slumming for reference materials. Mel can be reached at [email protected]. ality, it would be hard to find a more capable character animation tool.

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com BIT BLASTS - PRODUCT REVIEW

One of the few updates to the ani- mation module is the addition of what are called “Breakdown Keys.” Break- downs are a special type of key which maintain the proportional relation- ships in time with adjacent keys. This nonlinear editing functionality allows individual characters within a scene to have the timing on their animations adjusted proportionately, independent of global time. This is especially useful if a certain frame of the animation is required to synch up with an event in the scene, for example when two char- acters are interacting with one another. MODELING. Several improvements to the polygonal modeling tools have been made, although much of this function- ality is what would be considered “stan- 12 dard” on other, less-expensive packages. Some of the more obvious upgrades include edge flipping, polygonal object mirroring, polygonal object cleanup The Interactive Photorealistic Renderer (IPR), shown upper right. (removal and optimization of unwant- ed geometry, such as zero-area faces or zero-length edges), and a more efficient been identified as “paintable”) and by LOD distances within a Maya scene, NURBS-to-polygons converter (NURBS the ability to paint vertex weights on a and a camera “fly mode,” for flying to polygons assigns the same texture to skinned skeletal model. The latter of through the user-created levels in much the new polygonal object, and bakes these two improvements, in conjunc- the same way that a player would navi- the NURBS UV values onto the corre- tion with an easily-managed smooth- gate them. While these features are cer- sponding polygon vertices). skinned weighting technique, was, in tainly useful, what I found impressive By far the most important upgrade is the minds of most animators, one of were the IK bone handles and single the ability to use Artisan tools to select the shortcomings of Maya’s earlier chain solvers which are included in polygonal components, apply color, and incarnations. With the latest release, I Maya 2.5. The use of IK handles (or end sculpt polygonal models, mitigating the found that applying a skeleton to a effectors, as they are termed in other necessity of modeling first in NURBS to solid-skinned model and weighting the packages) has long been a mainstay of gain the benefit of the Artisan function- vertices effectively was exceptionally hand-generated IK animation. The ality. Artisan has been further enhanced easy. Joint areas that are usually prob- source code for this functionality has by the ability to paint attribute values lematic, such as shoulders and neck been included, so that developers can on surfaces (for attributes that have bones, animate and deform correctly replicate this lightweight IK system into with only a few their run-time engines. The intent is minor adjustments. that the notion of an IK handle can be And the graphical extrapolated into a game engine, allow- representation of ing programmers to modify existing the weighting values animations procedurally on the fly. The is intuitive and easy potential uses for these are legion, for to work with. example to keep a character’s feet plant- GAME-SPECIFIC ed on uneven ground during a run FEATURES. Much is cycle or to “aim” a reaching animation being made of when a character moves to pick some- Maya’s ability to thing up in the world. Given that pro- serve as the com- cedural IK is presently a pretty hot topic plete game develop- among developers, this would seem to ment package, and be an ideal implementation. many of the game- PAINT EFFECTS. When the folks at specific upgrades are Alias|Wavefront first released Maya’s focused on this. For Artisan tool, they began to define a new instance, the latest paradigm for digital modeling. The Smooth-skinned weighting techniques make for easy and version includes a notion of using a sculpting tool that accurate deformation and animation. Level of Detail inter- conforms and flows over the surface of face for setting up a 3D object seems, like most great ideas,

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com Excellent Very Good Average Below Average Poor

your 2D canvas. In the 3D scene, the same brush stroke can create these objects in full 3D. As one of the Maya artists put it, “Imagine being able to paint an orchard in your scene where the painted trees exist as objects that your characters can move around. You can also apply dynamic forces to the effects you paint in your scenes and ani- mate the display and movement of the effects. For example, you can make plants grow, make long hair blow in the wind, or make a river flow.” From a game developer’s point of view, when you consider the amount of work that goes into generating pre-ren- dered movies and interface screens, as well as textures and special effects for real-time 3D, the timesaving aspects of 14 Paint Effects are potentially tremendous (painting on the 2D canvas even gener- ates the a correct alpha channel for the texture). This alone is worth the price of admission into the Maya family. Maya’s Paint Effects palette and some 2D scenes. THE FINAL WORD. Although the interface still seems a bit overbearing at times (let’s face it, there are a lot of menus to have been obvious in hindsight. procedurally-generated geometry (called and windows in this software), I found Now, nothing else seems as intuitive. stamps). These static particle systems are it hard to find fault with Maya 2.5. With Paint Effects, Maya’s developers based on splines that exist in 3D space, Most of the functionality that was have taken the next logical step and and subsequently have depth and oddly missing in the early releases has applied this paradigm to the particle breadth. As such, they will render prop- finally made it into the package, and effects system. In doing so, they’ve erly from any angle. the solid animation features make it a come up with a powerful and unique In the 2D Canvas mode, Paint Effects sound choice for any character-based method for creating both 2D and 3D can be used as a traditional paint pro- project. Regardless, whether or not you content, one that may well revolution- gram to paint images, or to generate are a dedicated Maya development ize the way we work. automatically repeatable textures. The house, with the Paint Effects module Basically, Paint Effects allows artists to similarity to a traditional painting pro- thrown into the package it would be paint brush strokes and particle effects gram ends there, however, since with a difficult for anyone to argue reasonably quickly and easily on a 2D canvas, on single brush stroke, you can paint entire against having at least one suite of 3D geometry, or between 3D geometry. particle effects and complex images on Maya in-house. ■ The workflow is simple. The artist selects from a preset list of objects, or brushes, and commences painting these Maya 2.5: objects into the scene or onto the 2D Alias|Wavefront Pros: Competitors: canvas. With each click of the mouse, a Toronto, Ontario, Canada spline, or “stroke,” is created, and it is 1. Solid character anima- Avid Softimage 3D 3.8 (416) 362-9181 tion toolset. http://www.softimage.com these strokes that control the position http://www.aw.sgi.com and size of the objects created. The 2. Excellent particle and Prices: Discreet 3D Studio Max 3 Paint Effects brush strokes can be paint- special-effects systems. Maya Builder: $2,995 http://www.ktx.com ed onto virtually any surface, and Maya Complete: $7,500 3. Exceedingly customiz- splines that were not created with Paint able script-based user Maya Unlimited: $16,000 Newtek Lightwave 6 Effects can be assigned to be emitters. interface. System Requirements: http://www.newtek.com The objects that are painted into the Cons: See the qualification charts scene are actually clusters of particles, for Maya NT and IRIX at 1. Lots of interface to Nichimen Mirai which, at render time, get replaced by http://www.aliaswave wade through. http://www.nichimen.com front.com/pages/home/ 2. Still a bit on the expen- Acknowledgements pages/support/pages/ sive side. Special thanks to Peter Whiteside, Irene qualification_charts/ 3. Not enough flexibility Grubb, Matt Dougan, and Mike Aquino. index.html. with other file formats.

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com by Jeff Lander GRAPHIC CONTENT

Under the Shade of the Rendering Tree

he goal of computer graphics has always been to create increasingly realis- tic images. Faster processors and more sophisticated rendering techniques have allowed computer artists to create scenes that come very close to sim- T ulating reality. In particular, computer graphics are good at rendering architectural scenes. Raytracing and in these terms. However, even the Wouldn’t it be nice if those textures radiosity renderings often fool me most basic 3D rendered scene can be never had to be generated at all? What 17 into believing I am seeing actual described as a collection of surface if I could simply upload a small pro- photographs. Even in the real-time properties and light interactions. A gram that handled all my procedural game market, techniques such as texture map that is applied to a 3D textures? Then all I would need to pro- multi-pass rendering and precomput- polygon simply describes the color of vide to the rendering hardware would ed lighting have enabled game players the light that leaves that polygon at be a few variable settings for each dif- to run around in a world complete any point on its surface. Likewise, the ferent material. Sounds kind of futuris- with reflections, shadows, dynamic Gouraud shading model is a series of tic, right? lights, and an impressive amount of parameters that controls the interac- It is not as far out as you think. texture detail. tion of the lights in the scene with the Shading languages have been around As I write this, QUAKE 3: ARENA has color and roughness of the polygon for quite a while. The first, and still been unleashed upon the world. This surface. The power of a shader lan- most commonly used, is Renderman. impressive game takes real-time ren- guage, however, goes way beyond First described in the late 1980s, this dering technology to a new high. what we have traditionally done with rendering language has been used to Once again, the graphics capabilities real-time 3D rendering. Since a shader create some of the most memorable in id’s latest offering stretch real-time describes the color leaving the surface computer graphics scenes of all time, rendering to its limit, bringing even of a polygon, it can be used to gener- including the recent movie Toy Story the latest “graphics processing units” ate a complex pattern of colors with- 2. While it may seem that we are a to their knees. QUAKE 3 also marks the out texture maps. long way from creating scenes this industry debut of programmable Most of you are familiar with proce- complex for real-time games, you may “shaders,” which are used for describ- dural textures. This is a technique be surprised. ing the look of a real-time rendered whereby a texture map is created by Listing 1 describes a Renderman image. some form of mathematical formula shader that creates a checkerboard A shader is a form of programming instead of being drawn in an art pack- pattern on a surface. The shader takes language that describes the look of a age. Procedural textures are commonly three float variables and two colors particular surface in a rendered world. used for patterns such as noise (like TV and creates a checkerboard of any size In its most abstract sense, it is a func- “snow”), lava, water, marble, or fire. and frequency. This is done without tion that is given a series of properties UNREAL implemented procedural tex- any texture map. For a checkerboard, and then returns the color of the light ture techniques for several effects used this may not seem very impressive; leaving any position on the shaded sur- throughout its environments. This however, it’s the idea of controlling face. Normally, the properties given to allowed its designers to have a nearly the look of an individual pixel on an a shader include such things as the unlimited variety of certain types of individual surface that makes Render- lights in the scene, the color of the sur- textures without having to store all man so powerful. A shader doesn’t face, and some measure of the rough- those bitmaps on the game CD. How- need to be as simple as a checker- ness of the surface. ever, the textures still needed to be board. Shaders can be used to create Game programmers and artists don’t generated in order to load them onto all kinds of surfaces, everything from normally think of the rendered world the 3D card for rendering. highly-detailed wood, marble, and fire to even a moldy cue ball (my favorite When not ditching work to catch the latest animated feature film, Jeff can be found Renderman shader). at Darwin 3D trying to convince clients that things can’t look any better. Tell him A closer examination of the how wrong he is at [email protected]. checkerboard shader reveals that the only other thing the shader really http://www.gdmag.com FEBRUARY 2000 GAME DEVELOPER GRAPHIC CONTENT

needs to know about is the position of need to be created. However, until I of computer graphics. When rendering the view and the lights in the scene. get my ultimate shader language writ- 3D environments, the technology has Interestingly, the new generation of ten, I am stuck with the traditional enabled increasingly realistic final 3D graphics hardware such as Nvidia’s texturing and lighting methods to get images. With each advance in model- GeForce 256 keeps these positions in the results I want. ing or lighting, the images take a step hardware already. I can’t help but closer to what we see around us in the think that the hardware manufactur- real world. ers are thinking of the implications in Welcome to Toon Town With human characters, on the the same way that I am. I don’t know other hand, the story is entirely differ- how long it will take, but I am going have lamented before in this column ent. In my experience, as a 3D com- to dust off my Renderman Companion Ithat creating 3D characters is very puter-generated human is rendered in and start thinking about how to inte- difficult. I can take some comfort from an increasingly realistic manner, it grate programmable shaders into my the fact that even Pixar, with its terrific paradoxically looks increasingly art production pathways. Since I can’t Renderman shading system and all the strange to viewers. They can’t really really envision many artists learning money and talent possible, has trouble say why it looks odd, just that it’s not to program Renderman, I think there getting human characters right. They quite right. This is especially notice- are going to be a lot of tools that will have hit upon one of the great ironies able when the texture maps for the characters’ faces are created from pho- LISTING 1. A Renderman checkerboard. tographs of real people. 18 Particularly frustrating is the fact // that people are able to look at a stick // Shader: Checkerboard Shader figure performing an animation and // Arguments:Diffuse and Ambient Coefficient appreciate the lifelike motion. How- // Number of squares ever, when that same motion is // Two colors to alternate applied to a synthetic 3D character, those same people get hung up on the // look of the character. They no longer surface checkerBoard( regard the motion of the character as float Kd, Ka; // Specular and Ambient Lighting realistic simply because it looks “odd.” float frequency; // Number of Squares If the character is a monster or some- color c1, c2 // Two colors thing else nonhuman, this problem ) seems to go away. Well, that’s great if { you’re creating a shooter filled with // S and T vary from 0 - 1 across the surface mutated zombies and uncontrollable float smod = mod(s*frequency,1); // Interval in S direction robots. However, if you’re creating a float tmod = mod(t*frequency,1); // Interval in T direction realistic scene filled with average peo- ple, you’re in trouble. This observation has led me to // Ci is the output color think that for now, at least, the focus if (smod < 0.5) { // Odd Columns for real-time 3D characters should not if (tmod < 0.5) be on trying to achieve realism. In- Ci = C1; // C1 Square stead, we should be looking at else approaches to creating stylized charac- Ci = C2; // C2 Square ters. Perhaps Disney had the right } else { // Even Columns idea. For years, its artists have seemed if (tmod < 0.5) to understand and appreciate this Ci = C2; // C2 Square paradox. They were able to create very else realistically painted backgrounds full Ci = C1; // C1 Square of color and depth. For the actual characters, though, they still rely on } simple pen-and-ink drawings. Even when the first fully CG character was Oi = Os; // Opacity out = opacity in introduced in a Disney animated fea- ture, the magic carpet in Aladdin, it // ambient() returns ambient light value was rendered in a style that matched // diffuse(N, I) returns the sum of lights from the traditional methods. With this in // incident vector I and surface normal N mind, is it at all surprising that 3D Ci = Oi * Ci * (Ka * ambient() + Kd * diffuse(faceforward(N,I)) ); animated series such as Mainframe // Ci is final color Entertainment’s ReBoot and Beast } Wars focus on robotic and animal characters?

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com GRAPHIC CONTENT

faces, but this method has the benefit of identifying the actual edges that define the silhouette. This could be useful if I wanted to apply some other effects to the silhouette lines. But for now, I want to look for a faster way that makes use of my existing 3D hardware. I can start by drawing the front-facing polygons with tex- ture. I can then draw the back-facing polygons in line mode. Since the Z-buffer is already filled for front-facing pixels, the only pixels drawn will be those pixels along the edge. How- ever, in order for this to work, I need to set the depth test so it draws pixels that are at the same depth as those in the Z-buffer. In OpenGL, this setting is glDepthFunc(GL_LEQUAL). This gives me a rendering algorithm like this: 1. Draw front-facing textured polygons. 2. Set depth test to LEQUAL. 3. Draw back-facing lines. Or in OpenGL: glPolygonMode(GL_FRONT,GL_FILL); // Draw Filled Polygons FIGURE 1. Our original character, outfitted with textures glDepthFunc(GL_LESS); // Don’t draw shared edges 20 created from photographs and scans. glCullFace(GL_BACK); // Draw front facing polygons only DrawModel(); // Call my draw routine glPolygonMode(GL_BACK,GL_LINE); // Draw Lines Losing a D glDepthFunc(GL_LEQUAL); // Draw shared edges glCullFace(GL_FRONT); // Draw back facing edges only erhaps it is time to look at using 3D technology to create DrawModel(); // Call my draw routine Pmuch more stylized animations instead of realistic ones. You can see the result in Figure 4. The first frame shows just This technique, called non-photorealistic rendering (NPR) in the resulting silhouette lines and the second frame shows academic circles, has emerged as a strong research field at the combined image. industry conferences such as Siggraph. That means there are With this technique, I can use OpenGL to enhance the plenty of fresh, steaming piles of research to get me started. effect. I can make the lines thicker or even anti-alias the The character in Figure 1 was created using textures creat- lines with alpha blending (or even anti-aliased hardware ed from photographs and scans. I wanted to get something lines, if available). It is even possible to make the lines pop much more stylized, so we had another model and set of out from the model using glPolygonOffset(). However, this textures created with a cartoon kind of look in mind. You can see the results in Figure 2. This character is much more typical of the kinds of characters you may see in a 3D game. However, it doesn’t quite capture the 2D look I had in mind. For one thing, the shading implies too much depth. The maps really need to be reduced to only a few colors. This is no problem to do in any image processing program as you can see in Figure 3. This is much closer to the idea of a car- toon rendering. However, the image is clearly missing the bold outlines that characterize cartoon images. To create those lines, I need to turn to some technology.

GL to the Rescue

he first lines that I need to create are the silhouette lines. T These lines define the outline of the character. On a 3D model, the outline of a model is defined by the model’s edges. Intuitively, I know that a silhouette edge must occur when an edge connects a polygon facing forward and a polygon facing backward. This can be expressed mathematically as: •− •− ≤ ()NVENVE12()()()0

where Ni are the two face normals for the adjacent polygons, V is a vertex on the edge, and E is the eye point. When this FIGURE 2. A more styl- FIGURE 3. Reducing the statement is true, the edge is part of the silhouette. ized, cartoonish version of depth of colors gives a As you can imagine, this would be a rather time-consum- the character. more 2D look. ing process on a model that had any significant number of

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com can lead to a mess, so you need to be careful. Another approach that may make cleaner lines requires the use of an extra pass and the stencil buffer. In this technique, the algo- rithm is: 1. Draw front-facing textured polygons. 2. Set draw mode to stencil only. 3. Draw front-facing edges in line mode. 4. Draw back-facing lines where stencil is set. This will ensure that only edges that are 21 shared front and back are drawn. However, since the stencil buffer FIGURE 4. To complete the cartoon look of the charac- FIGURE 5. Finally, shading is added is not commonly avail- ter, black outlines were added with OpenGL. with our lighting model. able across consumer hardware, it may be wise simply to test for it and use it formula I applied is: of room for experimentation and explo- when possible. ration. Creating the ideal texture to ()NVE•−()< ε In addition to the silhouette lines, I V work with non-photorealistic rendering probably want to add interior lines that where NV is the vertex normal, V is the will require some creativity on the part define changes in the material of the vertex position, E is the eye point, and ε of artists. character. This cannot really be done is the shading threshold. This is very Another intriguing idea would be to easily with just rendering tricks. This similar to the silhouette-detection for- apply some soft-body deformation requires a pass through the object to mula. However, in this case, when the techniques to the models (see “Colli- detect edges that share polygons with result of the formula is less than a cer- sion Response: Bouncy, Trouncy, different materials. These edges are tain threshold, ε, the vertex is shaded Fun,” Graphic Content, March 1999). marked as material boundaries and are with the “dark” color. Otherwise, the These new squishy objects can be ren- drawn after the render. Luckily, the standard color is used. However, since dered using NPR techniques to get a material edges are not viewer-depen- the color interpolates across the surface, real Road Runner feel. For this month, dent so they can be calculated only this still doesn’t look right, as you can play around with the simple cell shad- once as a preprocess. see in Figure 5. I want the color to er and begin exploring the world of change at a single point across the sur- the less-than-realistic. You can down- face of the polygon scanline. This will load the source code and the applica- Some Shadier Business require the use of a texture-mapping tion from the Game Developer web site technique, which I’ll get to next month. at http://www.gdmag.com. ■ ow that I have a nice method for F O R F U R T H E R I N F O Ncreating cartoon-style characters Siggraph 1999 had an entire course on with silhouette lines, I need to think The Squashy and Stretchy Show non-photorealistic rendering. If you are about shading. Applying typical interested in the topic you should defi- Gouraud shading to these characters think these techniques provide a new nitely get the notes or the courses CD: would ruin the effect I am trying to Iway of thinking about real-time 3D “Non-Photorealistic Rendering,” Course achieve. I need to change the lighting animation. It’s a classic example of 17 (Siggraph 1999, ACM Siggraph). model to make this work. embracing your limitations. There’s lots In the Gouraud shading system, the • Markosian, Lee, and others. “Real- angles between the viewer, light, and Acknowledgements Time Non-Photorealistic Rendering,” surface normal are used to determine Thanks to Lisa Washburn at Vector Proceedings of Siggraph 97. New the shade of the vertex. For my simple Graphics (http://www.vectorg.com) and York: ACM Siggraph, pp. 415–420. cartoon rendering, I only want two Tom Knight at Imagination Works (http:// • Uphill, Steve. The RenderMan Com- shades for each material, light and www.imagination-works.com) for the panion. New York: Addison Wesley, dark. In order to do this, I need to cal- models and textures used in this article. 1990. culate the vertex colors myself. The http://www.gdmag.com FEBRUARY 2000 GAME DEVELOPER by Mel Guymon ARTIST’S VIEW

Pyro-Techniques: Playing With Fire

emember that time your mom told you not to play with matches, but then you and your friends got together and accidentally burned down the neighbor’s doghouse? In this month’s column, we’re going to build R an even bigger fire, and we promise your mom won’t ever find out. viewer is easily going to be able to dis- ture maps, which is the next step in Where There’s Smoke... cern the looping pattern. Also, without the process. 23 irst off, we need to identify exactly some kind of random perturbation to Once the technique for creating the F what kind of fire effect we want to the effect, every fire will look identical effect has been determined and the pro- generate. For our example, we’ll be gen- — boring. In Figure 1, you can see the grammers have created the toolset, it is erating a bonfire in a real-time 3D envi- effect we’ve outlined. On the left are up to us as artists to build and iterate on ronment that has a photorealistic art the untextured polygons, with yellow the effect to get it looking just right. direction. Therefore, our fire effect will representing the flames and blue repre- Before we start creating the textures, need to look as true-to-life as possible. senting the smoke. Notice that in the though, it’s good to have some refer- Second, we’ll sit down with the pro- in-game shot on the right, it’s difficult ence material from which to work. For- grammers and outline what tools and to identify the boundaries of a single tunately, there are many graphical refer- parameters we’ll have to work with. In individual polygon. This is possible ences for flames and explosions, as free this example, we’ll have access to and because of how we’ve created our tex- downloads or from within pregenerated take advantage of the following: 32-bit texture maps up to 256×256 pixels, ani- matable sprites, RGB vertex color, vertex alpha, additive blending, and dynamic projection lighting. Last, we need to work with the programmers to generate an in-game particle system capable of pulling off the effect. In this case, we’ve prototyped the effect in an off-the-shelf product, 3D Studio Max, and the pro- gramming team has duplicated the required functionality demonstrated within Max’s particle system. Now we’re ready to begin. There will be three main entities for our bonfire: flames, smoke, and sparks. Each will be created with groups of quad polygons, on which an animating sprite sequence has been mapped (in the case of the fire, this sequence will need to loop). The flames and smoke will be generated by clustering and overlap- ping these polygons in a random and FIGURE 1. Behind the scenes of the flame effect: the yellow polygons represent chaotic manner. Why do we choose the flame, the blue ones represent the smoke. this method? Why not simply make a large polygon for the smoke and another for the fire? Because suspen- Mel has worked in the games industry for several years, and recently finished work as sion of belief must be maintained as the art lead on DRAKAN. Currently, he manages a modeling and animation studio far as possible. Unless we have an inor- which provides custom content for RT3D games. Contact him at mel@infinexus.com. dinately long sequence of sprites, the http://www.gdmag.com FEBRUARY 2000 GAME DEVELOPER ARTIST’S VIEW

FIGURE 3. A combination of a procedural texture and an alpha map make an effective smoke particle system (left). FIGURE 2. The reference graphic chosen for our bonfire. The in-game effect is shown at right.

sets (Pyromania, ReelFire, and others). texture with a canned alpha map hides rotation, are all slightly randomized to 24 For our example, we’ll be using texture the individual texture boundaries, achieve a less uniform look. When the reference from an off-the-shelf product, making the smoke particle system textures on each polygon reach the Pyromania 2, while the inspiration for effective. On the right is the smoke end of their animated sequence, the the effect will come from a picture that effect as it will appear in the game. On polygon vanishes. was downloaded for free (Figure 2). the left you can see the results of using For the flames entity of our effect, For the smoke entity of our effect, a texture with its originally-associated we’ll use a looping sequence of sprites we’ll use a nonlooping sequence of alpha map. Though the rendered effect 12 frames in length (as with the smoke, animated sprites 30 frames in length. for each individual texture is perfect, the sequence length is arbitrary). We’ll (The length is arbitrary and should be the textures have easily discernable match the flames’ color with our refer- tweaked to optimize the visual effect boundaries, and when composited ence graphic and the shape of the within the texture-memory require- together resemble nothing if not a flames will be derived from a sequence ments for the engine.) The smoke’s cluster of cotton balls. The smoke of fire animations from Pyromania 2. color will be matched as closely as pos- polygons are generated from random It’s important to note here that in the sible to that of the reference graphic, a locations within the volume of the case of the smoke textures, we had sev- dark bluish color. We will approximate smoke emitter (this can be an arbitrary eral options available for generating the voluminous, billowing appearance point in space, or can be defined by an the smoke textures and alpha maps. of the smoke by the patterns in the artist as a geometric object). The speed Smoke has a generally random, fractal texture, which were generated using a at which the smoke animation is pattern, and there are many programs prerendered noise material in 3D Stu- played, and each smoke polygon’s ver- that can generate realistic-looking dio Max. Smoke has a fractal appear- tical and horizontal speed, scale, and cloud or smoke-like effects. In the ance, which means worst case, I could its edges appear soft have painted the and undefined — as smoke textures by you zoom into look hand in Photo- at the edge, you shop or some keep finding more other paint pro- and more detail. To gram with little or approximate this, no degradation of all of the alpha the effect. For the maps used for the fire, however, smoke will have we’re better off soft, fuzzy edges. using an off-the- (In our particular shelf, canned case, the smoke’s effect, at least as a alpha components starting point. The have been derived random, fractal from a Pyromania 2 nature of fire is smoke effect.) extremely hard to In Figure 3, you duplicate by hand, can see how the and although cur- combination of FIGURE 4. A variety of fire effects generated by different software packages. rent procedural using a procedural methods for gener-

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com ARTIST’S VIEW

varied as a function of their height from the fire; the closer to the fire, the more drastic the effect. In our case, the lowest vertices of each smoke polygon will be colored red- dish-orange in accordance with the color of light being cast by the fire. In Figure 5 you see the effect. Note that to make full use of this effect, the smoke polygons have been subdivid- ed. This is a level-of-detail option that can be turned off as the player gets farther away from the effect. Depend- ing on the engine and implementa- tion, you may need to lighten the smoke textures to see the effect of ver- Animated sprite sequences for our fire effect. tex colors. Although we’ve applied this effect only to the smoke poly- gons, the same procedure can be used 26 ating flames do a fair job, the effect falls far short of the real to enhance or alter the colors in the flame and sparks poly- thing, as you can see in Figure 4. The first two groups of gons as well. flames were generated by the standard flames particle sys- With the random generation of particles, there is always tems in Paint Effects (Maya 2.5) and Combustion (3D Studio the problem that a smoke polygon will be created which Max 3). As in the case of the smoke effect, the flame poly- goes off on its own, too far from its siblings. If this hap- gons will be generated with a random scaling factor, so that pens, the viewer may easily discern the polygonal nature of their horizontal and vertical size will vary slightly, although the effect and the suspension of disbelief will be lost. To the lower edge of each polygon will be aligned. The flame minimize the impact of this, the errant polygon can be polygons will also be different from the smoke polygons in forced to fade out early. This can be done on a per-object that they will remain rooted to the ground throughout the level, but a more seamless effect can be achieved by entire effect. The rising nature of the flames, in this case, has sequentially fading out the individual vertices of the poly- been represented within the texture and alpha maps. gon as it crosses a defined threshold. Adding the sparks entity to the effect will provide an added degree of randomness and break up the scale of the polygons involved (the polygons for the flames and smoke are about Additive Blending the same size to within a single order of magnitude). There is no need to generate additional textures for the sparks; tex- ires cast light, which is why we can see them even from tures from the flames and the alpha maps from the smoke F a great distance. And though we can’t effectively repli- can be combined for an excellent effect, and the colors will cate this within the confines of a pixel-based 3D environ- automatically match. The spark polygons are generated in ment, we can certainly fake it. In order to make the flames much the same way as those for the smoke, though the scale appear to cast light or glow, the flame pixels must be arbi- is much smaller and the velocity much higher. With the tex- trarily brighter than the pixels surrounding them. For us, tures created and in place, we’ve got a pretty decent bonfire going. Now it’s time to use the remaining non-texture-based tools in our toolbox: vertex colors, vertex alpha, additive blending, and dynamic lighting.

Vertex Colors and Vertex Alpha

he vertices on each polygon can be colored to add T graphic variation without additional texture expense. Most mainstream production tools support vertex-color editing. In our case, however, the vertex colors will work just as well. In any case, the vertex colors for our fire will be adjusted procedurally. I’ve found that this technique works best with the smoke polygons. Smoke is actually composed of fine particles that receive light and cast shad- ows. Consequently, if the smoke is thick enough, its color FIGURE 5. Adding vertex colors to the smoke polygons will actually be affected by light cast by the fire — the (shown at right) gives the smoke the appearance of being smoke will be lit from beneath as it rises. To achieve this, lit by the fire beneath it. the vertices at the bottom of each smoke polygon will be

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com this is equivalent to saying the flame pixels must be arbitrarily more white. In fact, the brightest we can ever make an object appear is to force all its pix- els to read RGB = 255,255,255. Additive blending can achieve this for us. When pixels are assigned to have additive blending, they increase the brightness, or whiteness in this case, of the pixels onto which they are blended. Thus, by compositing these pixels in several layers, each succeed- ing layer creates a brighter, whiter effect. This is a perfect application for our flame polygons. Since they are clus- FIGURE 7. Our in-game scene, showing our final fire effect. tered and overlapping, the densest portion of the flames will have the brightest (most white) pixels. This is exactly what we want to achieve, since it will Fanning the Flames help us mimic the light-casting nature of real-life flames. 27 Figure 6 shows the result of additive blending in contrast any of the effects we used in this month’s example were with the previous version of the flame effect. (This effect Mnot possible a few years ago. The technology simply can even be further improved by adding a slight halo or wasn’t there, or didn’t have enough of a user base to be lens flare to the flames.) applicable on the target platform. However, the pace of tech- nology shows no sign of slowing down and we are always being presented with more tools and methods for content Dynamic Projection Lighting generation. We need to ask ourselves constantly “What if?” so we’ll be better prepared to apply new technologies and he light cast from a fire jumps and dances in concert become more creative and efficient developers. ■ T with the chaotic motion of the flames. In order to approximate this effectively in the game, we need to use a projection light. The actual implementation of this effect can vary widely with each engine, but in essence the projec- tion light should derive its pattern from the same sequence of alpha maps as that of the flame polygons. When this is done correctly, the flames will “dance” on any surface within the range of the light. The effect of the dancing lights, although difficult to represent in a static image, can be stunning in game, and will greatly enhance the realism of the effect. The final in-game product of our fire effect, incorporat- ing all of the above techniques, is shown in Figure 7.

FIGURE 6. Additive blending techniques have been added to the flame pixels, creating the effect seen at right.

http://www.gdmag.com FEBRUARY 2000 GAME DEVELOPER HARD TARGETS

Electronic Arts: Infinite Channels

here’s an old Gary Larson Far Side cartoon that shows two proud parents watching over their child who’s playing some console game, and the par- ents are imagining want ads offering lucrative careers to anyone with T videogame experience. The notion that long-term videogame enthusiasm could result in eventual career advance- more than $400 million in revenues deliver subscriber revenues to EA 28 ment seemed pretty ludicrous. That was was coming from console games. while many other online game initia- a long time ago. Today EA is the world’s leading tives falter. Mpath.com, which I ana- In November 1999, CMGI, an invest- independent game publishing compa- lyzed some months back (Hard Tar- ment holding company with a range of ny. The company markets its products gets, July 1999), is now more of an Internet interests, gave $11 million to under seven brand names: EA, EA online audio company than a game Dennis Fong, the champion QUAKE Sports, Maxis, Origin, Bullfrog, West- company. Total Entertainment Net- player better known as Thresh, to start wood Studios, and Jane’s Combat work recently became Pogo.com and Gamers.com, a game portal. Around Simulations. It distributes products in has shifted its focus to the casual- the same time, Lycos paid more than 75 countries and has development gamer market. The online world is lit- $200 million for another online game studios and partners in North tered with businesses trying to take portal, Gamesville. In the space of just America, Europe, and Asia. EA is the advantage of the promise of interac- a few weeks, the online gaming market company against which all other U.S. tive entertainment. became the next hot Internet invest- publishers are measured. Now, it The secret to EA’s strength may be ment. Online gaming is now an impor- appears, EA is going to lead the charge quite simple: the company is, without tant part of the Internet market, and in online gaming. It’s been a while doubt, the most recognized game pub- no more so than in the impact it may coming, but if EA is ready to do busi- lisher in the world after the big three have on a company that plans to get 20 ness on the web, now’s as good a time console makers, Sony, Nintendo, and percent of its revenues from cyber- as any. Sega. Although most of EA’s products space, . are targeted at the traditional game enthusiast, it has a blue-chip reputa- Online Gaming Heat tion with casual game players, too. Company History When EA made the deal with AOL, n November, EA signed an agree- EA’s stock took a big leap. All the A was founded by Trip Hawkins in Iment with America Online to equity that is invested in the EA brand E 1982 and funded by legendary become the premier online game can easily translate into a magnet for Silicon Valley venture capitalist Don provider for the country’s largest ISP. online crowds. Valentine to the tune of $2 million. It This news came just after the compa- At the end of the day, the greatest took four years for EA to become the ny had agreed to take over Kesmai, a competitive advantage that EA has is United States’ largest publisher and leading developer and provider of that it has shown consistent strength developer of PC games. In 1989, EA got multiplayer online games. Of course, across platforms and content genres. on board the Sega Genesis with JOHN EA has never made any secret of its In the highly diverse macrocosm of MADDEN FOOTBALL. EA’s sports titles online business ambitions, and it is online gaming, few companies have were critical to the success of the the only major game publisher to the same depth of experience. Most Genesis and helped propel the compa- have provided a business model that importantly, EA has excellent distribu- ny into the more lucrative markets of the game industry and the financial tion channels. EA’s distribution console games. In 1990, EA also began community can respect. That work- strength will be what ultimately developing for Nintendo, so that by able business model owes a lot to assures its success in the online world, the end of 1994 three-quarters of EA’s ULTIMA ONLINE, which continues to particularly if you consider the

Omid Rahmat is the proprietor of Doodah Marketing, a digital media consulting firm. He also publishes research and market analysis notes on his web site at http://www.smokezine.com. He can be reached via e-mail at [email protected].

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com by Omid Rahmat

CHART 1. Electronic Arts’ net revenues for the periods indicated, in thousands of dollars.

Increase / % Net Revenues for the Six Months Ending: 09.30.99 09.30.98 (Decrease) Change

180,688 Playstation (13,160) (6.8%) 193,848

165,383 PC-CD 83,874 103% 81,509

57,807 N64 (6,726) (10%) 64,533

License/OEM/ 15,018 2,403 19% online/other 12,615

418,896 Subtotal 66,391 19% 29 352,505

Affiliated 106,111 34,632 49% Label 71,479

525,007 Total 101,023 24% 423,984

Thousands of U.S. dollars 0 25k 50k 100k 150k 200k 250k 300k 350k 400k 450k 500k 550k

Internet as one of many channels to experience in addressing consumer continued production of hit products. the consumer. demand directly. The company uses The company’s combined use of Elec- two large distribution centers in the tronic Data Interchange (EDI) and United States: one in Hayward, Calif., direct store delivery allows retailers to Distribution Magic and one in Louisville, Ky. These cen- place online orders any time of day ters handle all order processing for and receive those orders directly from nlike most of its competitors, EA worldwide distribution. They receive EA faster than they would from any Udistributes all of its own products. finished goods from the contracted other publisher. While competitors The company has a vast distribution duplication and packaging vendors have the ability to utilize EDI and network covering nearly a hundred ter- and warehouse the products until they direct store delivery, none has matched ritories on six continents. In addition, are needed to fill a specific order. They the scope of EA’s distribution program. EA serves as a distribution partner for handle EA-branded products, co-pub- In effect, EA has already figured out many other game publishers through lished products, and affiliated label how to handle the demands of a global its affiliated label program as well as products. Advanced information sys- market and a variety of direct channels through co-publishing deals. In most tems, workflow processes, and propri- to the consumer. Of course, online of these cases EA holds the upper hand. etary delivery scheduling software pro- gaming isn’t just a matter of distribut- Strength in distribution is a key charac- vide distribution-center managers with ing content. I just want to make the teristic of any manufacturer that wants powerful and efficient tools for per- point that the logistics of distribution to be a success on the web, and EA has forming their activities. EA contracts are primarily the same as the logistics plenty of it. with all major overnight and tradition- of handling any direct interface with For instance, EA offers direct distrib- al delivery services, such as UPS and customers, be it Electronics Boutique or ution services in North America where- Federal Express, for the physical deliv- John Q. Public. by a retailer has EA deliver directly to ery of goods from its distribution cen- the retailer’s outlets as opposed to the ters to the customers’ locations, mini- retailer’s distribution centers. This mizing investment in mobile assets Supporting the World arrangement saves the retailer signifi- while continuing to deliver industry- cant costs associated with handling leading distribution activities. he real cost of online gaming is in and shipping products and ensures At present, no competitors have T supporting the consumer. In mak- rapid delivery to satisfy consumer been able to match the entire collec- ing a pact with AOL, EA has basically demand. It also gives EA tremendous tion of activities associated with EA’s given itself a buffer to the widest possi- http://www.gdmag.com FEBRUARY 2000 GAME DEVELOPER HARD TARGETS

ble audience on the web today, the advantage of its expertise in the distri- Perhaps the stock market’s enthusi- AOL subscriber base. AOL is EA’s shop bution and support of packaged goods astic reaction to EA’s deal with AOL window on the Internet. This removes to create a set of criteria to meet the was exaggerated. The company isn’t one level of one-on-one support that demands of building customer rela- doing anything revolutionary. In EA doesn’t have to worry about: man- tionships online. evolving from its existing distribution aging relationship marketing. By that I It should also be noted that with and support structure to one that mean AOL is the first point of contact. ULTIMA ONLINE, EA has suffered a degree incorporates a one-on-one interface to The fact that both EA and AOL are of criticism on issues related to the consumers — through AOL and the blue-chip companies in their respective quality of software and the level of sup- Internet — EA is setting down a blue- markets makes an alliance between the port it has provided online users. Some print for every other game publisher, two very promising. However, EA has users went as far as to take EA to court. much as it has done in building its gone on to do something even more interesting, signing a licensing agree- ment with Marimba, a provider of The top ten game publishers in the world Internet-based software management tools. This agreement allows EA to use today have all evolved to emulate Electronic Marimba’s Castanet technology for integration with its growing library of Arts in some ways. online content. 30 Initially, Castanet technology will be used to create a seamless patching Whatever EA’s past problems, no one present global infrastructure. The top system that automatically updates can accuse the company of not learning ten game publishers in the world software to ensure that EA’s customers from its past mistakes. It has experience today have all evolved to emulate EA are using the most up-to-date version. with paying online-gaming customers, in some ways. They may not all agree, As time goes by, EA is going to lever- a world-renowned consumer brand, but you can’t argue with success. In age Castanet to manage the integrity and successful franchises in almost the near future, online gaming may of its game software at launch. It’s a every genre and on every platform. On- also evolve to emulate the EA way. very compelling message, and the evo- line gaming can easily become one After all, isn’t ASHERON’S CALL, or lution of EA’s online strategy implies more avenue of distribution, and one EVERQUEST for that matter, the heir to that the company has taken full more interface to EA’s consumers. ULTIMA ONLINE? ■

Physically Modeled 34 34 Audio by Mark Miller hile much ado has been made over physical modeling synthesis is the “next big thing” the past few years about physically modeling in interactive audio. In the synthesis world,

the interactions between 3D objects in wavetable produced a huge sound-quality increase

games, not as much attention has over Frequency Modulation (FM) audio. More 33 been paid to another form of recently, downloadable sound (DLS) technology

physical modeling — that of broke open the sonic boundaries of General MIDI

sounds. And according to (GM) wavetable . Yet even wavetable-

some people in the plus-DLS solutions do a fairly questionable job

game develop- when it comes to rendering certain critical instru-

ment indus- ments and sound effects in both a realistic and

try, responsive fashion. Red Book audio may be quite

good at capturing individual performances of such

sounds, but it is still too large for many applications

and too difficult to manipulate for interactivity in

all but the simplest ways.

Mark Steven Miller has been studying, producing and commenting on interactive media since 1989. Having participated in the devel- opment of more than 100 cutting-edge titles, Mark is currently the president of Group Process Consulting which provides technical and strategic consulting services to new media companies. More about his current project, the Interactive Media Information eXchange (iMIX), a developers’ association for producers of interactive television content, can be found at http://www.imix-tv.org. Mark can be reached at [email protected]. PHYSICAL MODELING

Fortunately, some recent advance- reproduces the feedback from Jimi streamlined interfaces (APIs) to and ments in physical modeling synthesis Hendrix’s “Star Spangled Banner” from the game application. The technology and new products that interactively, just as a knight brandish- SynthCore SDK is priced at $195 and incorporate this technology may pro- es a magical blade. subsequent use of the technology is vide the answer. This article looks at two companies, licensed on a standard per-title/per- Physically modeled audio offers a Yamaha and Staccato Systems, which platform basis. Custom sound/algo- solution that other audio technologies offer physical modeling software syn- rithm development pricing is nego- cannot match. Typical FM synthesis is thesis products to the game develop- tiable and is based on the time and too abstract and limited to portray ment community, and at some of the complexity of the sounds needed. complex, real-world sounds accurate- game companies using these and other SynthCore can play back industry- ly. Wavetable and its big brother, Red advanced synthesis technologies. standard downloadable sounds (DLS) Book audio, are quite good at such and also provides the technology to portrayals but both suffer from being play back physically modeled sound, overly literal — analogous to a photo- Staccato Systems’ SynthCore which Staccato refers to as download- graph for visual representation. Photo- able algorithms, or DLAs. In the graphs are excellent for representing a taccato is a small start-up compa- future, downloadable effects (DLEs) particular image as seen from a partic- S ny with roots in the Sondius pro- will also be supported. DLEs are pro- ular angle, under a particular set of ject, which itself was born out of grammable audio Digital Signal Pro- circumstances. However, unlike a Stanford University’s Center for cessing (DSP) effects such as custom 34 scene created in, say, 3D Studio Max, Computer Research in Music and reverbs or filters. For DLS playback, an photos do not contain the abstract, Acoustics. The Sondius program was efficient wavetable engine elemental forms or structures that initiated in 1993 to develop physical is provided. The SynthCore API can make up the image. As a result, the modeling technology, algorithms, and load DLS banks and then control data in a photograph is fairly useless if development tools. In 1996, the them with MIDI note and controller you want to know what the subject Sondius team left Stanford and incor- data. The DLAs, however, are where would look like seen from the other porated as Staccato Systems with a the real action is. DLAs are script files side or under different lighting condi- license to 20 fundamental patents, the which describe the configuration of tions. Sondius Logo, and source code for Staccato’s flexible Algorithmic Synthe- Physical modeling, on the other some of the tools that they had devel- sis Engine. In other words, a DLA is a hand, is much more like real-time 3D oped. In 1997, Yamaha entered the analogous to a patch description for graphics in that sounds are generated picture and created the Sondius-XG Staccato’s physical modeling playback based upon complex mathematical partnership with Stanford. In turn, engine. DLAs can also encapsulate models of the way sound is created in Staccato upgraded its license to DLS files in order to provide an the real (or surreal) world. The “mod- include the new Yamaha intellectual enhanced control structure for more eling” aspect implies that the sounds property (which includes more than varied effects. are generated based upon abstract 400 patents and the XG-Lite sound DLAs are designed in Staccato’s GUI- constructs of the objects and/or set). Around the same time, Staccato based tool, SynthBuilder. Due to the processes that create the sounds. The also received a first round of funding complexity involved with designing a “physical” part implies that the object from Yamaha of Japan. Lately, the physical model, SynthBuilder is not or process exists as, or can be extrapo- company has accumulated engineering currently licensed to customers; the lated from, real-world (or surreal- and marketing talent at an astonishing Staccato team uses SynthBuilder to world) objects or processes and will rate. Former staffers from E-mu, S3, design the core models both as an obey the applicable laws of physics Yamaha, Apple, and other major music ongoing library development effort when so stimulated. A good example technology companies have recently and as a service to their customers. In of this would be a physically modeled joined Staccato. addition, Staccato provides a preset- four-cylinder car engine sound effect Staccato’s initial product, the editor called Mission Control. Mission that “revs” correctly when you “step SynthCore SDK, draws on the last 25 Control loads DLAs and provides a on the gas.” The combined result is a years of research in the broad field of visual control panel for adjusting any flexible method for generating accu- algorithmic synthesis. It features editable parameters. This allows a rate and complex real-world sounds physical modeling, modal synthesis sound designer to tweak the parame- that respond in sensible ways to (primarily for percussion sounds), ters and to audition the model either appropriate stimuli. waveguide synthesis (primarily for with MIDI data or directly from the How could physically modeled audio plucked strings), physical process and interface. benefit a game? Imagine hyper-realistic event modeling, virtual analog syn- Most often, these editable parame- race car engines that rev smoothly and thesis, and traditional wavetable syn- ters are high-level controllers that automatically, and accurately modify thesis capabilities. Do not, however, work in combination to scale numer- themselves as the car takes damage. Or be fooled by these academic roots. ous low-level controllers. This allows stadium crowds that respond exactly Two of Staccato’s primary goals in the designer a reasonably wide degree how you think they should to simple developing the SDK have been to opti- of freedom with which to exercise the “excitement” and “tension” sliders. Or mize their code for speed and efficien- useful modifications that can be made a dead-on perfect electric guitar that cy, and to provide appropriate and to any particular model without

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com breaking it (Figure 1). The edited problems first. First among these are results can then be resaved as new pre- game-critical sound effects that are sets. Note that due to the extreme complex, continuously variable, and mathematical complexity — and require constant control by the game hence power — of physical models, engine, such as race car engines. This most of the unconstrained edits one type of sound effect has traditionally might make to any given model been very difficult to create using either would render the output entirely wavetable-plus-DLS or, gulp, FM. unusable. So, while not being a full- Because such sounds need to be incredi- blown editor, Mission Control is more bly responsive to the player, Red Book like an editor/librarian program that a and digital audio streaming have also sound designer would use with an been out of the question. The beta ver- outboard synthesizer. sion of the SynthCore SDK ships with a Once designed, the DLA and its pre- variety of such models including race sets can be handed off to the game car engine, sports car engine, single-pis- programmer to be loaded at run time FIGURE 1. Mission Control race car ton engine, prop plane, war plane, jet and controlled by the game code. DLA edit window, showing the plane, helicopter, rumble, brook, rain, According to Staccato’s senior soft- exposed sliders of the race car physi- sea, wind, door, and analog synthesizer. ware engineer, Danny Petkevich, “The cal model. It’s also worth noting that each of these beauty of the SynthCore API is that it models can generate a wide variety of 35 is very thin; you can allocate, assign, presets with Mission Control. and then control via the get controller outputs are combined and sent either Electronic Arts was the first company and set controller methods. All the to the fixed or downloaded DSP to license SynthCore’s car engine mod- algorithm’s control is encapsulated in effects and/or to a DirectSound sec- els for use in its NASCAR REVOLUTION the algorithm itself. Sound designers ondary buffer. titles. Rob Hubbard, EA’s audio techni- only need to use controllers that make While SynthCore is currently able to cal director, said the decision to license sense (RPM, load factor, engine reso- handle both music and sound effects SynthCore was based on “pushing the nance, and so on) as opposed to terse equally well, Staccato has chosen to leading edge in terms of delivering a API calls.” On the PC, DLS and DLA focus on hard-to-solve sound design better and more entertaining experi- PHYSICAL MODELING

ence to the end user. The Staccato tech- the S-YXG50 series adds the extended nology allows us to push the audio XG architecture for DSP effects, voice quality up several notches, especially presets, and real-time expression con- for things like complex engine sound troller mapping. According to Mike effects. We believe that modeling tech- D’Amore, Yamaha’s business develop- nologies make it easier for game pro- ment manager for multimedia prod- grammers to hook up the audio and ucts, “physical modeling expands they also allow sound designers more upon the expressive capabilities of control in the creation and implemen- standard wavetable playback by allow- tation.” As an example of CPU load for ing for the physical input provided by the models, the race car engine model the musician during a performance to that EA used required roughly three The PC version of SquareSoft’s FINAL be brought into the electronic world percent of a 266MHz Pentium II. FANTASY VIII will include Yamaha’s and expressed realistically by the mod- The SDK does not ship with many S-YXG50 Plus VL engine. eled instrument.” finished musical instrument models, The low cost of the S-YXG50 allowed which is unfortunate because the ones Yamaha to obtain a fairly good OEM that I have heard are quite remarkable. simple input from the game program, share for new PCs entering the market. The one exception to this is the virtual depending on user-defined parameters D’Amore says that the S-YXG50 could analog synthesizer model that ships such as a “quiet/riot” axis or “tension ship with 15 percent of all new PCs by 36 with the SDK. According to Staccato, level” axis. While this technique is the fourth quarter of 2000. While these this is intended primarily for sound- not new (sound designers have been numbers indicate good progress for effects playback rather than for com- reconstructing complex sonic events OEM distribution, they probably will posing music. The reason cited for not using MIDI files and component sam- not represent the kind of platform pursuing this direction for now is that ples for some time), the added value ubiquity required by most game com- SynthCore is currently a software-only that event modeling brings to the task panies to develop for a nonstandard SDK. As such, it has a certain degree of is the ability to adjust the playback of product. To accommodate this, latency, typically fixed at 70 millisec- component sounds simply and Yamaha can provide developers with onds. Controlling SynthCore with real- dynamically in real time, according to either a fixed-fee or per-title license to time MIDI data exacerbates the latency sensible behavioral rules. distribute the S-YXG synthesizer with problem. As a result, it is not practical In addition to its ongoing develop- their games. SquareSoft of Japan, for to play or compose music in real time ment of new models for library and cus- example, is licensing Yamaha’s with Mission Control as one would tom applications for the PC, Staccato is S-YXG50 Plus VL engine and will play or compose with a hardware-based currently porting SynthCore to the include it in the upcoming PC version synthesizer because the lag time Playstation 2, and the company plans of FINAL FANTASY VIII. between “hitting a key” and hearing a to bring its technology to the Dolphin, While Yamaha expects its hardware note is too long for comfort. Linux, and Macintosh platforms and products to be used in traditional Staccato developed a technology has indicated that a Dreamcast version recording and MIDI studios, the soft- called event modeling to enhance might be developed as well. ware-based products are intended wavetable-based sound effects. In this strictly for run-time rendering of MIDI case, an event is a complex sequence files on the target machine. One reason of sounds that occurs over time, such Yamaha’s Virtual Acoustic for this distinction has to do with the as the roar of an audience or a car Technology most commonly cited pitfall of soft- crashing into a wall. Rather than try- ware synthesis: latency. Mike D’Amore ing to physically model each of the amaha distributes both hardware explains that the current degree of implied sound generators (such as dif- Y and software products that utilize latency (35 to 80ms) remains because ferent hand claps, whistles, and cheers physical modeling (or in Yamaha par- of pricing concerns. To get the price of for an audience roar) which would lance, Virtual Acoustic (VA) technolo- the S-YXG synthesizers low enough for severely tax a typical CPU, the higher- gy). In hardware, Yamaha offers the OEMs, certain optimizations simply level event is reconstructed out of VL-70m which is a one-half rack-space cannot be made. One can see this small DLS components. The event monophonic physical modeling syn- cost/performance distinction clearly model maintains audio control via a thesizer module intended for the pro- when looking at more professionally- rule set (or algorithm) which specifies fessional market. The VL-70m is also oriented software synthesizers such as the volume, pitch, pan, and time compatible with the company’s soft- Seer Systems’ Reality and Steinberg’s placement of the selected component ware wavetable synthesizers, the Rebirth, which run around $500 each. sounds during playback. S-YXG50 Plus VL (featuring a single In addition to being much more flexi- The event modeling algorithm can note of VA) and the S-YXG Poly-VL ble and feature rich than either also generate automated responses to (featuring eight notes of VA). Staccato’s or Yamaha’s offerings, they relevant stimuli. For example, an The S-YXG50VL feature set goes well feature extremely low latencies which event model of a crowd at a football beyond the current DLS Level 2 (DLS make them, essentially, real-time game can respond in a complex, 2) standard. In addition to wavetable devices. Fortunately, the S-YXG soft- appropriate, and real-time manner to DLS playback and physical modeling, ware synthesizers and the VL-70m are

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com Harmonix Music Systems’ FREQ

icture the omnipresent airship video screens that So it is important to have real synthesis for this product, not hovered above the dying city in the movie Blade just PCM sample playback. Runner. Then add a visualization of a high-speed P trek through Neuromancer’s Cyberspace and, final- Absolutely! ly, mix in a pumping, interactive techno soundtrack. The result describes my first impression of Harmonix Music Systems’ new Clearly, there are many methods of synthesis available. What music/action product, FREQ. I caught up with Greg LoPiccolo, are the most important methods for your application? Harmonix’s vice president of product development, to talk about FREQ and its use OF physically modeled audio. For us, particularly because we are directing our early efforts in the direction of techno music, it’s pretty much about analog, sub- MARK MILLER: It seems like this game will be very demanding tractive synthesis. If we have a good-sounding four-pole reso- on the audio rendering engine. What is your planned audio nant filter that we can apply to individual voices, that gets us 80 delivery strategy? percent of what we need. We are also working with some physi- cal modeling. For example, the synth that we are using has a Greg LoPiccolo: We are using a high-performance software syn- good physically modeled guitar-simulator patch. We find it thesizer for two reasons. Reason one is that it basically works on extremely exciting to have real-time feedback and distortion and any hardware. We don’t have to try to confirm that some specific so forth. The electric guitar is a great sound to be able to have in 37 brand of is present for our game to work. Second, we the game in that it’s exciting to play with in real time. But analog are trying to do a CD-quality representation of techno or elec- synthesis emulation, such as that which can be done with physi- tronic music interactively. Given that, the kinds of timbre manip- cal modeling is the most important capability for us right now. ulations and effects that we need to accomplish this aren’t really Emulation is what we are trying to do. available using hardware wavetable synthesis right now. The best-sounding solutions that we have available to us now are How will the game application interact with the synthesizer to software synthesizers. leverage this during game play?

What specific features are you looking for in a software syn- We have real-time, dynamic manipulation of filter settings, like thesizer? resonance and cutoff, as per standard techno-music parlance. We do a fair amount with effects, especially delay (which is a big First, we need very low latency. Our game is a real-time game deal in techno music), and we use it to great effect. We also wherein if you hit a controller button, your brain needs to be con- employ other modulation effects like low-frequency oscillators vinced that the note sounded when you hit that controller button. for vibrato or filter cutoff. Just having access to those functions So we need a latency of under 20 milliseconds, which is non-triv- as separate real-time modulation sources and destinations gives ial to achieve. the music a kind of organic, natural feel that you simply could not Second, we need flexible handling of sample data, like robust get out of a Red Book track or out of chopped up samples. high-quality support for stereo samples, looping, and velocity switching. We also need all of the standard professional sampler Which synths have you look at and considered? features like decent, flexible effects manipulation without huge cost. Finally, the most important feature — and the one that has We spent some time evaluating the Yamaha XG products, both been most difficult to realize — is flexible, high-quality, real-time hardware and software. We’ve been in touch with Staccato. And timbre manipulation capability, like real filters. For techno, it most- then there is Seer Systems’ Reality, which is the one that we ly boils down to filters and other modulation sources. With these, are currently using for the prototype. It is not really intended as you get real-time control over the music that you simply can’t a game engine, but as a low-latency, non-CPU-hogging, high- reproduce by chopping up samples and blasting them out the DAC. fidelity, flexible analog synth/sampling package, it’s hard to It just doesn’t sound the same. beat. compatible, for the most part. This modeling, however, is not appropriate All of the models are developed by allows for the VL-70m to be used as a for all musical instruments, says Yamaha internally and locked into the real-time development platform for the D’Amore. For example, a the physical product. “You cannot change the core S-YXG playback engine. model of a piano would be extremely model,” notes D’Amore. “The reason Currently, Yamaha focuses exclusive- expensive mathematically because one we do that is because it is very easy to ly on physically modeling musical would not only have to model each break a model. If you’ve done any instruments. Its VL products use two individual string, but also the complex work with physically modeled prod- primary physical models, one of a string mathematical interactions caused by the ucts that let you change the core and one of a resonating tube. The string sound waves emanating from one string model, you know that 90 percent of model is used for violins, violas, and acting upon and modifying the sound what results is unusable for anything. guitars, while the tube model is used for waves being produced by other strings It just won’t make any sound. The horns, brass, and woodwinds. Physical vibrating in close proximity. example I use is that on our develop- http://www.gdmag.com FEBRUARY 2000 GAME DEVELOPER PHYSICAL MODELING

Once a basic model is built, you can that ships with add a number of other modules to the RAD Game Tools’ Miles Sound System instrument and tweak their respective uses approximately one percent of a parameters. Figure 3 shows the tenor 266MHz Pentium II per voice on aver- reed string being fed through a single- age. (According to John Miles, creator coil electric guitar pickup, a low-pass of the Miles Sound System, this figure filter, a “full pedal” piano resonator, a is averaged to include the possible use wah-wah, a stereo delay, and a hall of MP3 compression for long DLS voic- reverb. Also displayed are some of the es “and some basic interpolative filter- available tweakable parameters. ing to clean up resampled instru- It is these exposed parameters that ments.”) Still, one percent per voice is make physical modeling worth imple- still a far cry from what is required to menting for music. If one simply takes run the physical models on the FIGURE 2. A single-reed driver com- a physically modeled instrument and S-YXG50VL. If you intend to run mul- bined with the string model. plays it as one would normally play a tiple voices of physical modeling with wavetable sound, the result is remark- the S-YXG50 Poly-VL, a 400MHz ably unimpressive. It’s only when you machine is strongly recommended as a begin to feed the instrument large vol- minimum. umes of performance-oriented con- D’Amore says that Yamaha’s next 38 troller data that the value of the tech- development step involves trying to nology becomes apparent. Why? get the models to interact properly Consider wavetable sounds for a moment. Most wavetable sounds have F O R F U R T H E R I N F O all of the nuance and gestural compo- nents burned into the samples them- Beatnik Audio Engine selves. As a result, simply triggering the http://www.beatnik.com sample will produce a reasonable- Harmonix Music Systems’ FREQ FIGURE 3. The Resonator Module sounding performance of the instru- http://harmonixmusic.com Palette, the Instrument Editor with ment’s sound. The problem is that it is six modules loaded and tweakable difficult to manipulate the sample data Microsoft’s DirectMusic http://msdn.microsoft.com/isapi/ parameters displayed. in real time in appropriate and natural ways. So every time you trigger the msdnlib.idc?theURL=/library/psdk/ sample, you get the same performance, directx/dmover_6lk3.htm ment systems, I was able to make an which is extremely unnatural. In con- http://www.microsoft.com/hwdev/ 800-foot-long trombone with a nor- trast, the physical model is more flexi- audio mal mouthpiece. The problem there is ble and more demanding. Simply trig- http://eu.microsoft.com/directx/ that because of the physics involved, gering the model without any overview/dmusic there is no way that that it could func- additional gestural data will produce a RAD Game Tools’ Miles Sound System tion. It looked cool, mathematically it very flat performance. Trigger the http://www.radgametools.com/ was cool, but so what?... Once you get model and then feed it appropriate mssnew.htm above the core, though, you can take gestural data and suddenly the perfor- the model and extend it. You can mance comes to life in a much more Seer Systems’ Reality change the envelopes. You can change realistic and responsive fashion than http://www.seersystems.com/ the materials. You can change how can be achieved with wavetable products/reality.html big the mouthpiece is. You can bow instruments. Staccato Systems’ SynthCore the mouthpiece. You can bow the Of course, this kind of power and http://www.staccatosys.com tube. You just can’t change the core. flexibility comes at a cost. In the physi- We don’t allow you to break it that cal modeling case, the cost is in CPU Stanford University Center for Computer much.” cycles. For an average physical model Research in Music and Acoustics (CCRMA) To facilitate this kind of editing, running on a 266MHz Pentium II, http://ccrma-www.stanford.edu Yamaha provides for free a reasonable, developers should expect roughly a six- if somewhat obtusely designed, editor percent CPU usage. By contrast, the Steinberg’s Rebirth http://www.steinberg.net/products/ for its VL-70 hardware. The editor standard software-only wavetable syn- rebirthpc.html allows you to match the “Driver” or thesizer that comes with Microsoft’s input components (bow, pluck, lip DirectMusic requires approximately Yamaha XG reed, jet reed, single reed, double reed) 0.17 percent per “dry” voice at 22KHz. http://www.yamaha.co.uk/xg/ with variations of the pipe or string Adding reverb will cost an additional index.htm portion (conical pipe, straight pipe, 2.8 percent globally. The Beatnik flared pipe, or string) to generate a (wavetable) audio engine is about twice Yamaha VL Editor basic, playable instrument to work as CPU-intensive as the Microsoft syn- http://www.yamaha.co.uk with (Figure 2). thesizer, and the DLS 1–compatible

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com with each other. “As true physical D’Amore says is sadly “Japanese-only model represented a fairly large perfor- modeling implies, you are modeling for now.” mance hit. the physical reality. Physical reality in Recently Yamaha announced that it The following factors, however, most circumstances demands physical would be a middleware developer for might explain why certain leading-edge interaction between models,” he both Dreamcast and Playstation 2. developers, such as Electronic Arts and explained. For example, two different According to D’Amore, Yamaha is Square, have chosen to take the leap: models of a trumpet, played together, attempting to bring full XG compati- • CPU speed is increasing so rapidly interact in quite complex ways with bility to both machines, insofar as it is today that six percent of a 266MHz one another in the real world. Right possible, but he gave no firm date for Pentium II will likely become now, Yamaha’s synthesizers don’t when that goal might be realized. meaningless within the next year replicate this effect. As to the suitabili- or two. ty of the Interactive Audio Special • Physical model descriptions (such Interest Group’s (IA-SIG) Interactive 3D The Next Big Thing? as Staccato’s DLA files, which are Audio Rendering Guidelines, Level 2 typically 40K or so) are much (the I3D2 standard is based upon hysical modeling is undoubtedly a smaller than a commensurate Creative Labs’ EAX technology and P powerful tool for sound design wavetable sound effect (if creating adds obstruction and occlusion model- and composition. The tools to edit and such effects is even possible). ing), D’Amore implied that this would play back (if not create) high-quality • Given an appropriate game or be insufficient to the task. He said that models are available today and the music type, it may only require a something more like Aureal’s A3D advances in sound quality and run- single, high-impact model to make 39 wavetracing technology would be time flexibility are obvious. But the real a significant difference in the over- required to achieve the desired effect. question is whether the mainstream all perceived audio quality of the They also have plans for software game development community is product. “S-YXG plug-in” versions of the AN1X ready to make the leap and adopt this So, although the technology is still (a hardware synthesizer that uses phys- new technology. The standard argu- new and developer uptake is just get- ical modeling to simulate subtractive ment against adoption is the amount ting underway, the trends seem to be analog synthesis), a DirectX 7–style six- of CPU power that physical modeling pointing to a bright future for physical operator FM synthesizer, and a FS1R- sound requires. In years past, three to modeling and other advanced forms of style “singing” synthesizer, which six percent of a 266MHz Pentium II per synthesis. ■ SUBDIVISION SURFACES Imlemetig Sbdiisio Sface Theo

by Brian Sharp

n my article last month, I explained what subdivision surfaces

40 were and why game developers should be interested in them. I also

covered a couple different kinds of subdivision surfaces in their

mathematical forms and briefly discussed their benefits and detri-

ments. Most everything was in English, and the rest was expressed

using equations. There were no code listings last month, not even

a hint of C++, but I promised to discuss an implementation, and

so that’s the goal of this article. I’ll cover a sample implemen- generally the favored schemes for use in high-end animation. tation of the modified butterfly scheme as discussed in last For instance, Pixar uses Catmull-Clark surfaces for their char- month’s article, complete with a shiny, new demo. acter animation. The downside of approximating schemes are II substantial, though. The major one is that because the scheme doesn’t interpolate its control net, the shape of the Why the Butterfly? limit surface can be difficult to envision from looking at the control net. The caveat is that as the net becomes denser, the ast month, I wrote about a number of schemes and surface will generally be closer to the net. But for games, the L those were only the tip of the iceberg, so it’s worth net itself won’t be tens of thousands of polygons, so the sur- spending some time justifying the choice I’ve made for this face can differ substantially from the net. implementation. Why use the modified butterfly? To Interpolating schemes are a different story. They can explain my reasoning, it helps to look at more general char- exhibit problems with fairness, with ripples and undula- acteristics of schemes and their advantages and disadvan- tions over the surface, especially near tight joint areas. tages. The major differences tend to hinge on whether a Also, they aren’t used in high-end rendering quite as scheme is approximating or interpolating. much, which can mean that they’re the focus of less Approximating schemes have a number of benefits. The research. But their major benefit is that the surface is sub- surfaces they produce are generally very fair, and they are stantially easier to envision by looking at the net. Since the

Brian doesn’t need to write a bio for this article, as the Y2K apocalypse will have eradicated all life before the article goes to press. If he survives the fallout, he'll keep right on evangelizing OpenGL and scalable geometry from over at 3dfx Interactive. Wish him a happy new year at [email protected].

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com FIGURE 1. The stencil used for the regular case of the modified butterfly scheme. FIGURE 2. The stencil used for the extraordinary case of the modified FIGURE 3. The stencil used for the surface passes through all the net ver- butterfly scheme. tangent mask of a regular vertex. tices, it won’t “pull away” from the net. The fairness issues are the price to pay for this, though. Approximating schemes are fair because If both endpoints are extraordinary, we average the the surface isn’t constrained to pass through the net ver- results of using the above extraordinary stencil on each of tices, but interpolating schemes sacrifice the fairness for them. Again, if this seems a bit too terse, refer to last their interpolation. month’s article where I discuss the scheme in substantially 41 Nonetheless, I feel that the fairness issues present less of a more detail. challenge to intuition than an approximating surface does. As far as the butterfly scheme’s characteristics, it’s inter- For example, in many cases, existing artwork can be used polating because points in a control net also lie on the with interpolating schemes with some minor adjustments to limit surface — the subdivision process doesn’t move exist- smooth out rippling, whereas adapting existing polygonal ing vertices. It’s also triangular as it operates on triangular art to be a control net for an approximating scheme is a control nets. It’s stationary as it uses the same set of rules much more difficult task. every time it subdivides the net, and uniform because Among interpolating schemes, the butterfly scheme has a every section of the net is subdivided with the same set of number of things going for it. It’s one of the better-research- rules. ed schemes. It’s also computationally fairly inexpensive. One aspect of the scheme that I mentioned last month Finally, the results of subdivision tend to look good and con- but didn’t define was the tangent mask of the butterfly form fairly well to what intuition would expect. Therefore, scheme. This is the mask used to compute the tangent vec- it’s my model of choice. tors explicitly at a vertex, which we use to find the vertex normals. The mask is large and therefore may look intimi- dating, but it’s just a bunch of numbers, and a few multipli- Butterfly in Review cations and additions later, we’ve got the answer. For regular vertices, the process involves the 1- and f you haven’t already, you probably should read my arti- 2-neighborhood of the vertex (so it uses vertices that are one I cle from last month’s issue for the deeper explanation of and two steps away.) Between both neighborhoods, there are the modified butterfly scheme. But in case you haven’t, I’ll 18 vertices, and so the scalars, corresponding to the index- summarize it here. Given a triangular mesh, the control net, ing shown in Figure 3, are: we want to subdivide it one step. We first add a vertex along each edge according to specific rules. If the endpoints of the edge are both of valence 6, then we use the stencil in Figure 1, with the weights: 1 1 1 ab:,:+−−2 wc ,: w Multiplying the vertices by l and l gives us two different 2 8 16 0 1 tangent vectors, the normalized cross product of which is If one endpoint is of valence 6 and the other is extraordi- our normal. For extraordinary vertices the normal is actually nary (not of valence 6) then we use a special stencil that easier to find, as it depends only on the 1-neighborhood of takes into account just the extraordinary vertex, shown in the vertex. The two tangent vectors in this case can be found Figure 2. The weights are computed as follows: as:  N−1 22iππN−1 i   ==  3 5 1 1 te01∑ iicos ,te∑ sin Nvee=−−3::,: ,: ,: e  = N = N   4 0112 12 212 i 0 i 0   Here, t0 and t1 are the tangents, N is the vertex valence, and   3 3 1  Nveeee=−4::,:,:,: 0 ,:0 e is the ith neighbor point of the vertex in question, where  4 0128 8 3 i  e can be any of the points (it doesn’t matter where you  0     ππ    start) and the points wind counterclockwise. Crossing the ≥+3 2 j +∗ 4 j Nve5: : ,j :025 . cos  05 . cos  / N two resulting vectors and normalizing the result produces   4   N   N    the vertex normal. http://www.gdmag.com FEBRUARY 2000 GAME DEVELOPER SUBDIVISION SURFACES

Implementation: The Big Idea find a vertex’s neighbors will be slow- Graphs and Subdivision er than if we have that information he idea behind our implementa- available explicitly. This is because t’s worth noting that the data struc- T tion is, at a high level, very looking through the list of faces takes I ture we’re working with is nothing straightforward. Given one control O(F) time, where F is the number of new and unusual. It’s a specific exam- net, we want some piece of functional- faces. On the other hand, if we have ple of a general data structure known ity that can take that net and output a the information stored explicitly, it simply as a graph. A graph is anything more complex net, a net that has been only takes O(1) time — constant time. composed of vertices connected by advanced by a single subdivision step. That means that as we add more faces edges. For instance, a linked list and a That sounds easy enough, right? to the model, the former solution binary tree are both special kinds of Unfortunately, that description doesn’t takes longer, whereas the latter graphs. translate very directly to C++ code. So remains the same speed. What makes our problem a little we need to define some of our terms We don’t have the information we tougher than, say, writing a singly- and be more specific. First of all, what’s need to decide what else to add to the linked list class is that the graph of ver- a control net? We know what it is con- control net data structure, so we’ll tices in a model is considerably more ceptually, but what kind of data struc- work on the procedure for subdividing complex than the graph of nodes in a ture is it and how is it manipulated? a net and add data to the control net as linked list. First, the nodes in a linked After that, of course, we need to define necessary. list have a single edge coming out of that “black box” bit of functionality them (pointing to the next node) and 42 that subdivides the net, and quantify one coming in (from the previous how it works. The Subdivision Step node.) Our graph has six edges coming To establish our control net data into each regular vertex and potential- structure, we start with nothing and ur task, then, is this: given a net, ly many more than that for extraordi- build our way up as needed. So, the first O we need to subdivide it into a nary vertices. thing we need is the base representation more complex net. Working from the Furthermore, in the case of a singly- that will eventually pass into OpenGL. modified butterfly rules, this is fairly linked list or a binary tree, the edges That’s just a few arrays. We need an straightforward. We need to add a ver- have direction. That is, you don’t gen- array for our vertices, our texture coor- tex along each edge of the net. Then erally walk backward through the list dinates, and our colors. Furthermore, we need to split each face into four or up the tree. Furthermore, these we’ll need an array of indices into those faces using the new vertices. structures are acyclic — there are no arrays to define our faces; every three The first step, adding new vertices “loops” in them — so from a given indices defines a triangle. along each edge, tells us quite a bit vertex, there’s no path that leads back If we can do our tessellating with no about some more information we’ll to the same vertex. In our case, the more than that, then that’s great. But need in the control net data structure. edges are undirected. You need to be chances are we’re going to need to keep There’s no fast and simple way to find able to traverse every edge in both around more information than just all the edges unless we store them directions. that. The important thing is that what- explicitly. An edge needs to be able to Discussing graphs in this context is ever information is added to the data tell us about its end points since we really just “interesting facts” rather structure needs to be renewable. That need to use those in the butterfly sten- than being a crucial contribution to our is, since the process is iterative, the cil for computing the new vertex. implementation, but it confirms what information we have in the simpler net Furthermore, the stencil extends to the we already know: our data structure is coming in must also exist in the more end points’ neighbors, so the end point complicated. The one saving grace is complex net coming out, so that we vertices need to know about the edges that our algorithm is based on locality, can feed the complex net back in to they’re connected to. so we don’t need to worry about tra- produce an even more complex net. The second step, breaking existing versing huge distances across the graph It’s worth asking why we’d need faces into new faces, requires that the to find information we need to subdi- more information than just the ver- faces know about their vertices, which vide. This is one benefit of using a tices and faces. After all, if we need to they already do. The faces also need to scheme with minimal support. A determine whether one vertex is con- know about their edges. While they scheme with much broader support nected to another by an edge, we can could find this by asking their vertices would be computationally much harder determine that by looking through for all their edges and fishing through to evaluate, and hence be much slower the faces. Or if we need to find all the them, that requires a fair amount more and far more difficult to implement. edges, we could just do that by run- work for every lookup, and so we’ll It also confirms the direction we’re ning through the face list, too. The explicitly store with each face the taking to implement the data structure problem here is in the running time of information about its edges, too. — it’s based wholly on locality so that the lookups. When we’re subdividing That increases the load a fair the time it takes to find one vertex an edge, we need to find out a lot of amount. Our data structure now has given another is proportional to the information about nearby vertices and arrays of vertices, edges, and faces. number of edges between them. There faces, and we’d like it to be as fast as Vertices know about their edges, edges are other ways of representing graphs possible. Regardless of the processor know about their vertices, and faces for the myriad applications that have speed, looking through all the faces to know about their vertices and edges. different requirements. Cormen and

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com his co-authors (see For Further LISTING 1. The data used to represent the con- the vertex arrays. Adding anoth- Info box, p. 45) provide an excel- trol net. er nitpicking detail, I sort the lent introduction to graph theory. indices by value. It comes in class ButterflySurface handy as there are many cases { where I can skip a conditional by Control Net Details public: knowing that they’re in sorted ... order. o we know the data we need The faces are stored simply as S in our control net data struc- protected: an array of indices into the vertex ture and we know the steps the ... arrays, where every three indices tessellation needs to execute. defines a triangle. Since the con- We’re ready to dig into the lower- // Information about the vertices trol net is totally triangular, I level implementation details. First, int numVerts; don’t need any complicated sup- we’ll go back to the information int vertCapacity; port for variable-sized faces. in the control net structure and float* verts; That’s it for the storage of the look at how it should be laid out. float* vertNorms; control net. Now we need to Listing 1 shows the layout of VertexEdges* vertEdges; understand the details of the tes- the data. There tend to be two float* texCoords; sellation process. schools of thought on data layout. float* colors; One method is dubbed the “struc- 43 ture of arrays” (SOA) and the other // Information about the faces; Subdivision Step Details is the “array of structures” (AOS). // all faces are triangles. The idea is that the SOA method int numFaces; s mentioned earlier, the sub- stores multiple parallel arrays int faceCapacity; A division step consists of sub- whereas the AOS method stores all int* faces; dividing edges and then building the data interleaved in the same int* faceEdges; new faces from them. The top- array. I’ve personally never run level function that does this is into a situation where the two // Connectivity information, shown in Listing 2. For the edge approaches differed greatly in // needed for tessellating. subdividing, I iterate over the speed, and so when I lay out data I int numEdges; edges. At each edge, I check the generally try to blend the two int edgeCapacity; valences of the end point vertices approaches for clarity’s sake. ButterflyEdge* edges; to determine which subdivision That’s why some of the data in the }; rules to use. Upon deciding that, I listing is shown as separate arrays apply the rules and produce the of base types and some are stored // Classes used in control net storage. new vertex. It’s then added to the as arrays of small objects. class VertexEdges end of the vertices array. The vertices are stored in { Furthermore, the edge is split OpenGL-friendly arrays. While public: into two edges. One of them uses OpenGL allows for interleaved VertexEdges(); the slot of the old edge, and one arrays, many applications tend to VertexEdges(const VertexEdges& source); of them is added to the back of store their data in parallel arrays, VertexEdges& operator=(const VertexEdges& source); the edge array. For use in building and that’s why I choose to do so int numEdges; the faces, I keep two lookup as well. The vertices, texture coor- int edges[MAX_VERTEX_VALENCE]; tables. One maps from the old dinates, normals, and colors each }; edge index to the index of the have their own arrays. These new vertex I just created. The arrays are dynamically grown; class ButterflyEdge other maps from the old edge when I need to add another ver- { index to the index of the new tex and there isn’t sufficient public: edge that I just added. room, I allocate new arrays that bool operator==(const ButterflyEdge& cmp) const; Building the faces is somewhat are twice the size of the current bool operator<(const ButterflyEdge& cmp) const; more involved, as it requires a fair ones and move the data into the int v[2]; amount of bookkeeping when new arrays. This strategy amor- }; creating the four new faces to be tizes the cost of memory alloca- sure that they’re all wound cor- tion and is one I use for most of rectly and have their correct my memory management. order, so each successive edge in the edges. For each face, I have the corner Each vertex also has a VertexEdges array is the next edge in counterclock- vertices and the edges. From the two associated with it. VertexEdges keeps wise winding order from the previous lookup tables I created while subdivid- track of the edges that the vertex is a edge. ing edges, I also know the new vertices part of. Following the theme of mak- The edges themselves prefer the and new edges. ing lookups as fast as possible, the AOS format. Each edge is stored as I shuffle all that data around to get it edges are stored sorted by winding nothing more than two indices into in a known order so that I can then http://www.gdmag.com FEBRUARY 2000 GAME DEVELOPER SUBDIVISION SURFACES

build faces out of it. I also end up stop, only then do I need to worry tor, (x,y,z,r,g,b,a,u,v), and just perform adding three more edges connecting about calculating vertex normals. all the interpolation at once. Alas, in the new vertices inside the triangle. Iterating over the vertices with the this case, elegance needs to take a back Those new edges need to be added to modified butterfly tangent mask finds seat to pragmatism. the new vertices’ edge lists, and they those handily. Now we know how to start with a need to be added in the correct wind- control net and step forward, produc- ing order. This isn’t much code, but it’s ing increasingly detailed control nets, tricky and bug-prone. Colors and Texture Coordinates all the while keeping our data struc- Using this function, I can iterate tures intact and keeping our vertices, over that as many times as I like. Each he previously described procedure colors, and texture coordinates intact, iteration increases the polygon count T finds the vertices and normals, but and generating normals for the fin- by a factor of four. When I decide to not the colors or texture coordinates. ished model. What else is there left to These deserve their own discussion. cover? LISTING 2. The top-level function Colors are nice because they can be used to tessellate a control net. interpolated using the same scheme as the vertices. If the butterfly scheme Animation produces smooth surfaces in XYZ // This tessellates the surface. space, it will also produce smoothness hile it’s beyond the scope of void ButterflySurface::tessellate() in RGBA space. It’s certainly possible to W this article to describe how you 44 { linearly interpolate the colors. That might implement a full animation sys- // Loop controls. will result in colors that don’t change tem that uses subdivision surfaces, it’s abruptly, but whose first derivative worth describing how subdivision sur- int x; changes abruptly, resulting in odd faces and animation can coexist. If bands of color across the model, simi- your game is one that stores the ani- for (int level=0; level

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com If we tessellate adaptively, we’ve it’s worth asking what to do when even changed the control net. Some of the the base control net is too dense. If a net might be at a higher level of tessel- character is far away from the camera, lation than the rest. And so we’ve bro- maybe you’d only like to draw a 200- ken the rules, and our net is no longer polygon version? In that case, integrat- converging on the same surface. This is ing a separate mesh-reduction algo- a worst case scenario for scalable geom- rithm that you apply to the simplest etry — it produces a “popping” that net when needed could solve the prob- you simply can’t avoid, since the lem nicely. underlying surface is now fundamen- Another issue that the demo doesn’t tally different. address is the question of caching. I Furthermore, although this could currently regenerate the subdivision probably be dealt with somehow, from the base net every frame. Is it would it be worth it? Consider that a worth caching subdivisions? On one game probably won’t be subdividing hand, it could make things faster, but the control net more than four times. if the models being subdivided are FIGURE 4. Subdivision steps of a If your original net is, say, 1,000 poly- characters, then the animation proba- colored shape in the demo. gons, four subdivision steps bring it to bly makes caching less useful, since 256,000 polygons. The span of low- the model you created in one frame end to high-end machines isn’t yet isn’t in the right position by the next 45 quite that large. So the end result of an frame. elaborate adaptivity scheme would just Whether or not the modified butter- be a model that was subdivided three fly scheme is the right one for you, this times in some areas, maybe four in demo should provide a decent starting others: a whole lot of work for negligi- point for experimentation. Hopefully, ble benefits. between these two articles, I’ve given a If you’re using subdivision schemes solid overview of subdivision surfaces, for characters, then unless your charac- and maybe even gotten somebody ters are gigantic, adaptivity based on interested in using them in a game or distance from the camera won’t be two. Questions and comments are worth much, either. Plus, characters heartily encouraged, and in the mean- tend to be fairly uniformly curved; time, I hope to find myself amazed by most of them don’t have large flat sec- the next generation of fully scalable, tions and jagged spikes in other areas. beautiful games. ■ Therefore, in the end, you might be F O R F U R T H E R I N F O able to squeeze some benefits out of an adaptivity scheme, but the amount of The demo and other resources are avail- work necessary to do so is fairly daunt- able at my web site: ing. It’s probably sufficient to pick a http://www.cs.dartmouth.edu/ subdivision level based on distance to ~bsharp/gdmag the camera and field-of-view angle and FIGURE 5. Subdivision steps of a tessellate to it. salamander model in the demo. Additional Resources Cormen, T., C. Leiserson, and R. Rivest, The Demo and Further Work Introduction to Algorithms. Bézier patches (“Implementing Curved Cambridge, Mass.: M.I.T. Press, 1998. Surface Geometry,” June 1999, and s promised, this month is accom- “Optimizing Curved Surface Geome- A panied by a demo built off the Zorin, D. “Stationary Subdivision and try,” July 1999) such adaptivity was a sample implementation provided Multiresolution Surface Representa- major focus. above. A few screenshots are shown in tions.” Ph.D. diss., California Institute The problem with adaptive solu- Figures 4 and 5. The demo is available of Technology, 1997. (Available at tions for subdivision surfaces is that, at my web site (see Further Info. box) ftp://ftp.cs.caltech.edu/tr/ unlike patches, subdivision surfaces and comes with source code and a cou- cs-tr-97-32.ps.Z) don’t easily expose a closed-form ple of sample models. parameterization. The only easy way I’ll freely admit that the demo is not Zorin, D., P. Schröder, and W. Sweldens. to tessellate them is through recur- at the point where you could drop it “Interpolating Subdivision for Meshes sion. So we rely on the fact that as we straight into your game and witness a with Arbitrary Topology.” Siggraph recurse, we’re converging on a limit stunning transformation (unless shiny ‘96. pp. 189–192. (Available from ACM surface. And no matter how we tessel- salamanders are exactly what your Digital Library.) late, we should be converging on the game needs). There’s a good deal more same limit surface. to be done with the demo. For starters, http://www.gdmag.com FEBRUARY 2000 GAME DEVELOPER POSTMORTEM Westood Stdios TIBERIAN SUN by Rade Stojsavljevic

ver since the release of Westwood’s 2in

46 1992, real-time strategy (RTS) games have become

the hottest-selling computer games around. Countless

RTS games were released soon afterward including

COMMAND & CONQUER (C&C), RED ALERT, WAR-

CRAFT II, AGE OF EMPIRES, and TOTAL ANNIHILATION. EEThese games have propelled the genre to new heights and have drawn an increasing number of fans.

After the success of C&C and RED ALERT, the

team at started work on

TIBERIAN SUN, the sequel to C&C. To build the

game, we assembled a team that consisted of

veterans from C&C and RED ALERT along with a

Rade Stojsavljevic was the producer for TIBERIAN SUN and is currently working on an expansion pack called FIRESTORM. Before coming to Westwood, he worked on military simulations and adventure games at various small development houses. When he’s not out getting doughnuts to bribe the team with, you can usually reach him at [email protected].

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com Chandra, McNeil, and Brink pose on Umagon prepares for a take. the Kodiak Bridge. On location at Red Rock, Nev. couple of new faces, including me. We started with the goal construction but we wanted to update it to accommodate of taking what made C&C fun and expanding it even new features, such as unit queuing, waypoints, and further. power/energy control. For unit behavior there was a set of To begin the development process we reviewed what rules that we had to conform to, specifically how a unit makes a great RTS game and came up with one answer: tac- deals with player commands so that its internal logic never tics. Westwood doesn’t build games based on a specific tech- overrides a player’s orders. One of the times we tried to 47 nology and we never sell technology over the game play. We change the rules was when harvester threat-avoidance logic have a firm belief that a great strategy game must have inter- was introduced. I remember hearing lead designer Adam esting, fun, and new tactics that afford players a multitude Isgreen screaming at his computer when his harvesters of unique ways to play a game. refused to obey his orders to retreat. We decided to scrap We wanted TIBERIAN SUN to appeal to a broad audience, that idea shortly afterward. yet also appeal to core game players and fans of the series. It was important for the overall visual presentation of the Towards this goal, we continued to apply a “wide and deep” game to bear a resemblance to its predecessors in order to approach to designing the tactics we created. Wide and deep maintain a consistent artistic style. We decided to alter the essentially means a nice assortment of diverse yet readily perspective slightly, rotating the camera to create a three- apparent tactics that, under the surface, contain an even fourth isometric perspective that afforded a better sense of greater number of tactics. With this approach, you can pro- depth and realism in a 3D perspective. It was at this point vide first-time players with a number of different things to that we decided not to use a polygonal engine since it do while letting more experienced players discover new and wouldn’t be possible for us to keep the system requirements advanced tactics on their own. These design goals made low enough to achieve the mass-market appeal that we working on the game more challenging — as if being the wanted. Also, at the time we planned to release TIBERIAN SUN, biggest project in Westwood Studios’ history wasn’t enough. 3D accelerator cards and systems weren’t fast enough for us to maintain the visual detail we wanted for the hundreds of units and structures on-screen at once. What Went Right WORKING ON A SEQUEL TO A SUCCESSFUL FRANCHISE. Being 2.the fourth RTS game Westwood has done, there were MAINTAINED C&C STYLE OF GAME PLAY. One of the most dif- a lot of lessons learned that the team was able to carry for- 1.ficult tasks we had to overcome during the develop- ward into TIBERIAN SUN. First, we had an established and ment of TIBERIAN SUN was to maintain the feel of the origi- nal. When making a sequel, the question that always has to TIBERIAN SUN be answered first is, How far do you stray from the original Westwood Studios game to make it compelling, yet still familiar? The intent Las Vegas, Nev. with TIBERIAN SUN was to maintain, as much as possible, the (702) 228-4040 feeling of the original while providing new and interesting http://www.westwood.com tactics for players to master. To aid in this goal, when Release date: September 1999 adding a new feature we asked the questions, “Is this consis- Intended platform: Windows 95/98/NT 4.0 tent with COMMAND & CONQUER?” and “How can we make it Project length: 36 months easier and even more exciting?” Team size: 25 full-time, 15 part-time developers In this area, it really helped to have a development team Critical development hardware: Pentium Pro and Pentium II that worked on the previous games. They were able to draw machines, 200 to 450MHz dual-processor with 128 to 256MB from previous experiences to create a consistency in the RAM, Creative Labs sound cards, Windows 95/98/NT, SGI 02 game dynamics. This gave the team a great deal of indepen- workstations, BlueICE accelerators dence since everybody already had a good idea of how the Critical development software: Microsoft Visual C++, Lightwave, game was supposed to look, play, and feel. 3D Studio Max, Discreet Flint, Adobe Photoshop, Adobe After The main areas we focused on in order to be consistent Effects, Adobe Illustrator, Avid Media Composer, Filemaker Pro, with previous games were the user interface and unit behav- Deluxe Paint ior. We knew we had to keep the sidebar metaphor for unit http://www.gdmag.com FEBRUARY 2000 GAME DEVELOPER POSTMORTEM

streamlined user interface. derivatives of the C&C This user interface has and RED ALERT editors, been a cornerstone of which also minimized Westwood RTS games the ramp-up time since DUNE 2 and we’ve required before they been gradually improving could produce missions. it ever since. Anyone who The designers worked has ever played a West- well together and were wood RTS is immediately friends; something that familiar with the controls helped a lot when there and can jump right into were differences of opin- the action. Additionally, ion. It proved to be very the interface is simple and beneficial to know that intuitive enough to let you could argue your new users become com- point and not have to fortable with it in a short worry that the person time. you were arguing with Another nice benefit of would hold a grudge making a sequel is that we afterward. 48 had a set of basic features An Orca carry-all transports a hover MLRS. Without the technical we knew worked based on knowledge and creativity previous games. These pro- of the artists on the pro- vided a solid foundation that ject, we would have suffered a could be expanded upon and great deal of pain when integrat- modified as needed. We started ing artwork. Like most projects, with features from the previous TIBERIAN SUN had a specific set of games that we knew we wanted technical criteria that had to be and updated them to fit a world satisfied when creating art for that was 30 years in the future. the game engine. On this front, Tanks evolved into two-legged we reaped the rewards of having mechanized walkers, soldiers artists who had done it all could now use drop pods before. They had worked with launched from space, and cloak- our programming team and ing technology advanced to yield Concept sketch of a GDI carry-all. knew the tools well enough that a stealth generator that hid many they were able to head off poten- units and buildings at once. tial problems before they could When it came time to create the key in allowing the team to conquer all get out of control. The cinematic artists story, we already had the basic frame- the obstacles thrown in their path. had much of the same experience; they work in place. There was a very rich Even though I had worked on half a didn’t have as many technical restric- and fascinating world to draw upon dozen titles before I started on TIBERIAN tions as the in-game artists, which when creating new characters for this SUN, at first it was a little unnerving for allowed them to be able to express story. The one difficulty encountered me to be working with a team of this unbridled creativity. The cinematic was making sure the story could stand caliber. artists didn't have to deal with frame up on its own and be accessible to new Several members of the program- limitations or palettes. Also, compared players without subjecting players ming team had worked together on to previous games, the movie player in familiar with previous games to mind- previous Westwood RTS products and TIBERIAN SUN allowed for full-resolution numbing exposition. To solve this were accustomed to each other’s cod- movies (as opposed to previous games problem, we set the story 30 years after ing styles. New programmers were where every other line was cut out) the end of the original, which provided quickly assimilated into the team and using 24-bit color depth and a 15FPS an opportunity to create an outstand- were able to adapt well. The coding frame rate. I still remember the first ing introduction that showed players rules and Westwood libraries allowed time we saw the movie in which the what had been going on in the world. the programmers to familiarize them- Mammoth Mk. II laid waste to an TEAM EXPERIENCE AND COHESION. The selves with each other’s work with entire Nod base by itself; it left every- 3.TIBERIAN SUN development minimal difficulty. one in the room speechless. team is one of the most experienced The designers had worked on previ- The final piece was the management and professional teams I’ve ever had ous RTS games and were very familiar team. Under executive producer Brett the privilege of working with. For with the universe before we started the Sperry’s strong leadership, we estab- many of the team members, this was project. This saved several months lished systems to deal with routine the fourth RTS game they had done since no one had to familiarize them- tasks, facilitated communication (the previous being DUNE 2, C&C, and selves with anything except the design between the teams, and were able to RED ALERT). This level of experience was for TIBERIAN SUN. The tools used were avoid a lot of problems early on. Brett

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com Nod bikes fire at an underground UFO. Nod bikes flee from the ensuing explosion. has always been very protective of the bling around blindly. We played six months for C&C and four months C&C franchise and with TIBERIAN SUN, countless games with each of us cham- for RED ALERT. Even after the countless his clear and consistent vision of where pioning one side vs. the other, careful- games we played against one another, the game should be was absolutely crit- ly noting how effective units and tac- we still got into shouting matches dur- 49 ical to the project. tics felt against one another. We would ing close multiplayer games. When this BALANCING PROCESS. Balance is get together after each game to com- happens, you know you’ve got a win- 4.one of the things that can pare notes, argue our points, get into ner on your hands. make or break a RTS game. It’s one of fights, and then make one change at a MISSION DESIGN. Mission design the hardest things to do on the design time to the game and try it again until 5.is one of the most important side of the product since you’re essen- we were all satisfied with the results. elements of RTS games. Based on expe- tially trying to optimize an equation The whole process took about three rience with previous games, Westwood with dozens of independent variables. months for TIBERIAN SUN, compared to has established a series of processes If you get it wrong, you’ll have a that are used whenever a mission is boring game and a horde of dis- created. We’ve designed these gruntled fans cursing your name processes to foster creativity, maxi- forever. When the issue of bal- mize efficiency, and promote com- ancing comes up, you’ll often munication between the design, hear about the “rock-paper-scis- programming, art, and manage- sors” idea, but I like to think of it ment groups. This process has been more in terms of a chess game. refined on every project and we’ve You’ve got a lot of different taken it to the next level with the pieces, each with a unique func- upcoming FIRESTORM add-on. tion and set of strategies that The process begins with a mission takes a long time to master. design proposal submitted to the Having made several RTS lead designer and producer. The games before, the team knew proposal is a two- to three-page doc- how to balance a game. We start- A Nod obelisk of light incinerates its attackers. ument that contains summary ed with two approaches: one sci- information about the mission such entific and one artistic. as name, side, difficulty, map size, Using the scientific approach, mission type, and so on. The mis- we started with the relatively sim- sion briefing is included along with ple idea that in a steady state a description of what the briefing units with an equivalent cost movie should be and all of the criti- should do equivalent damage to cal information that must be one another. The basic idea is revealed to the player. Mission that if I have $1,000 worth of objectives are listed as they would units and you have $1,000 worth appear in the game, along with spe- of units and they fight, the fight cific information on how to achieve better be really close. From here, the objectives. Win and lose condi- we kept adding variables until we tions are created, as well as descrip- had a relatively playable game. tions of the victory and defeat The next step was a lot more movies that play at the end of a mis- artistic and was where experi- sion. The last things included are all ence really paid off, keeping the GDI forces destroy a vital Nod caravan. of the new voice and text messages team from long periods of fum- used in the mission. http://www.gdmag.com FEBRUARY 2000 GAME DEVELOPER POSTMORTEM

Once this proposal fire to trees to burn has been approved, a path into an the map for the mis- enemy’s base. We sion is sketched out wound up cutting on paper. We’ve this particular fea- found that this ture because it process can save a caused path-find- great deal of time ing problems. Also, since it eliminates dis- battles with heavy tractions and allows weapons would the designers to get an cause cratering of overall view of the terrain which map quickly. When hindered unit the designers finish movement. sketching their mis- We could have sion, they proceed to used it to create the editor and begin more new strategies to create the basic bat- for players, and tlefield. Terrain is laid since it was one of 50 down first, followed GDI Titans lay waste to the Nod base. the more expensive by buildings, roads, features in the trees, and pavement. game, we could The final step to complete a mission have squeezed a lot more use out of it. is to take a map and add scripting, Trying to fill the shoes left behind which takes approximately two-thirds by RED ALERT proved to be daunting. If of the time to create a mission. One of you had asked a dozen people what the great things about TIBERIAN SUN is they expected out of TIBERIAN SUN that the editor is tied directly into the before it was released, you would have game, which allowed designers to heard a dozen different answers. We switch rapidly between the editor and devoted a lot of effort to add as many the game. This feature also proved to features into the game as possible be a liability, however, because if a bug instead of just trying to make the best appeared that prevented the game game we could. Getting into a feature from running, we couldn’t run the edi- war is one of the worst things that can tor, either. occur during development because it TIBERIAN SUN features a good blend of siphons effort away from adding the production (such as building bases) “fun” to the game. and non-production missions that keep FEATURE CREEP. TIBERIAN SUN start- the pace of the game interesting and Concept sketch of a GDI Titan. 2.ed strong and we developed a challenging. We tried not to do the robust and large feature set we intend- same mission twice and added variety ed to fulfill. The project started by combining mission types into non- enced developers who wanted to beat smoothly, but as we progressed, the production/production missions that their own expectations while simulta- temptation to add new features not switch from one to the other when neously building a game that would be included in the design document grew. players reach specific objectives. everything the fans of the series These features arose out of shortfalls in Branching missions were added to give expected and more. This was not a real- the original design, omissions from the players the option of completing sub- istic goal since it’s just not possible to original design, and input from fans. missions before they tackled the main make something that will meet every- Everybody stresses the importance objective. By playing sub-missions first, one’s expectations. of working off of a design document the player makes the final objective One of the things that we did not and not deviating from it. Unfortun- easier and it gave the designers added do was explore all of the new features ately, this just isn’t realistic since granularity when creating the difficulty to their logical conclusions. This every product evolves during the levels for the game. would have allowed us to do a lot course of development and sometimes more with a smaller feature set and the original design proves to be lack- provide an even better game. A perfect ing. A team has to be able to incorpo- What Went Wrong example of a feature that was begging rate new ideas during development if to be used more is the dynamic-battle- the final project is to be better. How- UNREALISTIC EXPECTATIONS. The field concept. The basic idea behind ever, the flip side of this idea is that 1.degree of hype and expectations the dynamic-battlefield concept is the team must be able to cut features that TIBERIAN SUN had to fulfill was that players’ actions alter the battle- diplomatically when it is in the best staggering. We had a team of experi- field. For example, a player could set interest of the project.

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com TIBERIAN SUN‘s development had many challenging moments when fea- tures had to be cut for one reason or another. A perfect example of this was the ability to order a limited number of units through a drop-ship loading screen before a mission. This sounded like a great idea on paper and we had already coded it and incorporated it into the game. It wasn’t until we actu- ally played with it that we realized it just didn’t fit and had to be removed. Looking back at the project, I think we could have been more aggressive in cutting or changing certain features to make sure their returns were really worth the development investment. I’m a firm believer in the idea that less is more and that fewer but more fully developed features are the way to go. If 51 a feature isn’t amazing, you should cut it or make damn sure it becomes amaz- ing before you ship the product. POST-PRODUCTION COMPLICATIONS, 3.COMPOSITING WOES. TIBERIAN SUN features the most complex and highest- quality cinematic sequences Westwood has ever done. These movies help drive the story elements forward. However, these movies came at a very high price. A disc thrower waits for reinforcements. Westwood has a soundstage with a bluescreen and in-house post-produc- tion capability that allowed us to han- dle the entire production ourselves. We’ve done several different projects with video, including RED ALERT, , and RED ALERT RETALIATION for the Playstation. Based on these past experiences, it was decided that we would push the limits of what we could do in TIBERIAN SUN. We started by fully storyboarding every scene in the script. From the storyboards, we built concept sketches of the major sets to be constructed (practical as well as computer-generat- ed) and proceeded to build the sets. Before the shoot there was a three- month lead time for our team of six 3D artists to build the sets. We wanted to have the sets 100 percent complete so we would have camera and lighting information to match up with the live actors. For various reasons, the pre-produc- tion for TIBERIAN SUN was much shorter than it should have been. If you’ve ever worked in film or television pro- duction, you’ve probably heard the phrase “we’ll fix it in post.” Believe me A hover MLRS fires a volley. when I say there’s a reason why this lit- http://www.gdmag.com FEBRUARY 2000 GAME DEVELOPER POSTMORTEM

60 minutes of digitized video. West- wood has a very robust and fast net- work with a large amount of storage space, but it was never designed to meet the needs of video post-opera- tion. An amazing effort by the MIS staff and a couple of called-in favors got us enough storage space on the network to keep going. From the start, the team struggled to get video from digital beta to the SGI- and PC-based compositing sys- tems. Footage was digitized on an Avid system and copied to file servers for distribution to the PCs. The SGIs grabbed the footage directly from tape using built-in digitizing hardware. From the compositing stations, various shots were completed and transferred 52 back to a file server to be compressed and put in the game. This, along with the fact that many individual scenes Devil’s Tongue Flame Tank crashes a gate. were worked on by several artists, mul- tiplied the storage requirements sever- al times over. In the end, the video assets were spread across four separate file servers and took up well over 500GB of space. Not only was space a problem, but moving hundreds of megabytes of files a day from machine to machine became a bottleneck. A few minutes here and there to transfer files doesn’t sound like much until you add it all up. If we had it to do over again, we could have alleviated the problem by building a very specialized (and expen- sive) network, by getting hardware that allowed artists to digitize their footage directly from tape, or by reducing the scope of the project and sidestepping the problem entirely. LOCKED DOCUMENTS TOO EARLY. One 4.of the side effects of schedule Drop-pod infantry surveys the battlefield. slippage was that we locked our docu- ments too early in order to achieve the localization plan. We knew this was tle phrase can spook even the most vet- Biehn. Going into the shoot, we had a going to wind up causing us significant eran members of any production crew. pretty good idea of how we were going pain, but at the time there was nothing Anything you have to fix after the fact to work out all of the technical details we could do to avoid it. The result winds up being ten times as difficult such as camera tracking on a bluescreen, turned out well, but a lot of time and and ten times more expensive than matching lighting to computer graph- effort was spent to make everything planning for it in the first place. ics, compositing, and so on. However, work together. Everybody on the team knew this and we ran into difficulties because we did- At the point when we locked the we tried as hard as we could to work out n’t allow enough time for the more audio script, mission design and bal- all the details before we started the complex shots and were forced to edit ancing were not complete. As we shoot. The problem was we didn’t have on the fly during the shoot. played through the missions, we real- enough time and couldn’t change the An unforeseen problem during the ized that certain objectives were not date of the shoot because we wouldn’t post-production was that we dramati- clear and needed to be explained fur- have been able to get our two main cally underestimated the storage and ther. The previous method for doing actors, James Earl Jones and Michael network requirements of working with this was to have the in-game AI per-

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com sona (Eva or Cabal) relay the informa- tion to the player through voice cues. This was not an option for TIBERIAN SUN, however, since we made the switch to professional voice talent for Eva and Cabal. Costs and scheduling didn’t allow us to do as many pickup recording sessions as we wanted. Also, the locked audio scripts were already localized and recorded, which made recording additional lines out of the question. The only option available was to redesign the missions or add text to the missions to make the objectives clearer. Redesigning the missions would have added at least a month to the already late schedule, so we quickly ruled that option out. We wound up going with text that popped up in the missions, 53 although the original design called for all text in the game to be accompanied by a voice-over. Mobile sensor arrays deploy to detect stealth tanks. SCHEDULING PROBLEMS. As with 5.most projects in development today, TIBERIAN SUN suffered from scheduling problems; ours resulted in a nine-month delay. There wasn’t a sin- gle reason that caused the product to be delayed, but rather a series of seem- ingly minor contributing factors. Brett Sperry has a rule of thumb that we often refer to when scheduling pro- jects. When you add one fundamental new technology to a project, it can cause slippage up to 90 days. When you add two fundamental new tech- nologies it can add a year to the antici- pated release date. When you add three or more new technologies it becomes impossible to predict the release date of the project accurately. TIBERIAN SUN features three new sys- tems that resulted in an unpredictable schedule. First, we switched our core Disruptors power up. graphics engine to an isometric perspec- tive in order to enhance the game’s 3D look. This resulted in a cascade effect of missions. Each new trigger added was fun AI that could react to the player’s broken systems that weren’t anticipat- more specific than the last and was actions and change tactics to compen- ed. Bridges that could be destroyed and used for increasingly rarer conditions. sate. We should have focused on fewer rebuilt, for example, wound up taking Since triggers could be used in combi- areas of the AI instead of trying to over ten times as long to program as we nation, we ended up with an over- redesign the whole package from the originally estimated. Adding bridges whelmingly large number of events ground up. complicated systems such as path-find- that needed to be debugged. We ing, Z-buffering, rendering, unit behav- would often fix one trigger to work in ior, and AI. a specific situation and inadvertently Overall Tips Scripting was another area in which break the same trigger in a different we added a slew of new functionality. situation. ith TIBERIAN SUN, we built the We added an increasing number of AI and unit behavior was the third W game we originally set out to triggers to the game to allow the main area that used new technology. build over three years ago. Almost all designers flexibility in creating the We set out to create a challenging and of the new engine features we designed http://www.gdmag.com FEBRUARY 2000 GAME DEVELOPER POSTMORTEM

were implemented in the final product, and many more were added along the way. We built a game that is as easy to play as its predecessor while offering up lots of new units featuring interest- ing tactics. All of this was done while keeping the system requirements low enough to run on most systems: a 166MHz Pentium with 32MB RAM and a 2MB video card. We learned, or relearned actually, a few more things about making RTS games that weren’t listed above. They are: • If the game has Internet or multi- player capability, build this func- tionality as soon as possible since it will let you get into the game and balance it early. 54 • Don’t shield yourself from reality. If your game supports Internet play as well as LAN play, don’t play only LAN games and assume Nod laser turrets repel a GDI horde. that Internet performance is acceptable. • Keep the story tightly focused on players’ actions and don’t treat the story as a separate entity. Remem- ber that the player is always the main character. • Wherever possible, try not to mix disparate technologies (3D visual systems with 2D, for example) that have inherent problems working together. Instead, go back and modify the design. In the sense that TIBERIAN SUN was a game with lots of expectations for a sequel, it was a lot like Star Wars: The Orca fighters escort a transport. Concept sketch of a GDI Orca bomber. Phantom Menace. No matter how the final product turned out, there would be people that complained that it was too much like the original and others who thought it wasn’t enough like the original. As a company, we set out to deliver what we intended — a fun new RTS game that offers players a slew of new tactics. After three years of working on TIBERIAN SUN, it was a great feeling to finally finish the game and see it on the shelves. No matter how many products you ship, that feeling never goes away. TIBERIAN SUN broke Elec- tronic Arts’ sales record for the fastest- selling computer game in the 17-year history of the company with more than 1.5 million units sold so far. But best of all, the team is proud of the product they created and can’t wait to A Wolverine on the firing range. get started on the next one. ■

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com SOAPBOX by Levelord

Exposing Myself

am currently working on the PC game version of denying that, other than perhaps for religious reasons. In our hearts, we may Heavy Metal’s F.A.K.K. 2 movie. First and fore- not all be violent, but underneath our clothes, we’re all naked. I’m all for rat- most on my mind right now is the major hang- ings systems that classify games and movies so audiences know what to up we Americans have with nudity. expect, but what I do not understand is I why nudity, a completely natural state As you may know, Heavy Metal, both exposure. I can’t show a single nipple in which we all arrived in this world, is the movie and the magazine, is defi- in a game without some uptight funda- lumped into the same category as vul- nitely sexually oriented and has lots of mentalist writing a letter to the store gar language and even violence. 60 nudity. Yet I’m having a hard time where they bought it and having the By now you must be thinking to incorporating even the slightest of store take it off the shelves. Conversely, yourself, “Hey, this guy just wants to see naughty bits into the game. I’m not I can put a baby carriage in the very more naked women!” To which I would advocating sex and pornography in same game and blow it up with little be inclined to say, “Yes!” My desire to computer games, but I think our cul- retail consequence. put nakedness in F.A.K.K. 2 is strictly for ture goes way too far in restricting the The media have been afire the past the purpose of being sexually suggestive exhibition of the unclad physique. few years because of all the violence in and titillating. Since nudity is natural I have been preoccupied with American entertainment. Although it and occupies so much of our minds Americans’ phobia of nudity a lot late- ly. I may sound over-reactive and per- haps even juvenile, but after 42 years of living in this hypocritically puritan country, I must jump on the soapbox and protest this prudish disposition of ours. Maybe it’s the influence of spending my impressionable years in the 1960s and 1970s among hippies, or maybe I’m the one with the true hang-up and doth protest too much, but what I see in our country’s atti- tudes towards the bare human form is diseased and deviant. I’m not saying has been seen as a problem since the anyway, I simply don’t see the harm we should all parade down Main Street early 1960s, it still reigns as one of the and I don’t understand the prohibition. in the nude, but as I try to design levels underlying mainstays of American It was my good fortune to have for a Heavy Metal game, I am becoming amusement. I, admittedly, do find worked on DUKE NUKEM. The two intensely aware of the extreme to entertainment in violence. I’m not sure things I hear most about DUKE are its which America is anti-body. if this is an innate behavior due to an degree of interactivity and its strip- Admittedly, any intentions I have to evolution through which the most vio- pers. Not just from immature adoles- include nudity in a computer game are lent aggressor is most likely to succeed, cent teenagers, but from everyone. As purely for its suggestive, sexually or whether it is indeed simply the an example of our ridiculous national provocative, and, yes, even gratuitous influence of this type of entertainment phobia, the original box art showed a usage. Are these motives at all unnatur- during my formative years. Either way, stripper with a nipple exposed. A sin- al? I remember a report that estimated though, I recognize that it is not cor- gle-pixel nipple, one little brownish most people think about sex and nudi- rect and the glorification of violence is square, and we were told that the ty at least 12 times a day. Yet as a game not a good thing. major retail stores in America would developer, I am oppressively banned Nudity, on the other hand is whole- not shelve the game. from even the slightest hint of carnal some and natural. There is simply no Continued on page 59.

The Levelord has been tinkering with games since first downloading the DEU editor for DOOM in 1994. He designed the levels for DUKE NUKEM 3D while at 3D Realms, and the QUAKE add-on pack SCOURGE OF ARMAGON and SIN at Ritual Entertainment, where he is currently working on HEAVY METAL’S F.A.K.K. 2. Contact him at [email protected].

GAME DEVELOPER FEBRUARY 2000 http://www.gdmag.com SOAPBOX

Continued from page 60. tudes about nakedness. Whether an seen by even the youngest of audi- What I would most like to see instance of nudity is gratuitous or ele- ences. Anyone who’s ever visited a change in our industry — the entire gant, I think all Americans need to beach on the Riviera knows that country, actually — is to relax our atti- reexamine their hang-ups. Europeans don’t possess the knee-jerk I have visited Europe a few aversions to nudity that Americans times and get game-related have. Even their television and bill- magazines from many Euro- board ads show nudity with the only pean countries, and it’s clear connection between the merchandise to me that the rest of the and the naughty bits being the fact world enjoys a far more that they recognize and celebrate the mature perspective about the allure of the naked body. naked body (whereas gratu- Nudity is a natural condition that itous violence is deplored). will not disappear anytime soon, and Many foreign cultures allow I’m constantly reminded of how frus- nudity (which is generally trating our own farcical prohibition handled in good taste) to be really is. ■

59