June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship...

54
JUNE 1994 G A M E D E V E L O P E R M A G A Z I N E

Transcript of June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship...

Page 1: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

June 1994

G A M E D E V E L O P E R M A G A Z I N E

Page 2: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

Now that game developers arefaced with the largest storagedevice in the history of theirindustry, what are they goingto do with it. Just as the com-mand line gave way to theGUI, this shiny ethereal disk ismuscling its dull, flimsy, mag-

netic ancestors out of the way. Lowermanufacturing costs were one of the firstbenefits, as low as a dollar a unit. Theywere lighter to ship and harder to dam-age—no more damaged PC disks. Theycan be repackaged without threat of cor-ruption or infection. And, as far as piracygoes, in the words of one developer,“Nobody ever downloaded 500MB froma BBS.”

But are they, as they are marketednow, a software platform separate fromdisk-based games, or are they merely astorage medium and should be treated assuch? When I ask developers what plat-form they’re writing for, more are sayingCD-ROM. When asked to clarify, theyusually say, “Well, MPC2 and Macin-tosh first, then Sega CD and maybe3DO or CD-I.” Clearly, they’re talkingabout high-end authoring systemsmanipulating either captured video orrendered images with CD-quality soundfiles—a development process where themain emphasis is on raw data that can beused across a variety of platforms.

PlayabilityThe problem is, many newer CD-ROMgames have the playability equivalent ofPong games with captured video imagesof professional tennis players and CDquality sounds of bouncing balls. This isbecause high-level authoring systemsavailable can deliver the kind of perfor-mance that is needed on every platform,so most cross-platform CD-ROMs relyon a variety of kludges, just to get a sim-ple game manipulating video to work.

Games need to be more tightly integratedinto specific platforms to get good playa-bility, and more of the CD-ROM’s crossplatform identity will be lost.

Stand or Fall?The potential of the CD-ROM as aplatform is tremendous because it isviewed as a superset not subset of theexisting computer game industry. Every-one’s hoping that nontechnical peoplewho would never buy an Ultima, flightsimulator, or Doom will be willing to buya CD-ROM game designed to appeal toa wider audience—changing the comput-er into interactive VCR. If these techni-cal neophytes’ first experience is a badone, for $60 a disk, they’re not going tocontinue making the same mistakes.

It will be this next year as these con-sumers make their first CD-ROM pur-chases that will determine the shape ofthe industry. If CD-ROM games areable to vary more in subject matter thantraditional computer games, retain theirplatform independence, and capture newdemographics, they will attain the statusof new platform. If not, they will just beanother means to get product to marketand will just be another label on the sideof the box. Regardless of the outcome, itlooks as if the CD-ROM is here to stay.

Alexander AntoniadesAssociate Editor

CD-ROM: Packageor Platform?

G A M E P L A N

2 GAME DEVELOPER • JUNE 1994

Editor Larry O’[email protected]

Associate Editor Alexander [email protected]

Production Editor Barbara [email protected]

Editorial Assistant Andrea [email protected]

Cover Photography Carter Dow Photography

Publisher Veronica ConstanzaProject Coordinator Nicole Freeman

[email protected]

Group Director Regina Starr Ridley

Advertising Sales Staff

New England/Midwest

Angela Barnett (415) [email protected]

West/Southwest

Yvonne Labat (415) [email protected]

Marketing Manager Susan McDonaldArt Director/Marketing Christopher H. ClarkeAdvertising Production Coordinator Denise TempleDirector of Production Andrew A. MickusVice President/Circulation Jerry M. OkabeGroup Circulation Director John RockwellCirculation Manager Gina Oh [email protected]

Circulation Assistant Philip Payton [email protected]

Newsstand Manager Pam SantoroReprints Andrea Varni (415) 905-2552

Chairman of the Board Graham J.S. WilsonPresident/CEO Marshall W. FreemanExecutive Vice President/COO Thomas L KempSenior Vice Presidents H. Vern Packer, Donald A.Pazour, Wini D. RagusVice President/CFO Warren (Andy) AmbroseVice President/Administration Charles H. BenzVice President/Production Andrew A. MickusVice President/Circulation Jerry OkabeVice President/Software Development Division

Regina Starr Ridley

MGA EGAME

MillerFreemanA MEMBER OF THE UNITED NEWSPAPERS GROUP

Game Over!We need your feedback! Send your cards,

letters, and article suggestions to:

Game Developer600 Harrison St., 4th FloorSan Francisco, CA 94107

Atten: Larry O’Brien

E-mail is even better:

Page 3: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

Get Your Gameon a CD-ROM

C D - R O M G A M E S

The concept of developing gamesspecifically for CD-ROM orporting existing products ontoCD-ROM is appealing and a bitfrightening. There are advan-tages to using the CD-ROM asa delivery platform, and there aretechnological barriers as well.

Your managers see CD-ROMs as aneconomical alternative to floppy disks,and the lure of 550MB of storage to playaround with makes programmers drool.

Unfortunately, most companies areunfamiliar with the practical step-by-stepprocesses involved with actually produc-ing a disc—and what the pitfalls are. I

will guide you around some of the pitfallsinherent with CD-ROM developmentand demystify the process somewhat.

Not Just forAerosmith AnymoreWhile CD-ROMs have been aroundsince the mid-1980s, most products pro-duced for the medium have been fairlyplain, unimaginative text-based referenceworks. Almost 90% of the discs availableare plain-vanilla DOS products with nographics, sound, and animation. Only inthe past few years have CD-ROM play-ers penetrated the market enough tomake broad-based consumer-orientedsoftware financially viable.

Not that a single dominant platformhas emerged. CDI, 3DO, SegaCD,CDTV, CD-32, Jaguar, FM-Townes,and a few other TV-top or stand-alonesystems are still trying to establish afoothold in the home market (none is aclear winner yet), while Apple, IBM,Tandy, Atari, and Commodore all sup-port CD-ROM drives as add-ons totheir PC products.

There are also hybrid systems likeLaser Active just introduced last fall thatplays video laser discs, game cartridges,and CD-ROM-based software. All thesesystems have their idiosyncrasies when itcomes to writing code for them, but for-tunately there are some commonalties.

One common thread that runsthrough these systems is that the discs alladhere to the ISO-9660 standard. TheISO standard describes the physical lay-out of data on the surface of the disc andsome of the structure the data must con-form to. Beyond that, it is up to the indi-vidual system firmware or device drivers

Cool graphics are just one advantage to writing your game specifically for CD-ROM. But ahigh-end clip like this can cost a lot in terms of money and staff resources—several hun-dred clips can put your project out of business. Carefully planned and placed, though, youcan make efficient use of your resources and still come out with a visually superior game.

4 GAME DEVELOPER • JUNE 1994

Page 4: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

to read that data and translate it into aform the native operating system canunderstand.

In other words, all CD-ROMs thatadhere to the ISO-9660 standard can beread by all CD-ROM players. That’s thegood news. The bad news is that, likeApples to IBMs, just because you canread the disc does not mean your systemcan do anything meaningful with thedata. Animation files saved in Com-modore’s ANIM.7 format still cannot beplayed on an Apple Macintosh; codewritten for the Windows environmentwon’t run under OS9 (the basis ofPhilip’s CDI operating system).

As the developer, you may have towrite different versions of your programfor each system. You can store multipleversions on the same CD-ROM, andeach platform should be able to use thesame disc. The other bonus to the ISOstandard is that, unless you really need towrite code “down to the plastic” (for acustom video playback routine or tosqueeze the absolute maximum perfor-mance from a disc), you don’t really haveto worry about file structure. (You dohave to worry about track layout andorganization, but we’ll get to that a bitlater.)

The Need for SpeedAnother common element to all CD-ROMs is that they are slow. A singlespeed CD-ROM drive boasts a whop-ping data transfer rate of just under150K per second. Compare that to amedium speed hard-disk drive withtransfer rates approximately 10 timesfaster. Another perhaps more cripplingfactor is seek times. When CD-ROM

drive vendors claim a 150K transfer rate(or double, triple, or quadruple rates),they somehow conveniently neglect tomention that almost all CD-ROM dri-ves have atrocious seek times. If you arejust loading data from a text-only refer-ence CD, it doesn’t make that much dif-ference. For game developers who wantto load sound, animation, video, anddata in as close to real time as possible,those seek times can be a nightmare.Also, different systems vary the defaultchuck sizes.

Let’s look at a worst case scenario.When you send a read command to thedrive, it must first move the read head towhere it thinks the file probably is. Itreads a 4K or 8K header chunk (depend-ing on the firmware or hardware config-uration) to see if it’s got the correct file.If it’s the right file, it has to wait for thedisc to spin around again, then reads80K chunks (regardless of how big thefile is) until the entire file is read.

Let’s say you are reading a 30K file.Seek times on some CD players, goingfrom the outer edge of a disc to theinner, can take up to 1.2 seconds! Yes,seconds! (I have personally worked onsystems like this. TV-top systems tryingto appeal to the masses and are highlycost conscious tend to put the least-cost-ly and thus least-efficient drives in theirmachines.)

So, 1.2 seconds plus .03 sec. for theheader read, plus .5 sec. for the actualdata (remember, it reads an 80K chunkno matter how big or small the actual filemay be), and we are at 1.73 seconds toread a 30K file! All this is assuming ithit the correct spot the first time. If not,add a bit more time. Suddenly our 150K

CD-ROMs have blown

open the game mar-

ket with the potential

for high-end sound,

video, even multime-

dia. But beware the

pitfalls of technolo-

gy! You need to plan

carefully to create

a superior game.

by Guy Wright

GAME DEVELOPER • JUNE 1994 5

Page 5: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

per second transfer rate has dropped to20K per second. Imagine you are tryingto double-buffer sound files while load-ing something else, and you begin to seewhere the biggest CD-ROM bottleneckoccurs.

Granted, this is a worst case situa-tion, but ignore this warning at your ownperil. You may think your program isfine until you start getting irate callsfrom people who say that the audio isgarbled or the QuickTime videosequence is annoyingly jerky on theirsystem.

If you are producing a product for aTV-top system like 3DO or CDI, thereare ways to get around some of theseproblems. You can force the drive to readcertain size chunks (assuming you knowexactly how big each file is before youissue a read command) or just tell it tostart dumping raw data into RAM whereyour code will sort everything out on thefly. But if you are developing for a PCplatform where you don’t know whatkind of CD-ROM drive the user is likely

to own, you have to resort to other tricks.The first, simplest, and most valu-

able trick for teasing performance out ofa CD-ROM drive is physical layout ofthe data on the disc. If you are carefulabout the physical layout of the files onthe disc (keeping sequential files close toeach other), you can minimize the seektime problems. If the read head doesn’thave to travel as far, it won’t take as longto start transferring your data into RAM.

Of course, you must change sometraditional ideas about how you organizeyour data during development. Forinstance, don’t put all your sound files inone directory, your pictures in another,and your animations in a third. Whenyou transfer those directories to a CDdisc your files will end up far apart on thedisc, causing longer seeks.

Instead, put sound, picture, andanimation files that will be used at thesame time in their own directory. Thatway you can be certain they will be neareach other on the disc when it comestime to read them. For some systems,there are even optimization utilities thatwill track file use during emulation andtell you which files should be closer toeach other.

Down to the Plastic This is a good time to run through thetraditional steps in making a CD-ROMdisc.

Step 1: Design your product. Youshould already have a good idea abouthow to do this (if not, you probablyshouldn’t be in the business). What doyou want? What will it look like? Createa wish list and go back and modify itbased on cost, resources, developmenttime, and so on. It’s tempting to thinkof a CD-ROM as a panacea for all theproblems you face with traditional gamedesign and production. But before youfinish your design, look at your originalidea and some of the cold, hard numbers.

If you want video in your product,you must invest in a whole new world ofhardware that most of the programmerson your team don’t know anythingabout. There are VCRs, editing decks,SMPTE time code generators, editor-controllers, cameras, and, of course,

actors, costumes, scripts, lighting, audio,directors, and video editing. I’m not say-ing you shouldn’t include video, butthink back to those cheesy car-dealercommercials on your local TV channel.Those obviously shoe-string budget,low-quality, 30-second spots cost tens ofthousands of dollars to produce!

If you think you can do it for less,take a look at your own home videos anddecide if that is the quality you want inyour new game. Call a few video produc-tion companies, costume houses, and soon, and run some of the numbers your-self. You may end up spending $100,000or more for a few minutes of video beforeyou get it into the computer.

Once you have the video, you haveto capture it and convert it into a videoformat for your particular platform.QuickTime and Video For Windowscharge a run-time fee per product (andyou can’t count on your buyers alreadyhaving them). In addition, there is thecost of the video capture equipment andits learning curve. You can plan onadding a few months to the developmentcycle if you are including video in yourgame.

If you can overcome all these obsta-cles and manage to get the video into thecomputer, a good rule of thumb is to fig-ure on a megabyte of storage for eachthree to five seconds of video. You canhave a spiffy intro video of two minutesthat should only take about 60M (in asmall window, that is, not full-screen andnot quite VCR rental movie quality).

If you consider that a 70-minutemovie can barely squeeze onto a CD-ROM using MPEG hardware compres-sion, you begin to realize why therearen’t a lot of interactive video games outthere (exactly none at last count). Butdon’t let all this discourage you. A fewwell-placed 10-second clips here andthere can mean the difference betweenaward-winning software and just anothershovelware port. Investigate the prob-lems, costs, and eventual benefits ofvideo, and then make up your mindwhether to include it or not.

If you want a complete CD-qualitysoundtrack, there is more bad news andgood news. CD-quality audio (at a

C D - R O M G A M E S

6 GAME DEVELOPER • JUNE 1994

A few well-placed

10-second

clips can mean

the difference

between award-

winning software

and shovelware.

Page 6: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

22KHz sample rate in stereo) ends upgobbling CD-ROM space as hungrily asvideo. (That’s why you can only fit 70minutes of music on a CD-audio disc).

There is another problem with CD-audio. Because of government regula-tions brought about by the record indus-try, there is a special hardware featurebuilt into all CD-ROM drives. Whenthe drives switch to CD-audio playbackmode, they automatically cut in digital toanalog converter circuitry before the sig-nal gets to output. This was done so noCD drive would send out pure digitalsignals—if they did, people could makeperfect, digital byte-for-byte copies ofCDs.

When you issue a CD-audio play-back command to the drive, it switchesinto an analog output. In simple terms,while the CD-audio is playing, you can-not read any digital information off thedisc at the same time. So, you must pre-load all the code, pictures, animations, orwhatever before you start that totally hipsoundtrack playing and wait until it fin-ishes before you can load anything else.

The good news is that 95% of thepeople who will be running your gameon a PC or Macintosh will not have theirsystem hooked up to a $4,000 audio sys-tem. More than likely, they will just havea SoundBlaster card running throughdinky little Radio-Shack speakers that, attheir best, can only reproduce audio inthe 8KHz to12KHz range. (For a pointof reference, a telephone earpiece speakeroperates at about 6KHz or voice quality,AM radio is about 8KHz to 10KHz, avery high-end stereo system can only goup to about 18KHz, and most normalhuman beings can only distinguish dif-ferences in sounds up to about 20KHz.)

Why is that good news? You canhave your digitized audio, music, voice,and sound effects and sample it at12KHz to 14KHz, which is more thanadequate for 95% of the systems outthere. You will have remarkably cleansound in digital format that you can loadfrom disc and play back at the same time.Sound still costs about 1MB for eachminute, but you don’t need to overdo iton sound. (If you are just doing explo-sions and laser blasts, you can easily drop

down to 8KHz sample rates with no lossof clarity and still sound better than disk-based games.)

You will however have to be carefulduring the recording and sampling stagesof development. You should do a num-ber of tests first to determine recordingformats, sample rates, and so on. It’s alsoa good idea to digitally audition yournarrators because there are some humanvoices (particularly women’s voices) thatrequire 15KHz to 16KHz sample ratesto reproduce clearly.

It is also a good idea to get youraudio recording done in a professionalsound studio. The costs are not that high($50 to $100 per hour), and you won’tend up with an hour’s worth of audiotape that has the hum of an air-condi-tioner in the background, cars driving bythe office, or 60-cycle florescent lightsbuzzing throughout. You need to investin decent sound digitizing equipmentand software, although sound editing isremarkably easy in digital form asopposed to traditional sound-editingtechniques.

You can store hundreds or eventhousands of images and animations on aCD-ROM disc, but where are you goingto get them? I know of companies thathave spent $1,000 for a single computer

graphic screen. It was nice, but imaginebuying hundreds of them. Maybe youhave an in-house graphics department.How many screens does it produce in aweek? One...two...ten? How long will ittake to generate a hundred...three hun-dred...a thousand? How much would itcost to buy a hundred graphics screens?How long will it take your people togenerate 20 animation sequences ormore?

More and more companies are turn-ing to stock houses for images, and someof the smart companies are looking intolicensing existing artwork. Some comicbook illustrators get paid very little com-pared to traditional computer artists, andtheir talents rival the best computergraphics anywhere. It might be worth-while to investigate hiring traditionalartists and scan their pencil, pen, and inkwork into the computer. It would meanbuying and learning the intricacies ofscanner technology, but it may be worthit in the end.

Your design specifications nowinclude a few dozen animations, somewell-chosen video clips, 10 to 20 minutesof sampled sound, and something lessthan a hundred graphic screens. Onceyou are ready with a full design specifica-tion, you are ready to move on to the

GAME DEVELOPER • JUNE 1994 7

Civilization of the Future or Memory Eater?

Page 7: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

next step.Step 2. Develop your product. Here is

where the hard-core programming,graphics creation, animation, music,sound effects, digitized voices, and every-thing else gets done.

Step 3. Hard disk image. Create animage of the product on a separate harddisk partition, complete with boot code,installation code, and so on. This is avery important step in devel-oping for CD-ROM becausewhat you put in that parti-tion is what will end up onthe disc. This is a goodtime to clean up unusedcode, tools, errata, pro-grammer’s notes, inter-nal documentation,trapdoors, and all thethousand-odd filesthat end up on ahard disk duringthe developmentprocess. Remem-ber, if you acci-dentally burn acopy of yourc o m p i l e r ,source code,font, or favorite paintprogram onto the CD-ROM,you might be in for some legal problems,the least of which would be paying a roy-alty to the originator of those products.

Just because all those files appear innice alphabetical order when you do adirectory listing does not mean they aresequentially laid out on the drive. Somepremastering software creates a completebyte-for-byte image of the hard drive asit stands, not as it appears. Rememberthat file number 2.pic appears between19.pic and 20.pic, so you may want tonumber files 001.pic, 002.pic, and so on.This may not be a problem for you oryour system, but some people spendweeks trying to figure out why the CD-ROM image is different from what theythink is on their hard disk.

Step 4. Hard-disk testing. At thispoint, it’s a good idea to test the productfrom that hard disk partition. If possible,boot straight into that partition and see ifeverything works. You may have to cre-

ate a floppy boot program that simplytransfers control to that partition and seeif it works. You will probably find thatwhen booted from that partition, theprogram fails because you omitted aDLL, initialization process, or somecode that exists on your developmentplatform but may not exist on your targetplatform.

This testing will also help you buildyour install routines (if you have any).

This is particularly important onTV-top systems, many

of which

t r a n s f e rtotal control to the CD-ROM and count on it to do every-thing including boot the system. Onceeverything seems to work off the harddisk partition it is time to premaster thedisc.

Step 5. The gold disc (premaster).Before you actually start producing discs,you go through a premastering phasethat’s divided into two steps: a build anda premaster or gold disc.

After you have your program fin-ished and all the picture, sound, andother data files just the way you wantthem, you go through a build phase. Abuild is where a separate program readsthrough your hard disk and creates abuild file, which is simply a text file withthe proper header information and a listof all the files on the hard disk drive thatyou want copied in the order that they

will appear on the CD.Once the build file is created,

another program creates an ISO formatimage of the data, ordered according tothe build file. That image is then writtento a write-once disc. This is called thepremaster or gold disc. These discs use avery, very thin film of real gold and alaser to create the pits. The gold disc isthen used for final testing in a real CD-ROM drive on a real system.

There are two ways to create a golddisc. You can either send your data to aCD-ROM mastering house or you cando it yourself. Most CD-ROM master-

ing facilities can accommodatedata in just about

any format,such as

s t r e a m i n gtape, Syquest

data cartridges,Bernoulli drives,

even hard disks.They will, of

course, charge youfor a premaster

(usually under$100), and some

houses will let youapply that charge

toward the actual mas-tering charges later.

You should alreadybe checking into mastering

and duplication charges bythis time anyway, so perhaps

you can work out a deal. If you are let-ting a CD-ROM mastering house do thepremastering for you, be sure that itknows what format you are sending andwhat the target platform is. Most CD-ROM duplication houses are more thanhappy to accommodate you no matterwhat the technical considerations are(after all, they want your business whenit comes time for duplication).

If you plan to do a lot of future pro-jects on CD-ROM (or a lot of premas-ters), it’s probably a good idea to lookinto the purchase of a WORM drive ofyour own. Write once drives fall into the$2,000 to $5,000 range, with various fea-tures and software. It is probably worthlooking into the various configurations

C D - R O M G A M E S

8 GAME DEVELOPER • JUNE 1994

LucasArts High-End CD-ROM Game Rebel Assault

Page 8: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

carefully before you purchase one. If yougo the do-it-yourself route, you must dothe build phase on your own, whichactually does give you more control overthe finished product.

If your premastering or build soft-ware is good, it will let you edit the buildfile. Here is where you may find fileorganization and ordering problems. Youmay also be able to correct them here byediting the build file. Remember to keeptrack of your changes because, no matterhow smoothly things have gone up tothis point, you generally have to gothrough the build phase at least a fewmore times. When you have the buildfile the way that you want (organized sothat frequently used files are groupedtogether and near the beginning of thefile), you can cut a gold disc with a com-mand or two. Depending on theWORM drive, this can take minutes orhours.

Step 6. Testing. When you get yourgold disc back from the duplicator orfrom your WORM drive, it is time forreal-world testing. Here is where youwill find CD-ROM specific problems,read and seek time bottlenecks, andother things you never counted on. Thegold disc is in every way exactly like thedisc that you will be shipping to yourcustomers, so if it doesn’t work on yourtarget platform system at home, it cer-tainly won’t work on your customer’smachine.

