OCTOBER 1998

GAME DEVELOPER MAGAZINE

V GAME PLAN

It’s First and Goal for EDITOR IN CHIEF Alex Dunne [email protected] MANAGING EDITOR Tor D. Berg [email protected] Fantasy Sports DEPARTMENTS EDITOR Wesley Hall whall@mfi.com his fall, as the leaves turn success stories. Unlike the traditional ART DIRECTOR Laura Pool lpool@mfi.com shades of orange and the days studio’s royalty revenue model, SWS has EDITOR-AT-LARGE Chris Hecker grow shorter, one of the two revenue streams: a two-year licens- [email protected] largest, most massively multi- ing agreement to develop more than 40 CONTRIBUTING EDITORS Jeff Lander T [email protected] player games picks up and sucks online games for CNN/SI (http://base- in participants. It’s a role-playing game ball.cnnsi.com), plus revenue from ban- Mel Guymon [email protected] that draws tens of thousands (gads, ner advertising displayed on the CNN/SI Omid Rahmat probably more) of players, and if my game’s web pages, which garner 50 mil- [email protected] predictions are right, it will be one of lion page views per month. Surprisingly, ADVISORY BOARD Hal Barwood the most popular attractions on the and in contrast to most commercial fan- Noah Falstein eventual TV set-top box. I’m talking tasy leagues, some of the CNN/SI Brian Hook about fantasy football leagues. leagues are free for participants and Susan Lee-Merrow It’s taken quite a bit of time for me to offer cash prizes for winners. These are Mark Miller 2 accept the fact that fantasy league sports the guppy leagues which, hopefully, (there are also fantasy leagues for base- entice the most enthusiastic players to COVER IMAGE Epic MegaGames ball, hockey, and perhaps even pro join the premiere leagues for $15. beach volleyball for all I know) belong With such tremendous success PUBLISHER Cynthia A. Blair in the same category as “traditional” attracting players to the site and bring- cblair@mfi.com computer games. But the more I ing in advertising revenue, and armed WESTERN REGIONAL SALES Alicia Langer thought about fantasy leagues, the more with the knowledge that the fantasy MANAGER (415) 905-2156 I came to see them as kin to many other sports market is growing approximately alanger@mfi.com popular video and computer games. 25 percent per year, SWS and CNN/SI EASTERN REGIONAL SALES Kim Love MANAGER (415) 905-2175 As the owner of a sports team, your have made plans to develop four games klove@mfi.com role is similar to that of most RPG play- each for the NFL, NBA, and NHL sea- SALES ASSOCIATE Ayrien Houchin ers: put together a balanced, effective sons, including mid-season and playoff (415) 905-2788 ahouchin@mfi.com team based on attributes such as speed, games, and games with different styles strength, and toughness, and pit the and scoring systems. team against opponents. The select More traditional game developers MARKETING MANAGER Susan McDonald players you designate as “active” for have begun staking their claims in this AD. PRODUCTION COORDINATOR Dave Perrotti that week earn you points based on the market, too. , the king of DIRECTOR OF PRODUCTION Andrew A. Mickus actual statistics they earned in NFL sports games, recently announced a new VICE PRESIDENT/CIRCULATION Jerry M. Okabe games. (Scoring systems in fantasy web site called “The EA Sports Edge” ASST. CIRCULATION DIRECTOR Mike Poplardo leagues are often pretty complex.) Based (www.easports.com/99/easportsedge/). CIRCULATION MANAGER Stephanie Blake on your weekly points, you either tri- The site offers recommendations on fan- CIRCULATION ASSISTANT Kausha Jackson-Craine umph over your opponent and improve tasy football league drafts, trades, and so NEWSSTAND ANALYST Joyce Gorsuch your record, or not, and the teams with on, for about $20 per season. I expect REPRINTS Stella Valdez the best records at the end of the season others will follow. As Chris Berman (916) 983-6971 go on to the playoffs and the eventual might say, computer-based fantasy Miller Freeman A United News & Media publication Superbowl. There’s far more to it than sports games could go…all…the…way… this, but as you can see, assuming the CEO-MILLER FREEMAN GLOBAL Tony Tillin role of team manager/club president/tal- CHAIRMAN-MILLER FREEMAN INC. Marshall W. Freeman ent scout during the season holds the Heeere’s Mel PRESIDENT/COO Donald A. Pazour same addictive lure as any RPG. When SENIOR VICE PRESIDENT/CFO Warren “Andy” Ambrose you factor in the huge, rabid market for This month, I’d like to welcome Mel SENIOR VICE PRESIDENTS H. Ted Bahr these pay-for-play leagues (recent esti- Guymon to Game Developer as the new Darrell Denny mates pegged the fantasy sports market Artist’s View columnist. Mel penned David Nussbaum at eight to ten million people), you August’s character animation tools arti- Galen A. Poss begin to see the potential. cle. He’s a 3D artist who’s recently Wini D. Ragus One company that’s quickly become worked on high-profile projects for Regina Starr Ridley a force in the fantasy sports game genre Zombie, Eidos, Psygnosis, and others, VICE PRESIDENT/PRODUCTION Andrew A. Mickus is New York-based Small World Sports and he brings a wealth of technical VICE PRESIDENT/CIRCULATION Jerry M. Okabe (http://sports.smallworld.com). SWS, a knowledge and creative experience to VICE PRESIDENT/ KoAnn Vikören GROUP DIRECTOR small company that started in a dingy bear in the column. Welcome, Mel. ■ SENIOR VICE PRESIDENT/ Regina Starr Ridley apartment four years ago, looks to be SYSTEMS AND SOFTWARE one of this year’s game development DIVISION

GAME DEVELOPER OCTOBER 1998 www.gdmag.com SAYS YOU

Indie Game Festival The demise of the company is espe- lenges to point to in the industry — but cially frustrating because I feel that our not the best explanation for Newfire’s latest efforts were technologically supe- unfortunate death. Newfire would have ith regards to Alex Dunne’s rior to most titles out in the market. been better off creating a custom 3D W September editorial ("Where's With a crack engineering team making engine first (no standards) with Our Sundance?"), this is a major issue technological improvements to the tools/plug-ins to ease the art path and for developers, and proves to me yet engine on a coding, possibly addressing the issue of again that while we want to make weekly standards down the road. incredibly cool games, publishers want Your two cents. E-mail us at Galen Tingle to make money with games they know [email protected]. Or write to Game via e-mail will sell well because they resemble Developer, 600 Harrison Street, San previous best-sellers. Francisco, CA 94107. basis, fter reading your August One of the prob- who A GamePlan, “Requiem For a Game lems with creat- could go Engine Company,” I was moved and ing an indie wrong? Yet, apparently, there distressed. I’m an artist who is interested festival is were still questions about our direc- in game development and game graph- that the tion. Some people in the industry felt ics. I needed a that was games would we had an identity crisis with respect to affordable, and one that could offer me need to be our customers. The question was often the ability to create a small demo to 4 created to getXraised, “Is Newfire going after con- pass around to game development com- there, and many small sumers or developers?”. Some wondered panies. Eventually, I decided on the developers can't create the games with- whether people would pay a few hun- Acknex engine by Conitec. Though I am out the funding. After all, making a top dred dollars for a superior QuakeC-type still learning to use it, I am thus far very shelf game these days takes more than development environment. Still others satisfied with it. I’m relieved that I could $1 million — not exactly chump felt we cheapened ourselves by selling find a tool that would allow me to con- change. Of course, the spirit of indie short to small developers. trol a game environment without going films is, as Dunne said, smaller budgets, And yes, a number of us at Newfire into years of training to learn so this may not be a true obstacle. did want to develop a game with the code. Premade game engines should be Perhaps in the first round or so, technology. Many people just can’t encouraged among independent devel- developers could submit games that believe that while we won so many opers not only because of the time and they created that were market "flops," awards, we had little sales, our funding money saved, but also because it allows yet still garnered outstanding critical cut, and as a result, folded a few months fresh new thinking into the industry by acclaim. God knows, there are enough later. Thank you for your bittersweet encouraging talented people outside to of them to keep the festival full for sev- retrospective. explore it. It’s the industry’s loss if they eral years. This could be an excellent Former Newfire employee can’t warm up to the idea of a packaged extension of the GDC functions, as all (name withheld by request) game engine. I believe that in the future the right people will be in the right those who learn to use this kind of tool place. E3 simply has too much going on lex Dunne makes some good creatively will have a huge advantage (especially thanks to the massive bud- A points about the nature of the over those who spend extra (and often gets for booths like ). industry in his article, “Requiem for a unnecessary) time churning out code. A Anyway, this is clearly an idea whose Game Engine Company,” but the rea- little creativity and a pre-made game time has come. son that Newfire went under had less to engine could accomplish the task as Patricia Pizer do with the nature of the industry, and well, if not better. CogniToy more to do with selecting VRML as the Leon Wisocki foundation for a 3D engine. It’s a chal- One Angry Goldfish Productions lenging medium in which to work. Hats Mourning Newfire off to Newfire for trying to go the stan- dards route, but their decision to follow Motivate’s New Pricing the rocky path of VRML/Java led to a hank you for August’s interesting hard sell to offline developers who T perspective on Newfire. It’s good to want C++ and cutting-edge engines. hanks for Dan Teven’s in-depth know that some people recognized the In regards to their online run-time T review of our Motivate game importance of my former company. As a (Heat/Torch) and tool ambitions, their authoring software in your August issue. former Newfire employee, I viewed my competition was huge: Cosmo and We are happy to say that we’ve coworkers, for the better part of a year, Intervista — free VRML plug-ins/3D addressed his key concern — pricing. as my family. It seems that whenever I engines with big backers. It was difficult We have introduced a $3,500 per wear a Newfire shirt, someone to compete with free products (and seat pricing model that enables users to approaches me and asks about the com- huge marketing budgets). purchase a perpetual license for the pany. I give much of this recognition to “Credibility issue,” “competition with Motivate Development Tools and SDK. Harry Vitelli, who was the VP of market- in-house solutions,” “lack of proof of David Pritchard ing for Newfire. concept,” and pricing are all valid chal- CEO, The Motion Factory Inc.

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com BIT BB LL NEWS FROM THE WORLD

INDUSTRYINDUSTRY Physics for All MOTIONAL REALMS AND LATERAL WATCHWATCH LOGIC have both developed tools to by Alex Dunne assist with game physics. Motional Realms has just released ReelMotion for BLACK ISLE. Interplay launched a new Windows. ReelMotion is a new stand- RPG division, Black Isle Studios, which will alone software program that uses physics release BALDUR’S GATE and FALLOUT 2 later to animate vehicles and rigid-body 6 this year. Led by FALLOUT veteran Feargus objects. Import rugged terrains, fly heli- Urquhart, Black Isle Studios also employs copters, roll cars, add external forces experienced RPG designers Guido Henkel (think missle explosions), and crash into and Zeb Cook. In other Interplay news, the inanimate objects (with varying resis- company signed an exclusive deal with ReelMotion’s user interface. tances, of course). The tool is ideal for 3000AD, Inc. to distribute Derek Smart’s animating space and aerial dogfights, BATTLECRUISER 3000 AD 2.0. The original accident recreations, and cut scenes, BATTLECRUISER 3000 AD was released by among other applications. As the animator, you use a mouse or joystick to drive or Take Two in 1996, and quickly became fly a vehicle through a scene. ReelMotion’s real-time OpenGL display will then pre- embroiled in controversy due to rampant sent you with a 3D view of the action. Reel Motion sells for $795 and is now avail- bugs, incomplete documentation, and a able for computers running MacOS, Windows 95 or 98, and Windows NT. laundry list of other problems. Interplay will Lateral Logic has also recently released a physics-based product, the Lateral release the version 2.0 through its "value Collision Engine (LCE), a comprehensive collision detection system designed for products division" for about $20. interactive graphical environments. Instead of creating application specific solu- SUPPLY VS DEMAND. Chip maker tions for collision detection, developers can now integrate collision detection capa- filed suit against one of its own cus- bilities right into their game. Lateral Logic claims that the product may be adapted tomers, charging STB Systems with breach to your application within only three to five days (as opposed to the weeks or of contract. 3Dlabs claims that, in violation months this usually takes). LCE provides game developers with exact penetration of contracts between the two companies for regions, contact points, and collision normal vectors for every collision. Another the sale and purchase of chipsets, STB object-oriented product from Lateral Logic, the Lateral Dynamics Engine (LDE), is failed to pay 3Dlabs over one million dol- due out in the Fall of this year. The LDE has three main modules, a modeler, run- lars. As we go to press, STB has not issued time solver, and an API. any statement regarding the suit. LCE Pro began shipping on September 15, 1998. The LCE Pro developer toolkit IN A DEFT MOVE, Hasbro acquired will be $3,500 for one nodelocked run-time license. Additional licensesare $1,500. MicroProse in a deal valued at approxi- Volume pricing is available. mately $70 million. Hasbro formerly ■ Motional Realms, LLC ■ Lateral Logic Inc. employed no internal developers, but this Reston, Va. Montreal, Canada acquisition brings aboard a deep reserve of (703) 860-0714 (514) 287-1166 development experience. The deal also http://www.reelmotion.com http://www.llogic.com strengthens Hasbro’s overseas distribution, thanks to MicroProse’s strong distribution will allow you to paint directly on all network in Europe. In a separate announce- Softimage Ships 3.8 geometry types). This version also ments, MicroProse released its first fiscal increases texture-mode performance by quarter results, and reported a loss of $7.8 SOFTIMAGE announced at SIGGRAPH up to 40 percent. million on revenues of $12.2 million. In the the shipment of Softimage|3D 3.8, the Version 3.8 is available, free of past year, the company burned through latest version of its 3D animation tool. charge, to all Softimage|3D customers almost 90 percent of its cash, going from New features in 3.8 provide better data under a maintenance contract. For new $41.2 one year ago to just $4.3 million. The management and more efficient game clients, the base rate begins at $7,995. acquisition came at a good time. production. They include an anima- ■ Softimage, Inc. HOLD ONTO YOUR HATS, FOLKS, tion sequencer, interactive polygon Montreal, Canada. because Mattel is releasing a game based reduction, resolution-independent (514) 845-1636 on John Gray’s best-selling book, the infa- enveloping tools, and 3D Paint (which- http://www.softimage.com

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com AA SS TT SS OF GAME DEVELOPMENT

■ Right Hemisphere Ltd. mous Men Are From Mars, Women Are From 4D Paint 2.0 Auckland, New Zealand Venus. The game, named after the book, is +64 (9) 309-3204 Mattel’s "flagship adult game" and "is a RIGHT HEMISPHERE LTD. has http://www.righthemisphere.com great vehicle to talk about relationships in a announced 4D Paint 2.0, due to ship in casual setting," according to Gray. Since Q4 of 1998. you’re undoubtedly dying to know just how Known for its natural media paint they managed to squeeze a game out of this tools, 4D Paint caters to professional 2D Animate the Face gem, I reluctantly offer the following. Two artists who wish to make the transition TECHIMAGE recently unveiled teams, men (Mars) and women (Venus) play to interactive 3D environments without Artiface, a new tool which allows you against each other. Players can be couples learning complex modeling techniques. to create 3D facial animations (both or singles. Starting on their respective plan- 7 The 3D paint system for the NT plat- realistic and fanciful) without turning ets, players answer questions about how form has made improvements which to traditional key-framing. they think, what they like and for what they CEO Mark Thomas describes as “a Artiface captures the facial movements wish. Teams advance on the game board quantum leap.” 3D Rendering quality of an actor in 2D video, extracts 3D path when they guess correctly how others and speed are both juiced up, and a full motion data via image analysis, and will answer. The first team to reach Earth quality raytracing render option has transfers the movements to any 3D wins. Of course, like any feel-good game, also been added to generate high quali- model by applying an anatomical mus- there are no right or wrong answers. Yikes, ty stills. 4D Paint 2.0 will have all the cle structure. Because of its precision, I need to shower now. same integration with 3D modeling sys- Artiface can also perform accurate lip NINTENDO announced a barrage of inter- tems, plus a new UV mapping opti- synching. The tool requires no special- esting marketing programs recently. The mization system named “Mercator.” ized image markers or company signed a $17 million deal to pro- Further, the tool will now support hardware equipment. Only one video mote Pokemon monsters with Kentucky Adobe Photoshop plug-ins and a bi- camera is required to record the Fried Chicken meals, snack-maker Keebler directional interface to Photoshop. motion of the actor’s face. The software is going to market BANJO-KAZOOIE with its 4D Paint supports Windows NT on includes specialized sculpturing and foods, and apparel manufacturer Tommy both and Alpha platforms, and enhancing tools to produce special Hilfiger will put N64 kiosks in almost 1,000 Windows 95 or 98. It also supports a effects. mall department stores where it sells Wacom or compatible pressure-sensi- Artiface supports SGI workstations clothes, allowing customers to play titles tive tablet. Pricing is expected to be running Softimage|3D and such as 1080 SNOWBOARDING and F-1 WORLD $695 for the Intel platform and $895 Alias|Wavefront PowerAnimator 3D GRAND PRIX. for the Alpha version. The plug-in packages. It sells for $7,995 for a single 3DFX SETTLED its year-old lawsuit interface will be priced separately. nodelocked version, and for $9,995 for against Sega, Sega of America, NEC, and a floating network license. VideoLogic. An agreement was reached ■ TechImage, Ltd. behind closed doors to drop the $200+ mil- Herzelia, Israel lion claim, which was originally filed after 972 (3) 673-4591 Sega terminated a contract with 3Dfx to http://www.techimage.co.il develop graphics hardware for the Dream- cast console. In the suit, 3Dfx had claimed breach of contract and threatened misap- propriation of trade secrets. LOSS AND GAIN. 3DO reported a nar- rower-than-expected loss for its first fiscal quarter ending June 30, buoyed by strong sales of its MIGHT AND MAGIC IV and ARMY MEN titles. 3DO’s net loss came to $2.6 mil- lion, compared to a profit of $21.2 million for This sphere from 4D Paint 2.0 has its the same period last year. The good news color, bump and shininess rendered. for the company is that its software rev- This is all done in real-time,and the Artiface translates an actor’s motions enues were far ahead of last year, reaching sphere can rotate and pan, too. onto a 3D model. $9.5 million, compared to $2.3 million a year earlier.

http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER by Jeff Lander GRAPHIC CONTENT

Taking a Break for SIGGRAPH

IGGRAPH time has come and gone again, so I thought I would update readers on the state of technology available for real-time 3D developers. Walking the exposition floor, I looked into where companies are going S with real-time 3D. Game Developer for more information. ed to be released shortly. Currently, Inverse Kinematics Solutions Katrix also provides inverse kinemat- MetaCreations has announced support ast month, I left off creating an ics technology. The company has for 3D Studio MAX R2, as well as their L inverse kinematics system. I focused primarily on driving virtual own products, Infini-D and Ray Dream thought I would take a look at the pro- characters around the desktop for web Studio. Use of an open format for mul- gramming libraries available to handle pages. However, the libraries they have tiresolution models would create a con- 9 such a task. You certainly will get the created for inverse kinematics would venient production pipeline for game most flexibility by creating your own IK also work well in a real-time game envi- producers — but it would have to han- system, but given manpower, budget, ronment. Katrix makes licensing dle textures, hierarchies, and animation and deadline constraints, this isn’t arrangements on an individual basis. as well as geometry to be very useful. always possible. As it turns out, a couple We will have to see if the format is of companies with a great deal of experi- robust enough to fit the needs of devel- ence in robotics research are ready to do MultiResolution Modeling opers. I know one thing that has been the work for you. sorely lacking in 3D production is a Motion Factory’s Motivate system has hot topic at the past two SIG- method of exchanging animated and a very sophisticated solution for game A GRAPH conferences, and at the textured objects between graphics tools. developers who want to add intelligence CGDC this year, is the issue of auto- In order to gain wider acceptance, either to their games. Motivate is a finite-state- matic generation of levels of detail for MetaCreations or some third party machine-driven animation system that 3D polygonal models. A couple of dif- would need to create import/export can be programmed to perform com- ferent companies provide commercial plug-ins for the other mainstream 3D plex tasks. The system has an internal solutions to the multiresolution model- programs used in game production. 2D path planning and hierarchical ing issue. If you recall from my August MetaCreations’ decision to release the inverse kinematics solution that brings 1998 Game Developer column (“Looking reader code as well as the file format life to the world. You can bring in hier- Forward with a Backward Glance at the publicly will certainly aid developers in archical characters, give their joints CGDC”), multiresolution models can getting these models into their own pro- degree-of-freedom restrictions, and then be used to create different levels of duction tools and game engines. keyframe animate them. The tools are detail on-the-fly. You can accomplish MetaCreations is not the only tech- very polished. Motivate’s programmers this by dynamically increasing or nology company working on this issue. have clearly taken the time to simplify reducing the polygon count in the Sven Technologies has a continuous their tools and make them very robust. model as needed to make the object level of detail solution for game devel- Most game programmers never have highly detailed and to keep the frame opers called MRG. They focus exclusive- time to clean up the production tools rate of the game constant. ly on high-level real-time 3D perfor- and make them nearly this easy to use. In August, I mentioned that mance. This allows them to work The Motion Factory just announced a MetaCreations had teamed up with one-on-one with their clients to tune perpetual development license at $3,500 Intel to create a toolset and API for cre- the technology to suit the individual per seat. This will enable you to proto- ating and displaying these multiresolu- developer’s needs. They take a unique type and test out your game without tion models. This technology has been approach in providing two different paying the full license fee. Once the licensed by Microsoft and was being libraries to support the technology. game ships, the run-time distribution demonstrated in their ChromeEffects MRGPlay is the run-time library that fee of $50,000 still applies. With the web technology. The specification for manages playback of the models on a development license, however, you can the Metastream “open” file format was triangle level. This way, it’s renderer try out your ideas, and then make the not ready at SIGGRAPH, but was expect- independent and will work with any decision whether you want to take the time to develop your own technology or When not vacationing in the humid swamps of the southern United States, Jeff actu- simply buy the license. Check out the ally runs a small real-time 3D graphics company called Darwin 3D. Feel free to send more complete product review of him ideas of what he should really be doing with his life at [email protected]. Motivate in the August 1998 issue of http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER GRAPHIC CONTENT

triangle-based 3D rendering system. The opportunity at SIGGRAPH to talk to the weightings are very sophisticated and compression routines also work strictly vendors and see what was available. easy to use. However, if you find you on the polygon edge connectivity, leav- Many of the major 3D modeling pro- really need to get in there and do the ing the actual vertex locations alone. grams now support a form of weighted weighting manually, it’s now possible. This means that any form of vertex ani- mesh skeletal deformation. It even One of the features that I really like is mation or deformation is completely looks as though this data is available to the ability to control how many bones compatible with their polygon reduc- game developers directly either via an can influence a single vertex when auto- tion algorithm, as long as it doesn’t SDK or a public file format. matically weighting. This can either be change vertex ordering. If your game On the high end, Maya from N Links, 2 Links, 3 Links, 4 Links, or No engine requires vertex-level animation, Alias|Wavefront supports a sophisticat- Blending. The No Blending case is simi- the MRG system offers an advantage. ed system of skeletal deformation. lar to Character Studio R1, where each The second API in support of the Through the Maya Artisan package, it’s vertex is assigned to exactly one bone. MRG technology is MRGAuthor. While even possible to paint weight values By allowing the choice of restrictions, it Sven provides a tool to create MRG through the 3D paint interface. This is is possible to set up a character that is models from standard 3D files, direct an elegant and efficient way to set the exactly optimized for your game engine. control of polygon reduction is limit- weight values. You can then extract the If for example, your game engine is ed. However, the MRGAuthor library data through the DevKit that comes restricted to each vertex being blended gives the programmer access to and with Maya. between two bones, you can set that up control of the algorithm that processes N-World from Nichimen also sup- easily. You can see a screenshot of the 10 the 3D model and creates the MRG ports many levels of deformation. In new Physique in action in Figure 1. data. This API will make it quite easy to addition to weighted envelope deforma- Game developers interested in getting integrate the MRG compressor into tion, you can manipulate vertices direct- this information out of MAX should custom production tools. I believe that ly through the animation. This provides definitely check out the file PHYEX.P in allowing developers to control the cre- a form of interpolated shape animation the CStudio/Docs directory on the ation process is critical to creating real- on top of the skeletal deformation. The Character Studio disc. This file describes istic multiresolution models. data is available to developers in the the export interface for Physique and Licensing for the Sven MRG libraries Game Exchange 2.0 file format. The shows how you would extract the vertex is $15,000 plus a $5,000 annual service specification for this format is publicly weights from a MAX scene. contract for royalty-free single-title available from Nichimen. Just in time usage. Site licenses and royalty-based for SIGGRAPH, Nichimen announced schemes will be discussed on a case by that Alias|Wavefront would also be sup- Affordable 3D Model Creation case basis. MetaCreations licensing is porting Game Exchange 2.0 in Maya. handled on an individual basis, so no By far, most of the e-mail I received he vast majority of the e-mail I standard pricing is available on skeletal deformations contained T receive comes from people seeking questions about the ability to create sin- advice about an affordable 3D model- gle-skin meshes in 3D Studio MAX. In ing program. It seems that many peo- Deformable Single-Mesh Animation Character Studio R1, it was possible ple working on their own 3D game only to assign vertices to a single bone. engines and projects cannot afford the any of you who read my column This didn’t look nearly as good as fully $2,000-$10,000 required to play with M in the May 1998 issue of Game weighted skins. Luckily for us, Kinetix the nice toys. While I can certainly Developer (“Skin Them Bones: Game has released Character Studio R2. This understand and relate to this, I’ve Programming for the Web Generation”) new release includes a new version of never had a very good answer. sent me e-mail asking what 3D model- Physique that uses weighted envelopes Unfortunately, most shareware applica- ing packages besides Softimage support to handle the deformation. The tools to tions are not very polished or full-fea- weighted mesh deformation. I took the create default vertex assignments and tured and the consumer 3D applica- tions lack the export and texturing features needed for real-time asset cre- ation. Luckily for us, Nichimen created Nendo. At $99, Nendo is a real bargain. It provides the same easy-to-use poly- gon modeling tools that Nichimen made famous in their high-end model- ing package. It also includes a variety of texturing tools as well as an easy-to- use 3D paint system. Most importantly to game developers, it exports 3D mod- els to VRML 2.0, .3DS, and .OBJ file for- FIGURE 1. A screenshot of Kinetix’s mats as well as Nichimen’s own Game Physique, which uses weighted FIGURE 2. Nichimen’s Nendo is an Exchange 2.0 format. This should make envelopes to handle deformation. affordable 3D modeling program. it quite easy to integrate into any 3D game engine. All that for $99 seems

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com GRAPHIC CONTENT

like a bargain to me. Check out an head-to-head with the next generation image of Nendo in action in Figure 2. of 3D cards, such as the Nvidia TNT. While there are currently no plans for 3Dlabs’ gamma transformation accelera- Graphics Hardware tor technology to drop down to the consumer space, there was another pro- IGGRAPH isn’t really oriented fessional-level graphics card with geom- S towards consumer graphics hard- etry acceleration entering the market. ware. However, there was plenty of has combined graphics power around for the anima- Evans & Sutherland’s impressive tors and other graphics professionals REALImage 2100 chipset with a new out there. One big news item is that geometry engine that was developed right before the show, 3Dlabs acquired with Mitsubishi. The new FireGL 5000 Dynamic Pictures. Dynamics Pictures will directly compete with the 3Dlabs has never been much of a player in the Glint GMX product line. The fast fill FIGURE 3. Subdivision surfaces cre- 3D consumer hardware market, but rate of the REALImage 2100 should real- ate smooth, organic shapes. 3Dlabs is clearly in the middle of it. ly give the 3Dlabs card a run for the This move certainly boosts 3Dlabs’ money. It’s clear to me that it’s only a position in the professional card mar- matter of time before these features end underlying technology used to create 12 ket, as the Dynamic Pictures Oxygen up in the consumer graphics card mar- their amazing organic shapes. This tech- series of graphics cards are a strong ket. So, get ready to start raising those nique is amazing both for its realistic force within Windows NT 3D anima- polygon counts again. results as well as its elegant simplicity. tion hardware market. I can easily see Creating smooth surfaces from a low- this technology trickling down to the polygon base representation is both consumer space at 3Dlabs. Technology quick and effective, as you can see in On that topic, 3Dlabs’ weakness in Figure 3. After seeing several talks on the Permedia line of consumer hard- any readers have sent e-mail ask- the subject, it struck me that subdivi- ware has been low fill rate and lack of M ing where I get my ideas for sion surfaces may offer an ideal blending modes. To address this issue, where to go with my graphics technolo- approach to the issue of continuous 3Dlabs has announced the production gy. In large part, the answer to that is level-of-detail. Although it sounded as of the Permedia 3. This graphics proces- right here at SIGGRAPH. Until recently, though the issue of real-time applica- sor boasts 250 megatexels per second. I have felt that we were a bit behind the tion had not been explored, it’s certain- Each of these texels are two-pass tex- times in the world of game develop- ly worth a look as an alternative to both tured, bilinear filtered, and perspective ment. Much of the research I have done dynamic polygon reduction and higher- correct. The chip appears to accelerate is on papers that are more than a decade level primitives. It just may solve the the entire DirectX 6 feature set, includ- old. However, the times are changing. issue of dynamic levels of detail. In another talk, Michael Gleicher, After seeing several talks on the subject, it formerly of Autodesk’s Technology center, demonstrated a struck me that subdivision surfaces may offer very interesting technique for applying motion data to a model of different an ideal solution to the issue of continuous dimensions. This method, which he termed “retargetting,” will certainly level of detail. find its place in tools for working with motion capture data and other forms ing all blend modes, and supports 32-bit This year at the conference, there was of character animation. If you’re work- color depth and 32-bit depth buffer pre- much information that was very rele- ing on a project where you need to cision. One interesting feature vant to my real-time 3D work. The apply motion capture data to a variety announced is the inclusion of voxel ren- courses and papers presented help influ- of different character types, you owe it dering. While this probably refers to ence the direction my own research will to yourself to check out this work. support for 3D textures, no one I talked take me, and coincidentally, they repre- While this year I again found to at the 3Dlabs booth was clear on sent the kinds of topics you will see in Andrew Witkin and David Baraff’s what exactly was happening with this upcoming Game Developer issues. So, let course very helpful in my quest to feature. More information should me preview some of the technology I understand the complete picture when become available as the chips go into may be exploring both for my own pro- it comes to physically-based modeling, production later this year. Given the jects as well as the magazine. one of the most interesting develop- Permedia 2’s rock solid performance, by Anyone at the show who saw Pixar’s ments in real-time dynamics was found addressing the blend-mode issue as well outstanding short Geri’s Game, (and on the expo floor. Dr. Michael Shantz as increasing color and Z-buffer preci- who didn’t? It was shown everywhere.) of Intel Corp. was a speaker at the sion while increasing fill rate, the had to be impressed with the work Pixar CGDC this year in a session on dynam- Permedia 3 sounds like it’s ready to go had done. Subdivision surfaces is the ics. At SIGGRAPH, he was in the Intel

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com booth showing off the results of his If you have never made it to a SIG- Next Month continuing work on a real-time dynam- GRAPH conference, and are interested ics engine. The engine displayed a in the direction of 3D graphics tech- ow that my little “vacation” in Tyrannosaurus Rex walking across a nology, you definitely should make a N Orlando is over, it’s time to get height field terrain map. The entire point of attending the show next year. back to work. Next month, I will locomotion engine is driven by You can look at the research in the return to the inverse kinematic algo- dynamics. While this work still has a library after it’s all published, but there rithm. So, dig out those trigonometry ways to go to make it robust enough to is nothing quite like being there. I find books and get psyched-up for it. It’s use in an interactive application, it’s it both inspirational and educational. going to be a very kinematically con- certainly very promising. I was amazed It really is the best time to meet and strained ride. ■ to find out that Intel was not sure what bounce ideas off of the leaders in com- R E F E R E N C E S to do with this research. If you are puter graphics. I have never failed to interested in adding true physics to a return from the show without a large DeRose, Kass, and Truong, “Sub- game engine, but dread digging into list of things I can’t wait to try out in division Surfaces in Character the complicated math involved, I sug- my own projects. Animation,” Computer Graphics, SIG- gest you contact Intel and talk to them F O R F U R T H E R I N F O GRAPH proceedings 1998: pp. 85-94. about licensing this technology. Dr. Gleicher, Michael, “Retargetting Shantz has clearly put a lot of work Companies mentioned: Motion to New Characters,” into this and is certainly eager to see it http://www.sven-tech.com Computer Graphics, SIGGRAPH pro- used. http://www.motion-factory.com ceedings 1998: pp. 33-42. 13 With a show the size of SIGGRAPH, http://www.katrix.com Shantz, Michael and Alexander it is impossible to catch all the interest- http://www.metastream.com Reshetov, “Physically Modeling for ing lectures and side discussions that http://www.alias.com Games,” CGDC proceedings 1998: pp. go on throughout the week. If you http://www.nichimen.com 685-738. attended and saw something that you http://www.ktx.com Witkin and Baraff, “Physically Based think will really change the direction http://www.3dlabs.com Modeling,” SIGGRAPH Course Notes of computer graphics, let me know http://www.diamondmm.com 1998: (ACM SIGGRAPH), Course 13. about it. I was probably catching a nap http://www.intel.com in the back of the big lecture room.

http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER by Mel Guymon ARTIST’S VIEW

It’s About Character

odeling and texturing solid-skin characters for real-time 3D games can be one of the most fun and rewarding parts of being 3D artist. As tar- get platforms become increasingly powerful, the limits we have to set Mfor ourselves become increasingly less restrictive. When id’s QUAKE hit the shelves a few years ago, their 100- Tips on creating solid-skin characters for polygon solid-skinned characters were seen as cutting edge. Nowadays, charac- real-time 3D games. ters can reach polygon counts in the thousands, and the in-game avatars of Modeling line. Form defines function, and the today are looking better than their pre- outline of a character can add to or 15 rendered counterparts of just a few years ith the technical advances in detract from the emotion you’re trying ago. That said, you will need to adhere W and con- to illicit from the player. MDK, to some key steps in the process if your soles, we have so many special effects EARTHWORM JIM, ABE’S ODDYSEE, and character is to have, well, character. and tricks available to us that it’s easy even SUPER MARIO 64 are all good exam- to rush through this first step of charac- ples of games with characters that ter creation. Our polygon budgets have you’d recognize in any dark alley sim- Concept Sketches simply never been higher. It wasn’t too ply by the shape of their heads. long ago that we had to make do with ACCOMMODATING ANIMATION. Solid-skinned enerating a good concept sketch is less than 100 polygons for a single char- models have a tendency to collapse on G the first and most important part acter. These days, you can easily spend themselves when animated. The result- of the process. Without a good concept, ten times that amount on a single NPC. ing character can end up looking like an you may as well go back to the prover- And while there are at least as many anorexic walking around in a baggy bial drawing board. Once your character techniques for character modeling as clown suit. To keep this from happen- makes it into the game, it’s a little late there are tools with which to model (for ing, you need to pay close attention to to realize, “Hey, that’s really not what I some tips on modeling technique, the joint areas; hips, knees, shoulders, wanted the character to look like!” check out Paul Steed’s article “The Zen elbows, and so forth. (See Stefan Henry- I don’t want to get off on a rant here, of Low-Polygon Modeling” in the June Biskup’s article “Character Sheets” on but it seems that I increasingly run into 1998 issue of Game Developer), you need page 44 of this issue for more on industry artists who neglect this crucial to pay heed to a few important points. anatomically efficient modeling.) Again, aspect of character design. They neglect THE SILHOUETTE TEST. Your character must this problem is less daunting than it was the “Artist” part of the 3D Artist title, be recognizable for what it is by its out- a few years ago thanks to the higher and instead, focus on the dazzling 3D technology, becoming more of a techni- tricks and techniques from some of the cal modeler than an aesthetic one. Introducing Mel most talented people in the industry. My Taking the time to work through and goal with this column will be to dissemi- critique the character on paper can save nate some of that knowledge back into you hours of headaches and weeks of Experience the industry as a whole, and hopefully redesign. These days, it’s all too easy for I started making shareware games back help to raise the bar a bit when it comes artists to depend on the technology in when the 286×25 was considered the to in-game art. front of them and forget why most of us top-of-the-line machine, and my business got into this business in the first place. cards have seen job titles ranging from Topics So get out your pens and pencils, and 3D Artist to Art Director. I’ve had the for- In the upcoming months, we’ll look at as start sketching! (Color is optional here, tune to work on projects at companies as many aspects of art production and artist but full-color concept pieces are the best large and corporate as Eidos Interactive management as we can reasonably fit in because they will ultimately help the and as small and close-knit as Surreal. the allotted space. The goal will be to texture artists when it’s time to generate keep this whole process timely and accu- the character’s texture maps.) For more Goals rate, with a good balance of how-to top- tips on generating a good concept piece, While 3D character animation is my one ics, such as this month’s column. I’m also check out Josh White’s article in the true love and area of expertise, I’ve had open to your suggestions. I can be November 1997 issue of Game Developer, the opportunity to learn various artistic reached by e-mail at [email protected]. “Birthing Low Polygon Characters.” http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER ARTIST’S VIEW

number of polygons available to us. FIGURE 1. Joint construction. In Figure 1, the simple addition of an extra segment of vertices at the elbow allows the joint to flex correctly without collapsing the arm segment. In contrast, Single-segment joint the simpler construction in the first model removes the fidelity of the ani- mation, and the joint collapses on itself. POLYGON COUNT. Just a few years ago, we had to do more with much less. As poly- gon-budgets increase, the trend is Double-segment joint inevitably towards less efficient model- ing tools because, hey, we artists can get away with it. Don’t be lulled into a sense of gluttony here. As the hardware gets better, it will be easier to lose the sense of urgency associated with keep- ing your polygon counts to a minimum. But there’s just no sense wasting poly- 16 gons unnecessarily. Character polygons are often the most technically expensive to render, and most engines pay extra in terms of processing time for polygons that must be transformed and manipu- lated through animations. Shaving a couple hundred polygons off of a char- acter often gives you two to three times that number for other objects in your scene, or lets you keep an additional creature onscreen while still maintain- ing your target polygon count. FIGURE 2. The Cultist concept sketch.

fter the concept sketch, good tex- A ture mapping is probably the most important part of a 3D artist’s job. As artists, we need to be intimately familiar with the way colors and textures affect the look of our underlying geometry. A skilled texture artist can use textures to create the illusion of polygonal details not present in the model (such as using darkened areas to round off a corner). And while a picture may be worth a thousand words, a couple dozen pixels can be worth their weight in polygons. But it’s easier to show than tell, so on to The Cultist Game: EXPERIENCE Developer: The Whole Experience (WXP) Publisher: TBD Character statistics Poly Count: 1,076 Vertex Count: 583 Modeling tool: PowerAnimator 8.5 Texturing tool: PowerAnimator 8.5 Character type: Solid-skin real-time 3D FIGURE 3. Modeling in PowerAnimator using an image plane.

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com ARTIST’S VIEW

18 FIGURE 4. Cultist wireframe.

the dissassembly. The boys over at The Whole FIGURE 5. Texture application. Experience (WXP) in Seattle, Wash., are working on a real-time 3D title called EXPERIENCE. One of the main protago- were able to follow the basic outline of by hand, the texture coordinates around nists is this gun-toting bad boy (Figure the original concept with a very high the edges of the model. 2), who you have to defeat in one of the degree of fidelity. WXP’s technique solves this problem later missions. The art direction on this The image plane technique is avail- in a snap. The character is seamed product leans heavily on the neocar- able in some form on most major mod- together like two clamshells, with an toonist style of Lyndon Sumner, WXP’s eling packages. Taking the process one edge running all the way around the concept artist. step further by generating top- and side- model. The resulting model is texture Starting from a sketch on paper, views of the character can WXP’s character artist generates a place- make the modeling process holder texture map in black and white, go even faster. which the modeler can use to the As you can see from the character. The black and white texture is character wireframe in Figure handed off to the modeler, and while 4, the character has a basic the modeler fleshes out the character in humanoid outline with just 3D, the texture artist goes back and adds enough variance to make it color and detail to the character texture. stand out. The obvious advantage of using a Now we get to the texture place-holder texture is that it helps to application (Figure 5). prevent bottlenecking in the character Because WXP’s artists model generation pipeline. The character mod- their characters using the elers can move on to animating the place-holder texture as a character without having to wait for the guide, the mapping coordi- character to be fully textured, and the nates are very easy to apply. texture artist isn’t as rushed in complet- But any of you who’ve done ing the textures for the character. this know that mapping the The place-holder texture is brought sides of a leg or a torso into PowerAnimator as an image plane inevitably produces a smear- (Figure 3), over which the modeler can ing effect, unless you use a model directly to get the correct silhou- cylindrical type of mapping ette for the character. If you look close- coordinate. Furthermore, no ly, you can see how accurate the poly- single cylindrical mapping gon mesh is compared to the concept coordinate could map this piece. Using PowerAnimator’s bi-rail character, and inevitably, FIGURE 6. The Cultist, fully textured. extrusion tool, the modelers at WXP you’d be required to adjust,

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com ARTIST’S VIEW

FIGURE 8. Complete texture set for War Giant.

frame, while maintaining a seamless, 20 uniform pixel density. Overall produc- tion time from concept to finished, tex- tured model ran about a day and a half. Figure 7 shows a color concept for the War Giant, a two-story tall villain in FIGURE 7. The War Giant concept sketch. Psygnosis’s DRAKAN, being developed by in Seattle. DRAKAN’s development team has been augmented mapped using planar mapping coordi- this quality. Working from a solid con- by the talents of concept artist Hugh nates (except for the hands and feet, cept piece, they were able to generate a Jameson, whose unique fantasy style which are mapped separately). And character that retained all of the impor- lends a credible realism to the DRAKAN because the artists built the model on tant qualities of the original design cast of characters. Having an artist on top of the texture map, the mapping (Figure 6). The character model was rec- staff that can crank out work of this coordinates fit perfectly. ognizable in profile, and the texture quality is invaluable. The full-color con- Keeping an edge at the outline of the maps were applied in a very short time cept piece eliminates the guesswork character largely eliminates the problem of smeared textures over the arms, and using a single mapping coordinate guar- antees a pretty uniform pixel density without creating any seams in the tex- ture. The down side to this method is that it wastes quite a bit of texture space. But with texture buffers for the target platforms running around 6- to 8MB, the folks over at WXP don’t seem too worried. To sum up, the techniques WXP used to create this character produce good results without many of the headaches usually associated with creating work of The War Giant Game: DRAKAN Developer: Surreal Software Publisher: Psygnosis Character statistics Poly count: 576 Vertex count: 270 Modeling tool: 3D Studio MAX R2 Texturing tool: Proprietary tools Character type: Solid-skin real-time3D FIGURE 9. Texture mapping using Surreal’s proprietary modeler.

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com ARTIST’S VIEW

for a much higher local pixel density than in the previous method. Note that care has been taken to create areas of the texture that can be used more than once. The texture artist has taken advantage of the fact that the war giant is a biped, with symmetrical body com- position. Only one arm and one leg are included in the texture, and only one side of the chest, back, and neck is mod- eled in complete detail. While this process demonstrates excellent use of texture space, the tech- nique involves some painstaking work on the part of the person applying the texture maps. It took a full four days just to generate and apply the texture maps for this character. The result, however, bears out the cost in man hours, and the FIGURE 10. War Giant wireframe and textured model.. 22 resulting composite 512×512-pixel tex- ture map provides for a very high pixel when it comes to generating the tex- the creature. The War Giant character density on the model. tures, and the time commitment for cre- stands nearly 20-feet tall in the game. Using a proprietary tool generated in- ating work of this quality is clearly Consequently, the large polygons on house at Surreal, the texture artist is able worth the result. the creature’s legs will need to have an to interactively texture map individual Figure 8 shows the textures that incredibly high pixel density, necessitat- polygons with a high degree of accura- Surreal’s artists created using the initial ing the use of large textures. cy. In this case, the texture maps were color concept piece as a guide. Note the While this level of texture application created during the mapping process; the high degree of realism and intricate requires a much larger time investment, artist generated textures as needed. This detail on the back, neck, and head of the equitable use of texture space allows way, the texture is used in a very effi- cient manner. Since planar mapping wasn’t used for this example, extreme Lessons Learned care had to be taken to avoid any seams in the textures or discontinuities in e’ve seen examples of two different techniques for modeling and texturing a pixel densities on the 3D mesh. Here, W solid-skinned character. Let’s compare them side by side. the additional time required to apply the texture maps to the model was The Cultist The War Giant recouped by the quality of the result. Modeled using an image plane backdrop Modeled using classic modeling tech- Figure 10 shows the wireframe and generated from the original concept niques and textured with four 256×256 fully textured model generated in 3D sketch, which was then used as the texture maps. Mapping was applied by Studio MAX. Using the concept piece 256×256 texture map for the character. hand adjusting the UVs in a proprietary and several pencil sketches as a guide, PROS. paint tool similar to those available in the modeler generates a low-polygon • Very rapid production time; approxi- Softimage, 3D Studio MAX, and Power- version of the mesh using 3D Studio mately five days from blank paper to Animator. MAX. As in the previous example, the fully textured model. PROS modeler applies mapping coordinates • Guaranteed fidelity between concept • Final result is an extremely high-quality while generating the model. And while and final result by using image plane textured model. the polygon count is less by almost half, method. • Higher pixel density available due to the basic shape of the character is recog- • Place-holder textures relieve the bottle- multiple high-resolution texture maps. nizable. As you compare the wireframe neck between concept and modeling • Efficient use of texture space means and finished model, it’s immediately and animation tasks lowest possible texture buffer. apparent how the correct texture can • Planar texturing method assigns uni- CONS make all the difference. ■ form pixel densities and results in • Time commitment is significant. The seamless texture mapping. War Giant took over 10 days to go from Special Thanks CONS. concept to fully textured model. Jeff Connelly, Sky Kensok, Patrick • Planar texturing technique is fast but • Bottleneck between concept and model- Moynihan, Lyndon James Sumner II, Ron wastes texture space. ing and animation is significant. Levine, Jame Thrush, Stuart Denman, • Lower overall pixel density due to use Hugh Jameson, Heron Prior, and Louise of a single texture map. Smith.

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com by Omid Rahmat HARD TARGETS

Trends in the Display Industry

hat’s a game system without a screen or display? Nothing to look at, that’s for sure. Therefore, it seems appropriate to look at some of the trends in display technology. The move to larger W display areas will have a direct impact on gaming in the coming years. The addition of multiple couple of thousand dollars for the lat- and the results are, to say the least, displays will also have some effect, but est in desktop horsepower every eigh- anachronistic. After all, I don’t know of in limited areas. Potentially, stereo- teen months, they are loathe to update a single recently released graphics scopic displays will be the most impor- their screens. Part of the blame for this chipset that couldn’t support tant developments, but I remain skepti- has to lie with the physical space that a 1,024×768 resolution as a default. cal at present on that one. cathode ray tube (CRT) display takes Despite all of this, monitor prices 25 The most immediate impact on the up. Some stretch back as far as they have not dropped as rapidly, or in industry is going to come from the stretch across and that means a single pace, with PCs. If they had, a 21-inch growth in 17-inch displays. Judging by 17-inch screen can consume fifty per- monitor would probably cost less than the promotions for new system sales of cent of your desk space. There’s no way $300 today. Nevertheless, as PCs have multimedia PCs, the 17-inch screen has of avoiding giving a CRT a prominent come down in price, and competition become the standard display, and as a place on your desktop, unless you like in the consumer market has exploded, result, a very affordable upgrade for to crane your neck at painful angles. If the addition of a 17-inch monitor as new PC buyers. I was offered a pretty desk space was not an issue, then we’d part of a new multimedia home com- decent-looking 17-inch monitor by a probably see a jump in 21-inch display puter package has become a competi- local dealer for about $350. It’s still the sales because the price differential justi- tive advantage for those PC companies cost of a good-size television set, but by fies the results of having 1,280×1,024, with the leverage to stand up to the computer standards, it’s almost a steal. or 1,600×1,200 Windows. display vendors. Yup, the PC vendors’ The increase in display area has been Of course, trends in the display mar- bundling of displays is driving down a long time coming when you consider ket seem to be rather irrelevant when the prices of displays from Mag, Sony, how long Windows has been around. most games still default to 320×200 res- NEC, ViewSonic, Samsung, and other Windows and the 1,024×768-pixel res- olution or the good old 640×480 of vendors of CRT displays. At the present olution display go hand in hand, and VGA. The PC industry is definitely rate, PC vendors are probably going to on anything less than a 17-inch display working on making 1,024×768 the dominate the distribution of 17-inch the resulting image is a good recipe for standard default over the coming eigh- screens, leaving other display sizes to squinting eyes and fatigue. Further- teen months, but legacy applications the monitor vendors, many of whom more, it seems that graphics board ven- and VGA seem irreplaceable. Even sell directly to large corporate dors are eschewing the compute-inten- Windows setup screens are still default- accounts. Of course, not all displays sive penalties of antialiasing in ing to the chunky pixel look of VGA, sold by monitor vendors are attached hardware in favor of 1,024×768 perfor- mance, which makes for as compelling 1997 1998 1999 a gaming experience as you could hope for with today’s technology. Nevertheless, the bulk of display sales 15" monitor 29,408 32,231 35,325 still remain primarily 15-inch, which is in itself a vast improvement over the 17" monitor 14,068 16,783 20,022 tyranny of the 13- and 14-inch screen. Indications are that more home users are going to turn to 17-inch screens in 20" monitor 2,143 2,298 2,463 the coming years. Commercial, or busi- ness, users may be inclined towards par- FIGURE 1. Unit growth of PC displays (in thousands of units).Various sources. simony when it comes to handing over the few extra dollars. Unfortunately, display markets are Omid Rahmat works for Doodah Marketing as a copywriter, consultant, tea boy, and subject to consumer intransigence for a sole employee. He also writes regularly on the computer graphics and entertainment number of reasons. While some con- markets for online and print publications. Contact him at [email protected]. sumers are quite happy to fork over a http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER HARD TARGETS

to a PC. There are ATMs, point-of-sale pretty good newsletter, Display Stereo and HMDs displays, and terminals to think of Monitor, that covers display and graph- as well. ics hardware. alking of great ideas on paper, It’s no wonder display manufacturers T what may prove to be an impor- are shifting their focus to emerging tant trend in display technology for technologies. The CRT dates back to Multiple Displays gaming is the emergence of stereo dis- the early research in television systems plays and head mounted displays in the 1920s. It was only when portable t will be interesting to see how (HMDs) which offer the kind of immer- computers showed up in the 1980s that I Microsoft’s support of multiple dis- sive experience that you would expect the industry started to get a taste for plays in Windows 98 will impact the of virtual reality simulators. alternatives to the cumbersome tech- market as well. Multiple display sup- After all, stereo is the way we see the nology of the tube — alternatives such port provides three unique perspectives world. To simulate the views that our as liquid crystal displays (LCD). that developers can address. eyes see in the real world, you need to technologies today are still emerging LARGE DESKTOP. The bounding area of all produce two images of slightly differ- technologies, but consumer electronics displays,which may vary in terms of ent perspective, and then combine companies are investing billions of dol- both resolution and color depth, is the them in the mind’s eye. In the real lars in trying to make flat screens that virtual desktop area. Some of the prob- world, objects near and far are dis- hang on a wall like a mirror or painting lems that this may cause are related to placed relative to the left and right eye — and the bigger the display, the bet- ways legacy applications center dialog view by different distances. The closer 26 ter. These are screens targeting the boxes and access negative coordinates the object, the greater the displace- world of television, still the biggest of the screen space. In multiple display ment. Stereo displays use the mind’s market for displays, but the computer situations, negative screen coordinates ability to remember the way things industry is playing its part in the accep- are also visible. Microsoft has taken work in real life to create the impres- tance of flat-screen displays. these problems into consideration, sion of depth in the virtual world. The alternative technologies to CRT and the programming fixes for applica- There are a number of problems with displays are tions are relatively simple. Obviously, stereo displays. They look great at exhi- • Thin-film electroluminescent (TFEL) with multiple display support, the bitions, but the novelty wears off when displays opportunity will exist for these same a user walks into a store and has to • LCDs: monochrome displays (Color applications to utilize more desktop hand over cold, hard cash for a pair of LCDs continue to dominate the com- space in unique new ways. glasses. Even when the price and per- puter market, but are unsuitable for REMOTE DISPLAY. The display can be mir- formance of a product are right, it’s dif- large flat displays.) rored remotely, or as part of the same ficult to engage potential users without • TFT-LCD: color flat panel display configuration. This means that a sec- a one-on-one demonstration. So, while (FPD) ondary display need not be a compan- stereo sounds great in theory, and can • Field emission display (FED): electron ion of the primary display. have immense appeal, it’s a difficult tubes in which cathodes emit elec- INDEPENDENT DISPLAY. A high-resolution sell. Then there’s the issue of having to trons. (FEDs are not a significant area screen appears on a secondary display wear stereo and HMD stuff that looks of growth in comparison to other and is completely independent of the like a brainwasher’s torture kit, and plasma screen technologies.) Windows interface. This means that makes one susceptible to an appear- • Plasma display panel (PDP): used in images on the secondary screen in this ance on America’s Funniest Home large panel displays for financial type of configuration can work Videos. In short, stereo and HMD gear applications where desktop space and through Windows APIs without hav- is about as goofy looking as you could display area are equally important. ing to be a part of the virtual screen. ever expect from a computer peripher- The emergence of FPD screens in the There is some thought that multiple- al, and unfortunately, you have to wear consumer market is going to take place display support for gaming is only use- them to use them. in the consumer electronics market ful in Arcade PC applications, but There is also the perception — stem- first. The costs of such devices in the hardcore games enthusiasts have ming mostly from historical problems computer industry make them prohibi- shown themselves willing to spend with stereo — that stereo and HMD tively expensive for mass-market con- money on hardware that enhances devices cause eye strain, headaches, sumption, hence they are relegated to their experiences and heightens the and seizures. Technology has also specialized markets — much as PDPs pleasures of gaming. Multiple monitor played a role in holding back the tide are finding favor in financial trading support for games using the indepen- of stereo, and as a result, game devel- houses where brokers have multiple dent display model offers some opers have been reluctant to put any screens on their desktops. intriguing possibilities, and imple- great effort or investment into creating The most comprehensive resource menting support in a game does not stereo titles. However, that may all on display technologies and markets is have to be a taxing technical burden. change. Stanford Resources (http://www.stan- The code to support multiple displays The current technology for stereo fordresources.com) for anyone inter- in a Windows 98 application is pretty display is LCD shutter glasses. They are ested in delving deeper into these mar- straightforward. But, this is all conjec- lightweight, cheap enough for con- kets. In addition, Bob Raikes in the UK ture. There’s a great idea on paper, and sumer use, and with graphics horse- (http://www.meko.co.uk) provides a then there’s reality. power on the rise, they are becoming

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com technologically appealing too. With ucts. At present, H3D (http://www.h3d genreality.com). stereo, you can alternate between entertainment.com) is engaged with • H3D (in conjunction with the showing the left and right view images the Wicked3D Board Company (http:// Wicked3D Board Company) is one of alternately and let the mind meld them www.wicked3d.com) in creating a the better solutions for stereo. together seamlessly, or show both -based stereo driver that will • Interactive Imaging Systems (former- images at high frame rates. LCD shut- support all OpenGL, Glide, and ly Forte Technologies) has gone the ter glasses are triggered to shut one eye Direct3D games. These two companies retail route, but is looking at diverg- off to an image while the other one is believe that by making stereo possible ing market opportunities displayed so it makes an interleaved at the driver level, and by certifying (http://www.iisvr.com). display of stereo images the most suit- products according to the quality of • i-O Display Systems has a able option. the stereo they provide, they will create retail presence. The key difference to doing stereo demand for stereo gaming. • Stereographics tried the retail stereo today, as compared to even a year ago Unfortunately, with the exception of glasses business, but got caught in is that developers are making real- some high-end computer graphics the hell that is retail sales. time, true 3D titles. This makes it a lit- applications, stereo in the consumer • VRex has good retail presence. tle more appealing for stereovision market remains on the fringes for now. I remain skeptical about any mass- developers to implement depth in the The following companies are worth market product that needs to be seen user’s experience. Also, an API such as checking out for stereo display technol- to be believed, but that’s not the case OpenGL has support for stereo at the ogy that could be applied to the gam- just for stereo. It’s actually true of all driver level, and Direct3D will eventu- ing market. H3D, i-O Display Systems displays. What is certain is that 27 ally make it standard. So, good quality (http://www.vio.com), VRex (http:// 1,024×768 on a 17-inch screen is a stereovision today doesn’t necessarily www.vrex.com), and Stereographics mass market phenomenon that has mean that game developers have to (http://www.stereographics.com) taken six years to arrive. What is also create special versions of their titles, should be familiar to gamers from past certain is that displays are going to but it does mean that they have to do forays into the consumer market. continue to go down in price, driven their 3D math right in their game • Chromatek has interesting technolo- by cheaper pricing. Displays are going engines. gy (http://www.chromatek.com). to get thinner, lighter, and more attrac- There are a handful of stereo display • General Reality also has interesting tive. It’s probably time to say goodbye companies with consumer-level prod- technology (http://www. to VGA, forever. ■

http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER by Steve Woodcock ince the birth of the

videogame market, artificial

intelligence (AI) has been a

standard feature of games —

especially with developers’

emphasis on single-player games,

Illustration by Vadim Vahrameev which represented the vast bulk 29 of released titles up until fairly

recently. Although the recent

support for multiplayer capabili-

ties (especially via the Internet)

and free online gaming services

such as Battle.net and Microsoft’s

Internet Gaming Zone may have

prompted some developers to

downplay the need for good

computer opponents, good AI

is needed more than ever.

Steve's background in AI comes from a decade of SDI- related work building massive real-time distributed wargames for the Air Force. When he's not saving the world, he's busy doing AI development on a contract basis and target shooting when he gets the chance. Steve lives in gorgeous Colorado Springs, Colo., with a very understanding wife and an indeterminate number of ferrets. His e-mail address is [email protected]. GAME AI

At the 1996 Computer Game beyond “Get it done by the shipping CGDC AI roundtables in 1997 and Developer’s Conference (CGDC), I date,” and little design beyond “Don’t 1998. While these figures and others attended a number of excellent techni- lower the .” from the roundtables shouldn’t be con- cal discussions on game AI. Everything In part, this can’t be helped. For sidered statistically accurate and can- from formal university techniques to obvious reasons, most testing and tun- not necessarily be applied across the better pathfinding was presented to ing of computer opponents can’t real- entire industry, they do show some standing-room-only crowds. As a ly be done until large portions of the encouraging trends. result, developers Eric Dybsand, Neil game are already complete. Since this The number of projects with devel- Kirby, and I thought the time might be doesn’t usually happen until close to opers dedicated to game AI increased right to begin a series of CGDC round- the shipping date, it can be difficult if sharply from the roundtables of 1997 tables on game AI, both as a forum for not impossible for developers to cor- to 1998, from roughly 24 percent of all developers to exchange ideas and as a rect any major deficiencies in the AI if projects represented to nearly 50 per- venue for gauging the industry’s use of anything pops up at the last minute. cent. A handful of developers reported AI techniques. This article discusses That’s one reason why patches are that there were “two or more” pro- what was discussed in those grammers dedicated to roundtables, details some working AI, and one industry trends, high- developer at the 1998 ses- lights some recent games sion reported a whopping that use interesting and three programmers whol- 30 innovative AI tech- ly dedicated to game AI niques, and examines and scenario develop- how the impact of ment. AI is still taken care offloading 3D graphics of by a small subset of the processing onto hard- programming staff, and ware may affect AI. I’ll these developers often wrap up with the have other duties as well, thoughts of various game but this situation seems developers on the future to be rapidly changing. of game AI. The average number of CPU clock cycles reported- ly dedicated in some fash- Late to the Resource ion to AI processing also Dance jumped from the 1997 to 1998 roundtables, from an istorically, game AI CREATURES overall average of 5 per- H has been one of the cent to around 10 percent. last maidens to join the When broken out dance during the development process. issued a mere week or so after a game between real-time action games and Emphasis was placed on other aspects hits the streets. turn-based games, we noted that the of the game, from tuning 3D engines This state of affairs seems to be biggest gains were made by developers to integrating last minute sound changing, however. More developers who were responsible for the former. effects. Design and coding the comput- are becoming involved in the design This jibes with the fast evolutionary er opponents was often deferred to the and implementation of the AI at an pace of the real-time final phase of the project, when it was earlier stage, and more resources are genre. On the other hand, gauging AI dumped on whichever hapless devel- being dedicated to AI processing. Table advances in turn-based games is neces- oper happened to be least busy at the 1 shows the results of two questions we sarily tenuous: many of those present moment. There was little planning asked all developers who attended the who were working on turn-based pro- jects said that they basically received TABLE 1. Resources dedicated to game AI development. all of the CPU power they needed when it was the AI’s turn. Does your team include any full-time AI programmers? Significantly, developers overall 1997 CGDC 1998 CGDC reported that AI was becoming a more important factor in game design than 50/207 (~24%) 87/190 (~46%) it had been in the past, often being assigned an equal priority with graph- What percentage of the CPU overall does your game’s AI get for its processing? ics and sound in the initial game 1997 CGDC 1998 CGDC design and allocation of resources. Overall ~5% ~10% Those responsible for game AI Real-time games 1% - 2% 5% - 10% (whether or not it is their sole task on the project) are getting involved earlier Turn-based games 5% - 25% 5% - 50% in the design and development cycle,

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com smoothing the way for better integra- nal teams to handle all AI develop- knowledge of both AI and general tion between the AI and game engine. ment across multiple games, which is writing/story-telling expertise. This Fewer developers reported having the something that simply didn’t happen trend was most evident among groups AI dumped on them in the working on RPGs, especially last month of develop- online products, and like- ment, although everyone ly reflects some of the cited the crunch of the lessons learned from shipping date as a major Origin’s ULTIMA ONLINE factor in the tuning of experiences. Developers any game AI. working on these projects A handful of develop- felt that by hiring AI ers in the roundtables developers experienced in noted that working on a writing and story telling, sequel to a successful they could build more game, or building on a realistic worlds that licensed 3D engine tech- would interact with play- nology, often gave them ers more consistently greater freedom to pursue with what the games’ development of more producers had in mind. capable computer oppo- 31 nents. In such instances, this growing emphasis on Technologies in Use AI seems as much feature- Today driven as technology-dri- S.W.A.T. 2 ven, as companies look to xploring the AI tech- differentiate products in E nologies used in the marketplace. just a couple of years ago. games has been popular in the CGDC An interesting side effect of the A handful of people from develop- roundtables. As the importance of rapid advances in the 3D hardware ment studios stated that they were also good game AI increases, developers acceleration market is that the CPU attempting to find developers with have been turning to academia and has been freed up for more AI-related tasks. While some developers at the roundtables felt that the trend towards more glitz in games was steal- AI Technologies ing CPU cycles away from other por- tions of the game engine, most devel- FINITE STATE MACHINES. The FSM is proba- responses. These potential responses opers were of the opinion that bly the single most common AI technology are each given a weight based on their offloading 3D processing to 3D hard- in use, though many developers may be membership. Developers then use a vari- ware was gradually giving them CPU unaware of it. Simply put, an FSM is a logi- ety of methods to select a given cycles that could be used for deeper AI cal hierarchy of rules and conditions that response — the weights might be used processing. All the developers felt that can only be in a fixed number of possible as a simple probability, or they may be offloading 3D processing was a posi- states. The inputs and outputs of each accumulated and matched against some tive trend, especially with today’s state are identical, and there’s no choice of threshold value to see which one is trig- powerful CPUs (such as the II the sequence in which states are visited. gered. The result is a state machine that and the AMD-K6-2 with 3DNow!) pro- An example of an FSM might be the can generate a variety of different, yet viding orders of magnitude more pro- logic controlling the doors on the USS plausible, responses to a given set of cessing power than were available just Enterprise. When one approaches them, stimuli. Keeping with our example of the a few years ago. they open; when one clears them, they USS Enterprise, where the doors might Another trend is the rise of the AI close. In Red Alert conditions, only autho- be controlled by FSMs, we would proba- specialist — an external developer rized personnel can use them. A few sim- bly want a Klingon warship controlled by who focuses solely on creating the ple conditions (authorization and proxim- an FuSM, so that it could react flexibly to game AI. (Full disclosure requires me ity) control a limited set of actions changing battlefield conditions. at this time to note that I’m just such (opening and closing). Sequencing is ARTIFICIAL LIFE. A-life is the name given to a an individual myself.) This can be a maintained by the fact that a door can’t particular discipline that studies natural low-risk approach for companies that be closed if it’s not open, and vice versa. life by attempting to recreate biological are interested in providing more chal- FUZZY STATE MACHINES. The FuSM is much phenomena from scratch within computers lenging AIs in their games, but which like its FSM brother, with a twist: rather and other artificial media. A-life emulates lack the in-house experience to devel- than a given set of inputs mapping to a biological life by building systems that op it. Several developers also noted specific output, they map instead to a behave as living organisms. Depending on that their companies are in the “membership” to a set of possible Continued on p. 30. process of setting up their own inter- http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER GAME AI

defense research for information on heavily used for the tactical AI in that this can lead to predictability and lim- more exotic technologies and better game. This approach was driven by its replayability. S.W.A.T. 2 gets methods than the brute force the game’s design: the developers around this by building FuSMs. Each approaches often used in possible decision is run the past. Here are some through a bit of code they AI technologies that call a “fuzzy decider,” have been employed which weights the possi- recently. ble responses of any given RULES-BASED AI. Rules- unit based on its health, based AI, characterized personality, and so on, by the heavy use of the and then chooses one of almighty finite state these randomly. The machine (FSM) and its result is a series of actions close cousin, the fuzzy that are perfectly believ- state machine (FuSM), able and realistic, but remain the technologies which vary from any pre- of choice for AI develop- vious game so the player ment. Every game on the is never quite sure what market uses rules-based will happen. FuSMs also 32 AI to some degree or provide more of an “ana- another, and with good log” feel to the AI, allow- reason: these methods ing a spectrum of realistic work. Rules-based AI behaviors that might not remains the foundation UNREAL be expected by the player. of opponent intelligence One nice side effect in most games for three demonstrating the intrin- simple reasons: wanted set scenarios that could play sic power of such a straightforward 1. Rules-based approaches are familiar, out in any number of plausible, yet approach to AI can be seen in some- taking their principles from comfort- different ways. Similar games often thing called “emergent behavior.” A able programming paradigms. use scripting to lay out a scenario, but developer faced with coding a com- 2. Rules-based designs are generally predictable and hence easy to test (although this, in turn, leads to one of the biggest complaints on the part AI Technologies (Cont.) of players — predictability of game AI). the design, one can use hard-coded rules, Why Do So Many 3. Most developers lack any training in, genetic algorithms, or a variety of other AI Technologies Seem Similar? or knowledge of, the more exotic AI methods for this emulation. technologies and thus don’t turn to GENETIC ALGORITHMS. GAs are an approach The astute reader might notice that a lot them when deadlines loom. to machine learning that derive their of AI technologies seem as though Valve Software’s HALF-LIFE behavior from the processes of natural they’re variations on a theme. Genetic (http://www.sierrastudios.com/games/ evolution. This is done by creating within algorithms, neural networks, and even half-life) provides some excellent a machine a population of individuals FSMs can all modify themselves; GAs, examples of what can be accom- represented by chromosomes — in neural networks, and A-life are all biolog- plished using FSMs. The AI in that essence a set of character strings that are ically-based, and so on. One might well game uses what their developers call a analogous to the chromosomes that we wonder, therefore, why AI experts bother “schedule-driven state machine,” have in our own DNA. The individuals in to make distinctions between them. which is another way of saying it’s the population then go through a process It’s a good question, and unfortunately state-dependent and response-driven. of evolution in which they are tested a good answer might take more space By layering FSMs, the developers were against some fitness criteria. Those that than allowed by this article. Suffice it to able to achieve some remarkable com- fail are discarded, while those that score say that various AI technologies have a plexity in the way the AI behaves — highest are allowed to breed — essential- lot in common with each other, and can monsters can panic and run away ly, creating a new individual using a com- be viewed as variations on a theme. (For when under fire, move in formation bination of two or more individuals’ chro- example, a neural network that is non- when attacking the player, and fetch mosomes. Mutation is often allowed to learning is basically just a big set of rules reinforcements if they see they’re los- prevent things from settling into a steady and can be reduced to a series of cascad- ing a battle. state. The result is a population of indi- ed FSMs.) Adding to the confusion is the Yosemite Entertainment’s S.W.A.T. viduals that gradually adapt themselves fact that there are different names for 2 (http://www.swat2.com), on the to the constraints of their digital environ- some AI technologies depending on what other hand, demonstrates some of the ments, in effect evolving over time. field of engineering is using them. capabilities of FuSMs, which were

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com plex AI can instead break it down into mutation engine forces new character- to provide stronger and more capable smaller pieces. Rather than having to istics to pop up from time to time. computer opponents over time. The code thousands of rules for every con- Norn DNA can be exchanged online player can edit a given AI’s DNA if so ceivable situation that could arise in a with other players, adding to the gam- desired, ultimately building a library game, lower-level behaviors are coded ing experience, and the game’s creators of opponents that are theoretically individually and then linked in a deci- have a web site dedicated to assisting adapted to each player’s unique play- sion-making hierarchy. The interac- in these exchanges. ing style. tion between these low-level behav- This ability to create new characteris- It’s worth noting that the natural iors can cause higher-level, more tics has proven to be one of the most adaptive abilities of technologies such “intelligent” behaviors to emerge popular and interesting parts of the as GAs are giving developers a tool without any explicit programming. game, and has led to developments in that can help them tune an AI during This is the basis behind flocking, an AI the Norns that have surprised even the development. Several developers in technology that seeks to emulate the programmers at Cyberlife. At one of our CGDC roundtables either men- behavior of large groups of animals, the 1997 CGDC roundtables, tioned that they had used genetic algo- such as flocks of birds or schools of CREATURES producer Toby Simpson rithms to help tune their AIs, or were fish. No one member of a flock actual- reported that they had received a DNA considering it. ly knows anything about AI tuning is always some- the motion of the flock, what problematic; by the and yet through individ- time a game is near ual actions their motions enough to completion 33 are coordinated and that tuning can be done fluid. Flocking has found meaningfully, there can its way into a number of be hundreds of parame- first-person shooters and ters that can affect the RPGs as the basis of sort AI’s style of play. Testing of artificial life, another every combination is an form of AI technology impossible task, especially seeing more use in given the often short games. amount of time that, by GENETIC ALGORITHMS. A that point, remains in the number of game develop- development cycle. Using ers have started investi- GAs to tune an AI gating the use genetic involves making hun- algorithms (GAs) in their dreds of runs of a game games. Genetic algo- using various parameters rithms, which you can for the computer oppo- read about in Swen HALF-LIFE nents, and then using Vincke’s article on page genetic algorithms to 36 of this issue, are some- tweak those parameters thing of a rules-based approach to AI, strand from a player whose Norn from run to run to favor those AIs that but focus on using digital analogs of seemed “smarter” than the others in perform better. Over time, this method biological DNA that allow an AI, in the player’s world. Examination of its can test out many more AI variations effect, to rewrite itself in response to its “brain” showed that it had indeed than an individual developer ever environment. mutated, spontaneously developing could, allowing him or her to focus on Cyberlife’s CREATURES additional “lobes” (processing centers) particular configurations that work (http://www.creatures.mindscape.com) for its AI to work with. poorly and to select a more capable makes heavy use of a combination of Oidian System’s CLOAK, DAGGER, suite of AIs for the final product. chemistry-based GAs and neural net- AND DNA is another game making use The drawback to using GAs and works to control virtual pets (called of GAs, using them to produce smarter neural networks in games is that they Norns), which learn how to speak, feed opponents. A Risk-like game of world require a considerable amount of time themselves, and interact with the play- conquest, the heart of CDDNA uses to converge to any significant degree. er in a variety of ways. These creatures GAs to guide the computer oppo- Both CREATURES and CDDNA demon- live in a virtual world filled with unex- nent’s decisions. The game comes strate this. Each requires dozens or plored areas, beginning the game in with four different AI opponents, each hundreds of AI generations of evolu- nearly total ignorance of their environ- of which has a strand of digital DNA tion before the player begins to see sig- ment. Every aspect of an individual containing rules governing its strategy nificant behavioral changes. CDDNA Norn is encoded in a form of digital in the game. As each AI plays, a record solves the problem by providing the DNA and can be passed down to is kept on how well it did in every bat- player with an offline testbed in which descendants over time, allowing play- tle. Between battles, the user can pit AI strains can wage war against each ers to selectively breed Norns with the AIs against each other in a series other in a batch-processing mode. desired characteristics. A sophisticated of tournaments; the winners survive Players can interrupt the process at http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER GAME AI

any point and move the current cham- of game play, but that’s a topic for ing variety of highly capable computer pions into a stable of computer oppo- another article.) opponents. nents. CREATURES makes the conver- Flocking, mentioned earlier as an A- More recently, UNREAL was released gence and training process part of the life technology, has found its way into with Unreal Script, a robust program- game itself, involving the player in the some of the more recent game releases. ming environment that allows exten- breeding, raising, and education of the HALF-LIFE and GT Interactive’s UNREAL sive customization of the game by the Norns. In this way, the enormous load (http://www.gtinteractive.com/unreal) players. Developed by Tim Sweeney, that a neural network places on the both use flocking to control the move- Unreal Script provides a higher-level CPU can be handled without adversely ment of groups of fish, birds, and mon- interface to the API controlling the impacting graphics or game play. sters to create a more realistic and nat- computer opponent. This obviates the (Cyberlife states that each Norn ural environment. Players, in return, need for detailed programming state- requires roughly five percent of a have noticed and commented on the ments in favor of more general direc- CPU’s cycles.) fact that these games don’t feel as tives such as, “Run forward two sec- ARTIFICIAL LIFE (A-LIFE). A-life is more a canned as previous first-person shoot- onds, fire a weapon, find a new attack description of a desired result — a ers. Players feel as though they’re inter- spot, run to it and evaluate, and cre- realistic emulation of bio- ate a new attack strate- logical behavior — than gy,” Players, in turn, of a technology, per se. have been using this 34 A-life is nothing new. capability to develop a The classic showcase in wide variety of Bots, this field is the well- from deadly Terminator known LIFE computer NPCs to companions program, but only recent- who assist the player in ly have developers begun various ways. looking to A-life to build Grimmware’s WISDOM better game AI. The OF KINGS — THE TWILIGHT aforementioned flocking WAR (http://www.grimm- behavior is an example of ware.com/Games/ A-life that was imple- WisdomofKings) take this mented using a simple concept one step further. rules-based approach, Due to be released while CREATURES uses towards the end of this genetic algorithms to REBEL MOON RISING year, WOK (a real-time achieve its organic strategy game in the AGE behavior. OF EMPIRES vein) will A-life technologies offer a way to lopers in a living, dynamic environ- break out the AI for each unit type build a better and more believable ment, rather than stalkers going from into stand-alone .DLL files that players environment for games. They’re partic- room to room slaughtering monsters. can rewrite or replace. The developers ularly powerful when used to control EXTENSIBLE AIS. While many games over intend to expose the API completely to the actions of NPCs in online role-play- the years have allowed users to modify the player, providing the source code ing games. For instance, very few of various game-related parameters, only for the AI shipped with the game so ULTIMA ONLINE’s paying customers recently have developers begun to let would-be AI developers will have the want to play a village blacksmith when players alter and extend their computer option to start with the factory-built they could choose to be powerful opponents in a more direct fashion opponents or build their own from knights and sorcerers, and yet village through scripts and code plug-ins. The scratch. Grimmware will provide docu- blacksmiths are an essential part of the most common example of this is, of mentation and support via the compa- gaming experience. ULTIMA ONLINE also course, the QUAKE’s Bot phenomenon. ny’s web site. Activision plans a similar uses A-life to control the spawning, When id introduced the world to the approach to its upcoming title migration, and activities of wandering QUAKE scripting language, Quake C, it CIVILIZATION: CALL TO POWER monsters and other wildlife. radically changed the level of interac- (http://www4.activision.com/ games/ Parameterized characteristics allow dif- tivity expected in games. Players were civilization). ferent species to behave differently, so able not only to build their own levels Providing hooks in a game to sup- wolves have a predisposition to hunt in and fill them with monsters, but actu- port an extensible AI isn’t easy, how- packs in forest regions while dragons ally to specify how the monsters would ever, and while the trend is growing, tend to be solitary and dwell around act in some situations. If players didn’t developers at our roundtables agreed mountains. This ecological system like the monsters that came with the it’s not likely to become widespread. leads to a relatively realistic environ- game, they could build their own — The groups were split on whether ment in which players can adventure and they did. A whole subculture of extensible AI is even worth the effort, freely. (To some extent, this realism Bot builders sprang up on the Web, and with good reason. Significant was later compromised in the interests and players have developed a surpris- technical challenges are involved (Do

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com we provide hooks through raw code tion will be an option in a handful of integrate navigation, learning, and lim- or a scripting interface? How much first- and third-person shooters and ited decision making for probes intend- control do we give players? How do real-time strategy games in develop- ed for planetary exploration. Because we prevent hackers from writing AI ment for late 1998. the distances are too great to permit module viruses that can wipe out a One of these is Fenris Wolf’s up-com- real-time control by technicians on hard drive?), which require careful ing REBEL MOON REVOLUTION, a third- Earth, researchers have had to develop design from the beginning of the person real-time action game in which techniques that allow these robots to game’s development cycle. The devel- the player is the leader of a squad of make their own decisions. There are opment costs of such an AI engine space-suited marines. A key element of some striking parallels between this can quickly approach the level of the its AI technology will be the use of work and what could be accomplished 3D engine, with arguably less signifi- speech recognition as an interface with unit AIs in real-time strategy cant impact on sales. Building in this between the players and the other games, NPCs in massive multiplayer level of interactivity and extensibility members of their fireteams. RPGs, and so on. also presents developers with another Robotics research was also cited as an In general, AI developers as a group dilemma: they risk exposing propri- interesting area of technology that felt that game AI would continue to see etary technologies to the scrutiny of might have applicability to game AI. incremental and slow evolutionary competitors. Researchers at NASA and Carnegie- advances, rather than revolutionary Mellon University have been working changes. We will continue to be CPU- with autonomous robot designs for a and design-bound for the foreseeable 35 The Future of Game AI number of years now, finding ways to future. ■

hat technologies are on the W horizon that might be useful in R E S O U R C E S games? Will good AI continue to increase in importance, or will multi- he following is a very short list researching AI technology than the player eventually render it moot for all of resources for developers Web. Some sites I recommend include: but the most disconnected players? Do T interested in digging more http://www.gamaustra.com — consumers really care about good game deeply into game AI technologies and Gamasutra (sister site to Game AI, or are they more interested in the research. Developer) maintains an online round- latest 3D special effects? Would dedi- table of game AI that grew out of the cated hardware (à la 3D hardware Books and Periodicals CGDC roundtables. Highly recommended. accelerators) be useful? Precious few books really discuss AI http://www.concentric.net/~swoodcoc/ As might be expected, these topics from a gaming perspective. Most are ai.html — The author’s page, dedicated elicit heated debates. Developers at more academic-oriented texts that go to all things related to game AI. It the roundtables weren’t sure where into theory more than practice. includes links to other AI resources, the next big advance in game AI Probably the best single comprehensive archives of various Usenet threads, and might come from, though they did reference at present is Artificial a page focusing on games making use of offer their opinions. Most people felt Intelligence: A Modern Approach by particularly interesting AI technologies. that they would slowly move away Stuart J. Russell and Peter Norvig http://hmt.com/cwr/boids.html — from a hard-coded, rules-based (Prentice Hall, 1995). Craig Reynolds is the Father of Flocking. approach toward more flexible AI Additionally, author Bryan Stout His page is the best place on the Web to engines based on fuzzy logic and neur- (“Smart Moves: Intelligent start research into the theory and tech- al networks. While these technologies Pathfinding,” Game Developer, nology behind flocking and similar A- are presently prohibitively expensive October/November 1996) is working on Life technologies. for most kinds of games, widespread a book dedicated to game AI due out in http://www.aracnet.com/~wwir/ opinion was that learning from and early 2000. It’s tentatively titled Adding j&p.html — Nova Genetica is one of the adapting to the players’ style would Intelligence to Computer Games and best online references for all things become a more important feature over will be published by Morgan Kaufmann. related to genetic algorithms and the next few years. genetic programming. One technology that many develop- Newsgroups http://ai.iit.nrc.ca/ai_point.html — The ers agreed would be a significant Several Usenet newsgroups focus on Artificial Intelligence Resources page is advancement is speech recognition. artificial intelligence in general and maintained by the NRC/CNRC Institute Until recently, speech recognition was game AI in particular. A few of the better for Information Technology; it’s an largely the subject of academic and ones in terms of noise-to-content ratio excellent starting point for AI research. military biometrics research, but lately are comp.ai.games, comp.ai, and http://www-cs-students.stanford.edu/ speech recognition APIs have begun to rec.games.programmer. ~amitp/gameprog.html — Amit’s Game trickle down to PCs and are now Programming Page is crammed with attracting the attention of game devel- Web Sites information on path-finding algorithms opers. Already in limited use in a cou- There’s probably no better resource for and pointers to other AI resources. ple of flight simulators, speech recogni- http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER GENETIC ALGORITHMS THE ORC

36 PROBLEM

BY SWEN VINCKE

Once upon a time there was a fierce orc named Kroxy

whose goal was to retrieve all the gold the humans had

taken from him. He couldn’t really remember the actual

theft, but he was sure that the gold was his. Being a mas-

ter at orc politics, Kroxy soon convinced all the other

orcs that the humans had plundered their villages, and

they readied themselves for war. They didn’t seem to be

bothered by the fact that the humans didn’t even know

the orcs existed. Orcish logic allowed for that. So Kroxy

led his army of orcs towards the land of the humans and

eventually ran into a human army. This was a bit of a shock

Swen Vincke is still working on THE LADY, THE MAGE, AND THE KNIGHT (LMK) and expects to be still working on it when he writes another article for Game Developer magazine. You can contact him at [email protected] OGAMEO DEVELOPER OCTOBER 1998 http://www.gdmag.com ful though. It’s possible that we are not SET 1. attacking all of the enemy’s units, and those units definitely won’t stand idly around. So we need to account for the α= ∃ ∈ > ∧ < {}j,Sj S all | D( S j,,mn) D( S optimal ,, mn) H( S j ,, mn) H( S optimal ,, mn) possibility that, if we attack only a sub- set of the enemy unit, the remaining enemy units will also inflict damage upon us. We can say that this extra as there were clearly more humans enough, then you’ve solved an impor- damage can be represented by some than there were orcs, and Kroxy tant part of computer opponent artifi- function ED(S,m,n). Therefore, the defi- ∑ ordered his troops to assume the cial intelligence. nition of H(S,m,n) is I=0,1..m-1 D(xi) + grand orcish defense position. Much Unfortunately, this problem is not ED(S,m,n). The actual definition of to his dismay, the humans didn’t easy to solve. Using a brute-force ED(S,m,n) depends on the game. It attack. Instead they made camp and approach, you would try all the fight- could be something like the sum of all looked at the orcs through funny ing combinations, qualify them the remaining damage points the tubes. Kroxy called for the high according to some function, and select enemy has minus the amount of shaman and demanded to know what the best out of the set. Because we want remaining units multiplied by the aver- the humans were doing. After consult- to imbue our AI with a sense of strate- age armor of the friendly units. Because ing with the orcish gods, the shaman gy, it might be wise in some cases to there are maximally nm situations, the 37 told Kroxy that the humans were gang-up two units on one opposing set of all situations is Sall={SI}, I=0,…, probably counting the orcs. Upon warrior. Therefore, for each of the m nm-1. We are now looking for a situa- ∈ hearing this Kroxy burst out in rage friendly units, there are n attack possi- tion Soptimal Sall so that Set 1 is empty. and yelled: “Well, in that case, we’ll bilities to choose from. This means that Clearly, many situations could be count them, too!” While the humans there are nm possibilities — an expo- optimal. Some situations might have were entrenching themselves, the orcs nential function. Even a modest fight, the property that they inflict huge undertook the great task of counting for instance eight against eight, would amounts of damage while receiving the humans, and eventually, Kroxy entail evaluating 16,777,216 combina- huge amounts of return fire, where learned that there were many humans tions! Obviously, a better way of solv- others might inflict a low amount of and not so many orcs. This worried ing this problem is needed. damage while receiving an equally Kroxy and he retreated to his tent, low amount of damage in return. The where he performed the ritual of first scenario, for instance, could hap- Grand Orcish Insight. When he left Defining the Problem Mathematically pen if you put your strongest units his tent again, great magic had hap- against the enemy’s weakest units, pened. Floating above every orc and his paragraph could get confusing, and your weakest units against the human in sight was a little bar, indi- T so bear with me — I’m going to enemy’s strongest units. This intro- cating how strong each individual represent this problem mathematically. duces another problem, because your was. Now Kroxy demanded that the What we’re trying to do is minimize strongest units might finish off the shaman provide insight as to which one function while maximizing anoth- weakest enemy units quite quickly. orc should attack which human, so er function. Say D(xi) stands for the Your strongest units should then that the battle may be followed by a total damage a unit i inflicts on a unit come and help your weaker units. This great orcish feast, rather than a great xi, and H(xi) stands for the total sort of redeployment might give you orcish burial. The shaman sighed, and amount of damage a unit i receives an edge, but it also might be a bad started thinking… from a unit xi. The actual damage can idea. So a situation that looks optimal depend on multiple factors such dex- at first might leave you with too many terity, strength, armor, and so forth. casualties, and in subsequent battles, Brute Force Doesn’t Work Let’s define the triplet (S,m,n) as the the tide may turn. We can express this representation of a deployment situa- formally by introducing a function

erhaps I got carried away with this tion. (S,m,n) represents the set { xi } such as B(Soriginal,moriginal,noriginal), P orc story, having played where i=0,1,2,3..,m-1, and where the which yields a new triplet WARCRAFT II again, but the problem total amount of enemy units is (Snew,mnew,nnew), expressing the situa- ≤ challenging Kroxy is quite an interest- n(0 xi

SET 2.

α= ∃ ∈ > ∧ < { j,Sj S all |D fight( FS( j,,mn)) D fight( FS( optimal ,, mn)) H fight( FS( j ,, mn)) H fight( FS( optimal ,, mn))}

friendly units most in need. We do ical concepts of evolution, but luckily WHAT’S IN A GENE? The first step in creat- this by introducing the function not too closely. Nature takes millions ing a genetic algorithm is deciding FD(S,m,n), just as we introduced of years to solve problems — viewed what information the genes are going ED(S,m,n) for the H(S,m,n) function. If in this context, its methods would be to contain, or what the phenotype of ∑ we define Dfight(F) as I=0,1..k-1 of little practical use to us. You should each gene is going to be. In nature, the (D(Si,mi,ni) + FD(Si,mi,ni)) and do the be aware that there is no guarantee phenotype determines an individual’s same for Hfight(F) (taking ED() into that GAs will find the optimal solu- traits. In our orc problem, it’s going to account), then we can say that our tion in a finite number of steps. As I determine the optimal troop deploy-

goal is to find a situation Soptimal so said, these algorithms are an approxi- ment. By letting every gene correspond that Set 2 is empty. In other words, mation technique — often, a good with a friendly unit, and letting the the total damage inflicted over a fight and fast approximation is better than actual value of that gene being the 38 has to be maximal, and the total a slow and accurate solution, especial- enemy unit we’re going to attack, we amount of damage received has to be ly when it comes to games. have an adequate representation that minimal. This definition doesn’t say Like most things in nature, the con- fits into the formalism that we set up anything about winning or losing, cept underlying GAs is surprisingly earlier. A typical chromosome’s geno- because in some cases it’s impossible simple. The general idea is that you type could look like (1,3,1,4). Thus, its to win. Still, at least we try to hurt the code instances of your search space phenotype says that friendly unit 1 is enemy as much as possible. Another into chromosomes. (For the purpose of attacking enemy unit 1, friendly unit 2 thing to notice about the goal defini- understanding GAs, you can regard is attacking enemy unit 3, and so forth. tion is that it is assumed that if we chromosomes as sets of genes.) You In terms of the previously introduced attack a unit, it will defend itself. then let the chromosomes evolve just notation, we have S={1,3,1,4}. While this assumption is definitely as nature does. Hopefully, evolution INITIALIZING THE POPULATION. The next step not always valid, at least the AI will will form new chromosomes that will is generating a population. Every indi- have a way of assessing the situation. contain encoding of the solution to vidual in the population has a corre- However, saying that our goal is to the problem. sponding chromosome, and each chro- make α empty is not handy, so let’s More specifically, you start with a mosome has its own genotype. The reformulate the function. If we define population of random chromosomes initial population must contain a suffi-

FITNESS(S,m,n) to be Hfight(F(S,m,n))- and let them evolve by interbreeding. cient number of different genotypes. If Dfight(F(S,m,n)), then we can state that Every chromosome contains a set of a particular genotype is over represent- the situation Soptimal for which FIT- genes (the genotype) describing the ed, it might take a longer time to get to NESS(Soptimal,m,n) is minimized is the attributes of the chromosome (the phe- a solution, especially if this genotype is situation that will make α empty. It’s notype). When two chromosomes of a bad quality (we’ll get to the reason possible that FITNESS(S,m,n) could breed with each other, they generate for this later on). We will generate our become negative, but that’s not really new chromosomes. These new chro- initial population randomly, but in a problem. We actually want FIT- mosomes contain a mix of the genes of some applications, the candidates for NESS(S,m,n) to be negative because their parents. Because of mutation, the the initial population are carefully that means we’re dealing out more children don’t always contain exact selected. The idea is to embed some damage than we’re receiving. replicas of the parents’ genotype. By knowledge in the genotypes before replacing the parents with the off- applying the genetic algorithm. While spring, evolution occurs. Some chro- this sounds intuitively correct, research The Orc’s Grand Algorithm mosomes aren’t very successful at sur- has shown that for most cases, it’s bet- viving in the environment; their ter to select a random population.

o, how do we find Soptimal? As you genotype dies off, and they cease THE FITNESS FUNCTION. When evaluating S can guess, the search space is quite breeding. Others are quite successful, the quality of a chromosome, we need complex. When dealing with large and and the most successful parts of their some kind of function that tells us complex search spaces (say 120 units genotype is shared more and more by how “good” a chromosome is. This attacking 140 enemy units), I often all the chromosomes in the popula- function is called the fitness function. turn to approximation algorithms. In tion. At a certain point, you get a chro- In problems of minimization, one this article, I’ll look at how we can use a mosome that is so successful that it chromosome is better than another genetic algorithm as an approximation can’t be improved anymore. This is the one when its fitness is lower. For our algorithm for solving Kroxy’s problem. chromosome for which evolution was problem, we’ve already determined As the name implies, genetic algo- looking. It’s also the chromosome that such a fitness function. The previously rithms (GAs) closely follow the biolog- contains our solution. introduced function, FITNESS(S,m,n),

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com FIGURE 1. Selection mechanisms.

α= ∃ ∈ > ∧ < {}j,Sj S all | D( S j,,mn) D( S optimal ,, mn) H( S j ,, mn) H( S optimal ,, mn)

has the property that its minimum chromosome. The GA sets a random value, such as the sum of all the fitness represents the best solution, so we can target value that is a random propor- values. This doesn’t affect the search use it to qualify a chromosome’s fit- tion of the sum of the fitness values in and avoids getting values for 1/fitness ness. It’s important to realize that the the population. So, if we define the or 1/αT that are practically . quality and speed of a GA often total fitness of the population as The second selection method is sim- 39 ∑ depends on the quality of the fitness T= I=0,1..n-1 FITNESS(Ci) where n is the ply random selection (Figure 1B). You function. Sometimes, the fitness func- number of chromosomes in the popu- select a random chromosome to be the tion is quite obvious, but sometimes lation and Ci is the ith chromosome, parent. This method is said to be it’s nonintuitive and you have to per- then our target value could be αT, “genetically disruptive” because it form some analysis. where α is a random value between 0 doesn’t take the parents’ fitness into SELECTION OR “DATING.” To start the GA, and 1. The selection mechanism steps account. Still, you shouldn’t discard we need to select which two parents through the population until it reaches this method as useless. In several cases, are going to breed with each other. the target value; the last chromosome I’ve had much better results with ran- This is a crucial step, because parents in the summation is then selected as a dom selection than with roulette selec- that don’t breed stand little chance of parent. With roulette selection, fit tion, especially with crossover opera- distributing their genotype to subse- chromosomes aren’t guaranteed to be tors that suffer from premature quent generations. Our main objective selected. Still, they do have a greater converging to a local minimum (which is to select two parents that will gener- chance of being selected, because fit I’ll talk about shortly). ate good children. Since we don’t know individuals will contribute more to the The third selection method is called what good children are, we have to sum than less fit individuals. However, fit-fit selection (Figure 1C). It selects make educated guesses. We can’t just because ours is a minimization prob- the next fittest chromosome in the list say that we’ll take the best chromo- lem, this distinction is contrary to our of chromosomes. Because the popula- somes we have at this point, because goal: in our problem, the best chromo- tion changes throughout the algo- it’s possible that we’re converging somes will contribute little, while the rithm, not every chromosome will get toward a local minimum. (If this does- worst will contribute more. So we a chance to breed; the fitness of the n’t mean a lot to you, look up my arti- invert the summation. We sum 1/fit- chromosomes relative to each other cle on the A* algorithm, “Real-Time ness, and our target value becomes changes constantly. When you use fit- Pathfinding for Multiple Objects,” in 1/αT. Because you could be dealing fit selection, the GA will have a tenden- the June 1997 issue of Game Developer. with very large fitness values, it’s some- cy to converge rapidly toward a solu- In it, I discuss the problem of local times a good idea to multiply every- tion. The problem with this method is minima.) On the other hand, we could thing in the summation by some large that one of the main advantages of be converging toward the global mini- mum, so we have to carefully balance FIGURE 2. The crossover operation. our selection so that the GA has a high- er chance of selecting fit chromosomes while still retaining the option of α= ∃ ∈ > ∧ selecting weak chromosomes. { j,Sj S all | D fight( F( S j,,mn)) D fight( F( S optimal ,, mn)) H fight( F( S j ,, mn) Numerous selection mechanisms exist, and I’ll discuss three of the more popu- lar mechanisms here. The first selection mechanism is the so-called roulette selection (Figure 1A). Its name denotes the fact that it basi- cally performs a linear search through a roulette wheel. Every slot in the wheel contains the fitness value of a http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER GENETIC ALGORITHMS

FIGURE 3A. The initial situation for FIGURE 3B. This is the optimal situ- FIGURE 3C. This is the initial situa- the predefined test problem with ation for the predefined test problem tion for a hard random 40 units vs. 40 optimal fitness 0. The lines represent that was reached after 15,000 itera- units problem. Note that the fitness which unit should attack which unit. tions of the GA. value indicates that we’re loosing.

GAs (using the genetic diversity among in this article, I’ll present an example tion. This is the issue of replacement. the population to explore different of embedding knowledge into a Replacement decides which chromo- 40 areas of the search space) isn’t exploit- crossover operator for another prob- somes to kick out of the population, a ed as much as you would want. lem that has an easier fitness function. matter not to be taken lightly. Your ON THE NATURE OF BREEDING. After the GA I can provide a general guideline choice of replacement technique has selected two parents for breeding, though. Inserting local knowledge into should depend, to a certain degree, on the parents need to get down to it. This a crossover operator usually boils your choice of selection technique. brings us to the subject of crossover down to applying some function to Following are three ways of imple- operators. Crossover operators are one the current chromosome. This func- menting replacement. of the most actively studied aspects of tion yields a child that has a fitness In what’s known as weakest parent GAs. The crossover operator’s job is to value that is at least as good, but replacement, the child will only determine how two parents are going preferably better than, the parent replace one of its parents if it’s to generate their offspring, usually two chromosome. I also advise having stronger than the parent. When used children. The operator that we’ll use some measure of randomness, even if in conjunction with a selection here works as follows. First, you define knowledge is added. As we’ll see later method that selects both fit and weak two arbitrary crossover points, a and b, on, techniques such as a controlled parents, this form of replacement will on the parent chromosomes. For child random search usually work well. If continue to improve the overall quali- 1, all the genes that lie outside the somebody finds a good general ty of the population. If the selection interval [a,b] are copied from the first crossover operator for Kroxy’s prob- mechanism discriminates weak par- parent, and all the genes that lie inside lem, let me know. ents, they will never be replaced. So the interval [a,b] are copied from the After a crossover operator has been the part of the population that mat- second parent. For the second child, applied to generate the two children, ters decreases in size. the same thing happens, but the genes mutation can happen. Chances are rel- Both parent replacement is a replace- inside the interval [a,b] are copied from atively low (one to three percent is typ- ment technique that simply replaces the first parent. Thus, two new chil- ical) that mutation will occur, but you both parents. Using this replacement dren are created with a genotype that will need to include mutation because method means that every chromosome inherits from both parents (Figure 2). it inserts new genotypes into the popu- will only breed once. If your selection Ideally, if a crossover operator made lation. Especially in cases where the all the right decisions, a GA would genetic algorithm is converging around yield a perfect solution in one genera- a local minimum, mutation can be the tion. However, the amount of time thing that saves the day. One way to that this would take would be based mutate chromosomes is to choose two on an exponential function, which genes randomly, and then exchange isn’t what we want. Still, the search them with each other. This is known as can be helped by embedding some an exchange mutation. In the knowledge into the crossover operator. crossover operator described in the pre- This has to be done with care, because vious paragraph, you apply an as with the selection procedure, we exchange mutation after the children don’t want to guide the search into a have been generated. local minimum. Unfortunately, I FAMILY RESPECT. Once you’ve selected FIGURE 3D. This is the 40 vs. 40 sit- haven’t found a good general heuristic two parents to breed and you’ve uation after a little more than 10,o00 for this specific problem yet. This has a obtained their children, you must generations. The definite defeat has lot to do with the B(S,m,n) function, determine how these children are been turned into a definite victory. which is very game-specific. Later on going to be integrated into the popula-

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com method favors fit candidates, this units that have random attack and hit distance and the exchange of damage replacement technique might be point values, the GA took only 10,000 are. The results of running the demon- killing your best chromosomes. generations to transform the situation stration program under this model Weakest chromosome replacement from FITNESS=408 to FITNESS=–938, can be seen in Figure 3E-G. You’ll simply replaces the two weakest chro- turning a definite loss into a definite notice that the number of generations mosomes in the population, as long as victory. For these and all subsequent necessary to come to good results is a the children are not weaker than the test results, I used roulette selection in little higher than before, which weakest chromosomes. This method combination with weakest parent reflects the increased complexity of will assure that there is rapid conver- replacement, a mutation rate of three our search space. gence. By now, you should understand percent, and an initial population size that rapid convergence might quickly of 120 (Figures 3A-G). get you to a local minimum; getting out EXTENDING THE MODEL. Until now, we’ve And Now for Something Completely of it under this scheme is rather diffi- evaluated the orc fighting problem Different cult. Weakest chromosome replace- with a relatively simple fitness func- ment works well in large populations. tion. I’ve made many assumptions learly, using GAs to solve Kroxy’s KNOWING WHEN TO STOP. As stupid as it about the capabilities of the units, C problem is a good idea. We can may sound, knowing when to stop a some of which are obscenely naïve. interrupt the GA whenever we want, GA can be very difficult. Ultimately, we The most obvious fault in the model is and even after a modest number of want the GA to stop when we’ve found the fact that position wasn’t taken generations, the results are pretty the best solution. But of course, we into account. When units actually good. I’m using this approach in THE 41 don’t know what that best solution is. need time to get somewhere, Soptimal is LADY, THE MAGE, AND THE KNIGHT What you can do is look for the theo- likely to be very different from Soptimal (LMK), our upcoming role-playing retical lower bound, and then stop the for units that can teleport themselves. game, and can tell you that the AI has GA when it approaches that bound. You can see this very clearly in Figures definitely become better because of it. Alternatively, you can just stop the GA 3F-3G, in which some units are tra- I also use GAs in LMK’s character when your game is running out of versing huge distances. Luckily, all we behavior AI. At some point during the time. This is one thing that’s very nice have to do is adapt the fitness func- development of LMK, we decided that about GAs: you can stop one whenever tion a bit so that it takes position into it would be a nice touch to have the you want, and just use the best result account. The GA will then solve the characters turn out the lights in their that it’s come up with thus far. That’s problem while taking position into houses before they went to sleep at what I always do. account. In the implementation of the night. This was easily done, but for SOME RESULTS. I’ve developed a small battle transformation function characters who had large houses, a test program that generates random B(S,m,n), it’s possible to add up all the simple algorithm directing them to go fight situations and runs the GA over distances between the units that to the closest light and turn it out it. You can see some of its output of it attack each other. If we define this dis- showed a definite lack of intelligence. in Figure 3. If anything, the results tance as DIST(S,m,n), then we can The characters ran around mindlessly, from the test program are quite satis- redefine the fitness function as turning out the lights in seemingly ω ω factory. For a predefined test situation 1DIST(S,m,n) + 2(Hfight(F(S,m,n))- random fashion. Unfortunately, get- ω ω of 20 units vs. 20 units, all of which Dfight(F(S,m,n))). 1 and 2 can be any- ting them to follow an intelligent have the same amount of hit points, thing and depend on how important path to turn out the lights meant that armor, and attack values, the GA took we had to solve the travelling sales- about 15,000 generations to find the man problem, in real time. A GA optimal solution, which is fitness 0. For a more difficult 40 vs. 40 problem with

FIGURE 3F. This is the optimal situa- tion for the predefined test problem. Note the number of generations nec- FIGURE 3G. This is random 40 vs. 40 essary to reach this result. It’s often situation under the extended model. FIGURE 3E. This is an intermediate better to stop searching when you’re As you can see, here too the definite result for the predefined test problem just in the right neighborhood when loss was transformed into a definite using the extended model in which using an approximation algorithm victory, while the troop movements position matters. such as a GA, as figure 3E shows. make sense.

http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER GENETIC ALGORITHMS

engine running in the background To solve the TSP with genetic algo- each cell is then the distance between turned out to be just the thing to rithms, we only have to modify a few the cities represented by row and col- solve our problem. aspects of the GA that we’ve developed umn. As a bonus, if the direction THE TSP. The travelling salesman prob- so far. We can represent every city by doesn’t matter, you only have to com- lem (TSP) is a classic permutation prob- its coordinates in space and assign an pute half of the total distances repre- lem. In the TSP, a salesman has to find index to it, starting with 0 for city 0 sented in the matrix. a route that visits each of N cities once and continuing until we are at city N. The selection and replacement meth- and only once, and that minimizes the We consider the index of the city as ods don’t need to be changed, but we total distance traveled. It’s easily stated, the value that we put into a gene, and have to use a different crossover opera- but it’s extremely hard to solve. To the coordinates of the city as the gene’s tor. The problem with the crossover determine its complexity using a brute phenotype. If we have five cities, all operator that we used in Kroxy’s prob- force approach, represent each city by a chromosomes will contain five genes lem is that it didn’t care if two genes number, and write the route as a (as each chromosome represents a pos- had the same value. One crossover sequence of numbers. The problem sible path), its phenotype will docu- operator that was specially invented for then boils down to finding the number ment the route of the salesman (starts solving the TSP is the partially mapped sequence with the shortest total dis- at city 0, proceed to city 2, and so on), crossover (PMX) operator. PMX uses tance. The total distance is the sum of and a sample chromosome might have two crossover points, x and y. All the all the distances between every pair of the value (0,2,4,3,1). genes in the two parents between x and cities, and is the distance between the We again generate the population y are swapped. Because all genes have 42 last and the first cities in the sequence. randomly, but we do have to make sure to be unique in the TSP (that is, no city There are N-1 possibilities for choosing that every chromosome has the same can be represented twice in a chromo- the first city (assuming a starting city number of genes and that all of the some), we have to apply the following value of 0), because the starting point is genes are different. This is trivial to do, procedure: arbitrary. When you select one of them, but it can take some extra processing If a gene inside the crossover interval you get N-2 possibilities, and so forth. time, especially for large populations. [x,y] lies in [0,x[ or ]y,n] (where n The total number of possibilities is The fitness function can be the summa- equals the number of genes), copy therefore (N-1)*(N-2)*…*2*1 or (N-1)!. tion of the total Euclidean distance from its direct parent the gene lying in So, the brute force approach has an between every pair of cities. As in the same position to the faulty gene algorithmic complexity of O(N!), which Kroxy’s problem, we want to minimize outside the crossover interval in the is exponential. An enormous amount of the value of the fitness function. child chromosome (the “direct parent” research has been dedicated to the TSP, Because the fitness function is accessed is the parent from which the child and the best algorithm known so far a lot, it’s better to precompute all the copies all the genes that are not affect- has a complexity of O(2nn2), which is distances between every pair of cities. ed by the crossover operator). Repeat still exponential and not very good You can store this in a matrix where this process as long as there are equal even for small n (for n=20, you’re the indices of both rows and columns genes in the child chromosome. already at over 400 million steps). refer to the city index. The value of

TABLE 1. The Edge-Recombination Operator

Suppose we have two genotypes p1= (2,3,5,4,1,0) and p2=(2,1,3,0,5,4). hen applied to the TSP, the Then their edgemaps look like W PMX provides satisfactory, but Gene value Neighbors Gene Value Neighbors not optimal, results. PMX can be improved by embedding local knowl- 0 1,2 0 3,5 1 0,4 1 2,3 2 0,3 2 1,4 3 2,5 3 0,1 4 1,5 4 2,5 5 3,4 5 0,4 The edge map tells us what the neighbors of a particular gene are (or adjacent towns in the case of TSP). The combined edgemap for p1 and p2 then looks like Gene Value Neighbors 0 1,2,3,5 1 0,2,3,4 2 0,1,3,4 FIGURE 4A. This is the initial situa- 3 0,1,2,5 tion for a random 40-city problem. 4 1,2,5 The red dots are the cities, and the 5 0,3,4 lines show the path through the The combined edgemap contains the combined edge relationships from both parents. cities.

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com child. This combination causes the LISTING 1. Edge Recombination Operator algorithm. algorithm to converge quite rapidly towards a solution. Be aware however, Give two genotypes p1 and p2 of length N, and their combined edge map M. To obtain that this strong point of ERO is also a c1, the child genotype, do the following: weak point, as we might fall into a 1. Copy the gene g from first position in p1 to the gene in the first position in c1. Remove local minimum. One way to get better this gene value g from the edge map results is to switch to PMX when you’re 2. Let I be the first gene value in genotype c1 in a minimum. 3. If all N gene values have been added to the child c1 then exit and return c1. Some of the results of applying the 4. If for the ith gene there are no more entries in the edge map, then randomly choose a GA to the TSP are listed in Figure 4. As gene value g to be added to c1, where g has not already been added to c1. Add g to the you can see, it does pretty well. Indeed, next consecutive gene location in c1, remove g from the combined edge map M, set I in LMK you get the impression that to g and go to Step 3. some designer has told the characters 5. Choose the jth element from the ith entry in the combined edge map where the jth how they should turn out the lights. I entry in the combined edge map contains the minimum number of elements. If several could go on and give you more exam- elements have this property, choose one of them randomly. Once we have chosen j, ples of how to solve hard search prob- lems using GAs, but by now I hope you we then add j to c1 at the next consecutive gene location. We then remove j from the understand their potential. In many combined edge map, assign j to I and go to Step 3. problems, GAs are my algorithms of choice. They are very easy to imple- 43 edge in the algorithm. If two cities lie rithm only generates one child, but we ment, they can be stopped at any time, very close to each other, in most cases can easily obtain a second child by and often still give adequate results — it would be a bad idea to replace one of exchanging the two parents. quite an important feature for a game. these cities with one that is lying far The important part of the ERO algo- Generally, if you have a difficult search away. The edge-recombination opera- rithm is Step 5. There, we visit those problem that you don’t know how to tor algorithm (ERO) addresses this towns with fewer adjacent edges earli- solve, you can usually find a way of issue. It’s known to have solved several er than those with more edges, tackling it with a GA. moderate to large instances of the trav- because a town with fewer adjacent The only problem with GAs is their elling salesman problem. edges is likely to cause difficulties if speed. Do they get results fast enough The idea behind the ERO algorithm is it’s chosen later on in the town selec- for use in real time? The answer to build a child genotype based on the tion process. When we’re near the end depends on the game, and just for combined edge relationships from both of the algorithm, there’s a high proba- what exactly you’re trying to search. In parent genotypes. The advantage to this bility that there are no more adjacent LMK, we don’t use GAs for split second approach is that the parents might tows in the edge map. This causes the decisions, but we do use them for deci- already know something useful. The algorithm to perform mutation by sions whose impact will stay in place ERO algorithm makes extensive use of resolving to Step 4. for some time. Such decisions can usu- something called an “edge map.” The The ERO algorithm does what is ally be calculated in the background. If edge map tells us what the neighboring called “controlled random explo- you can run a GA engine in the back- genes are (Table 1). Note that the same ration.” When the chromosome is long ground, I really don’t see any reason gene necessarily appears at multiple enough, a reasonable number of ran- why you couldn’t implement them in entries in the edge map. The final edge dom choices are made. These choices your game, too. Of course, if you don’t map combines the edge maps of the represent different ways of combining have to solve problems like TSP, don’t two parent chromosome. The actual the parents without introducing new mess with GAs. But if you are facing ERO algorithm is described in Listing 1. foreign edge relationships into the these kinds of problems, consider GAs. You’ll immediately see that the algo- Thirty-thousand iterations vs. 240 times 402 isn’t that bad. ■

F O R F U R T H E R I N F O For those of you who are further interested in GAs, there’s a wealth of information out there. Try out the comp.ai.genetic newsgroup or The Hitch-Hiker's Guide to Evolutionary Computation, which can be found at http://www.cs.purdue.edu/coast/ archive/clife/FAQ/www/. Alternatively, This is the situation FIGURE 4C. just do a search on genetic algorithms. This is the situation after 30,000 generations using the FIGURE 4B. You’ll find that there is enough to keep after 30,000 generations using the PMX operator. You can clearly see you busy for quite some time. ERO operator. that the ERO operator outperforms it.

http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER CHARACTER MODELING Aamicall Cec Chaace Mdelig by Stefan Henry-Biskup

good character model has to fulfill two requirements: it has

to look great and it has to animate well. The aesthetic

quality and technical functionality of your model are 44 deeply intertwined. Aesthetically, you want a model

that really captures the details of the original

design. Technically, you want to maintain a

model’s character traits as it animates.

As character modelers, we’re carrying Creating a model that can look good ural, the shoulders were ballooned out, on a figurative, sculptural tradition in the da Vinci pose and perform all of and the thighs looked too long (Figure that is as old as art itself. And computer the exotic movements that today’s 1). A great deal of time was spent tweak- graphicA Aart represents some stunning games require is a daunting task. ing the vertex attachments, applying figurative sculpture — just look at the Fortunately, we can take cues from bulge angles, and editing link parame- beautiful, high-resolution versions of human anatomy to solve the puzzle. ters in an effort to fix the model’s ani- characters from TEKKEN 3 and MORTAL A character model and skeleton is a mated appearance. We tried to improve KOMBAT 4. While we digital sculptors large and complex hierarchy. As such, the character’s posture by adjusting the seem to be creating better-looking problems that exist at or near a model’s bones of the back, but that threw off the characters, creating characters that ani- base (root) will propagate throughout rest of the motion, causing the golfer’s mate well is a new challenge that can the entire figure. Conversely, changes club go into the ground during a swing make or break a game. to the root can propagate improve- (the hierarchy effect). Most of our fixes ments as well. related to the attachment of the mesh to the skeleton — essentially changes to the surface portions of the model. But Case Study: JACK NICHOLAS 5 the source of the problems was actually inside, in the skeleton itself. hen began working The problem lay in the structure of W with Eclipse Entertainment to the skeleton and its positioning within create JACK NICHOLAS 5, we encountered the mesh, not in the vertex assign- some major problems with the golfer’s ments. The joints of the hips and lower animated appearance. The model was back were coplanar in the z axis, form- attached to an animated skeleton, ing a flat horizontal line (Figure 2). As which was driven by motion capture such, the lower back rotation occurred FIGURE 1. This golfer’s thighs are data. However, when when the model in the hip area, creating a stiff posture too long and his shoulders bulge. animated, problems cropped up. The that lacked the natural arc of the spine. golfer’s posture was very stiff and unnat- This configuration placed the skele- ton’s root too low in the mesh, and Stefan Henry-Biskup has been in the game business for six action-packed years. He is because the rest of the joints were chil- currently a senior artist at Accolade working on SLAVE ZERO. dren of this root, the problem was propagated on to them.

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com FIGURE 2. Coplanar joints in the hip area causes unnatural movement.

The low placement of the root FIGURE 3. The root of this limb is FIGURE 4. Correct placement of the turned out to be the cause of our knee placed too low. shoulder joint. and shoulder problems (Figure 3), and in fact affected all joints to some 45 degree. To solve it, we reprocessed the to human proportions, and it can save in the world, you can zoom in on motion capture data for a more appro- 3D modelers a lot of time in creating details of the map and your geometry priate skeleton, and then modified the characters. You’ve probably seen a will scale up along with it. Finally, after model with respect to the new skeleton character sheet before; it usually shows you’ve used the sheet to position and (Figures 4 and 5). With a new skeleton at least the front- and side-views of the build the skeletal structure for the char- and model in place, we greatly reduced character as well as any number of acter, it will be an aid in the construc- the amount time needed to tweak the expressions and costume details that tion of the final surfaces. vertex attachments, and the appear- the designer wants to note. I scan my Figure 7 shows Anahani, a character ance of the animated model improved character sheets, and then map the designed by artist Heather Capelli for greatly (Figure 6). (An .AVI file of the scanned images onto polygons in my an Internet-based multiplayer game. golfer before and after are available at 3D package and work directly over that We scanned the drawings into the http://www.gdmag.com.) texture in the orthographic viewports. computer and then cropped them in The problem with the golfer in JACK This is the beauty of digital technolo- Photoshop. Setting the canvas size to NICHOLAS 5 illustrates the importance gy: if you’re just working from a pinned a nice round number such as 300 pix- of getting skeletal positions correct in up character sheet next to your com- els wide by 600 pixels high is a good the beginning. To achieve this goal, I puter, you’re essentially redrawing the idea, too; it makes it easy to match the suggest turning the usual production character as you build it. With the sheet aspect ratios of the source image and sequence upside down, building the displayed in your viewport, you can the polygons. The two polygons onto skeleton before you build the mesh. place the geometry quickly and reduce which you’ve mapped your character You can then build the model’s surface the time spent tweaking your character sheets should be positioned at right by aligning your geometry to the model’s position and scale. Mapping a angles to one another, so that the rec- appropriate bones of the skeleton as scanned image to a set of polygons is tangle containing the front-view lies you go. This technique is similar to the much more effective than simply dis- on the z,x plane and the side-view way in which a sculptor uses an arma- playing the image as a viewport back- image is mapped onto a rectangle in ture when creating a figure in clay. It drop. If you apply an image to an object the z,y plane. You may have to slide lets you concentrate on orienting the the rectangles up and down until the surface contours of the body to the head and feet of each image are bones as you build them, and then cre- aligned. Positioning the images so ate appendages along those naturally posed bones. So the first order of busi- ness is to get the skeleton into posi- tion, and this is where character sheets come in handy.

What’s a Character Sheet?

he character sheet was born in the T 2D animation industry as a refer- FIGURE 5. Correct placement of the FIGURE 6. This golfer is modeled cor- ence document to help animators draw hip joint. rectly and moves much more naturally. characters. A character sheet is a guide http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER CHARACTER MODELING

FIGURE 7. The Anahani character sheet mapped to rectangular poly- FIGURE 8. The pelvis. FIGURE 9. The spine. gons in MAX.

lines between the axes, and are not the spine comprises three bones, which that the planes don’t intersect is natural shape of human bones. Often, lends flexibility to the rib cage while important — that way, as you begin as we will see, the form of a human keeping the attachment between the 46 creating your model, your skeleton bone itself can be misleading, so it’s torso mesh and the skeleton simple. won’t intersect the image-mapped important to closely examine the bone THE SHOULDERS. The shoulder joint is very polygons and confuse you. and accurately locate the rotational close to the top of the shoulder mass axis of a joint. (Figure 11). Correct placement of this CREATING THE PELVIS. In the root, the joint is crucial. Otherwise, the shoulder Deconstructing the Body pelvis, there are three points that form balloons when animated (as happened an upright triangle tilted slightly back with the golfer in JACK NICHOLAS 5). ow let’s look at where the bones at the top (Figure 8). The two hip joints From the front view, the shoulder bone N should go. Move the bones to are the bottom corners and the lower appears roughly aligned with the sides align them to the character sheet back joint is the top point. The hip of the rib cage. From the side, you can images using the front and side ortho- joints are up about one-third of the dis- see that it’s a little closer towards the graphic views. While most manuals tance between the bottom and the top figure’s back than the front. The shoul- teach you to place the bones in rough- of the pelvis. From the side, they’re der is probably the single hardest area ly the center of the geometry that you slightly forward of the skeleton’s mid- from which to get a full range of intend to attach, this is often not point. When positioning the hip joint motion without ugly skin crimping or where bones are placed in the human horizontally from the front, don’t be surface distortion. Some animators body. As we saw in the opening exam- fooled by the upside-down L shape of build abnormally wide shoulders to ples, you can achieve some dramatic the top of the femur. The bones of the compensate for such distortion. improvements in the realism of your thigh naturally tilt quite a bit inward. THE ELBOWS. Note that the elbow sits to model’s animations with the applica- But, with digital bones, your thigh the rear of the arm mass (Figure 12B). tion of some basic anatomical observa- bone will be much closer to vertical. If As with the shoulder, this close proxim- tions. I’ll show some specific examples you get this wrong, you’ll place the hip ity of the joint to the surface is essential of how anatomical reference was used bones too far apart or the knees too to keeping the elbow from looking too to guide the positioning of Anahani’s close together. The lower back joint is soft or bulging unrealistically. The bones in several areas. centered horizontally within the body; elbow is a little tricky, and its location The following tutorial is based on 3D it lies at the same height as the belly in the arm is deceiving. I used to think Studio MAX and Character Studio, but button, and as we’ll see shortly, it’s it was located above the bulge of the many concepts can be applied to other located to the rear of the body mass. forearm, like the relation of the knee to modeling and animation tools. I use THE SPINE. The spine is a misleading the calf. But in fact, the bulge of the the basic Character Studio skeleton, so bone structure. It actually rotates forearm encompasses the joint. Note my skeleton is prebuilt and prelimited around a vertical axis that runs that the joint actually represents the for me already. Another benefit of the through the little wing-like structures Character Studio bones is that their at the back of each vertebrae (Figure 9). axes are automatically aligned to the This rotational axis lies just behind the bone, which is not the case with stan- spinal cord, so it’s farther back than dard 3D Studio MAX bones. Because might you think. An accurate represen- you’ll use the axis to build geometry tation of the spine is very important; onto the skeleton later, it’s important, the rib cage of your model will swing if you’re using a different system, to very differently if the figure’s spinal build your skeleton with the axes bones are placed in the center of the FIGURE 10. Spinal position seen aligned to the bones. Finally, note that torso mass rather than at the back as from above. our digital bones are really just straight Figure 10 shows. In our model, the

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com FIGURE 12. The elbows. FIGURE 11. The shoulders.

meeting point of the two bones (above As Tools Evolves, meeting of three bones, not two. At the the end of the femur), not where the Concepts Remain Valid elbow, the ulna is the primary bone of two bone ends meet. As seen from the the forearm pair to which to pay atten- side and front, the axis should be cen- odeling tools are constantly tion. The characteristic point that you tered horizontally within the knee’s M reinventing themselves, which 47 see at the outside of your elbow when mass. By placing the knee joint away makes our lives as game developers it’s bent, caused by the meeting of the from the surface of the geometry, we easier. For instance, the newest version humerus and ulna, is actually not the get a bulging effect, which (unlike the of Physique, the skin attachment pro- respective ends of those bones. In fact, shoulders) we want in this case. gram in Kinetix’s Character Studio, the humerus is connected to the ulna The rest of the skeleton is positioned uses a new method of attaching ver- just below the end of the latter bone, by aligning the remaining bones to the tices to bones. The tool now supports causing the ulna to cantilever outward character sheet as well. Note that bone true weighted vertex assignments, when bent and create this point (Figure joints in one part of the body behave using envelopes. This method has seri- 12C). In your model, this is a matter of similarly in other locations. For ous ramifications for how spline con- defining the attachments correctly. instance, the joints of the finger and figurations at the joints will be built in THE KNEE. The knee took me some time toe bones work just like the knee: lower the future, as it allows you more easily to understand (Figure 13). The key to bones orbit about a point partway up create a good looking vertex attach- realistic movement from this joint lies the higher bone. The meeting of the ment. in keeping the mass of the knee fairly ankle and the foot is similar to the However, no matter what features constant as the leg bends. The bones of elbow: there is a protrusion by the heel future software versions support, these the lower leg, the fibula and tibia, actu- that is akin to the point of the ulna. core concepts that I’ve outlined will ally slide around the lower end of the Finally, as noted before, the bones of remain true: femur (Figure 13C). To achieve this the neck meet the head towards the • Character sheets are one of the most movement, place the knee’s axis of rear of the skull, just as the rest of the powerful tools you have for nailing rotation a little above the vertical spine relates to the rib cage. the detail and proportion of your model, and using them within your modeling environment leverages their strengths even more. • The quality of skeletal joint positions (particularly those at the base of the hierarchical tree) will continue domi- nate the geometry built upon it. • Building the skeleton first and then properly posing it will help your modeling and save you significant time and effort. By studying human anatomy, a modeler can learn where to put the bones of the skeleton so that it deforms properly, how the human body’s joints behave, how much freedom of rotation joints have, and how muscles wrap around and connect to bones. By creat- ing structures that closely mimic a real FIGURE 13. The knees. human body, your model will move and deform more naturally. ■ http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER MOTION CAPTURE

he director of a motion capture

project has two key responsibili-

ties: giving direction to the talent and run-

ning the studio session. Directing the tal-

ent means clearly explaining the required

movements to the performer, and then

giving constructive and decisive feedback on each take. 48 Running the session involves not only calling “action” and “cut,” but also controlling the pace of the shoot — by decid- TTing when to continue to the next move, allowing breaks, and ending the shoot day. Thorough planning will make both of these jobs signifi- cantly easier. As I discussed in my previous article (“Planning a Motion Capture Shoot,” Game Developer, September 1998), you should go into your motion capture session armed with a very specific shot list, a flowchart for each character, and a day-by-day shooting schedule. If you’ve gone over these documents in agonizing detail with the game’s key team members and the motion capture stu- Diecig dio personnel, you’ll have a very clear idea of what has to be accomplished and how. The more control you have over the production process, the more you can focus on creating great motion-captured animation that will work perfectly in a Mi your game. Cae Sh Procedures During the Shoot EEPING TRACK OF YOUR SESSION. You’ll want to be able to K review each take on video during the shoot and also by Melianthe Kines afterwards to select which ones to use in the game. The easi- est way to do this is to set up a regular video camera as a “slate camera” to tape the session. The slate videotapes you record should have time code that matches that of the motion data videotapes. Hold up a slate board for each take, noting the file name, move name, and take number. Watching for continuity is critical. It’s especially impor- tant to make sure your talent starts and ends in the correct rest frame position and hits floor and height marks. To doc-

Melianthe Kines is a freelance interactive director and produc- er. She has directed motion capture and Ultimatte shoots for and Electronic Arts. Her past motion capture projects include NBA JAM EXTREME, NBA JAM ‘99, THE CROW: CITY OF ANGELS, and FIFA: ROAD TO WORLD CUP ‘98. Her Ultimatte production credits include WWF: IN YOUR HOUSE and FRANK THOMAS BIG HURT BASEBALL. She can be contacted via e-mail at [email protected].

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com ument rest frame positions, take Polaroids at several angles and trace outlines of the performer on acetate taped to your slate camera video monitor. Put pieces of black tape on the studio floor to indicate where the performer’s feet should go. Use tape or other marks on a nonreflective studio stand to show the height of other characters and objects in the game consistently. (Make sure you jot down the measurements that you use so the marks can be recreated in later sessions.) Take extensive notes on your shot list, and highlight the takes that you like best during the shoot. Record the time code numbers of each take, if possible. Additional technical considerations to keep track of include timing, speed, dis- tances, and direction. Some of these things you’ll have to judge by eye, so watch closely and feel free to ask for video playback of current and earlier takes. The author directs Washington Wizards small forward If you’re lucky enough to have a good assistant, put this Juwan Howard during a capture session for Acclaim’s NBA person in charge of continuity and keeping track of take num- JAM EXTREME at the company’s Glen Cove, N.Y., motion cap- bers and notes. The assistant should slate each take and jot ture studio. down your comments about each take. Having an assistant is 49 invaluable because it allows you to focus on the performer and watch the action without distraction. A capable assistant accomplish and do not want distractions in the studio. can also take care of the performer's requests and will coordi- Besides, the performer may feel self-conscious with a big nate information between the studio and the team. audience.If the talent is a celebrity, it’s especially inappropri- SET RULES FOR THE SHOOT. Have a meeting before the shoot to ate to allow a bunch of visitors to the studio. discuss how you’ll communicate with other team members in the studio. Above all, establish how your team will make decisions. Ideally, a few key people (the lead programmer, Directing the Talent animator, and/or producer) will be present during the shoot, schedule permitting. (Alternatively, you can schedule meet- magine that you’ve been hired as a motion capture per- ings with the team after the shoot each day to review the I former for the first time by some game company. You “dailies,” the video you recorded on the slate camera.) You’ll walk out of the dressing room wearing a skintight motion want input from them as well as from the motion capture capture suit with sensors attached everywhere. Even if you’d studio personnel during the session. However, explain that been warned about this, if you’re human, you’re going to the director will control the session’s progress and will also feel a bit awkward. That’s why the director’s first task is to be the only one to communicate with the talent on the set. put the talent at ease. Joke about the wacky suit and make Try to avoid arguments during the shoot about whether the small talk to break the ice. Allow the performer some time to move you just captured was good enough. This will waste warm up and get used to the motion capture suit and any time and make the talent confused and uncomfortable. props that will be used. Play some music in the studio — in Suppose you feel that other team members understand the fact, ask the talent to bring some of his or her favorite CDs. game better than you do (which would mean that you didn't Familiar music helps keep the performer’s energy level up, spend enough time in preparation). You decide to let the and everyone else’s too (especially if they don't despise the animator and programmer critique the talent's performance performer’s taste in music). and provide feedback. These team members may or may not If the performer is new to motion capture and to games, be able to clearly express what they want; furthermore, they try not to condescend when explaining what you want may contradict each other. All the performer will end up done. Even if he or she has trouble grasping the more com- hearing is “Could we do just one more?” over and over plex concepts, maintain a respectful tone with the per- again. Or suppose that you’ve handed control of the shoot former. Start with the basics — explain how he or she will over to the sports or martial arts experts whom you’ve hired have to hold a scale position at the beginning and end of for the shoot. If you don’t watch out, your expert may con- each move. Talk about the importance of hitting rest frames fuse the talent by telling him or her that a move you’ve and marks. Discuss the game character and the shot list; you specifically asked for isn’t “authentic.” Sometimes, for the can even welcome and make use of the talent’s suggestions sake of good game play, you have to compromise between to some extent, if they don’t impact your motion capture realistic sports moves and what will work in the game. Such and game requirements. distinctions should be the director’s call, not the performer’s PROVIDE CUES. Help the performer hit his or her marks and or the expert’s. If you’re planning to have an authority on maintain timing by providing cues. You can do this verbally, the set, try to involve them in the preproduction meetings by calling out when the performer has reached a certain so these issues are resolved before the shoot. position. However, be careful not to yell out instructions at Having a few people in the studio is one thing, but don’t the performer like a football coach. If you’re hollering, you’ll allow a crowd. Don’t permit unnecessary personnel to hang probably make it hard for the performer to concentrate on out and watch. Make it clear that you have a lot of work to the action at hand. The performer might also turn his or her http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER MOTION CAPTURE

point where you’re something after the shoot that makes treating the per- the first “perfect” take useless. You may former like a robot. save the day by having a backup take Remember to keep that happens to solve the problem. an overall sense of Let’s face it, being a motion capture the game’s charac- performer is not an easy thing to do. ter and help the The sensors fall off constantly. You talent bring the build up a sweat and you’re wearing a role to life. Throw skin-tight lycra suit. And you’re being in some humorous watched — no, studied very closely — idle moves or wild by a bunch of strangers. improvisations if As a matter of fact, you and the stu- you can spare the dio crew will have to watch closely to studio time. The make sure the sensors and the suit performer will don’t shift around too much during probably move the shoot. If the sensors move on the quite naturally, performer’s body, the studio crew will being relieved of have to rescale the suit and adjust for hitting his or her any displacement. You’ll have to 50 marks. Often, those rescale before and after lunch as well. last-minute ideas Still, you can’t let the performer take work well to add off the suit during lunch. Find out some spice to the from the studio what can be safely game characters. done to make the talent comfortable Just play the tal- during breaks — at least let him or her ent’s favorite music put on a robe or a loose sweatshirt CD, roll the cam- over the suit. eras, and joke DIRECTING CELEBRITIES. The main differ- around with the ence between directing celebrity and performer. The noncelebrity talent is that you usually very worst thing meet celebrities for the first time at the you can do is put shoot. You don’t really know until your performer on then whether you’ll be dealing with a the spot by saying, prima donna or a complete profession- “OK, ready? Now, al. You’ll never be able to force a act natural!” celebrity to give you a good perfor- head to look at you when you say You’ll usually get the best perfor- mance, so try to establish a good rap- something; that would ruin the move. mance when the talent is relaxed and port and talk about the great video You can also cue performers physi- you’ve got a good pace going. You game you’re creating. If the performer cally — you or or one of your team want to build some momentum by complains about the difficulty of wear- members can stand outside of the cap- moving from one shot to the next as ing the suit and using sensored props, ture space and play an opposing char- quickly as you can. Also, make sure you appeal to the . Say something like, acter. For example, during the NBA JAM compliment the talent frequently. If “We knew this would be hard — that’s EXTREME shoot, we needed Juwan you’re not happy with a take, never tell why we needed you!” You can also call Howard to run at full speed and then the performer it was “all wrong.” the performer’s agent if you have to — come to a full stop right inside the cap- Instead, try saying, “That was really you know, the person who agreed to ture space border. I didn’t want him to good, but I want you to do it again a the contract, gets a cut, and actually have to look down at black tape on the lot faster and with more power.” Or has the power to threaten the talent. floor while he was running, so I stood you can even say, “Great! But you did- Many celebrities — Juwan Howard, in his path, just outside the capture n’t hit your marks, so let’s do it again.” for example — are extremely coopera- space line. He was forced to stop or If you’ve got a capable performer, after tive as well as talented. But I’ve also knock me over. (Fortunately, he a while you’ll probably start getting worked with performers who whined, stopped.) This kind of trick is a good what you want on the first or second made extraordinary demands, and way to keep the motion realistic and take. Don’t get too bold, though — seemed incredibly lazy. Usually, if I dynamic — the performer should feel always do at least one extra take of the compromised on the requests — and as though he or she is in a real situa- move as a backup. It’s okay to tell the kept my word — the complainer went tion, reacting to other people. talent it’s a “safety take.” You never on to give a great performance, just to WORKING WITH TALENT. As I mentioned, know — the data on the other take get it over with. Professional athletes you’ll be watching for continuity and a could be corrupted, or the studio might can really amaze you in the studio with whole slew of technical considerations. have forgotten to hit record. Then what they can do, if they’re motivated But try not to get bogged down to the again, you and the team might realize to get the shot right on the first take.

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com Getting the Moves You Want Often, it’s impossible to redo the rest Sometimes, you don’t realize that frame once you’ve captured the hun- something is wrong with the per- ure, it’s nice to make the talent dreds of moves that branch off of it former’s stance until you see it in the S happy. But what about making the (unless your programmers devise a game. It might look ridiculous when programmers and animators happy? fancy algorithm to modify every exist- applied to the character model and What about making the person who ing move in the game). Still, you may used in the game environment. This is buys the game happy? wonder, how could you possibly get a another good reason for a test shoot Well, the only reason to please the rest frame wrong? to try out the motion data in the talent is to establish an atmosphere in First, the position of the feet and the game. You can experiment with sever- which you can get the moves you angle of the body are very important. In al different rest frames and find one need. You have to know what you most fighting games, for example, that works best for each character. Just want in order to be able to explain it you’re likely to have a “fighting stance,” be sure you can recreate the ones you clearly. Trust your instincts — if you’ve where the person stands at an angle like in the real shoot, possibly with a done your planning properly, you’ll with one foot in front of the other. If different performer. know a good move when you see it. you plan ahead, your performer will be CONTACT BETWEEN CHARACTERS. Whether WHAT’SA“GOOD” MOVE? For most video- able to transition easily to a walk from you’re creating a fighting game or a games, the best kind of motion is fast this position. If you don’t plan ahead, it sports game, you have to figure out a and decisive. When a move is applied will be impossible for your performer to way to match up any contact moves to a game character, it should be easily go anywhere from this position. But you between game characters. First, you recognizable, look cool, and be quick. might want the character to have a need to know the distance between 51 Sometimes, you come up with a really more natural-looking stance — maybe one character and another when any impressive move in the studio, but in facing straight forward, arms at the interaction is likely to occur. For the game it’s confusing and silly. If sides. In that case, how far apart should example, a fighting character might you’re going to use a move that takes the performer’s feet be placed? Will he have a short-range and a long-range even a few seconds in game time, it had or she be able to transition to a walk or attack that can be used on opponents. better be worth watching. Don’t forget a run easily? If the arms are at the sides, You want to make sure that when your that your motion data has to be con- how long will it take to throw a punch hero throws a punch, his hand appears verted to the target number of frames. or lunge for a ball, If the move is too long, it’s going to be and then return to choppy when it’s cut down. And of the stance? course, if it’s not cut down, it may Another problem exceed the amount of memory that’s is that the position been allocated for the motion data. might seem com- Of course, there are plenty of things fortable to the tal- you can do to fix the moves “in post” ent at the begin- — that is, with software. You can speed ning of the shoot, up moves, change the distance a char- but later on, he or acter moves, or turn the character up- she might find it side down if you want. Just remember hard to hold steady that each time you alter the motion or return to pre- data, it will look less and less like realis- cisely. By then, it’s tic human motion. If the whole point too late. This is of using motion capture is to get realis- especially true of tic animation, you should reshoot the those famous moves until the performer can do them “crouching” posi- quickly, smoothly, and naturally. tions that just That’s one reason that the choice of a about every fight- rest frame is critical. ing game includes. THE REST FRAME. The rest frame is the sin- The only solution gle most important move you will cap- is to let your talent ture, and it’s the easiest to screw up. stretch out fre- Why? There’s a tendency to rush quently, and watch through the capture of this move. It closely to make probably seems as though all the per- sure the rest frame former has to do is stand there. Also, is hit precisely it’s usually the first move of the shoot, (unless that brilliant and everyone’s anxious to finish it and programming team start capturing the cool stuff. Don’t of yours has blend- make this mistake — redoing the shot ing tools to com- or compensating for an undesired rest pensate for imper- frame is a major problem. fect transitions). http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER MOTION CAPTURE

to knock the enemy’s head back, not of the NBA Jam projects and on the formers to accelerate into and deceler- go through it. In a 3D environment, FIFA soccer shoot, we successfully used ate from a fast run, the studio built you’ve got to account for the direction a sensored ball to simulate its spinning grass-covered ramps in and out of the and the angle of the attack as well; is it motion. Bear in mind that the sensors capture space. an upper cut from a shorter character on the ball make the performer’s job Someone running at top speed will on the defender’s right side? You need much harder. usually make it through the average to account for the way the characters Also, with optical motion capture capture space in one , left foot stand when they are in close proximity systems, the prop shouldn’t block the and right foot. For any game where a to one another as well, unless you cameras’ view of the performer. If you character is supposed to run, you need want them to be stepping on each obscure the sensors, the computer room in the studio for the talent to run other’s feet. Your characters are proba- won’t be able to track the performer’s into and out of the capture space. Of bly of different heights, too — remem- motion completely. For example, if course, it’s easier if you’re working with ber that when you’re capturing a your character if supposed to lift a large a normal floor. More and more these “knee to the stomach” move. And of crate, you can’t use a solid box four days, though, motion capture shoots course, get precise measurements of feet square. Instead, you could use a are being done on special surfaces that any objects as they will appear in the box frame of the same dimensions. In simulate the game’s terrain. Hockey game. Suppose the “magic staff” prop either case, the performer is going to and figure skating games have been that you use in the studio is two feet have to do some acting to express the captured at ice rinks, for example. The long, and the performer playing the weight of the heavy box, thanks to the more complicated your shoot, the bet- 52 wizard likes to gesture with it wildly. If accuracy of motion capture. ter your advance planning has to be. the staff object in the game is relative- You don’t need a prop for every sin- ly four feet long, whenever your all- gle object in the game, as long as you powerful wizard character waves it, know the dimensions of each object Special Set-Ups and Stunts he’ll poke his own eye out. and how it’s supposed to be held by the character. Sometimes, it’s easier for f course, you can create some the performer to mimic picking some- O pretty complicated set-ups in a Studio Props and Sets thing up because you don’t have to studio with a plain floor. The studio worry about occluding the sensors on can build you some steps, ladders, or a TUDIO PROPS. Your wizard would be the performer’s suit. steeply angled floor to correspond with S safe from embarrassment if you The motion capture suit should be your game’s environment. If you were had built the correct prop for your per- designed to simulate the game charac- to use the basic walk cycle for going up former to use. When you plan your ter’s costume. A football player can and down stairs or traversing hilly ter- shot list, you should include sketches wear a suit with shoulder pads and a rain, it wouldn’t look right and it prob- and exact dimensions of all objects helmet. A femme fatale can wear high ably wouldn’t fit together properly. with which game characters may inter- heels. On the FIFA shoot, the soccer Most games wouldn’t be complete act. You’ll need to give the studio some players wore cleated soccer shoes. The without some spectacular jumps and time to build props for your shoot. motion will be very different depend- falls. You could simply let your per- Motion capture props have very specif- ing on the kind of shoes the performer former crumple gently onto a mat, but ic requirements. They must be com- is wearing. It also depends on the kind what fun would that be? Bring in a pletely nonreflective and are usually of surface on which the performer is stunt coordinator if you’re going to painted black. If the prop is going to walking or running. put your performer at any risk of have sensors on it, the studio and the STUDIO SETS. As you can imagine, you injury. If the shoot requires forceful team will need extensive preparation can’t have performers wearing shoes contact between the performer and an to be sure the prop will work. On each with cleats in the studio unless you object, another performer, or the floor, have a grass floor. it’s best to have a safety expert on the For the FIFA shoot, set. Your legal department will be the studio con- much happier. structed a mini-soc- Stunt coordinators usually work on cer field made of film or theatre projects and can help boxes several feet make “injuries” look more dramatic. high, filled with With motion capture and good soft- dirt, and covered ware, you can exaggerate these moves with grass. The soc- ten times over. For example, the per- cer players were former can stand on a medium-sized able to run, kick, box and fall off onto a big soft mat and dive realistical- next to it. Tweak this motion and put ly, and they were it into the game, and your game char- able to control the acter can appear to fall off of a twenty- soccer ball in an foot ladder or a basketball rim. Use the authentic way, too. box and no mat if you want the charac- To allow the per- ter to jump off instead of fall. Make

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com sure that the performer really exagger- wracking. Plan on capturing only one Wrapping the Shoot ates the bending of the knees and the take for each ratchet move and sched- swinging of the arms, on both the take- ule it for the end of the day, because it s the director, you get to say, off and landing of the jump. really knocks the wind out of the per- A “That’s a wrap!” (Others may If the game calls for the character to former. The talent should be paid a lit- plead with you to let them utter those jump off of a tall building instead, tle bit extra as hazard pay if you’re words, but don’t give in.) Collect your consider using a flying rig. Not every- going to put him or her in a ratchet or notes and slate videotapes after the one can use this easily — it’s particu- in any potentially dangerous situation. shoot, and settle into a comfortable larly awkward in a motion capture You can also use rigs to simulate chair to review what you’ve captured. suit. It’s hard to control the swinging nonhuman motion. Using a flying har- After you’ve selected your picks for of the cables while trying to perform a ness is obviously one way to make each move, provide the take number move smoothly, all while starting and your characters look supernatural, but and time code in and out points to the ending in a rest frame. Still, if you there are plenty of other ways to cap- motion capture processing team. simply require the character to flail ture strange-looking motion. Put the When the animators receive the data, his or her arms in the air while performer on stilts or outfit the per- discuss it with them to make sure they hurtling towards the ground, ask your former with extra motion capture arms understand and like what’s been pro- stunt coordinator to set up a flying and legs. Test an actor’s ability by vided. Review the moves as they’re rig. If you need a performer who can making him or her crawl across the put into the game, and ask the team control his or her movements enough studio on hands and knees; ask what for feedback while time is still avail- to look like a flying superhero, hire a animal he or she had to play in acting able for reshoots. 53 gymnast or stunt person with experi- class. For that matter, you can look Celebrate the end of your last ence using this contraption. into bringing a real animal into the reshoot with a wrap party for your cast A ratchet is another helpful stunt set- motion capture studio. I know that and crew. Thank everyone for their up that propels the performer violently some people have experimented with hard work, and see if you can get them backwards in a harness to simulate get- this, but I can’t really give you any copies of the finished game. After all, ting blown away by powerful weapons advice on how to direct Fido. I guess they’ll want to see the spectacular char- or explosions. You must have an expe- you should apply the same rules you acter animation made possible by your rienced stunt coordinator to use it, of would with humans — yell, plead, and successful motion capture sessions. course, and even then it’s a little nerve- bring lots of treats. Good shooting! ■

http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER POSTMORTEM Mlih SHOGO: MOBILE ARMORED DIVISION

by John Jack

onolith was founded by some soft- 54 ware industry veterans in late

1994. Then, in early 1996, this

core group of developers pitched

an original idea to Microsoft.

When Microsoft agreed, work MMbegan on SHOGO: MOBILE ARMOR DIVISION and its underlying engine, LithTech. According to the terms of our agreement with Microsoft,

LithTech would be a new stand-alone 3D game

engine that could be leveraged across multiple

products, as well as licensed to third-party

developers. SHOGO, an anime-inspired first-per-

son shooter starring 40-foot tall transforming

As the first project manager hired by Monolith, John has been in the middle of it from the beginning, wit- nessing the successes and failures generated by an incredibly talented and energetic company. When he's not riding his sport bike, John can be found in his office answering e-mail, yelling on the phone, waving his hands, and ordering pizza.

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com robots, would be the showcase product for LithTech. LithTech and SHOGO were to be developed simultaneously, with each project pushing the other in terms of feature requirements, capabilities, and design. When I joined the company as a Project Manager in April of 1996, we had just finished negotiations on the LithTech/SHOGO prototype, and we had begun to ramp up for production of both the engine prototype and the game. I was given responsibility for project managing both the game and the engine, as well as acting as the liaison between Monolith and Microsoft. While the entire project involved a number of lofty design goals, at the core we had a simple, straightforward premise — create a cutting-edge 3D engine that would allow us to make SHOGO a great 3D action game. We were gunning to produce a product that would rival, if not stomp, any other Mike Dussault (LithTech), Scott Schlegel (LithTech), Bill 3D action game currently in development. Multiplayer capa- Brooks (SHOGO), Wes Saulsberry (SHOGO), Scott Pultz bilities via a client/server architecture, complete support for (LithTech, in back), Brad Pendleton (LithTech, in front), DirectX, high-speed action, and full Direct3D support were Kevin Stephens (SHOGO), Matt Allen (SHOGO), Nathan all basic requirements for the engine. In fact, we would focus Hendrickson (SHOGO), and John Jack (SHOGO/LithTech). 55 primarily on 3D hardware acceleration first, and worry about software rendering later, which was considered highly risky in early 1996. The LithTech/SHOGO project was by far the To support both APIs, LithTech originally had an abstrac- biggest project Monolith had ever undertaken, and it would tion layer of rendering code contained in the engine itself. shape, for better or worse, the future viability of the compa- This abstraction layer, which sat beneath any API-specific ny and our technology. rendering code, covered most of the basic 3D setup issues. We then had separate, external .DLLs (D3D.DLL and GLIDE.DLL) to render for each API we supported. In theory, A Look at the Good… we could plug in any new rendering .DLL if and when we decided to support another 3D API. Each of the rendering ven though we hit more than our fair share of bumps in .DLLs contained all of the API-specific instructions that E the road during the development process, there were a couldn’t be included in the abstraction layer. Sharing some few things that went right (or nearly right) from the very of the same basic rendering code made maintaining each beginning. These successful endeavors made dealing with .DLL much easier during development, and worked well for the constant challenges of developing both a game and an a while. engine seem possible. However, as game scenes and models became more com- DIRECT3D. The decision to go with Direct3D as our only plicated, rendering performance became more of an issue. 1. supported 3D API turned out to be one of the best deci- The abstraction layer approach was a likely culprit — it was sions we made during the development of LithTech. When too slow to get the best performance out of either API. But we began pitching the idea of LithTech and SHOGO, one of removing the abstraction layer in the engine would mean the selling points for Microsoft was that both the engine and duplicating a ton of code, causing thorny code maintenance the game would focus on Direct3D. Monolith had quite a bit issues. Every time a feature went into the engine, it would of experience working with early versions of Direct3D (we have to be implemented in both Direct3D and Glide. At wrote a few of the Direct3D test applications, including the about this time, we got an early version of DirectX 5, and it ultimate space-bar test, ROCKEM), and it was this experience, forced us to make a decision. combined with our knowledge of DirectX in general (we also DirectX 5 looked pretty solid, and had most of the fea- did the first two DirectX game sampler CDs for Microsoft) that helped us land the deal. SHOGO: MOBILE ARMOR DIVISION and LithTech Although the idea to go with Direct3D was great on paper, Monolith Studios it didn’t work out so well in practice. When we began work- Kirkland, Wash. ing on LithTech and SHOGO, Direct3D was in its earliest (425) 739-1500 stages, which proved frustrating. Many features that were http://www.lith.com/ available under Glide weren’t available under Direct3D, and Team Size: 15 because the only 3D hardware worth anything at that time Release date: October/November 1998 was 3Dfx-based, we questioned the logic of supporting both Time in development: 26 months Direct3D and Glide. So we decided to pursue separate Critical hardware: Intergraph NT workstations, Motion Analysis Direct3D and Glide versions simultaneously. Pursuing an motion capture system independent Direct3D version let us support any new cards Critical Software: Microsoft Developers’ Studio, Softimage, that were in development from other manufacturers, and Dedit (internal), LithTech (internal) supporting Glide meant that we could get the most out of Target Platforms: Windows 95/98 P200 w/4MB 3D Card the 3Dfx card. http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER POSTMORTEM

LithTech supports several different A city level while piloting a mecha. Special effects abound. Note the full- types of environments, including out- D3D gives us all the features we need brights in the upper right corner. door terrain areas. Check out the for special effects. Note the halos ships in the cloud layer, as well as around the missiles. the drop ship off in the distance. minimum we needed to develop a good method for exporting or convert- tions, such as death animations, which ing Softimage models to our engine’s tures that we needed for SHOGO. So, moved the character away from the model format. 56 Mike Dussault, the lead engineer on center of its bounding box, or ducking A big design goal for SHOGO was to the LithTech project, decided to move animations where the game needed the allow enemies to use (and more impor- all of the rendering code into the character’s bounding box to shrink in tantly, to display on screen) the same D3D.DLL to determine what speed the y dimension. Model geometry that weapons that the main characters used. benefits we’d get. This was a pretty big moved outside the bounding box (such So we needed a system that allowed us undertaking — we estimated that it as arms or legs) would clip through to place separate weapon models in the would take a minimum of two weeks of walls or other objects, which was total- hands of enemies and characters. The work — so it was risky. Fortunately, the ly unacceptable. LithTech engine’s model format was in results were much better than expect- The solution that the engine and part influenced by this game require- ed, and as a result, we decided to focus game teams came up with was to allow ment, so the team pursued what is solely on Direct3D. Mike was able to the bounding box, and the model’s commonly referred to as a bone-based get all of the features that we needed translation within that bounding box, or skeletal-based model format. In a out of that version of Direct3D, such as to change per animation. This solution skeletal-based system, model geometry colored dynamic lighting, lightmap- allowed us to set the bounding box and is attached to and parented by a hierar- ping, and fullbrights. As an added ben- translation in the actual model file, chical node system, rather than repre- efit, by only supporting one API, Mike which meant that we could see, in each sented by a continuous mesh of geom- could focus his work on optimizing the looping animation, whether or not any etry. The hierarchical system would engine’s performance under Direct3D part of the animation clipped outside ultimately give our game development as much as possible. The decision to the object’s bounding box, and alter teams access to individual nodes on a support only Direct3D proved to be the bounding box size and model model, which would (hopefully) add right on. With the upcoming release of translation if necessary. Although the additional flexibility to the animation DirectX 6, LithTech is now in an excel- final solution involved rectangular, and modeling system. lent position to support just about any axis-aligned bounding boxes, the addi- As the hierarchical system in card out there without resorting to pro- tional flexibility of changing the LithTech grew, we gained the ability to prietary APIs. bounding box sizes and model transla- attach additional models, sprites, and THE PHYSICS OF BOXES. A big issue tions provided realistic, usable results. lights to separate nodes on models. 2. that the engine team had to tack- This solution was a great example of Because the system also retained rota- le was how to define an object’s bound- compromise between speed for the tion and translation information for ing box, and how to use this box to cal- engine and flexibility for the SHOGO any parented nodes, it allowed us to culate hit and collision detection. The team. pull off some great special effects, engine team realized early on that the ANIMATION AND TEXTURING. When we which was extremely important to fastest way to do our physics calcula- 3. began work on LithTech and SHOGO. For example, under this sys- tions in LithTech would be to have SHOGO, we were an entirely Softimage- tem, we were able to attach headlight axis-aligned bounding boxes. This based development studio. Back in sprites and lights to headlight nodes on meant that an object’s dimensions those “early days” (circa 1996), we real- a truck, as well as attach muzzle flash would remain aligned with the world ly didn’t have a clear idea of what we sprites and particles to the end of an axes (x, y, z). So the height (y) of the wanted from the LithTech animation enemy’s rifle. An unexpected benefit of bounding box could vary, but the and modeling toolset, other than the the system was that we could also have width (x) and depth (z) needed to lofty goal, “Let’s make a great 3D characters or enemies that were made remain equal. Unfortunately, this sys- action game.” We did know that all of up of separate models and attached tem became problematic with some of our models, characters, and objects together. The tanks in SHOGO, for our more complex character anima- would be created in Softimage 3D, so at example, are actually made up of two

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com separate models: a base and a turret. We believed that having our own The animation system allows the tank Motion Analysis system in-house could turret to turn independently of the really shave time off the animating base, even though the turret remains process for our 3D artists, as well as attached to the base as the tank moves give us more human-like motion and through the world. Because the tank movement for our in-game characters. was made up of separate models, the Softimage worked well with the tank turret could be blown off the base Motion Analysis data, so everything of the tank when destroyed, which, seemed to be a good match. However, when combined with an explosion, purchasing a large piece of expensive made for a much better special effect. equipment proved to be a major factor In retrospect, using Softimage was in the future of LithTech tools develop- Enemies firing the same weapon probably overkill for our modeling ment and the model creation processes you're currently holding. Note the needs, considering that most of our in general. translucent water off to the right. If animation data came from motion-cap- After getting the system back to this were a movie instead of a screen- tured sources. However, using Monolith, we soon came to realize that shot, you could see that the water Softimage did allow us to use UV tex- motion capture is a double-edged surface is actually moving. ture mapping for our models, giving us sword. On the plus side, motion cap- more realistic texture mapping, as well ture let us get multiple animations into as more flexibility in terms of texture the game quickly, with very realistic who had worked extensively with 57 layout and size. UV mapping allowed results (if you have good motion cap- Motion Analysis systems in the past, to us to map the same texture onto differ- ture actors) and data that we could use head up our motion capture studio. ent models in different ways, which across multiple characters, all of which Without an expert in this position, our saved texture memory and reduced the saved us time. On the negative side, motion capture experiences might not necessary size of most model texture the system itself takes up a lot of physi- have turned out so well. maps. The down side to UV mapping is cal space, which meant that we needed THE DEVELOPMENT TOOL THAT ALMOST that at first glance, our texture maps a big room with tall ceilings for best 5. WASN’T. Our motion capture sys- don’t really have clearly defined results. Also, and this is the big one, we tem can capture up to 120 frames per regions (head, shoulders, legs, and so ended up with a huge amount of data second, although we get better accura- on), which might make end-user tex- after a motion capture session, which cy if we take that down to 30 frames ture map modifications a little more meant that our 3D artists and motion per second (which is still more than difficult. capture technicians spent lots of time enough for in-game animations). MOTION CAPTURE. In the early stages working with data that turned out to Once we’d get that data from our 4. of development on LithTech and be extraneous or unnecessary. motion capture guys (the SHOGO, we did some initial experimen- All in all, however, the results we got cleaning/exporting process takes tation with motion capture to find out from the system were great. We were about 20 minutes per animation), our whether or not it would work for our able to many animations in a short 3D artists brought it into Softimage needs. We got a few test animations period of time, we could get realistic and applied the motion capture to our from several external studios and had movement and animation into the in-game characters. Each animation mixed but mostly positive results. The game in a hurry, real problem was access to the equip- and because the ment and lead time for that access. system was in a Brian Waite, who evaluates all of our building next to new 3D hardware and technology, and the development I (being the hand-waving producer- teams, we could type whose project would actually use schedule motion the equipment) ventured to Northern capture sessions California to meet with the folks from pretty much any Motion Analysis, which at that time time we needed a (again, 1996) offered a highly accurate new animation. optical motion capture system. An The early motion optical (vs. magnetic) system had the capture sessions advantage of no wires and no mess, were mostly which we felt would be better for our experimentation, needs, because many of the animations but after a few we’d need would involve relatively times, we had complex combat. After evaluating the nailed down the Motion Analysis system and getting process. Along the An on-foot level from SHOGO. Note the soft lighting on the some hands-on experience and train- way, we were for- left, compliments of single-pass multitexture lightmapping ing, we decided to go ahead and pur- tunate enough to available under DirectX 6. chase the system. hire Simon Wong, http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER POSTMORTEM

Another on-foot level from SHOGO. Check out the blood particle effects, A character model shown in ModelEdit The same character model in a duck used extensively throughout SHOGO. — note the size of the bounding box. animation — LithTech allows character bounding boxes to change size per ani- mation. that the artists applied took some frames per second was usually more time, but in the end we’d get a charac- than enough when coupled with the ter that had 20-60 different realistic engine’s ability to interpolate between were quickly implemented when we 58 and useful animations in about half keyframes. The problem that we faced suddenly realized, “Wow, how did we the time it would take a 3D artist to was in removing all the extra ever get along without these features?” animate them by hand. By shaving keyframes. The data capture rate of Next came the ability to tag keyframes time off the animation process, our our motion capture system couldn’t to trigger game events, such as charac- 3D artists could focus on creating go below 30 FPS and still be accurate, ter footstep sounds or firing informa- models and textures, rather than toil- so reducing the capture rate wasn’t an tion for weapon models. Then came ing over creating realistic, hand-plot- option. We could cut down the frames the ability to copy, paste, and import ted movement. Once the animation in Softimage, but this process was new animations into a model from data was applied, the model was going to be difficult due to the way another model, which made the exported to the LithTech format (.ABC that Softimage deals with animation process of exporting new animations file) using a custom plug-in that the data from the motion capture system. or models much easier for our 3D engine team wrote for Softimage. The Even if we did pursue cutting down artists. Mike Dussault and Brad game team could then use this .ABC the keyframes in Softimage, we could- Pendleton, the two engineers heading file and call and play back specific ani- n’t actually see how the engine’s inter- up LithTech development, spent some mations through code or game events. polation system would deal with the serious time working on ModelEdit, Our motion capture/animation data until the models were exported but every hour they spent saved count- process was all fine and dandy until and put into the game. So, we came less hours for our artists, designers, we realized that many of the models up with a different solution, and and game engineers. were memory pigs. The size of our ModelEdit was born. In fact, very recently a feature was models were dictated by (geometry ModelEdit started simply enough — added to ModelEdit that saved our data) + (animation data). The geome- the tool let our try data was relatively small (approxi- artists view ani- mately 30-50K depending on the mations for a par- number of polygons and vertices in ticular .ABC file the model), but the animation data and trim down (which is actually the number of the number of nodes * number of keyframes) was keyframes in each huge. In some cases, our animation animation based data was 6-8MB per model! This real- on what looked ization nearly gave the SHOGO team a good. ModelEdit collective heart attack, but the engine supported the team quickly came up with a solution. same interpola- The huge size of the models was most- tion that the ly due to our 30 keyframes per second engine used, so data rate for animation, which turned what you saw in out to be tremendous overkill. Because ModelEdit was LithTech had supported interpolation what you’d get in between keyframes from almost the the game. very beginning of the project, there However, once we Present day Dedit supports multiple modes. Early ver- was no need for the in-game anima- had this “post- sions weren't capable of creating complex worlds such as the tion to contain 30 keyframes per sec- process” tool, a world file seen here. ond. In fact, we found that 7-10 key flurry of features

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com A character model shown with a leg The base of a tank model in SHOGO. The tank turret model, which gets node highlighted. Being able to identi- attached to the base via game code. fy and rename individual nodes saved our asses late in the game. …And the Bad and the Ugly were hard at work on the core design ven though a lot of things went and architecture of the engine, and project. About three months ago, our E right, we faced more than our fair many of their decisions would affect a main Softimage network drive crashed, share of stumbling blocks during the level’s overall file structure. In addition, 59 and one of our artists lost about two development of SHOGO and LithTech. because the engine team didn’t have weeks of work. We had the .ABC files, In retrospect, most of our problems access to seasoned, full-time level but not the original Softimage databas- could have been avoided if we’d taken designers when the project began, some es for those models, so we couldn’t go the time to think through the project incorrect assumptions were made about back and change animations or geom- clearly, but we certainly learned from how the level design tools would be etry or rename nodes. The engine team every mistake we made along the way. used. As a result, early versions of Dedit added a feature into ModelEdit that On the bright side, both development were more than capable of creating test allowed us to identify and rename teams are much wiser, stronger, and “box” levels, but lacked some of the nodes in any .ABC file, which was nec- more seasoned having gone through more advanced features for creating essary for our hit detection system to the entire process. complex geometry and placing objects work correctly. Without this feature in LEVEL EDITOR DIFFICULTIES. Our early and models. As we reached the point in ModelEdit, the artist would have had 1. neglect of developing a strong, the development cycle where we needed to recreate the models from scratch — feature-rich, and stable level editor was to start showing a progression of game a time-consuming process that we one of the biggest mistakes we made features, the lack of advanced features couldn’t afford so late in development. during development of LithTech and became painfully evident. This recent feature is a perfect example SHOGO. Considering that Monolith had Enter Craig Hubbard, the lead game of how two hours of an engineer’s a very good understanding of the designer and level designer on SHOGO time wound up saving more than 80 importance of solid level design tools (who had recently finished working on hours of work for an artist. — we had previously developed our a level pack for BLOOD), and two addi- own level editor tional full-time level designers, Nathan for BLOOD, as well Hendrickson and Todd Clineschmidt. as an entire Before Craig began working on SHOGO, toolset for WAP the game was essentially designed by (the engine used committee, which caused (among to make CLAW, other things) a severe lack of focus on , tools development. Dedit contained and GRUNTZ) — the necessary core features at the point the lack of engi- Craig joined our team, but certain cru- neering time cial features weren’t very intuitive, and spent on our edi- many were far from usable. The addi- tor, Dedit, is an tion of these designers was really the amazing oversight turning point for Dedit development in retrospect. and usability. Their combined input, There were a suggestions, and demands made Dedit few reasons why a much better tool. Dedit wasn’t a big So what lessons did we learn? First, if focus for the we had put more emphasis on level Present day Dedit makes adding objects easy — just right click engine team from design tools, and if the engine team had and select the object you want to add to the world. Early ver- the beginning. had access to experienced level design- sions required multiple, painstaking steps to add objects. Mike Dussault and ers on the project from the beginning, Brad Pendleton Dedit would have been in much better http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER POSTMORTEM

.DLLs. So not only did we waste time writing and implementing Dscript, we also spent more than six weeks porting everything over to executable code, which added even more time to the development schedule. This additional delay was especially painful for our design team and our publisher, because nearly two months went by with few (if any) new engineering-related fea- tures implemented. Scrapping Dscript, regardless of the effect it had on the schedule, was an essential ingredient to the success and usability of LithTech. If we had stuck with Dscript, our development time- line would probably have increased anyway, and the quality of the engine and the game would have suffered dra- 60 matically. Unfortunately, we could have avoided the entire exercise if we had closely evaluated the alternatives, although this may not have been possi- ble without first trying it out for our- Using Softimage for modeling, texturing, and applying motion capture data made selves. The irony here is that when we our lives much easier. You can see the fcurves at the bottom from the motion capture began working on Dscript, many of the data. third-party developers who were inter- ested in LithTech seemed to be very excited about the prospect of using a shape from its inception. Early attention deal at first, but as we later found out, custom scripting language. Then, just to Dedit’s usability could have literally the speed difference became very as we began to make the switch from shaved months off the level design apparent once many scripts were run- Dscript to Win32 .DLLs, the tides schedule. That said, Dedit is now a very ning. Also, with a client-server archi- turned, and very soon we started to flexible and usable level design tool. tecture, every script had to be duplicat- receive negative feedback from devel- Who knows? If it hadn’t hit rock bot- ed on the server and the client, which opers who were already working with tom, Dedit may never have become the if nothing else complicated file struc- other engines that relied on a scripting excellent level design tool it is today. tures. The big whammy turned out to language. As it turns out though, the DSCRIPT. The biggest mistake we be debugging tools. In June of 1997, switch proved to be a good move in 2. nearly made was sticking with Kevin Stephens (SHOGO’s lead engineer) terms of internal development as well Dscript, our custom programming lan- and a few other game engineers at as external licensing. guage, until the bitter end. The idea Monolith began to have serious doubts NOT ENOUGH TIME. During the behind Dscript wasn’t a bad one. about whether or not we could make 3. LithTech/SHOGO development Written by the engine team, Dscript the games we wanted to if we contin- cycle, we constantly struggled to devel- was to handle specific game events and ued to use Dscript. With an unfinished op an accurate schedule for both the object handling. In mid-1996, custom engine running Dscript, it was very dif- game and the engine. When we origi- scripting languages seemed to be the ficult to debug game-related errors. nally signed the deal, we signed up to future of 3D engine development — Was it a core engine function that was create a game engine and game in 18 QUAKE had QuakeC, UNREAL had crashing, or was it the game scripts? months — an aggressive schedule to UnrealScript, and LithTech had More than a few game engineers feared say the least. Unfortunately, we grossly Dscript. The Dscript model sounded that because of Dscript, they would be underestimated just how long it would good on paper — specific functions to tempted to take the easy and safe route take to produce both entities. The real- deal with game events, garbage collec- when it came to feature implementa- ly frustrating thing was that even with tion, and quick compile times. tion — being too ambitious could lead our extensive background in creating But it posed a number of problems as to hours of debugging time, which games and engines, we were still way well. As an engineer, you had to learn engineers simply couldn’t afford. off on our estimates. the language. It was similar to Java or Fortunately, the engine team agreed MONOLITH GROWTH. One of the C++, but it wasn’t either, which meant with the game engineers, and although 4. biggest challenges during the a learning curve. Then there was the we had spent the better part of four development of LithTech was dealing speed issue. An interpreted language months writing Dscript and setting up with the enormous growth of our com- would never be as fast as executable the engine to deal with it, we decided pany. When we finished work on a code, which didn’t seem to be a big to scrap it and go back to using Win32 prototype for Microsoft in June of

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com 1996, Monolith employed about 20 stantly changing tools and technology. the engine team and the game teams, people. By the end of 1996, we were up While any engine team needs access and make everyone’s lives easier. to nearly 80 people, with several differ- to experienced level designers, game ent projects under development. The engineers, and artists when designing original team that began working on the architecture for a new engine, Closing the prototype moved on or up to other expecting these game designers, engi- projects, and the LithTech team was neers, and artists to be productive with n May of this year, we purchased essentially replaced with new faces in anything less than finished tools was a I back all rights to LithTech and short order. Huge growth made design- mistake. All in all, I don’t think that it SHOGO from Microsoft — a major deci- ing the game and the engine very diffi- affected the overall development sion that solidified our future for inter- cult, as plans for the engine and the schedule of the project (we still came nal game and technology develop- game changed as different people in at around two years for the whole ment. Over two years and a bunch of moved into or out of the project. ball of wax), but we certainly spent a money later, LithTech is without a Fortunately, the engine and game lot of money paying frustrated people doubt one of the most flexible 3D gam- teams stabilized by the beginning of who would have been better off work- ing engines currently available. 1997, and we ended up with a very tal- ing on other projects until the technol- Through the good, the bad, and the ented group of developers. ogy and the tools matured. We were ugly, the SHOGO/LithTech project was a A GAME and AN ENGINE? One of the very fortunate to have outstanding learning experience for everyone 5.worst (and I mean worst) ideas engine and game teams, without which involved, but the end result was an that Monolith ever had was to think the SHOGO/LithTech process would not engine that’s capable of producing sev- 61 that we could develop both a game have been possible. eral different kinds of games — a testa- (SHOGO) and a game engine (LithTech) What we did learn was that future ment to the engine’s elegant design at the same time. All I can say is that it versions of LithTech will be developed and flexible architecture. LithTech is will never happen again. When we by the engine team with frequent now being used by three internal game began work on LithTech and SHOGO in input from game teams, but without development teams at Monolith — 1996, we didn’t quite realize what we’d the pressure of having to implement Shogo, BLOOD2: THE CHOSEN, and bitten off. We ramped up our game pro- game-related features during the early MINDBENDER — and we expect to have duction staff too quickly and expected engine R&D phases. This new process licensed LithTech to several external the game team to keep pace with con- should remove the pressure from both developers by the end of 1998. ■

http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER PRODUCT REVIEW The Iel Obeai Achiece Pfile

by Ron Fosner

was very happy when Intel shipped the Intel740 graphics accel- 62 erator chip. Having Intel focus (even a little) on 3D means that it

is interested in bringing 3D into the mainstream. It’s fairly

apparent why Intel dove into this market. In order to sell faster

computers, there has to be a compelling reason for consumers to

buy them. And while you and I wouldn’t hesitate to buy the lat-

est 666MHz screamer, average consumers need pretty com-

pelling content to upgrade their systems. Unfortunately, the

content isn’t quite there yet. However, You may not see the difference to monitor the driver and see how it’s to help drive the content creators for- between three calls to render three tri- spending its time processing the com- ward, Intel has developed its new angles and one call to render the trian- mands you send it? Well, this is exactly ObservationII Architecture toolset and gle strip of three triangles. As a result, what Intel has done with the Intel740. made it freely available. you may logically decide that convert- Like most modern CPUs, the One of the disadvantages of using ing your rendering engine to use trian- Intel740 chipset has built-in profiling architecture such as OpenGL or gle strips would not provide your game counters. When you use the Direct3D is that once you pass off a with any performance boost. But what Observation Architecture driver, you command to the API, it’s difficult to you may not know is that the driver is not only gain access to the hardware tell what’s happening from that point optimized to process triangle strips of counters in the chip, but also to those onward. Drivers have a nasty habit of eight triangles or more. Any fewer and in the driver and the Pentium II proces- queuing up things, such as state it breaks them down into individual sor. Installation isn’t much different changes and rendering commands. triangles. Wouldn’t it be nice to be able from installing any other . I’m working with the Diamond Stealth Ron Fosner works on fast 3D rendering code at Data Visualization, a consulting com- II G460, but any of the Intel740 cards pany for those in need of speed, and is the author of OpenGL Programming for should work. Once the card is installed, Windows 95 and Windows NT from Addison-Wesley. He teaches a course on you need to get your hands on the graphics code tuning at the (Computer) Game Developers Conference and at the Win- Intel740 Graphics Accelerator Dev conferences. Contact him at ron@.com. Performance SDK, which contains everything you need to learn in order

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com FIGURE 1. A typical profiling session in OA. FIGURE 2. A selection of the chip’s counters that you can watch through OA. to use the Observation Architecture (OA). You can then install the profiling drivers, reboot, run a program to set ond — not much. Not much is happen- the Intel740 base address, reboot, and ing in the driver itself, as evidenced by you’re all set. The best part is that the the small bars. But looking at the chip’s SDK is available free from Intel. statistics, we can see from the 63 Once it’s installed, you launch the Command_Stream_Busy value that it’s OA Profiler, which is simply a window busy nearly 60 percent of the time (the containing counters of the things higher the percentage, the better) and you’ve elected to watch. The counters that it’s rendering nearly 38K triangles run in real time, but there is an option per second, with very little in the way to send everything out to a log file. of triangle culling going on: only 120 Once the profiler is running, you can culled triangles per second. This gives either select to profile locally or you an idea of the OA’s power. One of remotely. This is a nice touch — you the hardest aspects of tuning a game is only need one networked machine keeping the graphics card busy in par- with an Intel740 board in it in order to allel with the CPU. Using the OA, it’s give everyone the ability to test his or finally possible to measure how busy her software on it remotely. After a your game is keeping the graphics chip connection is made to an Intel740 and the CPU. chip, the profiler starts displaying sta- Once you get an idea of how the tistics. You have options to display the CPU and the graphics chip are spend- chip’s counters, the driver counters, ing their time, you can try to narrow and/or the CPU counters. down where cycles are being spent by The OA profiler is meant to be used selecting various counters. Figure 2 like any other profiler in that you iden- shows the selection that’s available on tify a bottleneck globally and then drill the actual graphics chip, while Figure FIGURE 3. A partial list of the dri- down to the subsystem that is taking 3 shows a partial list of the options ver’s counters that you can watch the most time. Figure 1 shows a typical that are available in the driver. (Note through OA. profiling snapshot. The first three lines that these options, especially for the are from the Intel740 counters, the driver, can change from release to next two are from the driver, and the release.) For example, you might find Why bother with just the Intel740? last two are from the CPU. The very out that there’s an unexpected Frankly, right now it’s the only game last line is labeled CPU_Clk_Cy- amount of AGP throughput, or that in town. Even if you don’t think that cles_User and shows 82 percent or the CPU is stalled inside the driver the Intel740 will build up significant 326.20 million counts per second. This because the driver is waiting for some market share (just wait till it starts means that on my 400MHz machine, event. You’d never know about these showing up on motherboards), the fact the User (as opposed to the Kernel) is events because previously, there was is that getting these kinds of statistics taking 82 percent of the CPU cycles. In no way of knowing about them. The at all is quite difficult. The real reason other words, any nonoperating system OA Profiler is, hopefully, the first of you might want to take a look (other programs that are running are consum- many interfaces directly to the graph- than simply being interested in raw ing 82 percent of my CPU’s cycles. In ics chip that allow you to tap into the speed) is to familiarize yourself with this case, I was running multiple copies heart of the rendering engine. As more how graphics operations affect the ren- of Direct3D-based applications. and more functionality gets embedded dering pipeline. Even if you don’t need The next line up shows that these into the hardware, the ability to access to speed up your program (but who programs are performing nearly 7 mil- this information is going to become doesn’t?), it’s instructive to see how lion floating-point operations per sec- more critical. well your rendering architecture is http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER PRODUCT REVIEW

keeping the graphics chip busy. If There are two caveats. First of all, as example, while most other cards have you’re eating up 80 percent of the CPU, of this writing (August 1998), there is to dump the pipeline setup and recon- but only keeping the graphics accelera- no “OpenGL driver” menu item — figure. So if you change textures fre- tor busy 10 percent of the time, you currently, you can only profile quently, you’ll be penalized more by might want to consider breaking up Direct3D drivers. Intel is scheduled to other graphics chips, especially those your rendering operations in a more provide an interface to the OpenGL on PCI cards, than by the Intel740. serialized fashion and thereby keeping driver with the next release of the But these are small complaints for an more data in the . SDK. Secondly, tuning games for the otherwise excellent product. If you are After all, graphics chips are just special- Intel740 means doing just that — at all interested in graphics perfor- ized CPUs, and the more work you can your results may vary on other chips. mance, this is one tool that should be offload onto them, the more cycles you However, in most cases when you on your desktop. ■ free up on the general CPU for your tune for the Intel740, you’ll see game logic. This is the kind of informa- improvements in other chips. Intel tion you get with the OA that previous- claims that there’s no penalty for Intel’s Observation ly wasn’t available. changing textures on the Intel740, for Architecture for the Intel740 Chip Rating (out of five stars): ✪✪✪✪✪ Intel Corp. 64 Santa Clara, Calif. (408) 765-8080 http://developer.intel.com/design/gr aphics/740/index.htm Price: Free from Intel’s web site. Software Requirements: 95 OSR2 or Windows 98. Hardware Requirements: AGP- equipped Pentium or better recom- mended plus one of the Intel740- based graphics cards. Figure on spending around $100 for the card if you don’t already own one. Technical Support: Web-based Pros: 1. The OA is a snap to install and easy to use, even on a shared network machine. 2. The OA is an excellent source of low- level graphics information that you can’t get anywhere else unless you’ve got access to a microprobe. 3. Most of the optimizations you’d per- form for the Intel740 are applicable to other graphics chips. Cons: 1. Designed only for Intel740 processors. Remember that the Intel740 actually has a smaller penalty for changing textures than most other cards, so if you’re not aware of this, your program may run fine on an Intel740 but behave quite differently on another chip or a PCI card. 2. The utility is running all the time, and it would be nice to perform event-trig- gered sampling. 3. The tutorial is good, but could easily be ten times larger with more exam- ples, especially some tailored to novice driver/chip spelunkers.

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com A TRIBUTE TO DANI BUNTEN BERRY

BY BRIAN MORIARTY

As we reported in the September 1998 issue, veteran game designer Dani Bunten Berry passed away on July 3rd of this year following a long illness. She was 49. Dani was presented with the Computer Game Developers Association’s Lifetime 72 Achievement Award at the CGDC in Long Beach, Calif., last May. Dani’s longtime friend and fellow game designer Brian Moriarty honored her at that ceremony with a laudatory speech, which we have excerpted here. t’s fair to charac- We’ll miss you, Dani. — The Editors terize tonight’s I honoree as an old- timer. Her first The theme of war makes its first appearance in published title, WHEELER DEALERS, was released 1982, with for SSI’s RapidFire back in 1978. This Apple II cassette was rather label. This two-player design offered a curious unusual. It came in a cardboard box instead of a conjunction of strategy and real-time action in ziplock bag. It sold for thirty-five bucks at a time a game that pushed the Apple II hardware to when most games sold for ten or fifteen. its limits. Strangest of all, it wasn’t designed for a single Just after CYTRON MASTERS was released, the user. An array of push-buttons included in the aforementioned Harvard graduate expressed a box allowed up to four people to join in a real- desire to obtain the publishing rights to CARTELS time stock market simulation. WHEELER DEALERS AND CUTTHROATS for a new game company he sold only around 50 copies. But it marked the was launching. When SSI refused to let it go, beginning of a preoccupation with a design issue 20 years the original designer gamely offered to produce a superior ahead of its time: multiplayer gaming. knock-off. , published in 1979, was originally Nine months later, Electronic Arts bamboozled the industry designed to support exactly two players. It was ported to Apple with a flattering new vision of what computer gaming was all BASIC from a mini-computer simulation written in Fortran. In about. Their slick and glamorous promotional campaign an amusing reversal of recent industry practice, it was the sin- turned publishers into record labels, developers into movie gle-player mode that was reluctantly added at the last minute studios, and game designers into rock stars. For a few short at the request of the publisher, . months, the prospect of fame, wealth, and a matching Nineteen eighty-one saw the release of a second Apple title wardrobe inspired game designers to new heights of personal for SSI, CARTELS AND CUTTHROATS. An economic simulation ambition and creativity; an ideal atmosphere for creating designed for up to six simultaneous players, the box copy a masterpiece. promised that the game was “so much fun you may overlook M.U.L.E. was multiplayer from the ground up. It used the its use as a superb educational tool.” One of the early admirers joystick array of the Atari 800 to connect four people in an of CARTELS AND CUTTHROATS was a game theorist fresh out of unprecedented example of computer-moderated parlor gam- Harvard with the curious nickname Trip. ing. By combining the resource management of CARTELS AND

Photos (from top): Ozark Softscape and the “We see farther” image courtesy of EA. Images of Dani celebrating a victory and her portrait are courtesy of Editor Johnny Wilson from Computer Gaming World.

Right: Dani’s first four published games.

GAME DEVELOPER OCTOBER 1998 http://www.gdmag.com TRIBUTE

CUTTHROATS, the auctioneering of WHEELER ingly brisk interactive experience within the DEALERS and the futuristic setting of CYTRON severe constraints of 1200-baud modems. Many MASTERS, M.U.L.E. sustained an exquisite play of the latency and synchronization challenges balance of teamwork and rivalry, bitter coopera- faced by today’s network game engineers were tion, and delicious treachery. Although the origi- solved first by . nal version sold only 30,000 copies, M.U.L.E. Microprose took up the cause of modem- developed a base of passionate fans that remains based wargaming in a big way with the 1990 active even today. It is required study for anyone release COMMAND HQ, which boasted a simple, interested in the design of multiplayer computer clean user interface that made historical strategy games. more accessible than ever, and racked up M.U.L.E. was the first title attributed to Ozark impressive sales. Softscape, an Arkansas design collective marketed Its successor, 1992’s GLOBAL CONQUEST, was by Electronic Arts as a hip back-country boutique, the first four-player network game released by a computer gaming’s answer to the Allman major publisher. Its absorbing mix of real-time Brothers. Expectations were high after the induc- action and resource development was the design tion of M.U.L.E. into Computer Gaming World’s prototype for an entire generation of combat Hall of Fame. Astonishingly, their next EA release simulations, including DUNE II, WARCRAFT, and actually lived up to the hype. COMMAND AND CONQUER. SEVEN CITIES OF GOLD was a solid commercial The constellation of classic games you see triumph. It brought together real-time action, here is just one dimension of a professional 71 strategy, and exploration in a historical adventure career in which the joy of communication has with a genuine smudge of educational value. In played a central role. Her long list of publishing fact, the much-despised term “edutainment” was credits includes columns and articles for virtual- originally coined to describe this game. With ly all of the leading industry journals. She deliv- sales of 150,000 copies across several platforms ered the first keynote address at the legendary and numerous design awards, SEVEN CITIES cata- 1988 Game Developer’s Conference in Milpitas, pulted Ozark into the ranks of the elite develop- and hosted a series of highly-regarded lectures, ers; and nobody complained about the fact that it seminars, and roundtables at most of the subse- was designed for only a single player. quent conferences. Ozark wanted to follow up SEVEN CITIES with a In an industry where many celebrity designers computerized edition of one of the classic Avalon have become remote and unapproachable, she Hill board games, but Electronic Arts had other has never failed to remain near the center of ideas. Some executive arm-twisting and a sub- social activities, freely sharing her company and stantial cash bribe resulted in a sequel, HEART OF expertise with the shakers and the shaken. AFRICA for the , which continued In the early 90s, this beer-guzzling Arkansas the formula of action and strategy, exploration code wrangler undertook a transformation and history. It achieved less than half the sales of which dramatically exemplified the gamelike its predecessor. A few years later, another designer nature of social reality. The broadened perspec- tried his hand at that old Avalon Hill game, tive gained by her friends and business associ- CIVILIZATION. ates as a result of this transformation has been HEART OF AFRICA was to be the last product one of her most precious contributions to Ozark ever designed for a single user. In fact, their the industry. next design took the multiplayer option to a It is no exaggeration to characterize tonight’s provocative new extreme. Not only did ROBOT honoree as the world’s foremost authority on RASCALS have no single-player mode, it actually multiplayer computer games. Nobody has required the participation of no less than four worked harder to demonstrate how technology human players. Daringly billed as a “family can be used to realize one of the noblest of game,” this peculiar fusion of turn-based action human endeavors, bringing people together. and strategy, augmented by a deck of real playing Historians of electronic gaming will find in cards, received a polite but puzzled critical recep- these eleven boxes the prototypes of the defin- tion, and was carefully ignored by everybody else. ing art form of the 21st century. A final title for Electronic Arts broke even more On behalf of the community of game devel- new ground. 1988’s MODEM WARS was the first opers and game players worldwide, it is my great game released by a major publisher to support pleasure to present this Lifetime Achievement modem-to-modem multiplay. A futuristic synthe- Award to one of the pioneers of interactive sis of toy soldiering and football, MODEM WARS entertainment, my courageous teacher and was a technical tour de force, offering a surpris- fascinating friend, Dani Bunten Berry. ■

Center photos, (from top): cover shots of M.U.L.E., SEVEN CITIES OF GOLD, HEART OF AFRICA, MODEM WARS, COMMAND H.., AND GLOBAL CONQUEST. http://www.gdmag.com OCTOBER 1998 GAME DEVELOPER