Test the gold-disc version to deathbecause this will be your last chance tosolve any problems. Try it on an actuallow-end system that doesn’t have yourdeveloper tools loaded (or anything elsefor that matter). Test it at home. Test itin the field. Test it everywhere you canthink of, even if you have already gonethrough beta testing on hard disk.

If you end up having to makeanother gold disc, go through the wholetesting process again with the new disc.You would be amazed at how often fix-ing one problem causes three more tocrop up. Even if you are under the gun,it’s 4:45 and the UPS truck is about toleave, don’t give into the temptation tosend out a new gold disc that hasn’t beentested! Gold discs are not perfect! A sin-

gle speck of dust at the factory can createa flaw in the disc, and gold discs aren’t asdurable as final CDs. One bad byte inthe wrong place can destroy a program,and, if it’s bad on the gold disc, you’llend up with a thousand copies of a baddisc.

Step 7. Mastering. If the gold discworks the way you want, you can thensend the gold disc, (or magnetic tape, orBournelli or Syquest cartridge, or evenyour hard disk drive along with yourbuild file) to a duplicator who thenmakes a master. You can’t make yourown CD-ROM master discs. CD-ROMmastering is one of those dark, arcaneartforms roughly equivalent to mass-pro-ducing VLSI chips that only a few com-panies in the world can accomplish.

It involves millions of dollars worthof highly specialized equipment, highlytrained engineers dressed in air-tightspace suits and a class 2 cleanroom. For-tunately, duplication houses only chargeabout $1,200 for each master. Don’texpect to get the master back either.Most duplication houses will store themfor you if you need another run, but nor-mally they don’t give copies back to thecustomer.

Once a master is created, the dupli-cation process is pretty much like stamp-ing out a vinyl LP record. The master ismounted on a press, the CD-ROMinner layer is stamped, the plastic coat-ing, label and whatnot applied, and thedisc is popped into a jewel case (or what-ever you specify). Depending on thequantity and turnaround time, CD-ROM discs can be produced for under$1.50 each. If you want the duplicator toinsert your discs into jewel cases, insertinstructions, and shrink-wrap them foryou, each disc will cost about $2.00 each.The duplicator will even ship the productfor you.

You must work out the particularswith your individual CD-ROM duplica-tion house, and all will be very happy tomeet your needs. You may be able to geta dime or two with a volume discount,but disc prices are pretty low, so don’texpect 50% off if you order 10,000copies. If you are developing for somesystems you may find that the duplicator

will charge you an additional platformlicense fee that goes back to the systemmanufacturer. You may also encounter asetup fee of a few hundred dollars. Someduplicators will wave this fee the firsttime, but charge you if you need to goback on press at a later date.

Treasures and TrapsSo, while CD-ROM may seem like theend-all, be-all for software developers, itis a mixed blessing. Yes, you do get tonsof storage space, but you have to counton additional load times. Yes, it is almostlike shipping your product on a very largeread-only hard disk and yet, because ofphysical layout constraints, you have tobe careful how you premaster for opti-mum performance. Yes, you can addvideo, digital audio, animation, andskads of graphics, but each comes withadded development costs, headaches, anddesign considerations.

If and when you decide to jumpinto the CD-ROM development venue,you are bound to find hidden treasuresand traps. There is a whole new world ofinteractive entertainment waiting to beexplored. You will find those rewardsand pitfalls sooner than any other soft-ware developers because, as you and Iknow, it takes 10 times more sophistica-tion and elegance to develop a goodgame than it does to develop just anotherword processor or spreadsheet. Gamedevelopers are the ones who test the lim-its of technology. No other software pro-ducers can do that or have to live up tothe standards that game buyers anddevelopers set for themselves. ■

Guy Wright has designed, producedand developed nearly a dozen interactivemultimedia CD-ROM products for variouscompanies. He has designed games, videoproduction software, and multimediaauthoring languages and founded two soft-ware companies. He has written two bookson desktop video and is currently workingon a killer CD-ROM cyborg simulationgame that should put all others to shame.He can be reached via e-mail [email protected] or through Game Devel-oper magazine.

GAME DEVELOPER • JUNE 1994 9

Page 9: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

Target YourGame: Computervs. Console

C O M P U T E R V S . C O N S O L E

Want to quickly compare homevideo and computer games?Tally up sales. Six to sevenbillion dollars worth of videogames were sold in NorthAmerica in 1993 vs. $410million in computer games,according to the Software

Publishers Assoc. That ratio, about 15 to1, is an order of magnitude and a half.

But wait—nobody counts retail salesof IBM compatibles and Macintoshes oreven joysticks and soundcards, yet SuperNintendo Entertainment Systems andSega Genesis and Sega CD units are

lumped into the home video game or con-sole totals. And aren’t the chip innards ofcartridges more properly counted as hard-ware? Maybe we should factor out theirdifference in cost from all the floppy disksin an average game box or the stampingcost of a CD-ROM. More to the point,how do computer and console games dif-fer, and how are the two suddenly grow-ing together?

The Two WorldsThe biggest difference between computerand console games is the people who playthem. Their preferences appear to dictatethe kinds of games you find on eitherplatform. Part and parcel of that contentare the interfaces, which differ strikingly.The hardware available is largely responsi-ble. It accepts player inputs, generatescompelling graphic output, and processesthe one while supporting the other.

Any console developer must pur-chase a development system to accommo-date that dedicated CPU and its architec-ture, but every developer employs somevariety of software tools and a balance oftwo separate languages. Finally, theprocess by which a video or computergame, once commissioned, reaches thehands of consumers also subtly differs.

Younger people play video games,while older people play computer games.Nintendo Power editor Scott Pelland callsthe core video game-playing group 12- to14-year-old males. At Sega of America,associate director of third-party licensingSteve Ackrich offers “6 to 16 vs. 18 to 35”as a ballpark age breakdown.

The game platform of choice foreconomically dependent consumers isclearly the video game console or set-top

Games like Sega of America’s Eternal Champions will sell to millions (zillions?) of consumersthis year, but is it a video or computer game. With delivery mediums like the CD-ROM, tradi-tional video games are crossing the line and being played not only in the arcades and on TV-top consoles, but on the PC and Macintosh as well. As the computer and video markets con-verge, opportunity arises for everyone!

10 GAME DEVELOPER • JUNE 1994

Page 10: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

box. “Right now computer games seem tobe more involved, more complex, andmore for older people just because of thetarget platform. It’s an older audience.You don’t have 10- to 14-year-old kidsgoing out and spending $2,000 on a PC,”says Robb Alvey, a producer at VirginInteractive Entertainment.

The dominant appeal of video gamesis the promise of instant gratification.There are indeed “two different types ofgamers,” claims Maxis producer MichaelPerry, who began his career at HudsonSoft USA in video games. Video gamersare “action or sports oriented. They wantto put the cartridge into the machine, turnit on, and play without having to read amanual, or study it, or know anythingabout the game. They just go for it.”

Sega producer Tony Van has alsoworked in both worlds, including Activi-sion and LucasArts. He says, “The PCand video games are different markets.On the PC side, they are more forgivingbecause most of them are hackers. Youcannot install a PC game these days with-out hacking your AUTOEXEC.BAT andCONFIG.SYS files.”

One thing video gamers are not ishackers. As investors in their own enter-tainment, one experiential venture at atime, they are risk-averse. One unpleasantepisode with a faulty product, and theirpleasure capital could be wiped out, asNintendo learned from the early 1980sAtari market and created zero-defect fun.

Video games are fad items, based onfast-moving technology, and even the bestcan be outdated within a year. You canhold a cartridge in your hands, but makeno mistake—video games have been suc-cessfully transformed from a good into a

service, like all entertainment always wasand like more and more software is. Andas any good service-provider knows, anannuity is better than a lump sum. Therecent stir over video cartridge rentals isironic because a video game console isreally just a subscription and cartridges therenewals. With video games, we alreadyrent our fun.

By comparison, computer games aremore opportunistic; few would admit tobuying a PC to play games. As a market,they are an afterthought. What can theyoffer an audience of greater wealth, matu-rity, and sophistication? Tony Van knows:“The trade-off is instant gratification vs.variation and depth of play. They all wantthe best game experience, on both sides.The PC side is willing to wait for it.”

Michael Perry agrees, it is “depth ofgameplay. A lot of video games are verytopical. You have a very simple purpose.In a fighting game, it’s to beat the hell outof the other guy. On PCs, you can justdive in deeper and deeper. Users like that;they spend a lot of time with the game,seeing how deep they can go. It’s not aone-shot thing like a video game.”

Successful console game categoriesare action and puzzle: sports, fighting,racing, side-scrolling and vertical shooters,and platform versions of the adventuregenre. PC games are more typically simu-lation, strategy, role-playing, and first-person graphic and text adventures, aswell as solitary sports like golf. After pro-ducing more than 30 cartridge games,Alliance Interactive president GordonWalton has chosen to return to the plat-form with a keyboard: “PC games aremore fun anyway. You see a lot more cre-ativity, more robust games. There is a

What‘s the best plat-

form for your game?

Consoles are in the

limelight–but wait–

isn‘t there a PC in half

the homes in Ameri-

ca? Market strate-

gies play an impor-

tant role in where

your game ends up.

by Jim Cooper

GAME DEVELOPER • JUNE 1994 11

Page 11: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

limited input bandwidth that constrainswhat you can do with a console game.This limits size not so much as depth.”

DesignYet the keyboard is not the key. SaysWalton, “The mouse has a practicallyinfinite input bandwidth to click on. It’sthe size of the screen in pixels divided bysome size factor. A mouse interface is alsomore intuitive than ‘Y-button plus Uparrow.’” The margin for error is awfullyslim without that mouse; ask Alexandriadesigner Paul O’Connor. “You can’t besloppy when you’re doing a console game.You’ve got three to six buttons, maxi-mum, plus the directional pad. On a com-puter game you’ve got a keyboard withhow many keys, a mouse with how manymouse buttons, and maybe a joystick ontop of that. What it comes down to is theinterface. It’s almost the differencebetween a short story and a novel.” Theother half of an interface is the output—the graphics.

Rich O’Keefe of the Starwave Corp.explains the difference between characterand bit-mapped displays, starting withvideo games. “Character-mapped displaysbreak the screen down into 8-by-8-pixelcharacters and put those characters in tilepositions on the screen. You can reusecharacters in drawing the screen; that’s

where you save the memory. Computers,on the other hand, tend to be bit-mapped(unless you’re talking about the Amiga).What that means is each pixel on thescreen has a location in memory. Com-puters have character modes, they justdon’t get used because they are two-color:black and white. Video game characterstend to be multicolor.”

O’Keefe continues, “Sprites are aspecial case of character that are indepen-dently placeable over the top of that back-ground, to a pixel boundary. Sprites aresupported in hardware; that is, they have apriority, and it’s usually based on what’scalled their sprite number. Whether theyappear on top of the background orbehind the background, or one spriteappears on top of another, is basicallydependent on some attributes you can setor their sprite number.

“To emulate a sprite on a computerdisplay, say I have this character that Iwant to walk across this background. Ihave to draw the sprite and then, before Imove him, erase the sprite, fill in thebackground, then move the sprite, savinga copy of the background where thatsprite’s going to be drawn. This is a verysoftware-intensive chore. With realsprites, in a video game, the hardwaredoes it all. It’s completely unnoticeable.When the scan line is being drawn, it

draws the background scan line, then thefirst sprite if it happens to be there and ontop, and then layers it up like a sandwich.It happens automatically, and that’s whyyou very rarely see real nasty shootinggames on computers: the amount ofprocessor required to do the erase and fill-in and move-the-object and all that iscostly. It takes a lot of CPU cycles and alot of memory.”

Perry offers one design implication:“On a video game platform, you typicallydesign your characters at least a fifth to aquarter the size of the screen. Say yourscreen is 224 pixels tall; you want yourcharacter to be 55 pixels in height. Justbecause of the low resolution of the TV,you want to be able to see that guy. Buton the PC, since the resolution is muchmore dense and sharper as an image, youcan use smaller graphics and get a lotmore on the screen.”

Consoles don’t just come withoutkeyboards or a mouse, they have to bor-row your TV. This difference in resolu-tion is key. One medium can be symbolic,using fine details of expression. The otherhas been necessarily literal, based onaction; the only nuance is kinesthetic andgoes by the name of “gameplay.”

Perry continues, “NTSC is not asdense a resolution as the typical computermonitor. On a PC in DOS, we can have640-by-480 pixels. On television, we areback down to 320-by-224. That makes abig difference when you design games forboth platforms, especially if you are usingsomething like a toolbar. On the DOSmachine, that toolbar can be the fulllength of the screen. On a video gamemachine, you’ve got to really be carefuland slice that toolbar up about a quarter ofits size to fit. And then will the buttons bebig enough?”

Text in games demonstrates this dif-ference, in Tony Van’s experience, “Onthe PC, text is O.K. Adventure, the origi-nal role-playing adventure game, was text-based. But it doesn’t work on video, andthat’s one of the reasons role-playinggames are nowhere near as popular onconsoles as you would expect. Text is justnot fun. But it is important in a game ofany depth.

“When I showed Shadowrun, a role-

C O M P U T E R V S . C O N S O L E

12 GAME DEVELOPER • JUNE 1994

Sega’s Ren and Stimpy–Interactive Hollywood

Page 12: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

playing game, at the Consumer Electron-ics Show, what do you think were the firstwords out of a reviewer’s mouth? ‘Sure is alot of text.’ And you can’t blame people.On TV, pixels blur! Computer VGA ishigh resolution. Somebody put it this way:you don’t sit seven inches in front of theTV when you play on the Genesis.” Thismedium, defined by action and hostile tothe written word, is home to pictograms,multimedia ones.

“Consoles are built with just twothings in mind: to entertain and to do itinexpensively,” says Steve Ackrich. TheSega Genesis uses the old Motorola68000 running at 12MHz with 512K ofRAM. The Super Nintendo Entertain-ment System uses the 65816, an older,slightly inferior chip. Both are proven,available, inexpensive, and quite a bitolder than the Intel 80386s, 80486s, andPentiums that drive PCs today.

Development SystemsJust as video gamers have to own a con-sole, developers must buy a developmentsystem, although it need not be from theactual platform provider. Systems for the16-bit platforms from Sega and Nintendocost around $15,000. According to GregTavares of Crystal Dynamics, they havethe best hardware, which is required toperform tracebacks, but their software isso poor they are not the best systems towork on. Among the newer platforms, aSega CD development systems costs$40,000; 3DO costs $15,000. Rumors ofthe price tag for Nintendo Project Realityand Sega Saturn are in the $100,000range. By contrast, Atari development kitsare $7,500 for the Lynx and $5,500 forthe Jaguar.

In both worlds, the software engi-neering technology is constantly evolving.Console developers once started out equal,but every shop has built up its own arsenalof tools. Steve Ackrich is well positionedto observe the field: “You don’t haveeveryone going down one clear path. Youwalk into one shop, and they have thisbizarre setup. And you walk into anothershop, and they have this completely dif-ferent bizarre setup. In general, the puredevelopers have very ‘clean’ environments.We couldn’t keep track of what everybody

is doing even if we wanted to. After all,even we [Sega of America] are consideredthe competition. Sharing is limited; com-munication has a long way to go, but it isgetting better. The industry is a veryclose-knit community.”

Sculptured Software has even startedselling parts of its own proprietary devel-opment technology, although director ofsoftware development John Emerson addsit sells only to approved developers of theSega and Nintendo systems.

The first thing to realize is that videogames quote their size in bits of memory,while computer games are quoted inbytes. A bit is one eighth of a byte. Videogames are small; Street Fighter II, a mon-ster cartridge at 24MB, would almost fiton two floppy disks. Gregg Tavares ofCrystal Dynamics: “With video gamesyou have to squeeze so much into a smallamount of space that you take a vastly dif-ferent approach. PC developers don’t haveto deal with it, so they don’t even try.”

How much can be squeezed? “SuperMario III from Nintendo was a 384Kcart, and it had 88 levels. By comparison,Aliens Ate My Babysitter from Apogee,available for download from any BBS,takes up 2.3MB, and it has 13 levels.That’s the difference,” says Tavares.

This incredible parsimony is moti-vated by the memory cost. As RichO’Keefe says, “Silicon memory is veryexpensive per bit.” Cartridges costbetween $15 and $20, compared to 75¢ to$1 for a floppy disk or CD. Using a1.44MB floppy as the baseline, cartridgesare 10 times more expensive per byte (orbit). CD-ROMs are 400 times cheaper.

According to Clyde Grossman, vicepresident of publishing for SpectrumHoloByte and former group director ofsoftware development at Sega, this is thedifference: “ ‘Gee, product got a little bitbigger? Guess we have to go to anotherdisk.’ 8MB and 1 byte means the next sizecart. What does that cost? Let’s just say itmeans another $10 to the consumer atretail. It happens often enough. You wantthem to fill the cart, after all.” The 7thGuest shipped on two CDs; the secondwasn’t planned, but didn’t kill the project.

The two primary computer lan-guages for games are assembly language

and C. Assembler is the machine codenative to a particular processor—no codeis tighter. John Emerson says most PCcode is in C, which is easier to work with.“Any high school kid could do it,” he says.

Sculptured Software cartridges arewritten 75% to 100% in assembly lan-guage. In fact, all its Super NintendoEntertainment System games are 100%assembler. Maxis uses “assembler whentarget platforms are 286 or a 68000-basedMac, and that’s just because of speed, purespeed,” says Michael Perry. “On the DOSside and Mac side and in Windows, wealways program in C and use assemblylanguage just for some of the bottlenecksto speed up some graphics process orsome intense calculations. But as we getthese more powerful machines, like thePowerMac, we can use straight C or C++,and it will run fast enough.”

Anarchy vs. the StateThe Software Publishers Assoc. does notpolice PC software content. Among con-soles, however, Sega and Nintendo arecandid about doing so. Steve Ackrichexplains Sega’s reasoning. “People don’trealize this, but we have a very fragilemarketplace. We’ve seen what can happentwice, once with the [Atari] 2600 andonce with the 8-bit Nintendo. Nintendolet down their guard. Our customers don’tknow when a game is done by Sega andwhen it’s done by a third-party publisher.We get letters all the time about JohnMadden Football [published by Electron-ic Arts].”

Ackrich continues, “Becoming alicensed publisher or developer is free, butnot easy. We make it very hard to becomea licensee. SOA [Sega of America] needsto see everything: the ability to developgames, the ability to distribute, market,and support games, and the ability tomake quality games. We exercise twochecks on individual game quality: first atthe concept approval stage, and then intesting before final approval. We assignpublishing slots; there is no limit to theslots, but the quality has to be there. Allthis is not to stifle competition becausethat competition gives you the best games.Most people at Sega come from third-party licensees, so they appreciate that we

GAME DEVELOPER • JUNE 1994 13

Page 13: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

are supporting them.”Atari vice president of software

business development Bill Rehbockdescribes a laissez-faire approach toJaguar licensing, for those who have alsosatisfied the stringent standards forbecoming licensees. “We do not requireour licensees to let us know what they’redoing, but we request it. We keep a scat-ter chart of types—not titles—of gamesbeing worked on by all our licensees. Wedo not prohibit anybody from proceedingon a title, but we will be honest: ‘AcmeSoftware, we recommend you don’t pur-sue this tennis game because it is worsethan the three already in the works.’ Ifthey go ahead and proceed, God bless’em. If they get eaten alive, that’s O.K.too. Buyers for the big chains like ToysR Us know quality when they see it. Theindustry is a little more self-regulatingthan it used to be.”

“We also won’t reject—or slowlyapprove—your 3D polygon racing gamebecause ours isn’t ready yet. All third-party games get tested independently of

our own projects. In fact, on the day thatTradewest announced their Jaguar TroyAikman football game, we canceled ourin-house football project.”

Testing is easier for the more stan-dardized video consoles, although nottrivial. With direct responsibility for test-ing all—and only—Sega’s third-partygames and experience as a producer ofPC as well as cartridge titles, Steve Ack-rich says, “Testing is a nightmare on thePC, not as much so on the Mac, andalmost but not quite painless on consoles.At Sega, we want to make sure that anygame that comes out is compatible notonly with all our existing machines, butwith all future machines.”

Rehbock describes a less ambitiousprocess comprising all Jaguar title testingand approval. It begins when a publisher“submits the code to Atari, where wesimply do 100 staff-hours of what we callsanity-check testing. The game just hasto meet our cursory style outline: theReset button works, Fire buttons aresoftware-reconfigurable, Pause pauses

the game, and while the game is pausedyou can adjust the soundtrack and soundeffects volume levels. We turn over thecode in two or three days.”

Says Michael Perry, “We do reallybig simulations on the PC side. With ourquality assurance process, sometimesproducts can stay in there for months.We’ve got a strict QA department.

Of course, updates to released prod-ucts are unique to the computer gamerealm. You cannot download a patch toyour cartridge from CompuServe. Gor-don Walton says, “Carts have to be per-fect. PC updates are cheaper, and theinfrastructure is set up for it; people aretrained in software updates. It’s under-stood that everything is a work inprogress.”

A unique lag exists between when acartridge game is finished and when peo-ple buy it. Clyde Grossman notices thedifference: “You lose the immediacy ofreleases with video games. At Sega, Iwould honestly lose track of what wasshipping because we had finished with it

C O M P U T E R V S . C O N S O L E

14 GAME DEVELOPER • JUNE 1994

Page 14: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

three months before. With a floppy orCD game, it can be on the shelves in twoweeks from QA.”

The FutureConsole and computer games are con-verging. Today, they share the CD-ROM delivery vehicle. Soon, they willshare full-motion video via compressionand decompression technology; witnessSigma Designs’ ReelMagic PC add-onboard and an MPEG adapter slated forrelease for the Atari Jaguar later this year.

Gregg Tavares ventures the opinionthat there are now three categories ofelectronic games: cartridge, PC, andCD-ROM multimedia running on a PC,Sega CD, 3DO, or whatever. The chal-lenge is to fill up a CD-ROM—withgameplay, not just memory-hungry digi-tized sound—and access all that dataquickly.

Hugh Bowen, of the Bowen Associ-ates multimedia video game marketingconsulting firm in Half Moon Bay,Calif., would agree: “The PC CD marketis exploding in sales. It used to be minus-cule compared to video games. RebelAssault from LucasArts has sold 400,000worldwide since last fall. Activision’sReturn to Zork sold 300,000 in the lastsix months.”

At this year’s March Symposium ofthe Software Publishers Association inSan Francisco, Calif., he chaired a panelon multimedia platforms that rankedtheir attractiveness to developers in thefollowing order: Sega Saturn, PC andMacintosh CD, Nintendo Project Reali-ty, Sony PS-X, 3DO, Jaguar, and SegaCD. In the PC world (including Macin-toshes), five to seven million CD-ROMdrives are expected to be in Americanhomes by the end of 1994, and 10 to 12million by the end of 1995; there arealready 700,000 Sega CDs.

Nintendo has announced that itsProject Reality machines will use high-capacity data cartridges instead of CD-ROMs. Gregg Tavares is skeptical:“Their carts are supposed to hold 150MBto 250MB? Crash ’N‘ Burn took up300MB without the animated sequences,and Total Eclipse took 40MB.” It’s notthat hard to fill a CD-ROM.

And Rich O’Keefe recalls his expe-riences while in Japan for Atari, Elec-tronic Arts, and NEC: “The PC Engine,what we call the Duo over here that playscarts and CDs, sells almost no cartridgesany more. CDs are cheaper, and you canget them back overnight—in a week inthe worst case. You can gauge the mar-ket, take fewer risks, and there’s no gam-bling on inventory.”

On the other hand, in the not toodistant future: “with a set-top box, thereis no reason for CD-ROM: you get itthrough cable. Cable delivery is going tobe much more important in the next 10years than CD-ROM delivery is now. Ithink there’s going to be this conver-gence of cable boxes, telephones, PCs,and video games. It’s going to be aninteresting little mixture. Right now,video games lack two-way connectivity.And you can get that over a cable systemat a high enough bandwidth to be trulyinteractive. Not 9600 baud modems;that is too slow, except for very simplegames and strategic games. To do theVR thing, you need high-bandwidthcommunication.”

If you ask Gordon Walton foranother reason why he got out of videogames, he’ll say the console market isabout to crash, and the new platformswill arrive too late. “If you are currentlyin the 16-bit market, that’s fine as ittrails down. But if you’re not developingfor these new platforms right now, it’stwo years before any product comes outfor them—3DO, a year and a half.”

Robb Alvey would not argue: “A lotof people don’t understand that it takes awhile for people to develop on and learna system. When the Sega CD first cameout, everybody was saying, ‘Oh, this is adead system. Noone’s going to buy it.The games are horrible,’ and they were.It always takes something on a system tomake me want to buy it. With the SegaCD it was Silpheed. I played Silpheed ata friend’s house and said, ‘I gotta have aSega CD now.’ ”

And he is clearly eager to use whatcomes along. “For Aladdin [a Sega Gen-esis cartridge], we had to say, O.K.,we’ve got a limited amount of RAMbuffering, and we’ve got a limited

GAME DEVELOPER • JUNE 1994 15

Page 15: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

amount of cartridge space, just dependingon how good compression routines areand how much stuff we can cram into a2MB cartridge as opposed to a 600MBdisc. We sat down with the Disney ani-mators and said, ‘Alright, you have tocreate feature film quality or at least thefeel of it, given all of our limitations:characters can’t have facial expression,and they can’t have fingers or toes.’ Thatwas a blow to them; they’re used to beingfree with their animation and artwork.But: if we were to do a CD-ROMAladdin, in the same form that youwould do a Dragon’s Lair and have theluxury of MPEG out there now, we couldhave done anything we wanted with theDisney animators. We could have letthem run wild and be free with it.”

Into OvertimeWhatever comes along, designers andproducers and technical directors will bebending it to their creative visions. PaulO’Connor is typical: “As a player, I enjoycomputer games more because they pro-

vide intellectual challenge, and they havedeeper levels of play. But for a racinggame or a fighting game, it’s hard to beatthat oomph of a top-flight video game. Ithink computer game designers can learna lot from the interface design of some ofthe best console games because they canget complex designs across. A person canpick up a controller and understand howto play first time through without read-ing any documentation. When’s the lasttime you did that with a computer game,short of Wolfenstein?”

“There is a crossover between set-top boxes and PCs; they’re growingtogether,” says Michael Perry. “As set-top boxes and PCs grow more and morepowerful, it’s going to be hard to distin-guish between the two platforms. Wemay end up in the future being able torun a game on a PC and on a set-top boxwith very few modifications at all.”

Looking ahead, David Walker, atechnical director at Electronic Arts, sayshe used to place computer and videogames along a continuum of complexity

versus simplicity. That is changing withthe introduction of full-motion-videoand MPEG chips. “We’re seeing a newgenre of game, the interactive movie.Nobody knows what it means, but every-body is using the term. And it can live onboth the PC and set-top boxes.” ■

James Paul Cooper sold decision supportsoftware to institutional investment managersfor a global consulting firm. In 1978, hejoined an Arizona computer game companyinstead of matriculating at the University ofCalifornia. Since then, he has founded or co-founded several game and software venturesand acquired an M.S. in Industrial Adminis-tration from Carnegie Mellon University,where he taught marketing. He can be reachedvia e-mail at [email protected] orthrough Game Developer magazine.

F E A T U R E H E A D I N G

16 GAME DEVELOPER • JUNE 1994

Page 16: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

The FatMan Sings

T H E F A T M A N

Nestled in Texas hill country,Austin is a city jam-packedwith musicians, but it’s notnecessarily an easy town for amusician to make a living in.In fact, for the amount ofmoney they make, some musi-cians might as well be playing

music as a hobby. George Sanger hasgone about the whole business of makingmusic and making money in a completelydifferent way. Now, he’s making moneyplaying music, and he’s making money athis favorite hobby: playing games. Infact, he and the three other musicianswho work with him carry a lot of weight

in the game business. They are the FatMan. “We’re huge,” says Sanger.

Fat Man central is Sanger’s small,tree-shaded red brick house in NorthAustin. The entire front room is takenup with computers, sound equipment,and Sanger’s collection of guitars.Swiveling around in a high-backed blue-padded chair behind a giant desk, Sangerbarks into the phone, fiddles with equip-ment, and, in general, lives large.Sanger’s family reigns in the rest of thehouse, where Linda Sanger manages thehousehold, the couple’s two kids, and theFat Man’s books.

Family is important to Sanger. Hegot his start in the game business whenhis brother’s roommate Dave Warhol,who was writing games for Intellivision,commissioned him to write a 10-secondtune for $1,000. The tune was called“Carnival of the Penguins,” and it wasused in a game called Thin Ice. Sincethen, games boomed and busted, andthey’re booming again.

George’s brother David Sangerbecame the drummer for GrammyAward winning Asleep at the Wheel,and George Sanger’s career in the gamebusiness took a hiatus. As he puts it, “Iwasn’t writing 12 seconds of music for athousand dollars anymore, I was writingsomething like up to three minutes forcommercials for $79.95.” At that time,Sanger was also running a recording stu-dio for Austin musicians, which is howhe met the musicians he now collaborateswith. At his brother’s wedding, he raninto Dave Warhol again, and, onceagain, he got a break. Warhol put him incontact with Brian Moriarty, who askedSanger to create music based on Swan

The Fat Man might not be familiar to those of you who follow the pop charts, but this Dallas-based band has been heard by millions if not billions of game players. From writing three-minute jingles for commercials to nominee for best soundtrack at the March GameDevelopers conference for Origin’s Wing Commander, George Sanger and his team providemusic for the game players of the world. The Fat Man is (from left to right) K. WestonPhelan, George Sanger, Dave Govett, and Joe McDermott.

18 GAME DEVELOPER • JUNE 1994

Page 17: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

Lake for the LucasArts game Loom.The next big break and a big evolu-

tionary step for the Fat Man came whenSanger was asked to write music for Ori-gin’s Wing Commander. He didn’t havetime to work on it, so he subcontracted itto Dave Govett who, conveniently, hadthe kind of grand World War II meetsStar Wars theme Origin wanted alreadyfloating around in his head. It was some-thing Govett had worked out in highschool. Then, Origin producer ChrisRoberts made several decisions that madeWing Commander a significant mile-stone in gaming history and also helpedpropel the Fat Man into the big time.

Roberts decided to make WingCommander more interactive with theaddition of characters and a storyline.Also, Origin refused to compromisegame quality for the lowest commondenominator market. Wing Commanderrequired a Sound Blaster, the best com-mercial sound board available at thetime, and it required at least a 386 com-puter, plenty of room on the hard disk,and a reasonable amount of RAM. Itwas a huge success. That year, two titlesSanger worked on, Loom and WingCommander (nominees for best soundtrack at the Game Developers Confer-ence in San Jose, Calif.; Origin won thecategory), were Sanger clients, and theFat Man became “the biggest name inmusic for multimedia.”

The Style is No StyleSanger says there is no such thing as apatented Fat Man sound. For one thing,he says, he doesn’t have the chops (amusical bag of tricks to fill in any blank),but also because the Fat Man is really

four people: Joe McDermott, K. WestonPhelan, Dave Govett, and Sanger. JoeMcDermott has produced several albumsof children’s music. He was also a mem-ber of Grains of Faith, one of Austin’sbest undiscovered bands and, saysSanger, “he’s created some of the mostear-bleeding music for Nintendo games.”

Kevin Phelan used to run sound forAustin musicians including Asleep at theWheel, was a member of the punk/funkband One Bad Pig, and he still special-izes in the eclectic, weaving world ofmusic with jazz and pop. (McDermottand Phelan are now members of a newband called Caterpillar.) Dave Govettspecializes in grand epic themes à la JohnWilliams or Danny Elfman. As forGeorge Sanger, the original Fat Man, hesays his job is to bring it all together. “Ispecialize in music salad. I don’t ever justplay what’s under my fingers becausethere’s nothing there.”

Sanger says he does not play key-board well, and he deprecates his guitarplaying talents. “What I have,” he says,“is the ability to drink a beer and lead ajam so that everyone has fun. On thekeyboard side, I have the ability to feelan emotion and slowly and painstakinglysculpt it out on the keyboard and thecomputer. Also, I have the ability tocoach other folks through the process ofperforming it.”

Depending on the developers, theFat Man can enter a project at any stage.In the case of IndyCar Racing, the gamewas already completed, and the Fat Manwas hired by the developers at Papyrus tocome up with a theme. To illustrate howearly he can come into a project, Sangerreaches across that broad expanse of a

Ever wonder who

writes those nifty

soundtracks, heart-

pounding scores, and

catchy tunes for your

favorite game?

Read how one man

and his band are

shaping the future of

music in gaming.

by KathleenMaher

GAME DEVELOPER • JUNE 1994 19

Page 18: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

desk and comes up with a thick script fora new project and flips throughpages of index,story-

lines, andstoryboards. “This is a

little more than we need, but it gives usthe fall and lay of the land.” Obviously,Sanger and the Fat Man would rathercome into the project as early as possible.

In the case of Putt Putt goes to theMoon, the Fat Man worked with thedevelopers at Humongous Entertain-ment every step of the way. “They wouldsend us a new update of the game withthe music integrated. That was a won-derful way to work because I didn’t haveto work with any fancy technology at all.I didn’t have to use any screwy tools andkill my computer by loading up proto-type software. All I had to do is put thegame on and see how it was playing sofar and send them feedback.”

The sound environment for Elec-tronic Arts’ SSN-21 Sea Wolf created incollaboration with John Ratcliff is oneSanger and his team are most proud ofbecause it uses sound in such an innova-tive way. “I wish I had been even moreinvolved in creating sound for that one,”says Sanger wistfully. All the sound asso-ciated with a real submarine has beenrecreated and helps create a three-dimen-sional sound environment. Sound is alsoused to lead and misdirect the player. Forinstance, if some threat passes by thesubmarine, the music might change to an

omi-nous

s o u n dand then, as it passes,

the sound environment mightrevert to normal. The player who paysattention to the sound will do better atthe game.

Sanger is also pleased with theeffect of the music for 7th Guest, sincethe music throughout most of the gameis not stereotypical “scary” music butrather cool jazz. In this way, Sangerhoped to heighten the effect of the gameby working in a counterpoint to thegame’s ostensible horror aspects.

Methodology inthe MadnessAn interesting element of writing musicfor games is the structure of the game. Ingeneral, says Sanger, the team is asked towrite a few themes: you win, you lose,you wander around. Consideration has tobe given to what happens when the play-er changes course. In Wing Commander,the style of the music allows changes tooccur without too much distraction. Itdraws on the conventions of early film-making that also had the same problemin terms of cutting film together. There-fore the music is a pastiche of bombasticwarlike themes and lyrical transition pas-sages. Likewise, 7th Guest’s jazzy stylelends itself well to changes in tone that,while sometimes abrupt, are not undulydistracting.

In contrast, game developers at Ori-gin are taking a different approach. They

are going for a Disney model that relieson in-house talent. At the South bySouthwest music conference in Austinthis year, Richard Garriot chronicled theprogression of sound in his titles anddescribed a system called NIM (Neno’sIntelligent Music) developed at Originby Nenad Vutrinic that incorporates atransition theme to move the user, theaction, and the sound to a new course.

As Garriot describes it, when a usermakes a decision or chooses a new courseof action, the music plays to the next bar,picks up the transition theme, and movesto the theme appropriate to the userchoice without any jarring shift inmood. The difficulty of working this

way, according to Randy Buck, a pro-grammer at Origin, is that instead ofworking in a linear fashion, music iscomposed in a matrix.

For his part, Sanger believes fastchanges emphasize the player’s controlover the game, and therefore he prefersit, though he’s also investigating otherapproaches. “Transitions are cool,” hesays, “if the composer writes them. But ifthey get into the hands of the program-mers, they can lose some of their musicalimpact.” The Fat Man can write transi-tions, and the members are discussingthe development of tools to make it easi-er to write music in a matrix as Buckdescribes it. “We want to make surewe’re not getting lazy and fat. Just fat.”

Sanger believes his success in thecomputer game business is directly relat-ed to his liking for games. He can identi-fy with the player of a game he’s workingon. “Some poor schmuck is stuck in aroom with my music, and I want it to begood music so they don’t hate me.”Many musicians, he feels, hold games incontempt, and they’re not interested inwriting music for games because of thelimitations of the hardware and software.

Sanger seems to welcome limita-tions as a challenge. Perhaps that’s whyhe’s such a game player. No doubt learn-ing from Origin’s experience with WingCommander, Sanger encouraged thedevelopers of 7th Guest to write to Gen-eral Midi standards, giving the game anextension on life as sound boards adopt-ed the new standard and actually

T H E F A T M A N

20 GAME DEVELOPER • JUNE 1994

Page 19: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

improved the sound of 7th Guest.Nevertheless, given present levels of

development, a sound board in a com-puter can only sound so good, and not allsound boards, even those that conform toGeneral Midi standards, sound alike.Sanger says that in his early work withcompanies such as Trilobyte, LucasArts,and Origin, the developers would takehis music and optimize it for all soundboards. “I thought I was really good,”says Sanger. But then, on another pro-ject, Sanger was horrified to start up thebrand new game and “the music literallysounded like farts, squeaks, and beeps,and there was my name—music pro-duced by the Fat Man—and all of a sud-den I realized I have got to get into thesound business.”

Sanger and The Fat Man are enter-ing the sound business in a couple ofways. Not content to simply supplymusical themes for game players, the FatMan and primarily Kevin Phelan aredeveloping a library of tones to ensure

that games players, developers, andmusicians are working with the samebasic elements. Yamaha has licensed theFat Man’s General Midi patch set for theopl2 and opl3 FM synthesizers, whichare the heart of Sound Blasters. The FatMan is working with Yamaha on thedevelopment of drivers to be includedwith boards using the opl4.

The Sound BusinessAlso, the Fat Man has become a consul-tant. Board manufacturers can hire theFat Man and win a seal of approval thatpromises users the boards will producethe proper tones for specific instrumentsand make no demands on the CPU. For,as far as Sanger is concerned, if thesound board slows down the CPU, it canstop a game dead without one explosion,dead Nazi, or passage explored.

In addition to ensuring that com-puters play the game and music correctly,the Fat Man’s entrance into the realm ofstandards and hardware has another

GAME DEVELOPER • JUNE 1994 21

”Some poor

schmuck is stuck in

a room with my

music, and I want it

to be good, so they

don‘t hate me.“

Page 20: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

advantage. “We get our name plasteredall over everything. If there’s not some-thing in it that feeds my ego, I just can’tget out of bed in the morning.” In otherwords, says Sanger, “I’m doing the rightthing for the wrong reasons, and that’swhat I like to do.”

Sanger now composes on theRoland Sound Canvas, and he encour-ages other composers to use it. Not onlydoes he believe that it is the best wavetable synthesizer (“so far”), it is now thede facto standard that gives manufactur-ers a common ground to work on. Ifmanufacturers develop products with theexpectation that most composers will becomposing on the Sound Canvas, thesound balance will work as they intend it.“I’m trying to turn the tide on this [theproliferation of sound boards and varyingstandards]. Instead of having softwaredevelopers burdened with having to sup-port lots of different cards, I want thehardware companies to support the waydevelopers are writing music.”

Turning the Tide?Sometimes when The Fat Man playersget together, they play surf music. WhenGeorge Sanger was asked to perform atthe Interactive Conference in San Jose,Calif., this year, he wasn’t able to bringthe rest of the team with him. So, hebrought his guitar and got together withkeyboard player Dave Javelosa of Sega,bass player Michael Land of LucasArts,drummer Neil Grandstaff of Sierra On-Line, guitar player Dave Albert of Sega,saxophonist Albert Lowe (who is notonly Sierra On-Line’s first composer, butalso the man who created Leisure SuitLarry), and independent composers JimDonofrio on guitar, and Don Griffin ontrumpet. And yes, they played surf music.

It’s appropriate. George Sanger isone of many trying to stay on top of avery quickly changing market. He’sdoing it by branching out rather thanprotecting his turf. “Every time I givesomething away I get more back.”Enthusiastically describing the jam in

San Jose, Sanger confesses to being ini-tially nervous about meeting and work-ing with competitors but, as it workedout, “I made some very nice friends andcemented some very good relationships.”

Likewise, Sanger admits, “I wasnervous when I started giving jobs to theguys on the team, but that’s what turnedit into a team instead of just one com-poser.” Staying on top, staying ahead ofthe trend, that’s surfing. It’s that ability,over and above songwriting, that hasallowed George Sanger to make moneyat something he loves. ■

Kathleen Maher is a freelance writerin San Francisco, Calif., specializing inmedia and culture. She is also the executiveeditor of Cadence Magazine. But, Kath-leen’s true talent may be her ability to findthe best barbeque in Texas and LucindaWilliams on the jukebox. She can be reachedvia Internet at [email protected] [email protected].

T H E F A T M A N

22 GAME DEVELOPER • JUNE 1994

Page 21: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

In the past, game players faced quitea dilemma. I’m sure you knowwhat I’m talking about. You’restanding there at the counter,preparing to plunk down yourhard-earned money for a video car-tridge. Only one thing left todecide. “Do I want a game I can

play at home? Or do I want a game Icarry with me and play when I’m stuckin traffic?” A minute seems like an eter-nity. You finally make what seems to bean intelligent choice, but suddenlyeverything’s in black-and-white, andRod Serling is saying something aboutsome poor sap entering the TwilightZone. Hey, wait! No need to sweat orhallucinate any longer.

Nintendo has announced the releaseof Super Game Boy, which transformsGame Boy cartridges into full-size, colorvideo games. Super Game Boy is a SuperNintendo Entertainment System (NES)cartridge that contains a Game Boyadapter. When you insert a Game Boycartridge into Super Game Boy, it istransformed from a 2- by 2-inch, black-and-white game to a bright, multicoloredimage on a big television screen. It even

has stereophonic sound. In other words,you can now play over 350 Game Boycartridges on Super NES.

Super Game Boy displays all GameBoy action in varying shades of four col-ors. And, as if this instant colorization ofblack-and-white Game Boy cartridgesisn’t enough to make Ted Turner green(with envy, that is), players may cus-tomize several prestored color palettes tochange the appearance of the screen andmay place different, animated, decorativeborders around the central game-playscreen. Using a Super NES control or aSuper NES mouse, players either selectone of several prestored designs or createtheir own through a paint-type program,drawing not only on the borders but onthe game-play screen itself.

New titles specifically designed forSuper Game Boy will be able to displayup to 256 colors. All of you popular-cul-ture theorists out there know what thefirst new Game Boy title to capitalize onSuper Game Boy’s capabilities will be.Yes, it’s time to relive the magic onceagain—Donkey Kong, bigger and badderthan ever, will be released at the sametime as Super Game Boy. That’s right,the big, hairy ape returns to video gamescreens in a set of new adventures.

In the new Donkey Kong, Mario (Ithink we can safely say that the poor guyhas some really bad karma) must onceagain fend off the advances of his oldnemesis, Donkey Kong, in an effort torescue damsel-in-distress Pauline. Marioreturns first to the familiar surroundingsof a construction site complete with lad-ders and speeding barrels. Then, he mustchase down the gorilla through a varietyof urban obstacles as Donkey Kong is let

The Return ofA Legend

New releases. New

versions of

old releases.

Books, gameware, tips

from the gurus. All this

and more in a

roundup of

what‘s hot in the game

industry

right now.

by Andrea Pucky

B I T B L A S T S

GAME DEVELOPER • JUNE 1994 23

Donkey Kong is back in a Game Boy car-tridge that goes from hand-held black-and-white to a full-size, color game.

Page 22: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

loose in the Big City. Okay, it’s not exact-ly the same game we remember from theearly ’80s, but still, it seems that DonkeyKong is well on his way to closing thegeneration gap. (Hey, at least I didn’t sayanything about the “missing link” or thePlanet of the Apes.)

More games will soon be on theway, as Nintendo’s licensees and gamedevelopers will receive development specsimmediately. According to Nintendo,Super Game Boy will be available June 6,at a suggested retail price of $59.99

For more information contact:Nintendo of America Inc.4820 150th Ave. N.E.Redmond, Wash. 98052-5111Tel: (206) 882-2040

Push Your Sega to the LimitAnd now, the winner of the “God, I wishI could upgrade my car that easily” cate-gory is Sega of America Inc. How wouldyou like to upgrade your 16-bit hardwareto 32-bit and get arcade-quality gameplay for less than $150? Sega of Americacan help you do just that. Sega hasannounced introduction plans for theGenesis Super 32X hardware upgrade,allowing video game fans to get 2 by 32-bit arcade-quality game experiences fromtheir existing 16-bit Genesis hardware.

Genesis Super 32X is the first prod-uct from Sega that will use the HitachiSH2 RISC chips destined for Saturn.(No, that’s not some new conspiracy the-ory. It’s the code name for Sega’s futurehardware platform.) The two SH2 chipsin Genesis Super 32X will complement anewly-designed video digital processor(VDP) chip to bring to the Genesis thefast processing speed, high-color defini-tion, texture-mapping, improved comput-er polygon graphics technology, ever-changing three-dimensional perspective,software motion video, enhanced scalingand rotation, and CD-quality audio thatgamers have come to expect from arcademachines and the most advanced homesystems technology on the market.

Genesis Super 32X will enhanceboth Sega CD discs and Sega Genesiscartridges designed and developed toincorporate this new technology. Con-

sumers can still play the more than 500games available for the Sega Genesis andthe more than 100 games available for theSega CD, while the Genesis Super 32X isattached to the Genesis hardware unit. Inother words, it’s an instant upgrade.

Sega has more than 30 titles underdevelopment and expects its softwarelicensees to add a similar number in thefirst year of the new product’s introduc-tion. Titles playable on Genesis Super32X are expected to be priced for con-sumer sale at levels comparable to currentsoftware prices for Sega’s home systems.According to Sega, the Genesis Super32X hardware booster will be available inthe fall of 1994 and will carry a recom-mended retail price of $149.

For more information contact:Sega of America Inc.130 Shoreline Dr.Redwood City, Calif. 94065Tel: (415) 508-2800

The Wise Ones Tell AllGuru: a personal spiritual teacher or arecognized guide or leader. (Just a note toany hip-hoppers out there. We’re nottalking about Gifted Unlimited RhymesUniversal.) I think we can safely say thatif you’re going to call yourself a guru, youreally should know what you’re talkingabout. Although the title may simply be amarketing ploy, the authors of Tricks ofthe Game Programming Gurus really dohave the experience and knowledge to fitthe definition of guru.

Ken Allen is currently programmingwith Spectrum Holobyte and is on thedevelopment team of its latest combatflight simulator. André LaMothe, whospecializes in graphics and animation, hasbeen employed by Visions of Reality, Alli-gator Communications, ConcurrentLogic, Versasoft, and NASA Ames(RIACS). Graeme Devine, who is writinga chapter on multimedia for the book, isthe president of Trilobyte, makers of The7th Guest and the upcoming The 11thHour. Devine also designed and pro-grammed the arcade version of Atari’sPole Position while in high school. (Doesthat make him a guru or a genius?)

The book provides the building

blocks necessary to create your own inter-active games. It explains the basic andadvanced ideas and topics behind thedevelopment of a flight simulator, athree-dimensional walkthru game, andmany utilities used to manipulate video,audio, and input devices. The book alsoincludes a foreword by John Carmac,Technical Director of ID Software, mak-ers of Castle Wolfenstein and Doom.

Tricks of the Programming Guruscomes with a CD ROM that includes allthe source code from the book, sharewaregames, commercial software demos, andutilities for game design and imagemanipulation, including paint/texturesoftware, sound editors, sprite editor,screen map designer, Castle Wolfenstein,Doom, and The Commander Keen seriesfrom ID software.

The book includes: building anauthentic flight model, the physics offlight, graphics behind the simulator, air-craft avionics, building a user interface,assembly language basics, I/O basics, two-dimensional graphics, VGA card manipu-lation, three-dimensional space, bitmapgraphics, sound and effects, game struc-tures, synthetic intelligence, user-definedgraphics, adding multiplayer capabilities,and testing the game. We can only hopethat these gurus have a few more tricks uptheir sleeves for their next book.

Tricks of the Game ProgrammingGurus will be released in July 1994 andwill be priced at $49.95.

For more information contact:SAMS PublishingPrentice Hall Computer Pub.201 W. 103rd St.Indianapolis, Ind. 46290Tel: (317) 581-3500

Practically Total RealityAre you an unsatisfied game developer?Yes, even game developers get the blues.Wavefront Technologies may not beable to offer you a magical cure-all, butthey have introduced GameWare, asoftware package designed to satisfy thedemands of game developers. Game-Ware runs on Silicon Graphics worksta-tions and, according to WavefrontTechnologies, provides developers with

B I T B L A S T S

24 GAME DEVELOPER • JUNE 1994

Page 23: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

graphics tools for creating games withrealistic three-dimensional objects andterrain, three-dimensional syntheticactors with realistic motion, and stun-ning special effects.

GameWare addresses the colorbandwidth problem of game consoles byallowing the developer to render toreduced color palettes. It resolves geome-try bandwidth problems by providingthree-dimensional geometry reductionalgorithms and a “flatten” tool that con-verts a three-dimensional object into anidentical two-dimensional version. Openarchitecture allows developers to integratetheir existing software tools with Game-Ware to an extent that is not possiblewith systems based on a proprietary archi-tecture and data structure.

In addition to modeling, animation,and rendering capabilities, GameWareprovides synthetic actor animation byintegrating forward and inverse kinemat-ics with skin behavior. For those of youwho haven’t brushed up on the jargonlately, animators can bring a static modelto life by directly manipulating a user-defined skeleton like a marionette. Tomaintain a natural form as the skeletonmoves, GameWare incorporates abehavioral model, called Smart Skin,that can be taught to behave accordingto skeletal position. Clothes can betaught to bunch up as a character flexes

its arm, for example. Wavefront Tech-nologies says that GameWare combineseverything character animators need—three-dimensional kinetics motion,skeletal intelligence, and skin behavior—in an intuitive system.

GameWare Hyper Plug-ins areavailable to provide advanced levels ofspecial effects, compositing and paint-

ing. GameWare Dynamation is a HyperPlug-in that uses the principles ofphysics to ensure that special effects arehighly realistic. Dynamation allowsusers to create realistic, natural imagesof dynamic events. The animator

defines the laws of a particular dynamicworld and releases objects into it. (Don’tyou wish you had this to play with inyour high school physics class?) Thesoftware can create realistic effects sothat players in a race-car game, forexample, can drive through a realisticbank of fog or a burst of exhaust fromthe car ahead. Dynamation comes witha library of prebuilt effects, called ClipF/X, that makes it possible to createphysically based phenomena, such asexplosions, cloth modeling, terrains, andplants. Other Hyper Plug-ins areGameWare Composer, GameWarePaint, and GameWare Hidline/Reline.

GameWare is available for all SGIworkstations, including the entry-levelIndy. It is priced from $15,000.

For more information contact:Wavefront Technologies Inc.530 E. Montecito St.Santa Barbara, Calif. 93103Tel: (805) 962-8117

Director, Director!So, have you guessed the leitmotif? If youguessed upgrade, you’re right. Macrome-dia recently announced (what’s the secretword of the day?) an upgrade to Directorfor Macintosh, an authoring tool for cre-ating multimedia productions. Here’swhat’s up with the new version.

The scripting language, Lingo, iscompiled for faster script execution, andthe improved memory management pro-

vides developers with control over remov-ing cast members from memory. Accord-ing to Macromedia, the new version opti-mizes data retrieval from storage devicesand a revised file layout reduces disk accesstime. Plus (yes, there’s more), withinLingo, new object-oriented commandsprovide reusable code and simplifiedscripting. The new “movie in a window”feature allows multiple Director movies toplay at the same time while each individ-ual movie maintains full interactivity.

Further, within the Score, the num-ber of channels increases to 48, doublingthe number of interactive elements onthe screen at one time. The number ofcase members per movie has increasedsignificantly from 512 to 32,000, and thefile size has grown from 16MB to anunlimited size.

Director 4.0 has a few moreimprovements worth mentioning here. Anew security feature eliminates the view-ing of proprietary Lingo code. Color hasbeen added to the Score (okay, maybe theleitmotif is Ted Turner) to help organizeand track cast members within a produc-tion, and users can drag-and-drop castmembers directly from the Cast into theScore for faster animation creation andproduction development. Version 4.0 hasa binary-compatible file format with thesoon-to-be-released Director for Win-dows, providing cross-platform authoringand playback.

But that’s not all! You also get step-by-step tutorials, sample movies, on-linehelp, and Lingo Expos, which highlightscommonly used Lingo in real-worldexamples.

Macromedia’s suggested retail pricefor Macromedia 4.0 is $1,195. The reallygood news is that all registered users ofDirector (versions 2.0, 3.0, or 3.1) or evenits predecessor, VideoWorks, mayupgrade to Director 4.0 for $199. (Butyou have to do it before August 31, 1994;starting September 1, 1994, the upgradewill cost $249.)

For more information contact:Macromedia Inc.600 Townsend St.San Francisco, Calif. 94103Tel: (800) 457-1774

GAME DEVELOPER • JUNE 1994 25

Zap! Bang! Yow! No Batman effectshere—Hyper-Plug-ins create realistic,natural images for maximum animation.

Live video of an office interior, combinedwith computer-generated animation,creates a new horizon in special effects.

Page 24: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

The latest development in thePC audio arena is the standard-ization efforts of the VideoElectronics Standards Associa-tion or VESA. This standard-ization effort called the VESAVBE/AI (VESA BIOS Exten-sion / Audio Interface) has

recently been approved. Initially, thisstandardization effort was broughtabout by the requests of the entertain-ment industry that creates products forthe DOS environment.

At the April 1993 Game Develop-er’s Conference in Santa Clara, Calif., agroup of prominent entertainment soft-ware developers held a meeting to dis-cuss the problems in developing audiosupport for game titles. The quagmireof existing audio hardware architecturesand the introduction of new ones, all ofwhich compete for attention, was morethan most developers and their compa-nies could afford to bear. In somecases, adding support for each audioboard represented about 15% to 20% ofa total game development project instaff resources.

Until recently, audio standards forthe PC consisted of a loose interpreta-tion of an old industry standby: Cre-ative Labs first Sound Blaster architec-ture. Based on 8-bit digital mono audioand two-operator (OPL2) FM synthe-sis provided by Yamaha, this pseudo-standard has been in place since the late1980s. However, feeling the pressure ofconsumers, most developers couldn’tafford to support just this one simplearchitecture.

It is not uncommon to find 16-bitCD-quality stereo digital audio andhigh-quality digitally sampled instru-

ments replacing the lower quality andperformance of the original SoundBlaster architecture in PCs. Thesehigher performance and usually moreadvanced feature set PC audio add-inboards have met consumer expectations,but with a higher price tag. Clearly astandardized audio API for the enter-tainment industry is required to endurethe explosive growth of the past twoyears.

The Standard Takes ShapeThe VESA VBE/AI work group leaderis Rick Allen of Media Vision Inc. Thegroup consists of 30 representativesfrom PC audio hardware, PC entertain-ment software, and other interestedcompanies. Although the group hasbeen around for less than a year, its firstspecification passed VESA generalmember approval in Feb. 1994. Thisquick turnaround from concept toapproval was a great achievement, asanyone familiar with industry commit-tees can attest. More importantly, thisspeed emphasizes the PC audio indus-try’s need to have such a standard inplace—now.

The VESA VBE/AI specificationprovides for basic audio services, suchas:• Digital (WAVE) audio (8 or 16 bit,

mono or stereo)• MIDI (not just FM synthesis)• Volume control• Minimal three-dimensional sound

effect positioning.The standard is targeted at DOS

platforms or DOS-box environments ifthe application is run from Windows3.1, OS/2 2.x, or Windows NTthrough virtual services such as a VxD,

Sounding Outthe VESAAudio Standard

Worried about how

your game will sound?

With the advent of the

VESA Audio Standard,

you‘re game will

sound the same on

any system—read

on to learn the ins and

outs of this ground-

breaking standard.

by Jon Burgstrom

T H E V E S A A U D I O S T A N D A R D

GAME DEVELOPER • JUNE 1994 27

Page 25: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

T H E V E S A A U D I O S T A N D A R D

28 GAME DEVELOPER • JUNE 1994

INT 10 subfunction #0Check if a VBE/AI compliant device driver is loaded.

Parameters:AX = 0x4F13 The VESA assigned audio interface ID (0x13).BX = 0x0 The VBE/AI subfunction number.CX = 0x0 Reserved for future use.ES:DI = 0x0 Reserved for future use.

On return:AX != 0x004F Used if the call was not successful.AX = 0x004F Used if the call completed without error.BL = The VESA VBE/AI driver version in packed nibble format, where the high nibble is the major version and the low

nibble is the minor version.CX = Undefined.ES:DI = Unchanged.

Note: BH, DX, and SI are undefined and assumed to be trashed.

INT 10 subfunction #1Locate a handle to the device.

Parameters:AX = 0x4F13 The VESA assigned Audio Interface ID (0x13).BX = 0x01 The VBE/AI subfunction number.CX = 0xn Initially set to 0 for the first call, subsequently set this to the handle of a device class instance that is returned for

future calls.DL = 0xn Device class ID or 0 for all device class queries. Possible values are:

0x00 All device class types.0x01 WAVE audio device.0x02 MIDI device.0x03 Volume control device.

On return:AX != 0x004F Used if the call was not successful.AX = 0x004F Used if the call completed without error.CX = If CX != 0, it holds the handle to a valid device class instance. This handle will be used for other INT 10 and VBE/AI

function or subfunction calls to the device. If CX = 0, there are no more devices available that fit the specified device class.

Note: BX, DX, and SI are undefined and assumed to be trashed.

INT 10 subfunction #2Query the device for information.

Parameters:AX = 0x4F13 The VESA assigned audio interface ID (0x13).BX = 0x02 The VBE/AI subfunction number.CX = Device handle As returned from subfunction #1.DL = Query number A total of six types of queries are possible:

0x01 Get the length in bytes of the general device class structure in SI:DI.0x02 Return a copy of the general device class structure pointed to by SI:DI.0x03 Get the length in bytes of the volume information structure for the device in SI:DI.0x04 Return a copy of the volume information structure for the device in SI:DI. (DX is NULL if the device class

doesn’t have a volume control.0x05 Get the length in bytes of the volume services structure for the device in SI:DI. (DX is NULL if the

Figure 1. First-Level Services for the VBE/AI Audio Interface (Continued on p. 30)

Page 26: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

which has yet to be implemented.These audio services are provided

by a VESA VBE/AI compliant devicedriver contained in a ROM BIOS,loaded from the user’s CONFIG.SYSfile, or, a DOS terminate-and-stay resi-dent (TSR) program supplied by theaudio board or other third-party manu-facturer. The latter method will initiallybe the widest implementation of thestandard.

The device driver or TSR providesa hardware abstraction layer (HAL) thatkeeps the messy particulars of registers,port addresses, and other hardwareimplementation details abstracted awayfrom the primary issue of providingaudio support. This layer has been keptas thin as possible to provide for the bestperformance.

The architecture that providesthese services is very robust in its abilityto support such diverse audio hardwareimplementations as standard plug-inboards, such as the Sound Blaster, ProAudioSpectrum, and so on, and themore unusual audio hardware that istypically connected to external portssuch as Media Vision’s Audio Port orDisney’s Sound Source. In fact, theVBE/AI audio specification will allowupcoming hardware expansion interfacessuch as PCMCIA and PCI to have asupported software base without provid-ing any fragile hardware or softwarealteration to achieve compatibility.

Implementation IssuesThe VESA VBE/AI architecture hasbeen implemented using two functionallevels. The first level consists of thegeneral API for device interrogation,acquisition, and termination. An appli-cation uses the VESA INT 10 servicessoftware to gain access to this level offunctionality. The second level, FAR,calls to the device’s API services, usingthe Pascal calling convention.

Once a device is opened, the appli-cation is provided a list of entry pointsto functions contained within theVBE/AI-compliant device driver. Sinceit is possible that multiple instances ofaudio hardware may exist in onemachine, the VBE/AI allows for multi-

ple instances of each device class APIand defines one unique API for eachdevice type, where each device type isdefined as a device class. Each deviceclass API may be implemented as anindividual device driver or combinedinto one device driver. The organiza-tion of device driver and device classAPI issues is still kept completely trans-parent to the application.

To gain access to the device driver,which is assumed to be preloaded inmemory, your application will performthe following functions. This is theonly level that does not use the Pascalcalling convention. All parameters arepassed in CPU registers, and all calls tothis level of the API are executed withthe software interrupt instruction, so allreturns are done using an IRET instruc-tion.

All devices will chain into a linkedlist of VBE/AI drivers found by theVESA INT 10 services. The linked list

approach allows for an almost unlimitednumber of VBE/AI drivers to be loadedat any one time. Figure 1 shows theparameters and return values for thesesubfunction calls.

Step 1. Perform an INT 10 subfunc-tion #0 to see if a VBE/AI compliantdevice driver is loaded. This subfunc-tion lets you initially test to see ifVBE/AI services are available to yourapplication. One of the most commontechnical support calls answered bysound board manufacturers is about theconfiguration of the user’s audio hard-ware for each entertainment product heor she installs.

Remembering DMA, IRQ, andport address settings, much less theirmeanings, can be absolutely maddeningfor the novice or even intermediate PCuser, causing them to scurry aroundlooking for a long since misplaced man-ual. Many developers have realized thatit’s unwise to depend on environment

GAME DEVELOPER • JUNE 1994 29

VESA, once known only for its PC graphics standards, hence the original name ofVideo Electronics Standards Association (with the majority of its members makingup the best-known people in video hardware manufacturing), has faced similarstandardization problems before. As with the original Super VGA standardizationeffort, lower-level standards, such as IBM’s VGA and 8514a standards, previously

existed.

The standardization problem surrounded the implementations of other modes such as 800-by-600, high color, and true color by several video card manufacturers. These newextended or Super VGA modes had to be addressed for them to be useful on a broad basis.The VESA committee created what is now commonly referred to as the VESA VBE (VideoBIOS Extensions) specification to standardize the programming interface to these extend-ed modes.

Recently, the VESA membership has grown to cover all aspects concerning the PC. VESAhas tackled several standardization efforts; the VESA Local Bus or VL Bus is probably themost recognized VESA standard by consumers. VESA has evolved into a capable standard-ization forum that provides manufacturers with an arena to compete in, while consumerscan purchase compatible hardware peripherals as a result of these standards.

To acquire the written VESA BIOS Extension / Audio Interface (VBE/AI) v. 1.0 document con-tact:

Video Electronics Standards Assoc.2150 N. 1st St., Ste. 440San Jose, Calif. 95131-2029Tel.: (408) 435-0333Fax: (408) 435-8225

W E D O N ‘ T J U S T D O V I D E O A N Y M O R E

Page 27: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

T H E V E S A A U D I O S T A N D A R D

30 GAME DEVELOPER • JUNE 1994

device class doesn’t have a volume control.)0x06 Return a copy of the volume services structure for the device pointed to by SI:DI. (DX is NULL if the

device class doesn’t have a volume control.)SI:DI = Points to a buffer of n bytes in length.

Note: The application is responsible for allocating the correct buffer size to hold the return values. The size of the various structures canbe found by using queries 0x01, 0x03, and 0x05.

On return:

The most important query is 0x02. This query returns the general device class structure in the buffer you allocated and is pointed to bySI:DI. Following is the structure of 0x02:

typedef struct {// Housekeeping...char gdname[4]; // Name of the structure.long gdlength; // Structure length.// Generalities....int gdclassid; // Type of device.int gdvesaver; // Version of VBE/AI implementation.union {

WaveInfo gdwi;} u;

} GeneralDeviceClass, far *fpDC;

Note: char = 8-bit byte, int = 16-bit word, long = 32-bit word. The union may also contain structures of type MIDIInfo and VolumeInfo.

INT 10 subfunction #3Open the device.

Parameters:AX = 0x4F13 The VESA assigned audio interface ID (0x13).BX = 0x03 The VBE/AI subfunction number.CX = Device handle As returned from subfunction #1.DX = 0x0. For the device drivers 16-bit interface and the only one currently supported.SI = Points to a segment of memory of the size required by the device driver. The memory offset is assumed to be 0.

On return:AX != 0x004F Used if the call was not successful.AX = 0x004F Used if the call completed without error.SI:CX = If SI:CX != 0, it contains a far pointer to a structure of service functions. If SI:CX = 0, the requested device is

unavailable.

Note: BX and DX are undefined and assumed to be trashed.

INT 10 subfunction #4Close the device

Parameters:AX = 0x4F13 The VESA assigned audio interface ID (0x13).BX = 0x03 The VBE/AI subfunction number.CX = Device handle As returned from subfunction #1.

On return:AX != 0x004F Used if the call was not successful.AX = 0x004F Used if the call completed without error.

Figure 1. First-Level Services for the VBE/AI Audio Interface (Continued from p. 28)

Page 28: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

variables that are easily deleted, poten-tially contain misinformation, or are notloaded into memory based on the user’senvironment space configuration.

If VBE/AI services are available,your application can take advantage ofthe fact that the device driver handlesthese issues, so there is no need to pro-vide an audio hardware setup screenwith DMA, IRQ, and port addresschoices to confuse users. Developerswill probably want to display the manu-facturer and product name as part of thesystem configuration or informationscreen to reassure users that theirinstalled hardware has been located andis supported.

Step 2. Perform an INT 10 subfunc-tion #1 to locate a handle to the device.A handle as defined in the VBE/AIspecification is a number that representseach device class API instance. A typi-cal audio board that has digital audio,MIDI, and volume and mixing controlcapabilities will provide three handles.Each handle represents the individualcapability: handle 1 represents the firstoccurrence of a digital audio device classAPI, handle 2 represents the first occur-rence of a MIDI device class API, andso on.

Step 3. Perform an INT 10 subfunc-tion #2 to query the device for informa-tion. This subfunction allows you tointerrogate and, in certain instances, setvalues for an installed device class. Yourapplication uses this query subfunctionon a device class to find out its capabili-ties without actually opening the device.

For example, the title you are creat-ing may use the latest in voice recogni-tion technology, which, of course,requires the recording capabilities of adigital audio device class API. It is pos-sible that the user’s machine is equippedwith audio hardware providing only aMIDI device class API. This subfunc-tion provides the easiest way for yourapplication to find out and provide theuser with the necessary feedback.

Step 4. Perform an INT 10 subfunc-tion #3 to open the device. When yourapplication opens a device class API, itbecomes the exclusive owner of thedevice until the application closes it.

Types of device class APIs normallyopened by your application are digitalaudio (WAVE) and MIDI. Volumedevices are not usually opened, as theirinformation and service structures canbe acquired via subfunction #2.

Your application is not allowed theexclusive ownership of volume devices,as the user may override your settingswith a volume TSR program or othermechanism. When selecting a device,the application should base the selectionprocess on these criteria:• Does the device have the right feature

set?• Does this device have the highest

user preference?• Is this device currently available?

(That is, does another applicationalready have this device opened?)

Step 5. Perform an INT 10 subfunc-tion #4 to close the device when yourapplication finishes. It is very importantthat your application close all the deviceclass APIs it opens. Unless your appli-cation does so, the memory the deviceclass API allocates is never freed and isstill used by the device class API.

After this subfunction is called,

which depends on whether the deviceclass API is a digital audio or MIDIdevice, the device class API will stopplaying digital audio or turn off all voic-es, free the DMA, and clear any pend-ing interrupt requests, return all queuedbuffers to the caller, or free any of theapplications patch data memory blocks.

These steps constitute just a smallsample of how to check for VESAVBE/AI compliant devices. For infor-mation on how to use the capabilities ofVBE/AI, a copy of the specification and

software development kit is available;these details go beyond the scope of thisarticle.

Changes on the HorizonThe entertainment software industry isone of the fastest to evolve in technolo-gy. Developers must be competitive onall levels of an entertainment title’sdesign, including storyline, graphics,playability, and audio. Every aspect of apotential successful title pushes the per-formance of PC hardware to its limits(and sometimes beyond) to vie for con-sumer dollars. Many developers havebeen forced to forsake the long-faded8088 markets and, in some cases, 286compatibility in their products, alongwith the limitations of the DOS 640Kmemory barrier to compete for marketshare.

The use of DOS memory extendersteamed with a fast 386 or better proces-sors has pushed game developmentahead into the protected mode environ-ment. Protected mode enables develop-ers to program in a flat 32-bit addressspace, allowing for multimegabyteentertainment titles that do not require

users to have a proficiency memorymanagement and pushing the PC’s per-formance to new levels.

Clearly, protected mode is the waveof the future as 386 and 486 PC systemscontinue to proliferate the installed base.Some examples of protected-modeentertainment titles are Id Software’sDoom and LucasArts’ Rebel Assault.These cutting edge products would havesuffered tremendous performance hits ifthey were required to run under realmode; it’s even possible they may not

GAME DEVELOPER • JUNE 1994 31

VESA VBE/AI and Plug-n-Play is a combination that can’t be beat. This architecture istimely, as most manufacturers will eventually implement their device driver in read-onlymemory (ROM). As the advent of another noncompeting standard, the Microsoft and IntelPlug-n-Play specification for automatically configuring expansion boards into a PC envi-ronment (which is bolstered by the existence of a device driver in ROM) has also recentlybeen completed. These two factors could drastically reduce costs associated with enter-tainment software and audio hardware technical support, adding to the profitability ofsoftware titles and fueled hardware sales.

V E S A A N D P L U G - N - P L A Y

Page 29: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

have been created at all.A potential performance problem

exists with the current VESA VBE/AIstandard when used in conjunction witha DOS extender, which does not havenative protected mode support. Hooksare already in place to provide such sup-port, but the standard’s current versionrelies on a device driver or TSR operat-ing in a real-mode DOS environment.The VESA VBE/AI standard is usableunder protected mode, but at the cost ofsome performance, a major benefit inselecting a protected-mode environ-ment. Developers must choose carefullybetween performance, compatibility,and technical support requirements.Titles that demand the highest perfor-mance may require an alternative to theVESA VBE/AI standard until theVESA VBE/AI group addresses thisissue.

Others have switched to the conve-nience found in Microsoft’s WindowsMultimedia APIs. This environmentcontains the needed hardware abstrac-tion layers to provide compatibility forthe audio portion of its products. Mostof the more demanding entertainmenttitles require greater response from thePC and cannot afford the overhead of agraphical shell operating system toachieve the playability users demand.

Microsoft is addressing this issueand developing an environment better-suited to an entertainment developer’sneeds. But, as is always the case inWindows, applications will not beexclusive to the users of this operatingsystem, with the penalty being giving upCPU cycles to other tasks running with-in this environment.

Third-Party AlternativesFor years, third-party vendors haveoffered sound libraries and tools to helpentertainment title developers supportthe myriad array of audio choices for thePC entertainment market. Help to pro-duce sound from everything from thePC’s loathsome speaker to audio expan-sion peripheral boards is available withvarying degrees of support and cost.Some require the purchase of a one-timelicensing fee, others require a fee based

on a per-title or per-piece basis or both.What do you get for your money?

A survey of the three top sound-libraryproviders includes products such as JohnMiles’ AIL (Audio Interface Library)and The Audio Solutions’ DIGIPAKand MIDPAK (whose proprietor, JohnRatcliff along with John Miles havebeen in the entertainment title creationbusiness for many years). Filling out thetop three is Human Machine InterfacesInc.’s Sound Operating System (SOS).

In most cases, these products out-strip the basic sound services providedby the VESA VBE/AI standard. Somehave very robust APIs, allowing devel-opers to perform on-the-fly digital mix-ing of wave forms. Others have top-rated MIDI support, such as JohnMiles’ AIL, and all have reasonablehardware support for the currentinstalled base of audio boards.

Each company’s product has itsown strengths and weakness. A goodexamination of each product and thecompany that supports it will most likelyyield the results required of just aboutany project. Most companies, alongwith providing native protected modesupport, plan to add or have in placeVESA VBE/AI support, giving devel-opers alternatives to their productslongevity path.

An example of putting the flexibili-ty offered by third-party sound librariesthat incorporate VBE/AI support to useis a recent trend in the entertainmentsoftware business to increase individualproduct revenues and gain as muchadvantage from research and develop-ment costs as possible. Many publishersare releasing slightly updated orrevamped older top-selling titles bun-dled into a single low-cost high-profitpackage and provided on CD-ROM.

These products are usually gearedtoward consumers entering the PC mul-timedia marketplace for the first time orare used for seasonal promotions, suchas the holiday season or summer’s usualsales doldrums. These strategies providea longer-term sales path that incorpo-rates the current installed base of audiohardware along with VESA VBE/AIsupport for future audio hardware with-

out the need to retouch the title’s audioportion for updates.

Developers who want to providethe broadest level of audio support andreduce their customer’s technical sup-port issues will find the VESA VBE/AIspecification a welcome addition.Third-party sound libraries that supportthe VBE/AI standard contain additionalfunctionality and features above thosethat are provided in the basic sound ser-vices of VBE/AI, and most third-partysound libraries include a transitional setof device drivers.

These device drivers provide forcompatibility with the majority of theexisting installed base of audio hard-ware, while the VBE/AI componentprovides the support needed for futureaudio hardware. A VESA VBE/AISDK targeted toward application devel-opers is available electronically on Com-puServe (GO GAMERS) and technicalquestions can be fielded on AmericaOn-Line (keyword: VESA). ■

Jon Burgstrom is the ISV developersupport engineer at Media Vision Inc. Theviews and opinions expressed are not neces-sarily those of Media Vision Inc. Some aredefinitely not. He can be reached via e-mail at [email protected] orthrough Game Developer magazine.

T H E V E S A A U D I O S T A N D A R D

32 GAME DEVELOPER • JUNE 1994

Human Machine Interfaces Inc.757 W. N St.Springfield, Ore. 97477Tel.: (503) 747-2314Fax: (503) 747-2627

The Audio SolutionP.O. Box 11688Clayton, Mo. 63105Tel.: (314) 567-0267

Miles Design Inc.10926 Jollyville #308Austin, Texas 78759Tel.: (512) 345-2642

V E S A V I S

Page 30: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

Avideo game is more than acollection of images movingaround the screen. It is a con-duit into another dimen-sion—a dimension synthe-sized by the imagination andbrought to life through thecomputer. These electrical

worlds are places where the laws ofphysics and reality are ours to toy with.We have the power of gods, to do as wewish. However, it would be most excel-lent if we could place more than oneplayer into our virtual worlds. Theycould be friends or foes, the choicewould be theirs.

This would add to the texture ofthe game and allow another level ofinteractivity to emerge. Even with themost advanced artificial and “synthetic”intelligence systems, we can’t yet mimica human or the depth of game play that

a human can emote. Two-player gameshave been around for a long time; how-ever, they are mostly played on a singlecomputer. Using a single computer tocater to two players has its shortcom-ings. First, each player has the sameview. Second, both players have to bephysically near each other because theyare sharing the same hardware.Advances in networks and modems havemade it possible to run multiplayergames with multiple computers. Phonelines and computer networks now havethe bandwidths necessary to send thelarge amounts of information needed torun a multiplayer game in real time.

This ability to “link-up” multipleplayers and coexist in the same game istruly incredible. It brings game play onestep closer to reality. The whole idea ofa video game is to experience somethingthat is either difficult, dangerous, or

Net-Play: AHigh-EnergyNetwork Solution

One of the most

challenging aspects of

multiplayer game

programming is keep-

ing the action on

different machines in

sync. You can master

this challenge with

some crafty program-

ming techniques.

by André LaMothe

N E T - P L A Y

GAME DEVELOPER • JUNE 1994 33

A Multiplayer Modem Game

Page 31: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

impossible to experience in our own uni-verse. Having two or more players in aworld together, each with his or her ownagenda (as in real life) can make a gamean order of magnitude more fun andrewarding.

We’re done talking about the philo-sophical aspects of multiplayer games, solet’s get down to business and talk abouthow these ideas are implemented andwhat a game developer needs to take intoconsideration to create a multiplayergame. We won’t get into the actualimplementation of a multiplayer game or

discuss any code. It is best to firstbecome familiar with the language anddesign techniques of multiplayer gamesbefore you jump into coding.

The Multiplayer GameCreating a multiplayer game is not likecreating a single-player game or even amultiplayer game on a single machine.Some constraints are imposed by thefact that more than one computer willbe in the game. When designing a mul-tiplayer game, you must consider manyissues, such as communications, subsys-

tems, and game architecture and adhereto many laws of programming. Thismethodology must be in flux from thebeginning of the game development allthe way to the end; otherwise, havocwill dance all over your code! Rule oneto making multiplayer games is: designthe game as a multiplayer game fromthe beginning. Don’t try to hack it inlater.

For this article, we will use amodel based on two computers and twoplayers (one on each computer), asshown in Figure 1. This model can beextended to multiple players using thesame fundamental techniques to link-up two players. Moreover, we aren’tgoing to concentrate too much on thetype of communication channel we areusing. It could be Ethernet, modem, orhoming pigeons. The communicationslayer is irrelevant, at least at this pointin our evolution.

Realize that there are about1,000,000,000,000 ways to do anythingon a computer. Even though manytechniques and algorithms are mappableto another (an isomorphism exists that’sone to one and onto), many are not. Isay this because the techniques andmethodologies we will discuss are only acouple of ways of looking at the prob-lem. They are not the only viewpointsand solutions. The problems we willcover aren’t an exhaustive list, either.We just want to get the basics down,then you can learn and extend themfrom there.

Video GameCommunication StrategiesTo link up two players, we need tosomehow keep both computers in syn-chronization. We need to somehowturn both computers into one computerso that each player is unaware of thephysical discontinuity between themachines. We need to keep both gameworlds in synchronization by using thecommunications channel to send infor-mation about each game to the othermachine. As an example, let’s talk abouta Pong game. To keep a two-playerPong game in synchronization wewould somehow need to make certain

N E T - P L A Y

34 GAME DEVELOPER • JUNE 1994

Figure 1. The Multiplayer Model

PC 2PC 1 (Physical representation)

Com Link

Serial, modem,ethernet, etc.

(Abstract representation)

PC 1

Player 1 Player 2

ComLink PC 2

Figure 2. Information Transfer in a Simple Pong Game

Pong on PC 1 Pong on PC 2

PC 1 Info

PC 2 Info

Local Player

Remote Player

PuckPuck

Local Player

Remote Player

Page 32: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

pieces of information common to bothmachines. This would include the posi-tions of each player’s stick, the positionof the puck, and finally the scores, illus-trated in Figure 2.

All right, that doesn’t seem toobad. But what if we wanted to have agame that had thousands of objects andactions going on, such as a space battlewith zillions of ships and asteroids.Then, we would quickly get to a pointof complexity that wasn’t so easily fath-omable. Moreover, all the complexinteractions of the game system wouldhave to be synchronized. As you cansee, we need a plan, or at least someideas of how we are going to relay thestate of each game to the other comput-er and vise versa. Whatever we do, itmust be done on a cycle-by-cycle basisand must never let the two games getout of synchronization. Two methodscan accomplish this goal. I call themI/O space synchronization and vector-positional space synchronization.

I/O Space SynchronizationAs its name implies, I/O space synchro-nization uses the I/O state stream ofthe other computer to accomplish syn-chronization. Imagine, if you will, twocomputers, each running almost theexact same game program. I’ll get to the“almost” part in a second. Each game isa tank game. You have two little tanks,one red and one blue. Each player con-trols one tank. Each tank can move orfire a missile, and that’s it. Now, let’scome up with some naming conven-tions. We will call the local player thegame object that is controlled by thelocal computer. We will call the remoteplayer the game object that is supposedto be controlled by the other remotecomputer, as shown in Figure 3.

For a moment, let’s forget about theother player and concentrate on Player 1and Computer 1. Also, let’s assume thatthe software is designed in such a waythat the two game objects in the game(one represents the local player, and theother represents the remote player) arecontrolled by the output of two functions.These functions are Get_Input_Local()and Get_Input_Remote(), respectively, and

are shown in Listings 1 and 2. As youcan see, we have the keyboard tied to thelocal player; however, the remote playerhas nothing tied to it (yet), and so itdoes nothing. If we run the game, theplayer will be able to move around thelocal tank, but the remote tank will justsit there. Now here’s the catch. What ifwe were to feed the Get_Input_Remote()function with the keyboard of Comput-er 2? Or in other words, use Computer2’s keyboard as another input device.

We would, in essence, be takingthe input of another computer as thecontrol for Player 2. This is the basicidea behind I/O space synchronization.We send the I/O state of each machine(their keyboards in this case) to theother machine. Therefore, eachmachine thinks it is running a two-player game on a single computer, butwith one input coming from the key-board and the other input coming fromanother “virtual” keyboard that is, infact, the other computer!

This kind of synchronization willwork fine as long as the exact samegame runs on each machine, save onelittle caveat. The local player on onemachine is the remote player on theother. If you run the exact same piece ofsoftware on two machines, the follow-ing problem will occur: the local playerand remote player will always be in thesame starting position. That may seemconfusing, let me clarify.

When the game runs on Computer1, it places the red player (local) at(10,10) and the blue player (remote) at(100,100). Then, the game running onComputer 2 does the exact same thing;however, from Player 1’s point of viewthe remote blue player is at (100,100).But the remote blue player on the othermachine should be the local player fromthat machine’s point of view, and,therefore, be at (100,100) and blue!Alas, this won’t happen because theexact same software is running! Toremedy this, each game must be slightlydifferent because the remote player onone machine is the local player on theother. Each game program must havebeen compiled slightly differently andhave a file that is read or something toensure that this is taken into considera-tion, as shown in Figure 5.

Now that we have discussed I/Ospace synchronization, let’s briefly goover it one more time. Each computerruns a two-player game. Each computerobtains the input control for one playerfrom a physical input device such as akeyboard or mouse. The other inputthat controls the other player isobtained from a virtual input that isretrieved via the communications port.So, all that each local player must do issend the state of its input device overthe communications channel with eachgame cycle, and the other computer willinterpret this as the remote player’s

GAME DEVELOPER • JUNE 1994 35

Figure 3. A Setup for a Tank Game

Local User Local User

Note how theLocal on PC1is the Remoteon PC2 andvise versa.

ComLink

Local Player

LocalPlayer

RemotePlayer

Remote Player

Page 33: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

input. Because each game is exactly thesame (except for the start-up positions),each game should stay in synchroniza-tion. For example, if the local player onComputer 1 rotates a tank to the right,this input will be sent to the other com-puter as the remote input, and the tankon that computer will be rotated also.Don’t worry if all this local and remote

stuff confuses you. It’s like time travel;it’s kind of weird!

I/O space synchronization will usu-ally work fine; however, it can go amiss.Obviously, a problem can occur if infor-mation is lost during transmission, butanother more subtle problem can occurif one machine is much faster than theother. Just food for thought, we’ll cover

problems like these later. I didn’t wantyou to think that this was a perfectworld...even for a minute!

Vector-PositionalSpace SynchronizationThe second tactic we can use to link uptwo computers is through vector-posi-tional space synchronization. Instead ofsending the state of the input devices aswe do in I/O space synchronization, wesend the state of the entire universe, orat least enough of a subset so that thegames have a current copy of all thepositions and states of the objects in thegame universe. This method is similarto keeping a globally shared game spacein two computers, like shared memory.This game space and all the objects in itare continually updated via the commu-nications link. For example, let’s use athree-dimensional, asteroids-type game.Each game has a collection of asteroids;however, there must be a copy of theremote asteroids on the local machineand vise versa. So, whenever an asteroidis created or destroyed, its new state issent to the remote machine. Again, thisis done on a cycle-by-cycle basis. Vec-tor-positional space synchronization is

N E T - P L A Y

36 GAME DEVELOPER • JUNE 1994

Figure 4. The Software Architecture of an I/O Space Linked Game

int Get_Input_Remote(void)Keyboard Mouse Joystick

Keyboard Mouse Joystick

Output OutputPC 1 PC 2

ComLink

int Get_Input_Local(void)

int Get_Input_Remote()

int Get_Input_Local()

Game LogicPlayer 1 Player 2

Game LogicPlayer 1 Player 2

Figure 5. The Proper Setup of Two Machines

PC 1 PC 2

Game.EXE Game.EXE

Two PCs withthe exact same

copy of game.EXE.Note how the Remote

and Local playersare in the wrong place.

Note how the roleof Local and Remote

was switched onthe version of

the game runningon PC 2

Local Player

RemotePlayer

Local Player

RemotePlayer

Game_1.EXE Game_2.EXE

Local Player

RemotePlayer Local Player

RemotePlayer

Page 34: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

more powerful than I/O state synchro-nization. We know that both universesare always in perfect unison because wealways send the state of almost every-thing.

This technique has one drawback:the amount of information we mustcontinually blast over the communica-tions channel. You will be makinggames that use a modem to communi-

cate because this is the device that ourcommercial audience owns. Themodem has an average bitwidth of 2400baud. Therefore, sending tons of stateinformation can be a problem.

The best method of synchronizingtwo games is to use a mixture of eachtechnique. For instance, I/O space syn-chronization doesn’t allow new objectsto be created in the universe because the

other machine wouldn’t know about it.However, if we sent this new state infor-mation to the remote machine when acreation event occurred, the game playcould continue without losing synchro-nization. I suggest you figure out whatyou want to happen in each game andcreate a communication strategy thattakes the best of both worlds. However,I tend to rely mostly on I/O space syn-chronization for my games.

We have a couple of tricks underour belts, but it’s time to let the harshwalls of reality come crashing down andcover some of the problems that willoccur and how to remedy them.

Types of Distortion Two types of distortion (or missynchro-nization) can occur in a linked game:temporal aliasing and nondeterministicaliasing. Temporal aliasing occurs whenone computer is faster than the otherand is further in the game than the othercomputer. As an example, say we havetwo players pointing guns at each other,as shown in Figure 6. Player 1 fires anddestroys Player 2 in Player 2’s world;however, on the other machine, Player 2moves fast enough to avoid the missileand lives.

Now, both machines are out of sync.To rectify this problem, we must ensurethat both games run at the same speedregardless of the speed of the machines.The two machines must synchronize tothe lowest common denominator.

GAME DEVELOPER • JUNE 1994 37

int Get_Input_Remote(void){// look at the data port and see ifthere is a packet there

if (data ready at COMM port){// grab data from queue and pack it

return packed information

} // end if data ready

} // end Get_Input_Remote

Listing 2. Get_Input_Remote

Int Get_Input_Local(void){// query the input device and return status to caller

switch(input_device){

case MOUSE:{// get mouse direction and status of buttonsif (mouse has changed){return packed information;} //end if mouse movedelsereturn NO_MOTION;} break;

case JOYSTICK:{// get joystick direction and status of buttonsif (joystick has changed){returned packed information} // end if joystick movedelsereturn NO_MOTION;} break;

case KEYBOARD:{// get keyboard stateif (a key is down){return packed information;} // end if a key idd pressedelsereturn NO_MOTION;} break;

default:break;

} // end switch} // end Get_Input_Local

Listing 1. Get_Input_Local

Page 35: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

Two methods will help us accom-plish this: the first method locks thegame to a specific frame rate, such as15 or 20. Each machine is guaranteedto operate at this frame rate and nofaster. The game logic will then operateat the same speed. The second methodsends a token back and forth betweeneach machine. Only when the computersends the token and gets it back can itproceed to the next frame or cycle. Thiswill synchronize the game to the slowermachine.

The other type of distortion ornondeterministic aliasing occurs whensomething happens in one game that

isn’t reflected in the other. This is moreof a problem when using I/O space syn-chronization. Imagine if Players 1 and 2were both in a room with each other.All of a sudden a monster pops out anddodges right; however, on the othermachine it dodges left! This wouldoccur if a random number generatorwere used to drive the monster’s logic.The moral to the story is, if you use I/Ospace synchronization, everything in thegame must be completely deterministic.At least as far as each instance of thegame is concerned on each computer.As a developer, you must use patterns orlook-up tables with precomputed ran-

dom numbers. However, free-runningrandom number generators cannot beused on each computer.

Conclusion and ReflectionsThat wasn’t so bad. Creating linked-upgames is not magic, but it is a formida-ble task. You must take many factorsinto consideration and make a lot ofdesign decisions from the beginning ofyour game design. Otherwise, yourcode will look like a bundle of fiberoptic cable! ■

André LaMothe, pictured here after along day of multiplayer game programming,holds degrees in math, computer science, andelectrical engineering. He has worked inneural networks, three-dimensional graph-ics, virtual reality, and robotics, but nowhe’s doing serious research—he’s writingcomputer games. His latest book, Tricks ofthe PC Game Programming Gurus, willbe published by SAMS Publishing. He hasno e-mail address (he’s worried the FBIwill bust him for pirating video games atage 12), but you can contact him throughGame Developer.

N E T - P L A Y

38 GAME DEVELOPER • JUNE 1994

Figure 6. The Effects of Time Lag

PC 1

PC 2

T0Time

At T1 and T2 thePCs becomeun-synchronizeddue to temporaldistortion.

T1 T2

Page 36: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

In an industry where the life of aproduct can often be measured inmonths instead of years, the ideathat a particular program would stayin the limelight long enough forpeople to spend months writingextensive utilities for it seemsunlikely to say the least. But to one

company, Id Software, it happened twice.The first time was with its smash hit

game Wolfenstein 3-D. After the releaseof Wolfenstein, level editors sprang up,and the flood gates burst open. Utilitieswere made for changing the bitmaps ofthe characters, the walls, and pretty muchanything else as long as the basic leveland episode structure (six episodes with10 levels per episode) remained in tact.Hacked levels were turning up all over theplace. When you saw somebody startinga game of Wolfenstein, you never knewwhat to expect.

Fame or FortuneThis unexpected fame represented aproblem to Id and its distributor; at thetime, it was Apogee. The game and thefirst episode were in the public domain,where money was made from peopleordering the remaining five episodes fromApogee. If people could create their ownlevels, who would order the final game?Apogee went on the warpath threateningto sue the authors of the various cus-tomization utilities, and Id designers stat-ed that nobody would be able to hack themaps in their next game. In the midst ofthis concern, sales of Wolfenstein keptgoing strong. The game was on its way tobecoming the best-selling sharewaregame of all time.

By the time I visited the Id design-

ers during the creation of Doom, I askedthem if they were going to allow the kindof modification to Doom that had hap-pened to Wolfenstein. They said not onlywere they going to allow it, they weregoing to encourage it. “If people get satis-faction out of modifying our code, it’s justanother form of entertainment that theyderive from buying our games,” said JohnRomero. “We fully expect people to beblowing away Barneys soon after thegame is released,” echoed John Carmack.

They had been surprised when thefirst slew of editors came out for Wolfen-stein because they thought the compres-sion algorithms that compressed the lev-els would be some of the hardest code tocrack. So, after Doom was finalized, theyplanned to release some level specifica-tions and the Binary Space Partitionerthey used, so that wannabe Doom hack-ers wouldn’t have to write their own.

But Carmack’s vision of a Barneyholocaust was realized soon after theshareware version of Doom v. 0.99 wasreleased on Dec. 10, 1993. Within weeks,there were saved game editors, map view-ers, and a slew of other hacks, includingBarneyDoom, which turned the main vil-lains into giant Barneys complete withsound effects.

Barney in HellThere’s something about Doom thatinspires people like Bill Neisius, a profes-sional aerospace programmer who worksmainly on manufacturing and inventorycontrol on Apollos and VAXs, to hackBarneyDoom in his spare time. Youknow its serious when two other people(David Lobser and Aaron Blackwell)rerender the Barney images in 3D Studio

The Doomof Doom

Last month, we

brought you the story

of Doom. This month,

we follow up with a

look at how Doom is

faring in the market

—and its unusual

band of followers who

are creating their own

descent into Hell.

by AlexanderAntoniades

T H E D O O M O F D O O M

GAME DEVELOPER • JUNE 1994 39

Page 37: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

and touch them up with paint programsso that Barney looks even better.

Bill Kirby, another professional busi-ness programmer, was bored playingWolfenstein, but he was still fascinated bythe technology. He wrote two of the map

editors for Wolfenstein, which earnedhim a nasty letter from Apogee. WhenDoom came out, although he doesn’t usu-ally modify games, he figured he’d checkit out. He got the program by calling thefolks at Id Software. They sent him some

source code, and he made one of the firstmap utilities for Wolfenstein. His experi-ence with Wolfenstein was helpfulbecause he found similarities in the fileformats between the two games.

Moving up the ladder of Doom isgame hacker whose goal is to make everygame he gets modifiable so his two-yearold daughter can play and win. With hisarsenal of disassemblers and knowledge ofprogramming, he has made utilities formany commercial games. One of his utili-ties, RA Easy (a utility used to modifyLucasArts game Rebel Assault), workedso well he got a call from LucasArts, ask-ing if he’d gotten hold of a beta copy. Hisopinion was that Id designers had goneout of their way during the developmentprocess to make Doom easily modifiablebecause there were a lot of hooks, and themain data was easily accessible.

As it stands now, one of the keyDoom utilities is Deu, a level editor, writ-ten by a Raphael Quinet, a Belgian elec-trical engineering student. This utility hasbeen passed from author to authorbecause the source code has been includedwith every release. As one person’s inter-est wanes, another picks it up. Using thiseditor in conjunction with one of thebinary space partitioners (preferably Id’sown) makes the creation of levels veryeasy, leading to a proliferation of Doomlevels over on-line networks and Internet.

Why Is This So Easy?What makes the data easy to change is theway Doom is written. The main exe-cutable, DOOM.EXE, loads a data filecalled DOOM.WAD or DOOM1.WAD.This file contains all the level, image, andsound data for the game. By modifyingthe .WAD file, most of these independentutilities work. What Id added to Doomthat wasn’t in Wolfenstein is a disclaimerthat would pop up on the screen if the.WAD file isn’t the original file that camewith the program.

The best resource of informationabout .WAD file structure is a text filecalled “Unofficial DOOM Specs” by MattFell, who, together with other Internetdenizens, has compiled most of what’sinside a .WAD file.

Another good source of information

T H E D O O M O F D O O M

40 GAME DEVELOPER • JUNE 1994

A Journey to Hell with BarneyDoom

The best place to start is with the official Doom FAQ file, which contains more than youever wanted to know about Doom and includes the e-mail addresses of most Doom spe-lunkers.

The file is available on the following Internet news groups:• comp.sys.ibm.pc.games.action• comp.sys.ibm.pc.games.announce• comp.sys.ibm.pc.games.misc

Additionally, the FAQ is available at the following Internet sites:• ftp.uwp.edu in either /pub/incoming/id or /pub/msdos/games/id/home-brew/doom• ocf.unt.edu in either /pub/incoming or /pub/doom/text• wuarchive.wustl.edu in /pub/msdos_uploads/games/doomstuff

Alternately, the FAQ is available from the Software Creations BBS: (508) 365-2359 at 2400baud, (508) 368-7036 at 9600 to 14.4k v. 32bis, or (508) 368-4137 at 14.4 to 16.8k HST/DS.

Outside these sources, the FAQ is available on most commercial on-line services.

If you’re interested in contacting any of the Doom tool authors mentioned in this article,you can reach them at the following e-mail addresses:Bill Neisius bill%[email protected] Lobser [email protected] Blackwell [email protected] Kirby [email protected] Quinet [email protected] Fell [email protected] Leukart [email protected]

W H E R E D O I G E T T H I S S T U F F ?

Page 38: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

about Doom is a text file called the “Offi-cial DOOM FAQ.” It’s written by HankLeukart, a beta tester for Apogee, whonoticed that there were questions aboutDoom that would end up getting askedover and over again, so he compiled aFAQ (frequently asked questions) file. Heworks with Id in compiling this documentthat’s swelled to over 200K and lists over80 after-market Doom utilities.

What about IdIf you’re wondering where Id is in all ofthis, it’s moving forward like nothing’shappening. The Id team is working onvarious Doom ports, including Windows,Atari Jaguar, and Linux/X; preparing newlevels for the commercial version of Doomcalled Hell on Earth; and starting up itsnext project called Quake.

The Doom after-market has madethe product more marketable now thanwhen it was first released. With all thenew levels and graphics available, playerswho found the original game not enoughcan get their fill with all the add-on utili-

ties. The only stipulation that Id has madeso far is that created levels only work onthe registered version. This is done byplacing an item that only exists in the reg-istered version on that level. Most peoplehave abided by this rule, so there haven’tbeen any problems.

It will be interesting if this movemakes other developers think more about

potential after-markets of computergames. As Id CEO Jay Wilbur put it:“Our fans used to be our salespeople, butnow they’re our developers as well.” ■

Alexander Antoniades is associate editorof Game Developer and assistant editor onOS/2 Magazine.

GAME DEVELOPER • JUNE 1994 41

The Original Doom

Page 39: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

Programming an intri-

cate game like bridge

has thwarted enthusi-

asts for years. Using

a sophisticated AI

engine and some

ingenuity, you can add

complex rule- and

logic-based features

to your card games.42 GAME DEVELOPER • JUNE 1994

Case after case can be cited toshow how tasks people performwithout thinking, like recogniz-ing a face or carrying a packagewhile running, present almostimpossible challenges for pre-sent AI techniques. Yet, humandifficulties, such as remember-

ing long strings of numbers or complexconnections among events or objects,have simple computer solutions.Nowhere is this more obvious than in thegame of bridge.

Bridge presents some formidabletasks for humans who wish to excel. Youmust learn to count cards and determinewhere each of the 52 cards is. You needto be aware of probabilities of distribu-tion and card placement and how thesechange with each play.

When I started playing duplicatebridge, I marveled at the players whocould recall hands they played last monthor last year and describe not only whateach person held but how the handplayed. It took practice, but my partnerand I, over the course of a year, becameproficient enough that we could sit downafter a session of 24 hands and reproduceevery hand we played—recapitulating

what card every player held and how thecards were played. That mental effort istrivial for a computer.

Bridge differs from other cardgames in that it consists of two distinctphases: bidding and play. During thebidding, you describe your hand to yourpartner in a coded language. Then, thehand is played out, with one handexposed for all to see.

These two phases present vastly dif-ferent mental and computer challenges.It’s relatively easy to teach a beginner theessentials of a bidding system. It turns outto be one of the more difficult tasks to dothe same for a computer. Before you candefine a rule, you need to be sure thecomputer understands such basic con-cepts as suit, distribution, and pointcount. Part of the intelligence requiredfor a bridge AI relies on a shared back-ground. Most new bridge players arefamiliar with the now-standard 52 carddeck, the four suits, and the names andvalues of the various cards. Many playersare familiar with the concept of the trumpfrom other games like pinochle or Rook.

False Startsand Blind AlleysBridge AI tends to be less theoreticalthan much of chess AI has been. It’smessy and heuristic. But the problems godeeper. Chess is a simple zero sum gameof complete information. Not only arethe rules explicit and invariable, but, at allstages, both sides know exactly what theentire universe looks like.

This is not the case in bridge. Thescoring is not precisely zero sum—mymaking a contract is not the same as anopponent going down in defense. Even

AI to theRescue

by Steve Estvanik

A I T O T H E R E S C U E

The threeLaws of Thermodynamicshave been summed up as:

You can’t win.You can’t break even.

You can’t get out of the game.

The first twoLaws of Artificial Intelligence

should be:The hard stuff is easy.The easy stuff is hard.

Page 40: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

in the best bid hands, the opponents canfind a sacrifice. And the value of that sac-rifice depends on the randomly dealthands that follow. The same hand dealt atdifferent times can have drastically differ-ent effects on the final score.

There are the other large elements ofprobability that must be accounted for.Each player bids while knowing only 25%of the cards. Through the use of a codedsystem, opponents and partners exchangeinformation. But even if all hands wereexposed, there would not be consensus onthe best bidding and play. What works onone hand might not be suitable for allothers. Players must constantly calculatenot only this hand, but the style and cur-rent abilities of their partners and oppo-nents and the current state of the game.What works with one partner or againstsome opponents might not be properagainst or with other players.

Previous Attemptsat Bridge AIEarly commercial bridge games were ter-rible. They made mistakes no beginnerwould even think of. Over the last severalyears, stronger bridge programs haveemerged. Since this is a discussion of theAI techniques I used in my game, I’lllimit my general comments on otherapproaches.

One of the first approaches to showstrong results was the use of flow-charts.This requires all possible types of handsbe considered. The engine first does ananalysis to decides which chart is applica-ble, then the engine processes the selectedflowchart.

The beauty of this system is that it’svery easy to show the player how the pro-

gram arrived at its conclusion. It’s lessuseful as a teaching tool if the flowchartbranching is not self explanatory. Thedown side is that alternate systems aremore difficult to add. Conventions pose aparticular difficulty, since so many con-ventions would require alternate flow-charts. As the number of conventionsincreases, and as each side can choosewhich of the many conventions they want

GAME DEVELOPER • JUNE 1994 43

Bridge is played by four players. All cards are dealt so each player has 13 cards thatare kept hidden from other players. Players are designated as the four directions:north and south, east and west, with players sitting across from each other beingpartners. A hand of bridge is divided into two parts: bidding and play. During bid-ding, you try to describe your hand to your partner and make a claim to the number

of tricks you can take. During play, you try to make the contract that you bid.

To decide how strong your hand is, we assign points to certain cards. These are calledhigh card points (HCPs). We rate an ace (A) at 4 points, a king (K) at 3, a queen (Q) at 2,and a jack (J) at 1. To count, though, a king must be accompanied by at least one othercard in the same suit. We show this as Kx and describe it as a “king doubleton.” Similarly,to count for HCPs, the queen must have two other cards, and the jack needs three othercards of the same suit.

Bidding starts with the dealer and proceeds clockwise around the table. The suits arearranged in the following order: clubs (C), diamonds (D), hearts (H), and spades (S). Thus1S can be bid over 1H, but over 1S, you must bid 2H. Bidding a suit usually means you wishto use that suit as trump. Bidding normally starts at the lowest level possible, but thereare also times when the bidder jumps the bidding. (For example, an opening bid of 2H or3H shows a very different hand from 1H.)

Playing in a suit contract makes that suit the trump suit. During play, you must follow thesuit played. But, if you lack any cards in the suit played (this is called a void), you mayplay a trump and win the trick. You want to play in trump if you and your partner have atleast eight of the cards in a suit. You may also play without trump (NOTRUMP or NT).

Bidding continues until everyone has had a chance to bid, and there are three passes in arow. The person who first bid the suit of the final bid becomes the declarer. The person to

B R I D G E B A S I C S

Using an AI engine allows you to pro-gram complex rules structures and bid-ding strategies into your game.

(Continued on p. 44)

Page 41: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

to use, the set of possible flowchartsbecomes an unwieldy matrix.

Another more recent approachallows you to teach the program biddingsystems. You bid a series of deals, giving

the bids for each hand, and the gamelearns the bids by observation. There areseveral problems with this neural networkapproach. First, if you make a mistake,due to faulty memory, boredom, or per-

haps even your own mistaken ideas, thecomputer learns your system incorrectly.This problem is compounded if you neverdiscover you made the error.

A larger problem is that you have tospend dozens if not hundreds of hoursbidding deals so the game can learn yoursystem. Even after that time, there’s nosimple way to know if it has really inter-preted the deals or situations correctly.Beyond these problems, it’s easy to createhands that experts would disagree about.

Mere copying of what was done on aparticular hand doesn’t guarantee there’sany learning of the principles behind whya particular bid was made. Sometimes itmay be a simple rule: “Bid your longestand strongest.” Other times, a responsemay be based on everything that’s hap-pened thus far: “I opened, and the oppo-nents bid a little. My partner didn’t bid,but must have some points or the oppo-nents bid should be much higher. There-fore, I can make a stronger bid than mycards justify by factoring in partner’s pre-sumed strength.”

Many rules are analogous to irregu-lar verbs in a natural language translator.You can’t deduce a particular rule, youjust have to learn it. A regression analysisor neural network approach would stillneed to have all the special casesdesigned.

Beyond these concerns, there’s amore fundamental problem. Much ofbridge is codified, not natural, so there’sno way to figure out even the simplestconventions without playing many manyhands. Just to teach it Jacoby, you’d haveto give it dozens of hands, as shown inTable 1. Then, there’s the additionalproblem that there’s no consensus onmany tougher hands. Bridge World ’smonthly Master Solver hands often haveat most 30% to 40% of the experts inagreement.

The SolutionWhen I first started this project, I hopedto let users configure the system by defin-ing their own conventions and eventelling it certain preferred ways of bid-ding. Instead, MVP Bridge lets youchoose from several basic bidding sys-tems, and you have options to use any of

44 GAME DEVELOPER • JUNE 1994

A I T O T H E R E S C U E

After the transfer, subsequent bids by the responder describe the player’s hand:

• Pass shows a bust.• 2S shows 5-5 in majors, invitation to game.• 3H after spade transfer shows 5-5 in majors, forcing to game.• 2NT is invitation: with three of the transfer suit, opener bids game with big hand,

three of suit with minimum. With only two of transfer suit, bid 3NT with maximum.• Raise to three of transfer suit is invitation.• 3NT offers choice of game contracts.• Four of the transfer suit promise six-card suit.• 4NT is quantitative. Partner can bid slam or five of the transfer suit.

Table 1. The Jacoby Convention

(Continued from p. 43)

the left of declarer is the leader for the first trick. The declarer’s partner is dummy—those cards are turned over for everyone to see, after the opening lead.

Your goal in rubber bridge is to win two games to make a rubber. A game is scored 100points made by bidding. This can be the result of one or more hands. Scores vary by suit.Clubs and diamonds are the minor suits and worth only 20 points each. Hearts and spadesare the major suits and worth 30 points each. Thus, a contract of 4H would give you 120points, which is a game, but a contract of 4D gives you only 80 points. No trump is a spe-cial case. The first NT level is worth 40 points, and successive levels are worth 30 each.Thus, 2NT is worth 70 points, and 3NT is 100, a game. If your contract does not give you agame, it remains as a partial score until one side makes a game. If a contract is set, thedefenders gain points.

A convention is a bid that carries additional information and does not promise anything inthe suit actually bid. For example, in the Stayman convention, a 2C bid over 1NT says noth-ing about the responder’s club suit, but does promise at least four cards in at least one ofthe major suits. Conventions are used to describe your hand more accurately. Any conven-tions in use must be known by all players—you may not have secret arrangements withyour partner.

The person who first bid the suit that becomes the final bid is the next declarer. To make acontract, you must take six tricks plus the number you bid. Thus, a 3H contract requiresyou to take nine of the 13 tricks. The person to the declarer’s left is the leader.

The leader selects a card and places it so everyone can see it. At this point, the partner ofthe declarer lays down his or her cards for everyone to see. The partner is now the dummyand his or her cards are played by the declarer. In MVP Bridge, when north is the declarer,you get to play as declarer, and your original hand becomes the dummy.

Play proceeds in a clockwise fashion. You must follow suit. If you are void (have none ofthat suit), you can play any card. In a trump contract, the highest trump played on thetrick wins. The winner of the trick leads the following trick.

B R I D G E B A S I C S

Page 42: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

the dozen conventions available. You can-not add conventions (yet) or modify exist-ing rules.

The system that evolved for biddingis a combination of rules (17 aspectsdefined, but on average only to six used inany particular rule) and hard-codedheuristics coded. Aspects include factorssuch as high card points; total points esti-mated between partners; distribution; lastactions by opponents, me, and partner;vulnerability; level of bidding; trump sup-port; and quantity and quality of defensivestoppers in each suit.

If you were teaching someone ele-mentary bridge, a basic description of arule for opening at the second level mightlook like this:

“With a six-card suit and six to 12high card points (but not with a six-cardclub suit), when no one has bid yet, givestrong consideration to an opening bid atthe second level in your longest suit ifyou’re using the Weak 2 style of play.”

Some of the difficulties are immedi-ately clear. Each rule may depend on avariety of conditions. Some are constant(you’ll always have six cards during thishand; you either are or are not playing theWeak 2 system); others are more variable(someone may or may not have bid; yourpartner’s bid may change the value of yourcards). The difficulty comes in definingthe priorities and resolving clashes amongseveral rules. In a computer system, theAI must be flexible enough to deal withany of the billions of hands possible, yetstrong enough to be able to make a rea-sonable bid.

In practice, while it might be simpleto add each rule to the list, a fair amountof testing is required to see that the ruleactually works as planned and, moreimportantly, that by adding this rule,other rules are not adversely affected. Theresulting testing and debugging of newrules is iterative and recursive and not thesort of system that is easily given to users.It’s too easy to enter a wrong rule, and,without a thorough understanding of therule and heuristics systems, debuggingwould be difficult.

When I turned to conventions, Ifirst used the same rule-based generalizedsystem I had used for standard bids, but

GAME DEVELOPER • JUNE 1994 45

#define HCP 1 /* ASPECT 1 — High Card Points (HCP) */#define G0x7 1#define G0x10 2#define G4x8 3#define G6x10 4#define G6x12 5#define G8x10 6#define G8x12 7#define G10x12 8#define G13x15 9#define G15x17 10#define G16x18 11#define G20x21 12#define G21x22 13#define G24x25 14#define G25x26 15#define G8P 16 /* >= 8 */#define G10P 17 /* >= 10 */#define G13P 18#define G16P 19#define G18P 20#define G21P 21

#define TCP 2 /* ASPECT 2 — Total Card Points (TCP) values are *//* same as for HCP */

#define DIST 3 /* ASPECT 3 — Distribution */#define FLAT 1 /* 4-4-3-2 or 4-3-3-3 */#define MAJOR4 2 /* 4 card major */#define MINOR4 3 /* 4 card minor */#define MAJOR5 4 /* 5 card major */#define MINOR5 5 /* 5 card minor, balanced (at least */

/* two cards, each suit) */#define UNBAL 6 /* for example, 4-4-4-1, 4-4-5-0 */#define SUIT5 7#define SUIT6 8#define SUIT7 9#define SUIT8 10 /* >= 8 card suit */

#define OPP 4 /* ASPECT 4 — Opponent Status */#define NB 1 /* no bid yet */#define BOP 2 /* both opponent passed */#define LHOP 3 /* LHO passed */#define RHOP 4 /* RHO passed */#define OO 5 /* opponent opened */#define LHOO 6 /* LHO opened */#define RHOO 7 /* RHO opened */#define OOV 8#define LHOV 9 /* LHO overcalled */#define RHOV 10 /* RHO overcalled */#define ONT 11 /* opponent opened NT */#define LHONT 12 /* LHO opened NT */#define RHONT 13 /* RHO opened NT */#define OS 14 /* opponent showed strong hand */#define LHOS 15#define RHOS 16#define OD 17#define LHOD 18 /* LHO doubled */#define RHOD 19 /* RHO doubled */#define OPR 20 /* opponent preempted */#define LHOPR 21 /* LHO preempted */#define RHOPR 22 /* RHO preempted */

Listing 1. Formal Descriptors for a Hand (Continued on p. 46)

Page 43: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

realized that heuristics or, in some cases,specific code would be better, since con-ventions are so constrained. I use rules tostart all conventions, but then switch tocoded modules for each convention, sincethe possibilities can be rigidly defined.Obviously, this is just one solution, andother bridge programs will surely arrivethat use vastly different techniques.

MVP BridgeThe result, MVP Bridge, was releasedearlier this year. I started with a singleapproach for bidding and play: the use ofa rule-based bidding engine. The biddingengine required some tweaking, andadding conventions eventually requiredmore algorithmic approaches. It alsobecame clear that play was more heuristicthan rule-based, especially since it is somuch more constrained. This eventuallyresulted in two completely distinctapproaches to the AI.

This article focuses on the biddingalgorithms. I originally planned to letpeople add their own conventions andeven bridge bidding style, but they wouldhave to learn how to teach new rules tothe engine. At present for MVP Bridge,this consists of working with the debuglogs, which can run to several hundredthousand K per hand, detailing the deci-sions made, and rules selected.

Each rule has up to 17 conditionsthat must be met to be triggered. When itcame to conventions, I first started to usethis same system, but it soon became clearthat I would just be coding some veryexplicit situations, so I switched to a moreconventional coding approach. The resultis a hybrid system that can be adapted tovery specialized bidding, while still retain-ing a lot of flexibility to handle handsnever considered before.

Design of the AIUnlike more abstract topics, such as nat-ural language or vision, in bridge andchess, the identification of relevant fea-tures is straightforward. Possible solutionsare reasonably clearcut. Thus, it’s poten-tially possible to create a program thatoutplays humans, even the creator. This istrue even if the program does not playperfect bridge at all times. I used a fairly

46 GAME DEVELOPER • JUNE 1994

A I T O T H E R E S C U E

#define ORV 3 /* opponent reversed */#define LHORV 24 /* LHO reversed */#define RHORV 25 /* RHO reversed */#define ORD 26 /* opponent redoubled */#define OBG 27 /* opponent bid game */#define ONS 28 /* opponent showed new suit */#define OST 29 /* opponent supported trump */#define LHOB 30 /* lhop bust */#define RHOB 31 /* rhop bust */#define LASTO 31

#define PARTNER 5 /* ASPECT 5 — Partner Status statPart[] */#define NB 1 /* no bid yet */#define PP 2 /* partner passed */#define PO 3 /* partner opened */#define POV 4 /* partner overcalled */#define PN 5 /* partner showed new suit over opening */#define PS 6 /* partner showed strong hand */#define PRV 7 /* partner reversed */#define PNT 8 /* partner opened NT */#define PPR 9 /* partner preempted */#define PBG 10 /* partner bid game */#define PST 11 /* partner supported my trump */#define PD 12 /* partner doubled */#define PRD 13 /* partner redoubled */#define PB 14 /* partner bust */#define LASTP 14

#define ME 6 /* ASPECT 6 — my status */... similar to the above

#define VUL 7 /* ASPECT 7 — vulnerability */#define WE 1#define THEY 2#define ALL 3#define NOTUS 4 /* that is, either neither or just them */

#define EXCEPT 8 /* ASPECT 7 — exceptions */#define SCLUBS 1 /* clubs — longest suit is clubs */#define SVCLUBS 2 /* longest suit is clubs and no void */#define SMINORS 3 /* minors — longest suit is a minor */#define SMAJORS 4 /* majors — longest suit is a major */#define NCLUBS 5 /* longest is not clubs */#define NVCLUBS 6 /* longest is not clubs, and no void */#define NMINORS 7 /* not minors longest is not minor */#define NMAJORS 8 /* not majors longest is not major */#define NOVOID 9 /* does not have a void */#define NSINGLE 10 /* does not have a singleton */#define NSECMAJ 11 /* second suit is not a major */#define T1MAJOR 12 /* agreed trump is major */#define T2MAJOR 13 /* agreed 2nd trump is major */#define NSUIT5 14 /* no suit of 5 or more */#define NJACOBY 15 /* not playing JACOBY */

....

#define TRUMPS 13 /* ASPECT 13 — trump support */#define POOR 1#define FAIR 2 /* 2+ trump, or < 4 HCP */#define GOOD 3 /* 3+trump, or 4-5 HCP */#define EXCEL 4 /* 4+ trump, or 6HCP in trump */#define GOODOPP 5 /* 4+ of opp’s trump */

Listing 1. Formal Descriptors for a Hand (Continued on p. 47)

Page 44: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

standard approach to the design of the AI:1. Characterize the task, analyze task and

actions of the program, and constructthe system domain as a collection ofobjects, properties, and operations.

2. Design a formal representation sobridge knowledge is stated explicitly.

3. Embody the representation in thecomputer system. It’s important thatthe operations of the computer areconsistent with the rules of the formalsystem.

4. Create a search procedure and operateon the computerized data structures tocarry out the task.

Let’s look at each of these in detailfor the MVP Bridge AI.

Bridge Bidding AIThe nature of the game immediately sug-gests that the AI should be divided intotwo separate sections. The play of thehand is to some extent dependent on thebidding, but, by the time the play starts,the bidding information has become his-tory and is easily worked into the AI asstarting conditions. It makes sense toconsider the bidding system first.

1. Characterize the Task. Since we’reworking with a constrained universe inwhich explicit laws and rules apply, muchof the task is already done. The goal is to

find ways to analyze each hand that’s dealtand propose legal and appropriate bids.

2. Design a Formal Representation.Now the work begins. Obviously, somerepresentation for the cards and hands isrequired. I chose to structure each player’shand as an array, turning cards on or offwithin that array:

Card[NHANDS][NSUITS][NCARDS]

where:

NHANDS equals 4 (the number of players)NSUITS equals 4 (the number of suits)NCARDS equals 13 (the number of cards ineach suit)

This representation has the addi-tional advantage of being flexible enoughto work for alternate games in whichthere are different numbers of players,

suits, or cards. In bridge, this is not a con-sideration, but in a game like hearts itwould be, since the game is often playedby three, four, or five people.

In addition to cards, facts about eachhand need to be codified. Listing 1 showssome of the aspects identified. Eventually,I came up with 17 aspects that describedthe hand. Some were obvious, like highcard points or distribution. Othersevolved over time, such as exceptions orlevel of bidding.

Defining AspectsHigh card points (HCPs) describe thevalue placed on a particular hand. Thefirst series of values such as G6x10 mean arange of 6 to 10 inclusive, while G13Pmeans 13 or more points. These could

GAME DEVELOPER • JUNE 1994 47

#define EXCELOPP 6 /* 5+ trump, or 4 with more than Q */

#define PRIORITY 14 /* ASPECT 14 an actual value */

#define CONVENTION 15 /* ASPECT 15 */enum { TAKEOUT=1, STAYMAN, BLACKWOOD, GERBER, WEAK2, STRONG2, NEGDBL, JACOBY,

NTFORCE, GAMBLING, TEXAS, UNUSUAL, WKJUMP, MICHAELS, MINORTFR};

Listing 1. Formal Descriptors for a Hand (Continued from p. 46)

ABCD

1xCx C=1, PASS, 2=DOUBLE, 3=REDOUBLE

2xxx new suit2Bxx B = 0 relative level for D

1 = absolute level (eg,preempts)

2xCx C = 1 longest suit2 No trump3 4 card major4 second suit5 transfer (bid 1 lower than actual

suit)

4xxx raise of suit previously bid4Bxx B = 0 relative level for D

1 = absolute level (eg,preempts)

4xCx C = 1 partner’s first = 2 NT= 3 my first = 4 partner’s second suit = 5 my second

4xxD D = # of levels (next eligiblebid)

Listing 2. Decoding Rules

AI Bridge Player Updates

Page 45: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

have been actual numbers, but that wouldhave enormously increased the number ofpossible rules to be considered.

If a rule was valid for either 6, 7, 8,9, or 10 points, five separate rules wouldneed to be written. For the limits such as“greater than 10,” there would be dozensof possibilities. Instead, I created relevantranges. The actual values are a function ofthe bidding system in use and would varyslightly with other systems.

For example, either 15 to 17 or 16 to18 can be used in rules for deciding whento open “1 no trump,” depending on thesystem in use. A hand can easily havemore than one value for a particularaspect. This is a vital element of thedesign and a reason for its robustness.

Thus, a hand that had precisely 17 HCPsis rated as G15x17; G16x18; and G8P, G10P,G13P, and G16P.

In addition to HCPs, another factor,total card points (TCPs) includes anassessment of how the distribution of thehands adds to its value. The values for thisaspect are identical to those for the HCPs.

Next to consider is distribution,which is straightforward. Hands aredescribed as flat, unbalanced, long suited,or having long majors or minors. Again,hands can have multiple values; a longsuited hand, by definition, is unbalanced.

The next series of aspects describesthe status of the various players. It’s oftenimportant to know who opened the bid-ding (me? my partner? which opponent?).

Sometimes, you need to know whichopponent did something; other times, justthe fact that something happened.

Aspect 4 covers all possibilities forthe opponents. Aspects 5 and 6 coversimilar ratings for my partner and ME, thatis, the computer player who’s doing theevaluation. Aspect 7 is a simple one. Vul-nerability is dependent on previous hands.Some bids are only made if the vulnera-bility is favorable.

Exceptions need to be coded, also.Some bids are made whenever X is true orif Y is not the case. Most rules are generaland apply to any suit. But there are someinstances where a suit is used for specialbids. Clubs are a particular problem.Thus, SMAJORS says the hand does not havea long major suit. The usefulness of thisfeature becomes clear later.

Several of the less important aspectsaren’t shown. The last few in the listingshow trump support (aspect 13), andwhether a rule is part of a convention.Thus, if a rule contained the codingBLACKWOOD, it would only be considered ifthe partners are playing that convention.

Aspect 14 is unique. Priority is usedto resolve clashes among rules. It’s anentirely subjective value, determined bythe rule designer. It’s not used whenselecting rules to be evaluated. Rather it’sused in the decoding phase.

Defining Suggested BidsRather than have the AI spit out a specif-ic bid, I designed the system so it wouldgive a more general result. Thus, the AImight suggest: “Bid the stronger of yourtwo unbid suits,” or “Bid your longermajor.” This allows the same suggestionto be made on many different hands.

Listing 2 shows some of the rules.Each result is a four-digit number. The1000 series contains special cases. 1010 is aPASS, 1020 is a DOUBLE, and 1030 is a REDOU-BLE. When these rules are found, nodecoding is needed.

The 2000 series is used to indicate anew suit should be bid. This suit can bespecified as either a relative or absolutelevel. Thus, some rules require that thebid be at the second level. Other rulesrequire that it be two levels above the pre-vious bid. Thus, a result of 2110 would

48 GAME DEVELOPER • JUNE 1994

A I T O T H E R E S C U E

A. REGULAR BIDS

/* ———— OPENING BIDS *//* standard opening */0,G13x15, SUIT5, NB, NB,NB, 0,0, 0, 1,0,0,0, 4,0,0,0, 2011, “OPEN-NB-1”0,G13P, SUIT6, NB, NB,NB, 0,SMAJORS, 0,1,0,0,0, 6,0,0,0, 2011, “OPEN-MAJ6”0,G13P, MAJOR5, NB, NB,NB, 0,0,0, 1,0,0,0, 4,0,0,0, 2011, “OPEN-NB-MAJ5”0,G13P, 0, NB, NB,NB, 0,0, 0, 1,0,0,0, 2,0,0,0, 2011, “OPEN-NB-MAJ4”

/* ———— RESPONSES*//* raise of partner’s suit */G6x10,0,0, 0,PO,NB, 0,T1MAJOR,0,1,0,0, GOOD, 4,0,0,0, 4011, ”RA-MAJ-1LVL”,G10x12,0,0, 0,PO,NB, 0,T1MAJOR,0,1,0,0, GOOD, 3,0,0,0, 4012, ”RA-MAJ-2LVL”,G6x10,0,0, 0,PO,NB, 0,0,0,1, 0, 0, GOOD, 3,0,0,0, 4011, ”RA-1LVL”,G10x12,0,0, 0,PO,NB, 0,0,0,1, 0, 0, GOOD, 2,0,0,0, 4012, ”RA-2LVL”,0,0,0, 0,PO,0, 0,0,0,2, 0, 0, EXCEL,3,0,0,0, 4011, ”RA-1LVL-WK1”,0,0,0, OOV,PO,0,0,0,0,2, 0, 0, EXCEL,3,0,0,0, 4011, ”RA-1LVL-WK2”,/* rebids */0,0,0, 0,PO, IST, 0,0,0,0,LT25,0, 0, 4,0,0,0, 4113, “IFIT-GAMETRY”,0,0,0, 0,PO, IST, 0,0,0,0,GE25,0, FAIR, 4,0,UNBID,0,NT3, “IFIT-NT”,

B: CONVENTIONS

Conventions are handled differently from other bids. Only the initial conventionalbid is generated from these rules. Once the convention is triggered, the responsesand rebids are handled by special convention routines.

Lowest priority for a convention is 7.HCP TCP DIST | OP PT ME |VL EXC QT LVL TP LAST | TR PR CONV Stp 2nd VObj | name

/* ============= STAYMAN */ /* start Stayman sequence? */G8P,0,MAJOR4, NB,PNT,0, 0,0,0,2,0,LPART, 0,8,STAYMAN,0,0, C2, “STAY-2C-1”,0,G8P,MAJOR4, NB,PNT,0, 0,0,0,2,0,LPART, 0,8,STAYMAN,0,0, C2, “STAY-2C-2”,G4x8,0,MAJOR4,NB,PNT,0, 0,0,0,2,0,LPART, 0,8,STAYMAN,0,0, C2, “STAY-2C-3”,G8P,0,MAJOR4, NB,PNT,0, 0,0,0,3,0,LPART, 0,7,STAYMAN,0,0, C3, “STAY-3C-2”,G8x10, 0,FLAT, 0,PNT,0, 0,0,0,2,0, 0, 0,6,STAYMAN,0,0, NT2, “STAY-NT-RSP”,

/* ============= JACOBY 5 */0,0,SUIT6, NB,PNT,0, 0,NMINORS,0,2,0,LPART, 0,9,JACOBY,0,0, 2051, “JACOBY-MAJOR6”,

Listing 3. Examples of Bidding Rules

Page 46: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

require a bid of your longest suit at thefirst level, while a result of 2010 wouldrequire a bid of your longest suit at theone level higher than the current bid. The4000 series shows similar coding for a raiseof previously bid suits.

Specify a specific bid, for example, 2CLUBS when a convention calls for it. Withthese essential tools and descriptionsdefined, we can move to the design of theactual rules.

3. Embody the Representation in theComputer System. Transferring these con-cepts to a computer representation con-sisted of two steps: codification of rulesand analysis of a hand. The designer spec-ifies the rules external to the program, sothe compiled program can be updated byadding a new rule set.

Listing 3 shows excerpts from thebidding rules (the actual game uses morethan 250 rules for each bidding system).Each rule is given an internal mnemonicfor easier debugging. OPEN-NB-1 is a rulefor opening when no one has bid yet. Itrequires total card points of 13 to 15(G13x15), at least a five-card suit, no bidsby opponents or partner, and is given apriority of 4 (about average).

If this rule is chosen, it returns aresult of 2011, which means to bid yourlongest suit at the first level. Thus, therule will also work for a six-, seven-, oreight-card or longer suit if no more spe-cific rule is found. HCPs are irrelevant (0)in this rule. This lets us use as many or asfew of the aspects as we need and is animportant feature of the AI’s rule deter-mination system.

Under the opener’s rebids section,we’ll look at two more examples. IFIT-GAMETRY says that when my partner opens(PO) and I supported the suit (IST), but wehave less than 25 points total between us(LT25) and the bidding is below the fourthlevel, return 4113.

This decodes as an instruction torebid the agreed suit at the third level. Ifthe opponents have interfered and thebidding is higher, this rule won’t apply.The next rule, IFIT-NT is similar. Again,my partner opens and I support the suit,but this time my trump support is fair, wehave more than 25 points, and I havestoppers in the unbid suits. In this case,

GAME DEVELOPER • JUNE 1994 49

int AI_build_master_tran(int who){int jcards[] = { 84, 74, 81, 75, 65 }; /* asc equiv of honors */int side, partner, lopp, ropp, tp, lbid;int x, z, i, j, k, nr, zlen;char bidder[6];int dcard, oppSuit;

side = getSide(who);partner = getPartner(who);lopp = getLHO(who);ropp = getRHO(who);

/* set aspect 1 (HCP) */if(hcp[who] >= 0 && hcp[who] <= 7) setAsp(side,HCP,G0x7);if(hcp[who] >= 0 && hcp[who] <= 10) setAsp(side,HCP,G0x10);if(hcp[who] >= 4 && hcp[who] <= 8) setAsp(side,HCP,G4x8);if(hcp[who] >= 6 && hcp[who] <= 10) setAsp(side,HCP,G6x10);if(hcp[who] >= 6 && hcp[who] <= 12) setAsp(side,HCP,G6x12);....if(hcp[who] >= 8) setAsp(side,HCP,G8P);if(hcp[who] >= 10) setAsp(side,HCP,G10P);if(hcp[who] >= 13) setAsp(side,HCP,G13P);if(hcp[who] >= 16) setAsp(side,HCP,G16P);if(hcp[who] >= 18) setAsp(side,HCP,G18P);if(hcp[who] >= 21) setAsp(side,HCP,G21P);

/* set aspect 2 (TCP) */...../* same as for HCP */

/* set aspect 3 (DIST) */AI_build_dist_pattern(who);

/* all hands with singleton or void are unbalanced */if(pattern[3] < 2) setAsp(side,DIST,UNBAL);if(pattern[3] >= 2 && pattern[0] < 5) setAsp(side,DIST,FLAT);for (i=CLUBS; i<=DIAMONDS;i++) {

if (dist[who][i] >= 4) setAsp(side,DIST,MINOR4);if (dist[who][i] >= 5) {

setAsp(side,DIST, MINOR5);setAsp(side,DIST, SUIT5);

}}for (i=HEARTS; i<=SPADES;i++) {

if (dist[who][i] >= 4) setAsp(side,DIST,MAJOR4);if (dist[who][i] >= 5) {

setAsp(side,DIST, MAJOR5);setAsp(side,DIST, SUIT5);

}}if (pattern[0] >= 6) setAsp(side,DIST,SUIT6);if (pattern[0] >= 7) setAsp(side,DIST,SUIT7);if (pattern[0] >= 8) setAsp(side,DIST,SUIT8);

/* set attribute for aspect 4 (OPP) */if (statLHO[who] >= LHOP) setAsp(side,OPP, statLHO[who]);if (statRHO[who] >= RHOP) setAsp(side,OPP, statRHO[who]);if ((statLHO[who] <= LHOP && statRHO[who] <= RHOP) ) {

setAsp(side,OPP, NB);statOpp[who] = BOP;

}if (statRHO[who] == RHOO || statLHO[who] == LHOO) statOpp[who] = OO;

Listing 4. AIBUILD (Continued on p. 50)

Page 47: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

the program bids 3 NT. My partner thenhas the option of pulling to four of thesuit or playing the 3 NT game.

Conventions are started in a similarfashion. Thus, STAY-2C-1 says that witheight or more HCPs and a four-cardmajor, if the opponents haven’t bid andmy partner has opened with 1 NT, theresult is a bid of 2 CLUBS with priority 8,and that this will be noted as the start of aSTAYMAN sequence. Subsequent bids areextremely controlled and handled byhard-coded routines for each convention.

Similarly, JACOBY-MAJOR6 is triggered

when I have a six-card major (SUIT6 +NMINORS) and any number of points. If theopponents haven’t bid and my partner hasopened with 1 NT, the result is 2051, whichis the code for a transfer bid. Thisinstructs the player to bid one less thanthe longest suit. If my suit is hearts, I biddiamonds; if it’s spades, I bid hearts.

My partner must bid the next suit.My partner, with, presumably, thestronger hand bids the chosen suit first,and the hand remains concealed. Subse-quent Jacoby conventional bids are han-dled by programmed functions. The logic

for the response to a Jacoby bid is shownin Table 1.

All rules must be prepared inadvance and live in a reference file calledduring the game. Whenever a bid is calledfor, the program builds a new transactionrecord, since information and statuschange during each round of bidding.One important element that changes isthe estimate of the points held by others.

If my partner opens, I know he orshe has at least 13 HCPs. But I also knowthe opponents have at most 27 pointsminus whatever I hold. Thus, each playerhas a different estimate at any time.These estimates by each player of mini-mum and maximum holdings for eachother player are constantly updated.They’re also available for the human play-er to reference.

The construction of a master trans-action is shown in Listing 4. Many termsare relative, so we start by finding the cur-rent values for our side, my partner, lefthand opponent (lopp), and right handopponent (ropp). Then, current values foreach aspect are determined. For hcp, thisis a series of compares. It’s possible for agiven aspect to take several values.Aspects are stored as bits. Each value ofthe aspect turns its bit on or off.

For distribution, we first check thepattern of the hand, sorting the cards bylength of suit. pattern[0] holds thelongest suit. We can set the aspects forminors, majors, five-card suits, and longersuits. In similar fashion, we work throughthe various status aspects. In some ofthese cases, multiple aspects are triggered.

For example, if the status of LHOP andRHOP is PASS, we also set the opponent sta-tus to BOP (both opponents passed). Alter-natively, if either opponent has overcalledor opened, we can set that aspect. Thisincreases the flexibility of rule writing andallows more concise rules, while retainingthe ability to specify an opponent forthose rules that require it. Usually, wedon’t care which opponent opened whenwe’re deciding on a bid. But, if we’re con-sidering a double, it makes a differencewhether it was the left or right opponent.

4. Create a search procedure. By now,most of the work is behind us. Whatremains is to find a rule that matches the

50 GAME DEVELOPER • JUNE 1994

A I T O T H E R E S C U E

if (statRHO[who] == RHOV || statLHO[who] == LHOV) statOpp[who] = OOV;if (statRHO[who] == RHOPR || statLHO[who] == LHOPR) statOpp[who] = OPR;if (statRHO[who] == RHONT || statLHO[who] == LHONT) statOpp[who] = ONT;setAsp(side,OPP, statOpp[who]);

/* set aspect 5 (PARTNER) */if(statPart[who] == PP) setAsp(side,PARTNER,NB);setAsp(side,PARTNER,statPart[who] );

/* set aspect 6 (ME) */setAsp(side,ME,statMe[who]);if(statMe[who] == IP) setAsp(side,ME,NB);

/* set aspect 7 (VUL) */if(vul[who] == 1) setAsp(side,VUL,WE);if(vul[getRHO(who)] == 1) setAsp(side,VUL,THEY);if(vul[who]==1 && vul[getRHO(who)]==1) setAsp(side,VUL,ALL);if(vul[who] != 1) setAsp(side,VUL,NOTUS);

/* set aspect 13 (TRUMPS) */setAsp(side,TRUMPS,0); /* reset */z = getSuitBid(partner, 1);if (z >= CLUBS && z <= SPADES) {

switch(support[who][z]) {case POOR: setAsp(side,TRUMPS,POOR); break;case FAIR: setAsp(side,TRUMPS,FAIR); break;case GOOD: setAsp(side,TRUMPS,GOOD); break;case EXCEL:

setAsp(side,TRUMPS,EXCEL);setAsp(side,TRUMPS,GOOD);break;

}}if (getSide(lastBidder) == getSide( getLHO(who) )) {

oppSuit = getSuit(lastCall);if (oppSuit >= CLUBS && oppSuit <= SPADES) {

if (dist[who][oppSuit] > 4) {if (holding[who][oppSuit] > Q) setAsp(side,TRUMPS,EXCELOPP);else setAsp(side,TRUMPS,GOODOPP);

}if (dist[who][oppSuit] > 5) setAsp(side,TRUMPS,EXCELOPP);

}}

setAsp(side,PRIORITY,2); /* set aspect 14 (PRIORITY) to 2 */

Listing 4. AIBUILD (Continued from p. 49)

Page 48: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

current evaluation of the hand as closelyas possible. This is done in the main rou-tine of the AI engine. Since each aspect isa series of bits, we can test it against allthe rules by performing a logical AND. Theengine works by matching the mastertransaction that represents the individualhand against all possible rules, sifting outthe ones that apply. The resulting list isthen sorted by priority, and the best ruleis applied.

A decode function then takes theresult of the matching. If it’s a direct bid(PASS, 2 CLUBS, and so on), it just returnsthe bid. Otherwise, the bid is deciphered,and the result passed back. In either case,the bid is first checked to be sure that it islegal. Thus, if the current bid is 3 CLUBS,and the suggested bid is 2 HEARTS, the bidwill be rejected, and the next potentialrule will be considered. In practice, this isa rare occurrence. A summary of the AIengine is shown in Figure 1.

Completing the BridgeSince the bridge world is tightly con-trolled by a limited number of cards and arestricted set of rules for bidding, it’s pos-sible to build a program that plays a credi-ble version of the game. Whether the

program is truly intelligent is less likely.Its very strength is a reason why broaderAI fails.

The circumscribed description of theworld causes the program to be blind tooutside effects. The essence of intelligenceis to act appropriately when there is nosimple predefined problem or task domainin which to search for solutions. For thesereasons, it’s a giant, perhaps impossiblestep from a bridge game player to a com-mon-sense program. This is almost a defi-nition of common sense—we accuse peo-ple of lacking common sense when somesituation has blinded them to a task spaceof potentially relevant actions. ■

Steve Estvanik is a professional gamedesigner in Seattle, Wash. He can be reachedvia e-mail at [email protected] questions on this article can be left onCompuServe in section 11 (Games Design) ofthe GAMERS forum for open discussion.

GAME DEVELOPER • JUNE 1994 51

Figure 1. The AI Engine

Standard rules

Possible rules

Illegal bid

Validaterule

Build transactionsand find best rule

Special rules

Conventions

Current hand

Legal bid

For further gameplay, MVP Bridge isavailable in the file MVPBR.ZIP in LIB13of the GAMERS forum on CompuServe.

M V P B R I D G E

Page 49: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

The sheer number of

skills necessary to

exploit 3D Studio

makes for a highly

lucrative skill set—

you‘ll find tools and

techniques in this

complex package to

launch your game into

another dimension.52 GAME DEVELOPER • JUNE 1994

There are two ways to get three-dimensional effects in yourgame. The first is by program-ming with high-performancethree-dimensional algorithms.This is the only way that allowsplayers to interact with environ-ments in real time for simulators

or arcade games. While fast bitmapmanipulation à la Doom and fast texturemapping à la IndyCar Racing are vastimprovements over the original FlightSimulator, photorealistic three dimen-sions updated in real time are years away.

How many years? About 20, if atrend that’s held true for the past 20years continues. Moore’s Law states thatevery 18 months you get twice the com-puting power per buck. Today, it takesthe typical home PC about 16 minutesto create a view into a moderately com-plicated scene. In 18 months that will be8 minutes, in three years only 4 minutes,and so on. Now, keep in mind that thisis for full-screen video at SuperVGAresolutions and 24-bit color—in fiveyears or less, we should be able toachieve real-time three dimensional ren-dering in viewports that take up, say, aquarter of the screen.

What you can do today is renderthree-dimensional movements at devel-opment time, creating predefined pathsthrough the game’s environment. Theseanimations can then be linked at runtime to create turn-based games.

What Is It?Autodesk’s 3D Studio is a tool for creat-ing and animating three-dimensionalobjects. Although the majority ofbroadcast and film computer animation

is still done on UNIX workstations, suchas those produced by Silicon Graphics,3D Studio Release 3, which shipped inthe second half of 1993, has a competi-tive feature list, runs on (relatively) cheapIntel-based hardware, allows for C-basedextensions, and, with its network render-ing features, blows away UNIX systemson a price-per-frame basis.

Who Uses It?Typically, 3D Studio is used throughoutthe creative process. On the set of theupcoming Mechadeus production TheDaedelus Encounter, we saw 3D Studioused in a number of ways:• As a production design tool to

demonstrate the dark look of the vir-tual sets the actors were movingthrough.

• As a three-dimensional storyboard torough out interiors and characterplacement on the set floor itself.Instead of hitting marks taped to thefloor of a set, actors Tia Carrere andChristian Bouchet moved against abluescreen, were Chromakeyedagainst a 3D Studio created interior,and made sure their motions inter-sected two 3D Studio characters ren-dered in gold metal that looked mys-teriously like Academy Award statues.

• As the only medium in which somecreatures existed (Mechadeus mod-eled the creatures in clay, made com-puter wireframes of them in 3D Stu-dio, and animated them there).

The most impressive thing was thateverything we were seeing was flexibleand contingent—the final virtual setswould be redone with higher resolutions,moodier lighting, and adjusted for the

What is3D Studio?

by Larry O’Brien

3 D S T U D I O

Page 50: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

motion subtleties of the human actors.The ubiquitous nature of 3D Studio

on the set points out a double-edgedaspect of the product. 3D Studio is nomagical shortcut to astonishing effects.Many roles of a traditional production lothave been captured in a single productand, while this makes it an amazing tool,just think of the roles a 3D Studio tech-nician has to play.

Production Designer. You’ve got todesign not just the virtual sets but everyaspect of the virtual world, and, unlessyou’re doing something like theMechadeus project, you may be design-ing every single thing in that world, fromthe main characters’ look to the moldingon a picture frame hanging in the back-ground of a single shot.

Props Master. Once you know allthose things, you have to create them.For some things, you’ll be able to usecommercially available (but not cheap)meshes intended primarily for architects.You want a chair? You got it. You wanta cyborg? You’ll have to sculpt it in 3DStudio.

Director. You’ll have to figure outthe movement of cameras, objects, andactors within the virtual set.

Actor. There’s no yelling “Action”and watching what happens in 3D Stu-dio. You have to specify every discontin-uous motion. However, once you specifya path, 3D Studio can automatically cal-culate the intermediate stages (tweens),so, to some extent, you only have to spec-ify master scenes. Unfortunately, 3DStudio doesn’t have the knowledge of thereal world of a professional fill-in anima-tor, so you can’t say “he sneezes” and letsomeone else do the work—a sneeze may

require 10 master scenes, manipulatingdozens of control points on the eyes,cheeks, nose, and mouth.

Cinematographer and Lighting Tech-nician. You place cameras, specify theirlenses, and move them in pans andswoops (and some things, like complexrotations and extended zooms, that areimpossible with real cameras). Lightswork the same way and can be controlledin terms of color, drop off, and hotspots.

Editor. Cameras are invisible in 3DStudio, so you can place a dozen in ascene and create something with enoughjump cuts to outdo Oliver Stone.

Printer. Finally, getting the finalanimation into a delivery medium (gen-erally, a series of FLC or FLI animationsthat will be tied together with authoring

GAME DEVELOPER • JUNE 1994 53

Figure 1. The Shaper

The latest Trilobyte release relied heavi-ly on 3D Studio for its exciting visualelements.

Page 51: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

software such as Director) may not be atrivial matter. You may generate hun-dreds of large files that need to betracked and organized.

One way or another, the sheer num-ber of skills necessary to exploit 3D Stu-dio fully represents a formidable barrierto entry but makes for a highly lucrativeskill set. If you build up a portfolio ofimpressive 3D Studio animations, you’ll

have game companies knocking downyour door trying to hire you.

Working with 3D Studio3D Studio is a dongle-protected extend-ed DOS program built with the PharLap DOS extender. Installation will takeup the better part of 40MB of hard diskspace, with a CD-ROM full of addition-al material thrown in for good measure.

The Phar Lap DOS Extender is morestable than most and well supported, so,unless you’re running really bizarre hard-ware, you should be alright.

3D Studio requires VESA graphicsextensions, but most high-end graphicscards go beyond this to provide specialdrivers (it uses the same drivers as Auto-CAD, so check your card’s installationdisk for those). One of the smartestthings you can do first, though, is callVibrant Technologies (US: 800-937-1711, Europe: +44-0-91478-1016, Tai-wan: +886-2-593-5201) and buy theappropriate Liquid Speed driver for yourvideo card. This will speed up renderingtime significantly and, if you value yourtime at all, will quickly pay for itself.

Speaking of things that will pay forthemselves, many 3D Studio users favorOS/2 for running the program. It’s easyto configure (follow the instructions in3D Studio’s READ.ME file), there’s noconflict with the DOS extender, and,most importantly, you can switch out of3D Studio and use other programs whilerendering in the background, which youcannot do under Windows. RAMrequirements vary. The more complicat-ed a scene and the more bitmaps used fortexture mapping, the more RAM isneeded. Some of the high-resolutionexamples on the example CD couldn’t berendered even by a system with 24MB ofRAM. For high-end production, planon 32MB or even 64MB of RAM.

I should emphasize here that allthese requirements only apply to thedeveloper. The animations produced by3D Studio are just data files and can berendered at a resolution appropriate forwhatever target machine you choose.

3D Studio comes with a tutorialthat, even though it takes several days toget through, gives only a cursoryoverview of the product. If you’re a free-spirited soul with no time deadlines, youcan get away with just jumping in andasking a lot of questions on on-linehotbeds of 3D Studio users such asCompuServe’s ASOFT forum. But ifyou’re under deadline, you’ll certainlywant to check out training resources suchas AutoDesk University (Call 415-905-2354 for more information. In the “Don’t

54 GAME DEVELOPER • JUNE 1994

3 D S T U D I O

Figure 2. The Lofter

Figure 3. 3D Editor

Page 52: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

call me a whore” department, this isjointly produced by AutoDesk and MillerFreeman Inc., the company that publish-es Game Developer) and the highlyregarded book Inside 3D Studio Release 3by Steven Elliott, Phillip Miller, andGreg Pyros, by New Riders Publishing(I’d tell you more, but they haven’t sentus a review copy—hint, hint!)

To create an animation in 3D Stu-dio, you work through a series of sub-programs. These programs are theShaper, the Lofter, the Material Editor,the 3D Editor, and the Keyframer. Thegeneral interface for all these programs issimilar, with a number of viewportsshowing different perspectives on theobject and a telescoping menu system onthe right-hand side.

The interface wouldn’t get anyawards from a computer-human interfaceexpert, but it does minimize the interfer-ence of the menu with the screen ele-ments. The basic metaphor is to workdown through the menu structure: create,select, modify, configure, and render. Ittakes a while to get used to that basicstructure and familiarize yourself with theuse of the various subprograms, but even-tually the whole thing starts to seemalmost coherent.

ShaperThe Shaper is used to create two-dimen-sional objects that serve as starting pointsfor more complex structures. In Figure1, you can see the single large viewport ofthe Shaper as well as the menu telescop-ing down the right-hand side of thescreen. In this view, I’m in the Createmode, and, as you can see, I just finishedwith the Create/Text/Place option.

The text I’ve created (“Game Devel-oper” in a calligraphic font) shows in theShape viewport, with control pointsdetermining the vertices of the polygon.The numbers in the upper left-hand cor-ner reflect the position of the mouse(represented by the crosshairs) and hidethe various system menus that choosebetween sub-programs, load and unloadprojects, and configure the overall sys-tem. The control buttons in the lowerright basically control the various zoom-ing options as well as some selection and

undo options. Finally, there is a messagebar along the bottom of the screen.

The capabilities of the Shapershould be familiar to anyone who hasused a structured, vector-based illustra-tion tool. Basically, any object is made ofstraight lines and curves. If you want areally organic shape, you must spend a lotof time working on the details.

The LofterOnce you’ve created a base shape in theShaper, you turn it into a three-dimen-sional object in the Lofter. I think of thetwo basic options in the Lofter as extrud-ing an object and lathing it. Figure 2shows the Lofter as I specify how toextrude the logo I created in the Shaper.On the right, you can see I’m in the mid-dle of a Deform/Scale/Move action. In theupper left corner, you can see I’m atLevel 1 of the path along which I’ll beextruding the logo, symmetry is on, andthe smaller end of the logo will be41.39% of the long end.

Along the left of the screen, you seea view looking straight down on the logoshowing the path the object will beextruded from front to back. (If I’d cho-sen to lathe the logo instead of having itextruded from front to back, it would beextruded in a circle.) Below that, you cansee the head-on view of the logo, andbelow that is the Y-scale that, becausesymmetry is on, will be deformed in thesame way as the X-scale, which is shownin the large viewport.

I could continue to work on thepath in either of the viewports, twistingthe logo, making it expand or contract,and so on, along as many control pointsas desired. For me, this and the Material

Editor are the hardest of the subpro-grams of 3D Studio to master. However,once you get what you desire, you hit abutton and wait a few seconds while theobject is created. Even a moderatelycomplicated shape may have thousandsof vertices, but 3D Studio has the abilityto optimize the shape to simplify it.

3D EditorOnce you’re satisfied with the product ofthe Lofter, it’s time to use the 3D Editorto set the virtual stage. Simple geometricfigures such as boxes and tubes do notneed to be created in the Shaper andLofter, but can be created directly in the3D Editor. 3D Editor is where much ofthe work in 3D Studio gets done. Thedefault viewports shown in Figure 3show a Top view, a Front view, a Leftview, and a Camera view.

To do any three-dimensionalmanipulation, you generally have tomanipulate the object in two viewports.Remember those tests you took in eighthgrade that tried to determine whetheryou’d be an engineer, a doctor, or ahomicidal maniac? It’s sort of like one ofthose. (When I took those tests, I hadsignificantly below-average tendenciestoward everything. This brought megreat acclaim in my peer group.)

After you’ve placed your objects, youassign materials to them. Materials canbe uniform (plastic or metal), while oth-ers are textured and need mapping coor-

GAME DEVELOPER • JUNE 1994 55

Figure 4. Rendering an Image Figure 5. A Complex Image

Page 53: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

dinates to be applied. For instance, Fig-ure 3 shows me selecting a Marble tex-ture map for the logo. With mappingcoordinates, you can rotate the map, pro-ject it out onto a sphere, or project itonto a cylinder.

This is also the point where youplay cinematographer and lighting tech-nician. There are a variety of lights thatcan be modified either by RGB or HLSvalues. The cameras come with stocklenses, but you can modify these to yourheart’s content.

Finally, you can render a still fromthis editor. You can configure the ren-derer to whatever output resolution youwant (obviously, the lower the resolutionthe faster the rendering). On a 486/33with 16MB of RAM running OS/2, therenderer took about two minutes to pro-duce Figure 4 at 800-by-600 resolution.On the other hand, complex illustrationswith bitmaps, such as that in Figure 5from Trilobyte Production’s upcoming11th Hour, probably would take thesame machine an hour or more to render.

Materials EditorAlthough 3D Studio comes with a num-ber of material libraries, eventually you’llwant to move beyond them (especiallywhen it comes to texture maps). Forthis, you use the Materials Editor. The

Materials Editor sports an entirely differ-ent interface from the other subprogramsof 3D Studio, as you can see in Figure 6.This interface is much more centered ondialogues and sliders.

In Figure 6, I have three materialsthat I am working with and have current-ly selected Blue Glass, the material in thethird frame. To judge materials, they arerendered onto a sphere or a cube (I’veselected the sphere) with a number ofshading options. You adjust the ambi-ent, diffuse, and specular colors (mid-leftin the figure) to set the basic characteris-tic of the material and use the variousmodifiers in the center and bottom of thescreen to create effects and specify thebitmap you want to be the basis of what-ever texture map the material uses. Whenyou’re done with a material, you place itin a library, from which you can select itin the 3D Editor.

I mentioned previously that for methis is a difficult program to master, but Ido not think that the different interface isentirely to blame for that (although itdoesn’t help). It’s just that, of all theskills needed in 3D Studio, this is theone I have the least experience with.

KeyframerOnce you’ve created the set, it’s time toplay director. This is where the

Keyframer comes in. Figure 7 shows theKeyframer working on an animation withthe Game Developer text. (To speed upthe screen refreshes, you can use the Dis-play/Geometry/Box option to display allobjects in their bounding box, as can beseen in the Camera viewport on thelower right of Figure 7.) In the lowerright, there are now some VCR-stylecontrols.

In Figure 7, we’re at the 15th of 30frames, and I’ve dollied the camera for-ward (you can see its original location inblue in the Left viewport). As you cansee in the menu, I could have moved thecamera anywhere in three-dimensionalspace, rolled it, or adjusted its field ofview or perspective. Similar things canbe done with objects and lights. 3D Stu-dio takes care of tweening intermediateframes, and you can make sure that noth-ing is jerky by using spline-based pathsfor everything.

The first item in the menu is Hier-archy. This is a great aid in animation.You use the Hierarchy Editor to linktogether the various objects created in the3D Editor. Once objects are linked, youcan constrain their movement in a varietyof ways. For instance, if you had a per-son, the thigh bone’s connected to theshin bone, the shin bone’s connected tothe (you got it!) ankle bone, and so forth.Once you’ve linked them, you basicallywant to constrain those things so theyonly move through one plane (unlessyou’re animating Joe Theissman gettingtackled). This is easily done with theHierarchy Editor. More complex hierar-chies require the use of dummy objects,and, if you’re interested in creating ani-mations of complex objects, you’ll bespending a good deal of your time mas-tering this feature.

Hierarchies are good for mechanicalobjects, but three-dimensional morphinggives better results for living creatures (oranything that you want to have a flexibleskin). The morphing in 3D Studio is notto be confused with that used in those$100 morphing toys. Those are strictlytwo-dimensional (and some cheat anduse simple bitmap fades instead of mor-phing, but that’s another story), while 3DStudio will transform one three-dimen-

56 GAME DEVELOPER • JUNE 1994

3 D S T U D I O

Figure 6. The Materials Editor

Page 54: June 1994twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_June_1994.pdf · were lighter to ship and harder to dam-age—no more damaged PC disks. They can be repackaged without threat

sional object into another as long as thetwo have exactly the same number of ver-tices (a nontrivial restriction). You canmove the camera wherever you want dur-ing this transformation, so 3D Studio canhandle Terminator-style shots where thecamera follows the object as it moves by,transforming as it goes.

The Keyframer has a Previewoption for creating low-resolution, non-color versions of the sequence, and you’llbe using this a lot, because rendering afull scene is going to tie up your worksta-tion (or workstations) for a long time.3D Studio has become a hit with gamedevelopers because of its network render-ing capabilities. For no extra money, youcan install 3D Studio on a number ofmachines and, when you render a scene,your master workstation will send out thejob to the slaves.

Every time one finishes a frame, it isgiven a new one. So you still can’t gener-ate a frame at the rate of a UNIX work-station, but if you’re generating 10 framesin parallel, you can achieve much higheroverall throughput. The slave machinescan be anything—a dozen rack-mounted486DX4s would make a nice system andcould be put together for less than thecost of a single loaded UNIX workstation(and, if you placed it near an air duct,could serve as central heating for youroffices). Such a system is called a “ren-dering farm,” (doesn’t that phrase makeyou think of Silence of the Lambs?) and isbecoming a standard way of generatinganimations.

Extending 3D StudioNo product can do everything, especiallyin a field as rapidly evolving as computeranimation. Luckily, 3D Studio providesfor this with external C processes calledIPAS routines. Many such routines areavailable from such companies as theYost Group Inc. (you can ask for a cata-logue by writing to them at 3739 BalboaSt. #230, San Francisco, Calif. 94121).

Some of the routines they provideinclude special effects, such as flip,clamp, crumple, smoke, water, and spat-ter; procedural modeling, such as twist,stretch, reshape, and melt; image pro-cessing, such as lens flare, blur, glow, and

highlight filter; and—the hot topic—par-ticle system procedures for snow, rain,explode, disintegrate, fireworks, andspurt.

We’ll be reviewing existing IPASlibraries as well as telling you how tobuild your own in future issues of GameDeveloper, but that all lies outside a gen-eral review of 3D Studio. So, if you’llexcuse me, it’s 6:00 p.m. on a Fridaynight, and I don’t have a network of Pen-tiums slaved to my system, so I have tofire up the renderer and get started on

the Klingon warbird flyby. Maybe it’ll bedone by Monday. ■

Larry O’Brien is the editor of GameDeveloper. He’s also been known to pro-gram for Windows in C++, write the occa-sional screenplay, and play Ultimate Frisbeefor 40 hours straight, none of which areoptions on eighth-grade career aptitude tests.He can be reached via e-mail [email protected] or throughGame Developer magazine.

GAME DEVELOPER • JUNE 1994 57

Figure 7. The Keyframer

Autodesk Inc.2320 Marinship Wy.Sausalito, CA 94965(800) 525-2763

Price: $2,995

Run-time fee: N/A

Support: Only available through dealer channel(approximately 500) who provide support

Money-back policy: 90-day limited warranty

Operating system support: MS DOS 3.3 or later

Hardware requirements: 8MB of RAM, Intel math coprocessor, SuperVGAdisplay device (at least 640 by 480 by 256),and pointing device (mouse, SummaSketch-compatible table, or ADI pointing device)

Minimum hard disk space: 20MB

3 D S T U D I O R E L E A S E 3