Top Banner
DECEMBER 1994 G A M E D E V E L O P E R M A G A Z I N E
36

december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

Aug 21, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

december 1994

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

Page 2: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

“The true danger is when liberty is nibbledaway, for expedience, and by parts.”

—Edmund Burke

Rating systems are crap. With theentire entertainment industryrolling over whenever Congresscalls a hearing, it’s fallen on usto denounce these initiatives forwhat they are—cynical postur-ing and electioneering with nosubstance. Rating systems,

whether for movies, television, videogames, or any other form of communica-tion, don’t work, cost money, and impedecreativity. Everyone at those hearings,politicians and witnesses alike, knows that.But there’s nothing politicians love morethan “standing up for the family” andblaming America’s cultural violence onHollywood. So the entertainment indus-try submissively pisses all over itself andproposes “voluntary” systems from thepathetic to the laughable.

What are rating systems supposed todo? Curb the glorification of violence andsex. But “glorification” cannot be quanti-fied. Which of the movies True Lies, Nat-ural Born Killers, Schindler’s List, and WesCraven’s New Nightmare, glorifies violenceand which denounces it? The rating sys-tem doesn’t make a distinction—they’re allrated R.

In the face of the failure of theMPAA rating system to control ournational psyche, the ratings advocatesdon’t make the logical conclusion that rat-ing systems are bogus, but instead say thatthe problem is that not enough things arerated! If our culture’s general level of sex-ual frankness and violence has risendespite the movie rating system, it’s onlybecause other forms of entertainment havenot yet been purified.

Rating systems cost money. A ratings“board” (actually, a sizable and bureaucrat-ic institution) and its cost will be borne by

the software companies. So much for thegarage-based entrepreneurs trying to pullthemselves up by their bootstraps withshareware games.

Rating systems impede creativity.They do so in a perverse way, where bru-talities are traded off against each other. Ican personally attest to the kinds of dis-cussions that happen all the time in Holly-wood: “Page 48, you’ve got the forcibleinjection of drugs. That’s an X, rewrite it.Page 72—the rape scene. That’s O.K.”This dehumanization is fine, that dehu-manization isn’t, let’s do lunch.

But the refrain is always, “We needratings systems to control what our chil-dren are exposed to.” A parent in a videostore once told me that her child mightwant to see R movies, but when she saysno, the child knew not to argue. Thecorollary, I imagine, is that when she saysno to a PG movie, the child argues. Thefavorite argument of “but all the other kidsare watching it” is used by the child tosubvert the very point of the rating system.

And ultimately, the incident holdsthe right answer to controlling what chil-dren are exposed to. Parents shoulddecide. If parents don’t want their kids toplay X-Com or see Terminator 2, theyshould say “No” and put up with the ensu-ing argument. They don’t need andshouldn’t get a ratings system to supple-ment their authority. The government hasno right to help parents say “No” at thevideo store if that governmental interfer-ence impedes your rights to develop what-ever content you feel appropriate.

We all have responsibilities. To cre-ate responsibly, to control the viewing andgaming habits of our own children, and tocall the government’s ratings initiativeswhat they are. Cynical, ineffective,oppressive, and wrong-headed. ■

Larry O’BrienEditor

A Ranton Ratings

G A M E P L A N

2 GAME DEVELOPER • DECEMBER 1994

Editor Larry O’[email protected]

Senior Editor Nicole [email protected]

Production Editors Barbara [email protected]

Nicole [email protected]

Editorial Assistant Diane [email protected]

Contributing Editors Alex [email protected]

David [email protected]

Wayne [email protected]

Editor-at-Large Alexander [email protected]

Cover Photography Charles Ingram Photography

Publisher Veronica ConstanzaGroup Director Regina Starr Ridley

Advertising Sales Staff

West/Southwest

Yvonne Labat (415) [email protected]

New England/Midwest

Kristin Morgan (212) [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 Gina OhCirculation Manager Philip Payton [email protected]

Newsstand Manager Pam SantoroReprints Krista Hiser (415) 905-2783

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 ReginaStarr Ridley

MGA EGAME

MillerFreemanA MEMBER OF THE UNITED NEWSPAPERS GROUP

Page 3: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

Dear Editor:

Iwas very excited when I saw your newmagazine. Oddly, it’s not because Iever hope to write a game per se.

My job function is aptly described(using someone else’s words) as a corpo-rate cubbyhole programmer. I’ve beenusing Toolbook and Multimedia Toolbookfor a couple years. I know it isn’t asmanly as C++ or even Visual Basic, but Ican pretty much do all the things, in 60scripting seconds, that take a Dr. Dobb’sguy six nitty-gritty pages of text and codeto describe.

Using Toolbook, calling Q+E as mydatabase access and Pinnacle’s GraphicsServer SDK, I can really get fast access toCSV datafiles and plot everything frombar charts to interactive (hot spot) bubblecharts. I create transformed reports(transports) from my customers that givegood GUI, good drill-down, and goodgraphical constructs of their data.

Using Multimedia Toolbook, I cap-ture mainframe screens and add neatpostage-stamp video to accomplish CBT.My fuzzy-grey cubbyhole for a better com-pression algorithm (or a horse)!

So why am I telling this to GameDeveloper editors? Well, you’ve heard ofinfotainment and edutainment? Why notbusutainment? Aside from its neat name?

My son plays Math Blaster for Win-dows. It rewards him with a spaceshiplaunch or trash to zap after accomplish-ing certain goals. Adults may be moreamused if surprised by some Easter eggthey stumble across. I have been knownto make a user chase a normal lookingbutton that jumps away randomly onmouseEnter. If you are very quick, you cannail it.

Recently, a new game called EarthInvasion for Windows came out. It provesquite nicely that you can have arcadeaction in a “slow” graphical environment(I can spell that word because I was oncea COBOL programmer). How much I wouldlove to splice some of that action into myapplications! Just to keep them eager togo on, of course.

Your article about OLE 2.0 (“Let’s GoEmbed,” Premier 1994) was right on, andI hope someday it will allow me all sortsof opportunities to use interesting game-creating authoring tools. Multimedia hascaused everybody to buy faster PCs. Cer-tainly, they run Windows fast enough forsomething more than Solitaire now. Let’sreplace drag-and-drop with aim-and-fire.Twitch spreadsheets? Dbase thumb?

The more I read about desktop virtu-al reality, the more I see myself runningthrough my relational database like inWolfenstein 3D, past orthogonal buildings(disguised as three-dimensional barcharts) of my data looking for the evil oddpiece of data. Not as compelling as Iwould like, but maybe Comptons hasalready patented it.

I get a small taste of this in VirtusVR, but they’re more interested in show-ing off real buildings with real wire framefireplaces and are not into anthropomor-phizing bad data (with TrueType labels)into gun-toting Nazis—yet.

Edward SaurFlemington, N.J.

Editor Larry O’Brien responds:Heaven forbid that we talk about busi-ness software development in GameDeveloper. But since you did bring it up:humans have a set of evolutionary talents

Client/ServerGaming?

We‘ve only been

around a little while,

but we‘re already

hearing from readers.

In this, the first install-

ment of our forum for

your opinions, we‘ve

got a sampling of

queries, criticism, and

suggestions.

by Our Readers

S E Z U !

GAME DEVELOPER • DECEMBER 1994 5

Page 4: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

that include competing, gathering, andhunting in a visually complex environ-ment. The computer game industry makesbillions off the fact that these are sowired into the wetware that humans willpay for the privilege of exercising them. Abusiness program that took advantage ofthese evolutionary strengths would proba-bly gain accolades for its “intuitive” and“friendly” interface.

How Do You Getto Carnegie Hall?Dear, Editor:

Could you give me some pointers asto what a college graduate shoulddo as far as looking for work and

what I should learn on my own to get intothe game developing field? I realize mostgame developers write games in theirspare time or start their own companies,but I thought you might have some sug-gestions for recent grads on what kind ofwork they should look for to help expandtheir knowledge in the field. Do gamedevelopment companies hire recent grads,and if so what would they look for?

Craig Tylervia the Internet

Editor Larry O’Brien responds:Your question is one that we get all thetime, and we always give the sameanswer. There is no answer. Due to therelatively young age of the computer gameindustry, most of the game developerswho are big names in the field startedwriting their own games themselves andcompanies grew up around them. Ask 10game developers how they got into thebusiness, and you’ll get 10 differentanswers. We plan to focus on this in thefuture, but there’s no simple answer thatwe can give you here.

Ratings BrouhahaDear Editor:

In response to Alex Dunne’s editorial,“The Ratings Game” (Bit Blasts, Sept.1994), I am sure we will see some form

of ratings system imposed on the industrysooner than later, and I can only hope thatthe system’s creators somehow keep sim-

plicity in mind (that is, they should notfocus too heavily on it).

I object to a simplistic level ratingsystem (especially the one Dunne men-tioned that was proposed by someone onCompuServe) because it does not work.Using the groups presented, Lemmingswould possibly qualify as a 5. Whilelaughing about how absurd this sounds,press the mushroom cloud to detonatethe Lemmings on the screen and bits andpieces of stuff fly out of the figures. EvenSuper Mario Brothers would rate at leasta 2—and possibly a 4, depending onwhich creature in which game you areconsidering.

Rather than try to put all of the actsin a game into one linear category, I sug-gest that the game industry use some-thing similar to what I see now for manypremium cable movie channels. Themovies are rated with a simple letter codesystem that describes the content of themovies. AL means adult language, MVmeans mild violence, GV means graphicviolence, AS means adult situations, Nmeans nudity, BN means brief nudity, andso on. Of course no system is perfect, andcertainly we need to work out what consti-tutes mild versus graphic violence. Butthe object of the rating system is toinform the potential buyer of the contentof the product, not simply line up all ofthe games in an arbitrary linear scale.

John DurbetakiGaston, Ore.

More Praise, Please!Dear Editor:

Caught your second issue and I lovedit! As an aspiring game developerand local musician I found the arti-

cles deep and informative. It’s good toknow that some people know what guyslike myself want in a magazine. I didnotice some flaws in Jim Cooper’s infor-mative article (“Computer vs. Console,”June 1994), though. The Sega Genesisruns at about 7MHz and has 128K ofmemory not 12MHz with 512K of RAM. Ithoroughly enjoyed Cooper’s article. Alland all, I think Game Developer gives aunique perspective on the gaming indus-try rarely seen in other magazines.

Also, I was hoping Game Developercould get down and dirty on comparingthe new consoles coming out and outalready. For example, comparing the awe-some Doom on the Jaguar vs. the Sega32X version. I think readers would reallylike this.

Ray RiveraNorfolk, Va.

A Real PlanDear Editor:

The boom in interactive entertainmentis clearly reflected in the glut of newcomputer entertainment periodicals,

but most developer’s magazines followedother trends. And so it seems that thedebut of Game Developer this year wastimely and auspicious.

Although Game Developer is stillthin, and has gotten pricey, each issue ismore organized and carries the promisethat later issues will be stronger. So far,the article topics have been appropriate,but unfortunately, much of the program-ming content lacks technical depth. AndreLaMothe’s article, “The Mysterious Mode13h” (Sept. 1994), was especiallyappalling. LaMothe says, “Mode 13h is anobscure graphics mode that few gamedevelopers have mastered.” Whoa! If youwant to increase readership, don’t pursuethe newbies who probably won’t subscribeanyway.

Finally, I’m glad you gave standardnames to your departments in the thirdissue, instead of article titles. The sixdepartments do a lot to make GameDeveloper a “real” magazine.

Tom Parkvia the Internet

S E Z Y O U !

6 GAME DEVELOPER • DECEMBER 1994

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

letters, and article suggestions to:

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

Attn: Larry O’BrienE-mail is even better:

Page 5: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

Child’s Play

B I T B L A S T S

Walt Disney, Watch Out!

Having recently broken my finger, Iam more than ever a slave to mycomputer. I can’t write anythingwith a normal implement, so I

have to skip the “pen-and-paper” stepand jump right to the keyboard. Notonly that, but I’m obsessed with the factthat if I put my hair into a ponytail, itwill always flop to the left (it’s messingup my karma, I think). Oh how I wish Ihad a cool, new animation program totake me away....

Autodesk’s award-winning, widelyused two-dimensional animation soft-ware, Animator Pro, has been around fora few years now. Recently, the companyannounced the upcoming launch of Ani-mator Studio Release 1, a Windows 3.1-based successor to the Animator Protools. The company calls Animator Stu-dio a “powerful...2D animation produc-tion package with direct application to2D film, TV, and video production.”

With its new product, Autodeskseeks to break the boundaries betweenmultimedia development venues and tra-ditional graphic art studios. AnimatorStudio merges the two, allowing the userto create animation with “onion skin-ning,” much like working on a light

table; integrating 24-bit Truecolor paintand plug-in interfaces for Photoshop fil-ters to be used as ink, which make thetransition from still-image editing toanimation even smoother; and providinga digital sound studio designed specifi-cally for animation. The sound modulelets you manipulate soundtracks in anyway you need to, squeezing or stretchingmusic to make it fit, recording from CDsand tapes and then layering the sounds,or adding special effects such as reverb orpitch shifting to music or vocals. Whilerecording your sound or narration, youcan view your animation in a separatevideo window simultaneously.

Autodesk Animator Studio readsand writes in many formats, includingAVI, FLI and FLS, BMP, TGA,TIFF, JPEG, GIF, and PCX. Suggest-ed list price is $795.

For More Information Contact:Autodesk Inc.2320 Marinship WaySausalito, Calif. 94965Tel: (415) 332-2344

Marriage Announcement3DLabs and Argonaut Software arejoining forces.

3DLabs’ GLINT two-dimensionalprocessor is capable of 300K shaded,depth bufffered, anti-aliased polygonsper second. It offers Gourard shadingand texture mapping, 32-bit color, two-and three-dimensional acceleration, andan on-chip Peripheral ComponentInterconnect (PCI) local bus interface.According to 3DLabs, the GLINTprocessor is “ideal” for OpenGL orother 3D APIs.

8 GAME DEVELOPER • DECEMBER 1994

Autodesk and

Microsoft offer

two of four new

animation options that

promise to help

you bring your

graphics to life. Also,

an update on the

current game ratings

trend.

Diane Andersonand Nicole Claro PRODUCTS

Page 6: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

Argonaut Software’s BRender three-dimensional API provides scalable perfor-mance, true z-buffering, and perspectivetexture mapping across a wide range ofcomputer and games platforms. BRenderis intuitive and compact.

Combine GLINT and BRender andyou’ve got high-performance renderingpower. The partnership of the two com-panies promises to be a formidable forcein the Windows and WindowsNT graph-ics market.

For More Information Contact:3DLabs Inc.2010 N. First St., Ste. 403San Jose, Calif. 95131Tel: (408) 436-3455

Winny the ToonWinToon is Microsoft’s latest productannouncement. Addressing the strong

demand for animated titles, Microsoft’snew animation playback tool for Win-dows facilitates the creation of full-screen multimedia titles.

Its toolset includes the WinToonrun-time engine. WinToon uses theVideo for Windows architecture toallow developers blue-screen capabilitiesfor superimposing images (rememberJurassic Park?). WinToon’s scan-timeengine digitizes traditionally animatedcharacters, and its playback engine helpswith design review. Microsoft promisesthe user “richer, more fluid, and morerealistic animation” with WinToon.

Because the new Windows operat-ing system will have a WinG API and adisplay control interface (DCI) builtin—along with 32-bit implementationof the Video for Windows architec-ture—multimedia soon may have setstandards.

For More Information Contact:Microsoft Inc.1 Microsoft WayRedmond, Wash. 98052-6399Tel: (800) 426-9400

One Board, One World

Matrox Graphics Inc. is now shippingthe MGA Impression Plus, a one-board,three-dimensional graphics acceleratorthat provides fast Windows, three-dimensional, and video on the PC. TheMGA Impression Plus features a flexiblearchitecture that provides complex dri-vers to optimize Windows, multimedia,CAD, and three-dimensional applica-tions. The 64-bit acclerator usesMicrosoft’s DCI API for smooth videoplayback at resolutions up to 1,280-by-1,024 at 30 frames per second. It’s alsothe only graphics accelerator that letsyou upgrade to the VESA Media Chan-nel (VM-Channel). The VM-Channel’sopen specification accepts up to 15 videostreams, so you can add on any VM-based multimedia peripheral.

The MGA Impression Plus is ship-ping for $449 and includes the MGAthree-dimensional-SuperPack, a three-dimensional CD-Rom with threegames—Sentõ, Spectre MGA, and IceHawk—three-dimensional viewing files,and three-dimensional library demos.

For More Information Contact:Matrox Graphics Inc.1055 Saint-RegisDorval, Canada H9P 2T4Tel: (514) 685-2630

Diane Anderson is editorial assistantfor Game Developer magazine. NicoleClaro is production editor for GameDeveloper magazine.

B I T B L A S T S

Industry News: More to Hate About Ratings

10 GAME DEVELOPER • DECEMBER 1994

First we had to deal with our parents forbidding us from seeing R-rated movies, thencame that music label identification scandal, now this. Now our games and the verydigital frontier we hold sacred are being threatened. Cyberia is inherently anarchic,chaotic, and methodic in its madness. Down with censorship! See Alex Dunne’s com-ments (“The Ratings Game,” Bit Blasts, Sept. 1994) and Larry O’Brien’s comments in

this month’s Game Plan.

The Recreational Software Advisory Council (RSAC), a group established to “implement andoversee a national ratings system,” recently elected Robert Roden as its president. “Sowhat!” you scorn. “Who’s he?” you ask. Well, as it turns out Robert Roden is not only thepresident of RSAC, he’s also a member of the LucasClub. He’s the “general counsel and direc-tor of business affairs” for LucasArts Entertainment.

Coincidence? Conflict of interests? Ironically, RSAC’s nine-member board isdesigned to “ensure the ratings system will be independent of the soft-ware industry’s control.” With a software bigwig as its president? Seemsunlikely.

The RSAC rating system assigns to a product a numerical score between zeroand four across three categories—violence, sex/nudity, and language. Any scores above zeroare posted on the product’s packaging. Developer participation is voluntary, but retailers arewary of carrying nonrated products.

“RSAC’s system has nothing to do with censorship or with telling developers what to put intheir games,” Roden says. (But developers who get an unfavorable rating will obviously bestigmatized; such labeling may damage or boost sales.) Roden innocently claims the organi-zation’s “purpose is to inform consumers what’s in the box.” If parents are so concerned withwhat’s in boxes they’re buying for their kids, parents should consider checking out the gamesthemselves instead of depending on an outside agency to babysit the floppy babysitter. Whatever happened to quality time?

And why haven’t Tom Sawyer and Catcher in the Rye been banned from all high school read-ing lists yet?

Page 7: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

What do Friday the 13th,Rocky, and Nightmare onElm Street have in common?If you answered, “They’re allmovies that spawned anever-ending series ofsequels,” you got it. It’s aformula that works for the

studios: After the first movie is deemed asuccess, Movie 2 or Revenge of the BadGuy From The Last Movie invariablycomes out the following year. At thesame time, the rest of the movie industrylatches onto the “look and feel” of themovie and releases look-alikes.

You’ve probably seen enough ofthese movies to know the formula. Per-haps you enjoyed a few of them, too. Buthow many of these sequels and look-alikes would you describe as unforget-table? If I saw a movie and came out of itthinking, “That was Raiders of the LostArk starring Michael Douglas,” Iwouldn’t recommend it to anyone.Unfortunately, I’m feeling this way abouta growing number of games.

I fear that this mentality is becom-ing prevalent within the game industry aswell. How many different football andbaseball games are on the market today?How many air-combat simulators? If Ihad to sum it up, I’d say, “a lot.” Arethere too many? At the rate that sequelsand look-alikes are hitting the market, I’dhazard to say that most of them arefinancially successful enough to justifytheir development. But as a developer,you’ve got to ask yourself, “Should I ridethe coattails of the latest game craze orcreate a completely new type of game andrisk an unresponsive market?” Inresponse to this dilemma, let’s look at:

• Some reasons for developing a sequelor look-alike game

• What Windows ’95 offers that willspur developers’ imaginations

• A relationship between a hardwarevendor and game developer thatspawned a stunning new game.

O.K., There areCompelling ReasonsDon’t get me wrong, there are sound rea-sons for developing look-alikes andsequels. Look-alikes tap into hot marketcrazes and can turn a great profit for theirdevelopers. The reception that Doomreceived has companies like Capstonenegotiating with Id Software to use itstechnology. As a result, Capstone’s Cor-ridor 7 looks strikingly similar toDoom—but I’ll venture that it does fairlywell in the market.

Sequels tap into name recognitionand their predecessor’s story lines and areespecially prevalent in adventure and role-playing games. The market knows theproducts already, so most of the market-ing department’s job is done. The lookand feel of the game is established, so cre-ative folks don’t have to sweat out manyconceptual changes. Perhaps much of theinterface code can be reused, saving thedevelopers’ time. With reasons like this,who’d knock the idea of a sequel?

If it’s done right, probably nobody. Iam simply championing the idea that youmight be rewarded an order of magni-tude more by going out on a limb with afresh game idea than by choosing a lessrisky game concept. Develop a trulygroundbreaking game and suddenlyyou’re all alone, and your competitors arescrambling to catch up. Although it’s

Revenge ofthe SequelSyndrome

Like many current

movies, popular

games are spawning

an explosion of

sequels, look-alikes,

and wannabes. Alex

Dunne looks at the

trend and makes his

case for originality in

concept and design.

by Alex Dunne

C R O S S F I R E

GAME DEVELOPER • DECEMBER 1994 13

Page 8: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

been talked up to death, Myst is the per-fect example. I find that when I try todescribe Myst to someone, I can’t useanother game as a reference. Myst, byvirtue of being so different, has been afinancial boon for both the Rand brothersand Broderbund.

Microsoft’s NewGame PlatformAmong the most talked about events inthe industry and one that has significantpotential to change the face of gaming isWindows ’95. Now that Microsoft hasgone through two beta cycles of the oper-ating system, developers are getting a feelfor its abilities. The capabilities Windows’95 offers over DOS should lead to someincredible new games.

Windows ’95 promises to be a com-petitive platform to DOS when it comesto game speed and adds some benefits notfound in the old 16-bit operating system.Coupled with OLE, Microsoft envisionsthe ability to drag and drop game ele-ments, the use of standard game interfacesthat developers could use to extend agame’s functionality, and the possibility ofembedding game sessions into mail mes-sages that would automatically connectyou to another player over a network ormodem.

The ability to develop network mul-tiplayer games will be greatly enhancedwith Windows ’95. Developers won’thave to write the networking code orwork around the network’s memoryspace. Using WinSockets, game develop-ers will be able to write games for a widerange of networks including Novell,TCP/IP, Windows for Workgroups,Banyan Vines, and LAN Manager.

In what looks to be a boon for thephone companies, Windows ’95 will pro-vide support for a new modem technologycalled VoiceView, which will ship as astandard feature of many modems begin-ning in 1995. VoiceView will let modemusers talk on the phone and use theirmodem over the same line. The technol-ogy is suited to games where each playertakes a turn, such as chess, allowing thecomputer to take over the phone line totransmit game data and then relinquish itback to the callers for further conversa-

tion. Simple messages (such as a chessmove) would take less than a second.

This will make modem-based gamesmuch more popular because players willbe able to enjoy the benefits of coordinat-ing team play (or cursing at each other) asthey play. This of course will be a tremen-dous boon to game distributors who bun-dle phone cradles and chiropracticcoupons with their games.

Perhaps the most significant aspectof the new Windows ’95 system is themuch touted WinG graphic library. Idon’t have to convince anyone how pitifulgame performance is under Windows 3.1.Microsoft claims that its come close tomatching DOS game speeds using theWinG library under Windows ’95.

It’s unclear when Windows ’95 isgoing to be released. As of late October, Ican only say (as Microsoft is) that it willbe available sometime between April andJune 1995. The acceptance rate of Win-dows ’95 into homes is hard to project,however, so it’s difficult to determine howlarge the market for Windows ’95 gameswill be. Given Solitaire’s popularity whenWindows 3.0 came out, Microsoft isprobably praying for some killer Win-dows ’95 games to speed the system’sadoption into family rooms. These “killer”games, I predict, will be innovative andmake the most of Windows ’95’senhancements.

Hardware AdvancementsSpur InnovationAnother angle developers are beginning topursue in their quest for breakthroughgames relates to hardware advancements.Back when sound cards first entered themarket, card vendors courted developersto write games that supported their hard-ware. As a result of Creative Labs’ dili-gence and marketing savvy, every majorgame today supports the Sound Blaster,and it has become the de facto standard.

Now, a video card manufacturer,Matrox, has come along with the power-ful new MGA Impression Plus accelera-tor card that incorporates a three-dimen-sional polygon engine. Matrox is hopingto popularize the accelerator among gameplayers and, to further this aim, has estab-lished a partnership with start-up game

developer 47-Tek. 47-Tek is creating abattle game titled Sentõ that is optimizedfor the card and features very cool real-time animation. Sentõ’s use of the card’sengine creates a unique visual experiencethat makes other fighting games pale incomparison.

Unfortunately, Sentõ’s performanceunder other video cards doesn’t match theoptimized conditions that the Matroxaccelerator provides. It’s possible to fore-see a game so narrowly optimized for aparticular computer configuration that anonoptimal setup would bring the game

to its knees. That, of course, would seri-ously affect the size of the game’s market.47-Tek has sidestepped this problem bybundling Sentõ with the hot-sellingMatrox card, but of course that’s not anoption for every developer.

Perhaps the Matrox card willbecome a de facto standard for three-dimensional polygon-based games—though I doubt it (the world can onlyhandle so many standards). On the otherhand, the symbiotic relationship betweenMatrox and 47-Tek might become astandard, one best suited for start-updevelopers looking for a niche.

So, as you begin brainstorming yournext game, keep in mind the sequel syn-drome. Experiment with new conceptsand ideas, rather than rehashing old ones.Look around at new technologies theindustry is offering, and capitalize onthem. It comes down to this: Do youwant your game to be the next ground-breaking hit or the next Romancing theStone? Take the road less travelled. ■

Alex Dunne is contributing editor forGame Developer magazine.

C R O S S F I R E

14 GAME DEVELOPER • DECEMBER 1994

Other combat games pale in comparisonto Sentõ, which uses the Matrox acceler-ator to its maximum potential.

Page 9: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

Graphics are one of the mostimportant parts of any gametoday, yet the VGA standardcomes up short in providingthe features and power manygames demand. “More col-ors!” That’s what the VGApromised over its predeces-

sors. “Pick any 256 from a quarter mil-lion!” it said. Unfortunately, asdesigned by IBM, only one mode actu-ally delivered this promise of rich color:Mode 13h.

But there was a catch. Mode 13hdid not provide many features gamedesigners wanted—features they wereaccustomed to on other platforms.Screen resolution was limited. Hard-ware scrolling was out. Page flippingwas a pipe dream. If you wrote a gameusing mode 13h, screen flicker was aconstant enemy that l imited yourgraphics and animation. Super VGAcards came out and provided more 256-color mode options, and some evenprovided page flipping. But there wereno standards between brands andmakes of VGA cards. Developers need-ed something that would work on anyVGA card, from the first IBM VGAbuilt into a PS/2 to the latest 4MBsuper duper VGA card. That some-thing turned out to be Mode X.

Back in 1989, someone got downwith the IBM VGA internals, took aclose look at the internal registers andworkings of Mode 13h, and discoveredthat nothing was etched in stone. Thisunsung hero determined that featuresfrom the EGA 16-color modes couldbe blended into Mode 13h to create ahybrid video mode with more accessi-

ble video memory and more usablehardware features. From that discoverywe have what is commonly referred toas Mode X. Mode X gives us access tothe following features that are lackingin Mode 13h: • Higher screen resolutions• Hardware screen scrolling• Page flipping (the key for smooth

animation).

The Technical Details Game programmers everywhere haveheard of Mode X, but for many it isstill mysterious or unclear. The biggestreason for confusion is that Mode X isnot a hard-and-fast video mode, but alabel for any number of derived modesthat have one thing in common:Unchained Video Memory Access. Letme explain.

A big limitation of VGA graphicmodes is that there is only a 64K win-dow of address space at segment A000through which to access graphics mem-ory. EGA 16-color modes allow accessto up to 256K of video memory bymapping four “video planes” over eachother in the same 64K of address space.So, 4 bytes of video memory are actual-ly mapped into each single byte ofaddress space. Special control registerslet the programmer set the four videoplanes which are actually mapped in atany given time. In Mode 13h, none ofthis exists. There is only one byte ofvideo memory for each memoryaddress, limiting this mode to 65,536pixels maximum. With a screen resolu-tion of 320-by-200, 64,000 of thosepixels are used. Tragically, 192K of astandard VGA card’s 256K of video

Mode XRevealed

Frustrated by the

limitations of Mode

13H? Try Mode X, the

graphics mode that

promises better

screen resolutions,

page flipping,

hardware screen

scrolling, and super

rich color.

by Matt Pritchard

M O D E X

GAME DEVELOPER • DECEMBER 1994 25

Page 10: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

memory goes to waste here, in the only256-color mode. The “secret” of ModeX is that it lets the programmer use thefull 256K of VGA memory instead of amere 64K by borrowing the EGA’s mul-tiple video plane system. This is accom-plished by turning off a control registerknown as Chain-4 (unchaining) in theVGA card. Once this is done, 4 bytes ofvideo memory are found at every memo-ry location in the A000 segment.

With a quarter million pixels avail-able to work with, the first thing peopleexperimented with was changing thescreen’s displayed resolution. Mode 13hhas no memory to spare for a largerscreen, but Mode X has enough memo-ry for a screen resolution of 512-by-512pixels. However, just because there isenough memory doesn’t mean the VGAcard can display it. Reprogramming theregisters that control the screen resolu-tion is tricky. It is possible to playaround with the VGA’s CRT controllerregisters and come up with all sorts ofstrange resolutions. However, we wantto stick with known settings that willwork on any monitor and VGA card.Two horizontal resolutions and fourvertical resolutions that follow estab-lished VGA modes fit our needs. Thesecan be combined to create eight differ-ent screen resolutions for Mode X.

The standard Mode 13h resolutionis 320-by-200 pixels and makes a gooddefault for Mode X. This is the ModeX resolution used by games such asDoom and Ultima Underworld. Thehorizontal resolution can be safelyincreased to 360 pixels by setting theVGA card to use the 28MHz dot clock(used in text modes) instead of the25MHz dot clock used in graphicsmodes. Some individuals claim that thehigher frequencies damage their moni-tors. This is not true, and there hasnever been a known case of monitordamage because of it. Regrettably,higher horizontal resolutions such as640 pixels are not available in a stan-dard VGA because of video memoryclock speed limitations.

Vertical resolution provides evenmore choices; 200-line modes are actu-ally 400-line modes in disguise. These

M O D E X

26 GAME DEVELOPER • DECEMBER 1994

#include <stdio.h>#include “setmodex.h”

void show_X_Mode(int Mode_Num, int X_Res, int Y_Res, int Scroll_Flag);void modex_rect (int UL_X, int UL_Y, int LR_X, int LR_Y, int Color);void modex_hline (int Left_X, int Right_X, int Y, int Color);void modex_vline (int Top_Y, int Bottom_Y, int X, int Color);

void main (void){

show_X_Mode(Mode_320x200, 320, 200, 0);show_X_Mode(Mode_320x240, 320, 240, 0);show_X_Mode(Mode_320x400, 320, 400, 0);show_X_Mode(Mode_320x480, 320, 480, 0);

show_X_Mode(Mode_360x200, 360, 200, 0);show_X_Mode(Mode_360x240, 360, 240, 0);show_X_Mode(Mode_360x400, 360, 400, 0);show_X_Mode(Mode_360x480, 360, 480, 0);

show_X_Mode(Mode_320x200, 512, 500, 1);

set_text_mode();printf (“This Demo is finished\n”);

}

void show_X_Mode(int Mode_Num, int X_Res, int Y_Res, int Scroll_Flag){

int x, y;

set_text_mode();if (Scroll_Flag == 0) {

printf (“\n\nPress any key to see Mode X at %d by %d resolution\n\n”,X_Res, Y_Res);

} else {printf (“\n\nPress any key to see a Mode X Scrolling window\n\n”);

}printf(“(When done, press any key to end the mode X display)”);y = scan_keyboard();

set_vga_modex(Mode_Num, X_Res, Y_Res);

for (x = 0; x < 15; x++) {modex_rect(x*3, x*3, X_Res-x*3-1, Y_Res-x*3-1, x+1);modex_hline(32+x*4, X_Res-96+x*4, 20+x*10, x+1);modex_vline(32+x*4, Y_Res-96+x*4, 20+x*10, x+1);

}

if (Scroll_Flag) {for (x = 0, y = 0; x < 100; x++, y++) set_window(x, y);for (y = 100; y >= 0; y—) set_window(100, y);for (x = 100; x >= 0; x—) set_window(x, 0);

}

y = scan_keyboard();return;

}

Listing 1. Modex.C (Continued on p. 27)

Page 11: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

modes use the MSL register in the VGA’sCRT controller to draw each scan linetwice. Set that register to 0, and youhave 400 lines of vertical resolution. Byborrowing the vertical display settingsfrom Mode 12h (640-by-480, 16-colorgraphics), we get 480 lines of glorious256-color graphics, although the screenrefresh rate slows from 70Hz to 60Hz.Finally, in this mode, setting the MSLregister back to 1 gives you 240 pixelsvertically.

Horizontal and vertical screen reso-lutions can be combined as desired, butone combination is worthy of specialnotice: 320-by-240 pixels. On a VGAmonitor, this resolution has an aspectratio of 1:1, which gives it perfectlysquare pixels and easily allows for truesquares and circles on the screen.

Once you set a screen resolution,you can set a “virtual resolution.” Thislets you create a “virtual screen” largerthan the displayed resolution. Thescreen display then becomes a windowinto the larger virtual screen, and the“window” can be moved and scrolledaround. In Mode X, this is accom-plished by setting the VGA card’s OffsetRegister with the width of the desiredvirtual screen divided by 8. This createsthe virtual screen, which can be widerthan the 320 or 360 displayed pixels.The Start Address registers the positionof the upper left corner of the screendisplay in video memory in the VGA’sCRT controller control. Because eachaddress has 4 bytes (4 pixels at 1 byteper pixel) mapped into it, when youchange the Start Address register by 1,the screen display will shift by 4 pixels.To move a single pixel at a time, use theHorizontal Pixel Planning register in theVGA’s Attribute controller. It can onlyshift the display up to 3 pixels in ModeX, but when you use it in conjunctionwith the Start Address registers,smooth, full-screen scrolling is possible.

Setting Mode XSo far, I have avoided getting very spe-cific about the VGA registers andprocesses. At the end of this article, Ihave included an assembly languagelisting, Modex.asm (Listing 3), which

GAME DEVELOPER • DECEMBER 1994 27

/* ===== Simple Mode-X Line draw routines ===== */

void modex_rect (int UL_X, int UL_Y, int LR_X, int LR_Y, int Color){

modex_hline(UL_X, LR_X, UL_Y, Color);modex_hline(UL_X, LR_X, LR_Y, Color);modex_vline(UL_Y, LR_Y, UL_X, Color);modex_vline(UL_Y, LR_Y, LR_X, Color);return;

}

void modex_hline (int Left_X, int Right_X, int Y, int Color){

int x;for (x = Left_X; x <= Right_X; x++) set_point(x, Y, Color);return;

}

void modex_vline (int Top_Y, int Bottom_Y, int X, int Color){

int y;for (y = Top_Y; y <= Bottom_Y; y++) set_point(X, y, Color);return;

}

Listing 1. Modex.C (Continued from p. 26)

Page 12: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

contains a routine that will set up ModeX at any of the eight resolutions that Idescribed and create any sized virtualscreen to order. Additional routines,which we will discuss, show how to plotpixels, read pixels, and scroll a virtualscreen. I have also included two shortdemo programs, Modex.C andModex.H, shown in Listings 1 and 2and written in Borland C++ 3.1. Theyshow each Mode X screen resolutionand virtual screen scrolling. Both list-ings use the medium memory model.

Switching the computer’s displayinto Mode X involves a few basic steps.First, you call the VGA’s BIOS to set thedisplay to Mode 13h. Some people havebypassed this step and do it manually,but I advise against it. Many superVGA cards have extra registers and fea-tures that are not part of the VGA stan-dard. Calling the BIOS allows the VGAcard to set any special or unique fea-tures it might have and ensures maxi-mum compatibility. After Mode 13h isset, you disable the Chain-4 register in

the VGA sequencer. Next, you willneed to invoke an asynchronous reseton the VGA card. While the VGA is ina reset state, you can change the hori-zontal dot clock. After ending the reset,you then load the CRT Controller’s regis-ters with the values for the desired hori-zontal and vertical resolutions. Someregisters are protected from accidentalmodification so a protection registermust be turned off before starting andturned back on when finished. Finally,the virtual screen width must be set. Atthis point, the desired version of ModeX is set up and ready to go. Usually, thenext step is to clear all the VGA’s videomemory completely, so any leftovergarbage will not appear on the screen.To do this, you need to know how towrite pixels in Mode X.

Drawing Mode X PixelsIn Mode 13h, drawing pixels is verysimple. You just write the desired bytevalue to address (320 * Y) + X. In ModeX, it gets a lot more complicatedbecause there are four pixels at eachmemory address. This is where the MapMask register comes in. As part of theVGA’s sequencer, it acts like a controlvalve for each of the four video planes,determining if a byte written by theCPU will be passed through to each ofthe four video planes or ignored com-pletely. While it is a hassle to set theMap Mask register for each pixel to plot,doing so can be beneficial if we want towrite the same color value to more thanone video plane at a time. If all videoplane access bits in the Map Mask registerare set to 1, a single byte written by theCPU will be simultaneously copied toall four video planes, setting four pixelswith a single byte. Alas, this is a topicunto itself that we must save for later.

So, how do you determine theaddress of a given pixel that you want towrite to location (X,Y)? The formula issimilar to mode 13h but requires twomore steps. First, you multiply the Yposition by the virtual screen width (ordisplay screen width if they are thesame) and add the X position—just likeMode 13h, except that the width doesnot have to be 320. Then you take the

M O D E X

28 GAME DEVELOPER • DECEMBER 1994

#ifndef __SETMODEX_H#define __SETMODEX_H

/* ===== SCREEN RESOLUTIONS ===== */

#define Mode_320x200 0#define Mode_320x400 1#define Mode_360x200 2#define Mode_360x400 3#define Mode_320x240 4#define Mode_320x480 5#define Mode_360x240 6#define Mode_360x480 7

/* ===== MODE X SETUP ROUTINES ===== */

int far pascal set_vga_modex (int Mode, int MaxXpos, int MaxYpos);void far pascal set_text_mode (void); int far pascal scan_keyboard (void);

/* ===== BASIC GRAPHICS PRIMITIVES ===== */

void far pascal set_point (int Xpos, int Ypos, int Color);int far pascal read_point (int Xpos, int Ypos);void far pascal set_window (int XOffset, int YOffset);

#endif

Listing 2. Modex.H

Mode X is not a hard-and-fast video mode,

but a label for derived modes that have

Unchained Video Memory Access.

Page 13: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

result and divide it by 4. The wholenumber that results is the address in theA000 segment that you need to write to,and the remainder is the video planenumber from 0 to 3, as shown here:

Raw_Address = (Y_pos * Screen_Width)

+ X_pos

Memory_Address = Raw_Address / 4

Plane_Number = Raw_Address MOD 4

“MOD” is the modulus/remainder function.

In C/C++ this is the “%” operator.

Because the numbers involved canexceed 65,536, most people first dividethe video width and X position by 4 toavoid an overflow and get the planenumber from the X position, as shownin this equation:

Memory_Address = (Y_pos * Screen_Width

/ 4) + X_Pos / 4

Plane_Number = X_pos MOD 4

In either case, you wind up with amemory address and plane number.The four pixels at a given memoryaddress will appear next to each other,left to right starting with plane #0. Thevery first pixel is at address 0, plane #0,followed by address 0, planes #1, #2, and#3. Then comes address 1, plane #0, andso on.

Before you can write the colorvalue to the memory address, the MapMask register must have the bit corre-sponding to the desired plane numberset. You do this by loading the value 01hfor plane #0, loading 02h for plane #1,loading 04h for plane #2, or loading 08hfor plane #3 into the AH register, loading02h into the AL register (to select the MapMask register), and OUTing the AX registerto port address 03C4h. Once that isdone, any data you write to A000:Memo-ry_Address will only go to the desiredvideo plane. Examine the SET_POINT rou-tine in Listing 3 for an example ofMode X pixel plotting.

Reading Mode X PixelsReading a pixel in Mode X is similar towriting one, except you can access onlyone video plane at a time. You still need

GAME DEVELOPER • DECEMBER 1994 29

.MODEL Medium

.286

; Macros to OUT 8 & 16 bit values to an I/O port

OUT_16 MACRO Register, Value

IFDIFI <Register>, <DX> ; If DX not setup

MOV DX, Register ; then Select Register

ENDIF

IFDIFI <Value>, <AX> ; If AX not setup

MOV AX, Value ; then Get Data Value

ENDIF

OUT DX, AX ; Set I/O Register(s)

ENDM

OUT_8 MACRO Register, Value

IFDIFI <Register>, <DX> ; If DX not setup

MOV DX, Register ; then Select Register

ENDIF

IFDIFI <Value>, <AL> ; If AL not Setup

MOV AL, Value ; then Get Data Value

ENDIF

OUT DX, AL ; Set I/O Register

ENDM

; macros to PUSH and POP multiple registers

PUSHx MACRO R1, R2, R3, R4

IFNB <R1>

PUSH R1 ; Save Register

PUSHx R2, R3, R4

ENDIF

ENDM

POPx MACRO R1, R2, R3, R4

IFNB <R1>

POP R1 ; Restore Register

POPx R2, R3, R4

ENDIF

ENDM

; ===== VGA Register Addresses =====

ATTRIB_Ctrl EQU 03C0h ; VGA Attribute Controller

GC_Index EQU 03CEh ; VGA Graphics Controller

SC_Index EQU 03C4h ; VGA Sequencer Controller

CRTC_Index EQU 03D4h ; VGA CRT Controller

MISC_OUTPUT EQU 03C2h ; VGA Misc Register

INPUT_1 EQU 03DAh ; Input Status #1 Register

; ===== VGA Register Index Values =======

PIXEL_PAN_REG EQU 033h ; Atrb Index: Pixel Pan Reg

MAP_MASK EQU 002h ; Sequ Index: Map Mask Reg

READ_MAP EQU 004h ; GC Index: Read Map Reg

START_DISP_HI EQU 00Ch ; CRTC Index: Disp Start Hi

START_DISP_LO EQU 00Dh ; CRTC Index: Disp Start Lo

; ===== other VGA Register Values & Constants =====

ALL_PLANES_ON EQU 00F02h ; Map Register + All Planes

CHAIN4_OFF EQU 00604h ; Chain 4 mode Off

Listing 3. Modex.asm (Continued on p. 30)

Page 14: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

to calculate the memory address andplane number, but you will set the ReadMap register in the VGA’s Graphics con-troller instead of the Map Mask register.Unlike the Map Mask register, this regis-ter just needs the plane number from 0to 3.

Specifically, you need to load AHwith the plane number, AL with 04h (toselect the Read Map register), and OUT AXto 03CEh. After that, you read the byteat A000:Memory_Address and it will returnthe value of the desired pixel. Examinethe READ_POINT routine in Listing 3 foran example of Mode X pixel reading.

Scrolling the ScreenOnce you know how to address pixelsin Mode X, it is easy to scroll a windowaround a larger virtual screen. All youneed to know is which pixel shouldappear in the upper left corner of thescreen. With that, you compute theaddress and plane number of the pixel.The 16-bit address is loaded into theCRT controller’s Start Address registers.You then multiply the plane number by2 and load it into the Horizontal PixelPanning register of the VGA’s Attributecontroller. Occasionally, this processmay produce shearing of the displayscreen. To avoid this, the HorizontalPixel Panning register is usually updatedduring the display’s vertical blank peri-od. Examine the SET_WINDOW routine inListing 3 for an example of virtualscreen scrolling.

Whew! This Mode X stuff is cer-tainly more involved than Mode 13h,but the results are worth it. We haveonly scratched the surface of Mode X,and in future articles I hope to coverways to use Mode X’s unique featuresto produce fast and efficient graphicsroutines such as page flipping, blockfills, and sprites. Until next time, happycoding! ■

Matt Pritchard is a software devel-oper for Lacerte Software in Dallas Texas,and the author of MODEX110 a compre-hensive freeware Mode X library. He canbe reached at [email protected] orthrough Game Developer.

M O D E X

30 GAME DEVELOPER • DECEMBER 1994

ASYNC_RESET EQU 00100h ; (A)synchronous Reset

SEQU_RESTART EQU 00300h ; Sequencer Restart

VGA_Segment EQU 0A000h ; VGA Memory Segment

VERT_RETRACE EQU 08h ; INPUT_1: Vert Retrace Bit

PLANE_BITS EQU 03h ; Bits 0-1 of X = Plane #

nil EQU 00h ; Used to mark end of list

wptr EQU WORD PTR ; Shorthand text

dptr EQU DWORD PTR ; macros for pointers

.DATA? ;==== DGROUP STORAGE NEEDED (10 BYTES) ====

CURRENT_PAGE DW 0 ; Offset of current Page

CURRENT_SEGMENT DW 0 ; Segment of VGA memory

SCREEN_WIDTH DW 0 ; Width of a line in Bytes

MAX_XOFFSET DW 0 ; Current Display X Offset

MAX_YOFFSET DW 0 ; Current Display Y Offset

; Mode X Mode list data table format...

Mode_Data_Table STRUC

M_MiscR DB ?,? ; Value of MISC_OUTPUT register

M_XSize DW ? ; X Size Displayed on screen

M_YSize DW ? ; Y Size Displayed on screen

M_XMax DW ? ; Maximum Possible X Size

M_YMax DW ? ; Maximum Possible Y Size

M_CRTC DW ? ; Table of CRTC register values

Mode_Data_Table ENDS

.CODE ; Data Tables put in CS for easy access

; CRTC Register Values for Various Configurations

MODE_Single_Line: ; CRTC Data for 400/480 Line modes

DW 04009H ; Cell Height (1 Scan Line)

DW 00014H ; Dword Mode off

DW 0E317H ; turn on Byte Mode

DW nil ; End of 400/480 line CRTC Data

MODE_Double_Line: ; CRTC Data for 200/240 Line modes

DW 04109H ; Cell Height (2 Scan Lines)

DW 00014H ; Dword Mode off

DW 0E317H ; turn on Byte Mode

DW nil ; End of 200/240 Line CRTC Data

MODE_320_Wide: ; CRTC Data for 320 Pixels

DW 05F00H ; Horz total

DW 04F01H ; Horz Displayed

DW 05002H ; Start Horz Blanking

DW 08203H ; End Horz Blanking

DW 05404H ; Start H Sync

DW 08005H ; End H Sync

DW nil ; End of 320 pixel CRTC Data

MODE_360_Wide: ; CRTC Data for 360 Pixels

DW 06B00H ; Horz total

DW 05901H ; Horz Displayed

DW 05A02H ; Start Horz Blanking

DW 08E03H ; End Horz Blanking

DW 05E04H ; Start H Sync

DW 08A05H ; End H Sync

DW nil ; End of 360 pixel CRTC Data

Listing 3. Modex.asm (Continued on p. 31)

Page 15: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

GAME DEVELOPER • DECEMBER 1994 31

DB 0E3h, 0 ; 480 scan Lines & 25 Mhz Clock

DW 320, 240 ; Displayed Pixels X,Y

DW 1088, 818 ; Max Possible X and Y Sizes

DW offset MODE_320_Wide, offset MODE_240_Tall

DW offset MODE_Double_Line, nil

MODE_320x480: ; Data for 320 by 480 Pixels

DB 0E3h, 0 ; 480 scan Lines & 25 Mhz Clock

DW 320, 480 ; Displayed Pixels X,Y

DW 540, 818 ; Max Possible X and Y Sizes

DW offset MODE_320_WIDE, offset MODE_480_Tall

DW offset MODE_Single_Line, nil

MODE_360x200: ; Data for 360 by 200 Pixels

DB 067h, 0 ; 400 scan Lines & 28 Mhz Clock

DW 360, 200 ; Displayed Pixels (X,Y)

DW 1302, 728 ; Max Possible X and Y Sizes

DW offset MODE_360_Wide, offset MODE_200_Tall

DW offset MODE_Double_Line, nil

MODE_360x400: ; Data for 360 by 400 Pixels

DB 067h, 0 ; 400 scan Lines & 28 Mhz Clock

DW 360, 400 ; Displayed Pixels X,Y

DW 648, 816 ; Max Possible X and Y Sizes

DW offset MODE_360_Wide, offset MODE_400_Tall

DW offset MODE_Single_Line, nil

;=========================================================

; int SET_VGA_MODEX (int Mode, int Max_XPos, int Max_Ypos)

;

; Sets Up the specified version of Mode X. Allows for

; the setup of of a virtual screen which can be larger

; than the displayed screen.

;

; ENTRY: Mode_Type = Desired Screen Resolution (0-7)

; 0 = 320 x 200 4 = 320 x 240

; 1 = 320 x 400 5 = 320 x 480

; 2 = 360 x 200 6 = 360 x 240

; 3 = 360 x 400 7 = 360 x 480

;

; Max_Xpos = The Desired Virtual Screen Width

; Max_Ypos = The Desired Virtual Screen Height

;

; EXIT: AX = Success Flag: 0 = Failure, -1 = Success

SVM_STACK STRUC

SVM_Table DW ? ; Offset of Mode Info Table

DD ?,?,? ; DI, SI, DS, BP, Caller

SVM_Ysize DW ? ; Vertical Screen Size Desired

SVM_Xsize DW ? ; Horizontal Screen Size Desired

SVM_Mode DW ? ; Display Resolution Desired

SVM_STACK ENDS

PUBLIC SET_VGA_MODEX

MODE_200_Tall:

MODE_400_Tall: ; CRTC Data for 200/400 Line modes

DW 0BF06H ; Vertical Total

DW 01F07H ; Overflow

DW 09C10H ; V Sync Start

DW 08E11H ; V Sync End/Prot Cr0 Cr7

DW 08F12H ; Vertical Displayed

DW 09615H ; V Blank Start

DW 0B916H ; V Blank End

DW nil ; End of 200/400 Line CRTC Data

MODE_240_Tall:

MODE_480_Tall: ; CRTC Data for 240/480 Line modes

DW 00D06H ; Vertical Total

DW 03E07H ; Overflow

DW 0EA10H ; V Sync Start

DW 08C11H ; V Sync End/Prot Cr0 Cr7

DW 0DF12H ; Vertical Displayed

DW 0E715H ; V Blank Start

DW 00616H ; V Blank End

DW nil ; End of 240/480 Line CRTC Data

; Table of Display Mode Components & Index Table

MODE_TABLE:

DW offset MODE_320x200, offset MODE_320x400

DW offset MODE_360x200, offset MODE_360x400

DW offset MODE_320x240, offset MODE_320x480

DW offset MODE_360x240, offset MODE_360x480

MODE_320x200: ; Data for 320 by 200 Pixels

DB 063h, 0 ; 400 scan Lines & 25 Mhz Clock

DW 320, 200 ; Displayed Pixels (X,Y)

DW 1302, 816 ; Max Possible X and Y Sizes

DW offset MODE_320_Wide, offset MODE_200_Tall

DW offset MODE_Double_Line, nil

MODE_320x400: ; Data for 320 by 400 Pixels

DB 063h, 0 ; 400 scan Lines & 25 Mhz Clock

DW 320, 400 ; Displayed Pixels X,Y

DW 648, 816 ; Max Possible X and Y Sizes

DW offset MODE_320_Wide, offset MODE_400_Tall

DW offset MODE_Single_Line, nil

MODE_360x240: ; Data for 360 by 240 Pixels

DB 0E7h, 0 ; 480 scan Lines & 28 Mhz Clock

DW 360, 240 ; Displayed Pixels X,Y

DW 1092, 728 ; Max Possible X and Y Sizes

DW offset MODE_360_Wide, offset MODE_240_Tall

DW offset MODE_Double_Line , nil

MODE_360x480: ; Data for 360 by 480 Pixels

DB 0E7h, 0 ; 480 scan Lines & 28 Mhz Clock

DW 360, 480 ; Displayed Pixels X,Y

DW 544, 728 ; Max Possible X and Y Sizes

DW offset MODE_360_Wide, offset MODE_480_Tall

DW offset MODE_Single_Line , nil

MODE_320x240: ; Data for 320 by 240 Pixels

Listing 3. Modex.asm (Continued on p. 32)

Page 16: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

M O D E X

32 GAME DEVELOPER • DECEMBER 1994

SET_VGA_MODEX PROC FAR

PUSHx BP, DS, SI, DI ; Preserve Registers

SUB SP, 2 ; Allocate workspace

MOV BP, SP ; Set up Stack Frame

; Make Sure Mode, X and Y Sizes are legal

MOV BX, [BP].SVM_Mode ; Get Requested Mode #

CMP BX, 8 ; 8 Modes max: Is it 0..7?

JAE @SVM_BadModeSetup ; If Not, Error out

SHL BX, 1 ; Scale BX to word

MOV SI, wptr MODE_TABLE[BX] ; CS:SI -> Mode Info

MOV [BP].SVM_Table, SI ; Save ptr for later

AND [BP].SVM_XSize, 0FFF8h ; X size Mod 8 Must = 0

MOV AX, [BP].SVM_XSize ; Get Logical Screen Width

CMP AX, CS:[SI].M_XSize ; Check against Displayed X

JB @SVM_BadModeSetup ; Report Error if too small

CMP AX, CS:[SI].M_XMax ; Check against Max X

JA @SVM_BadModeSetup ; Report Error if too big

MOV BX, [BP].SVM_YSize ; Get Logical Screen Height

CMP BX, CS:[SI].M_YSize ; Check against Displayed Y

JB @SVM_BadModeSetup ; Report Error if too small

CMP BX, CS:[SI].M_YMax ; Check against Max Y

JA @SVM_BadModeSetup ; Report Error if too big

; Make Sure there is Enough memory to Fit it all

SHR AX, 2 ; # of Bytes:Line = XSize/4

MUL BX ; DX:AX = Total mem needed

JNO @SVM_Continue ; Exit if Total Size > 256K

DEC DX ; Was it Exactly 256K???

OR DX, AX ; (DX = 1, AX = 0000)

JZ @SVM_Continue ; if so, it’s valid...

@SVM_BadModeSetup:

XOR AX, AX ; Return Value = False

JMP @SVM_Exit ; Normal Exit

@SVM_Continue:

MOV AX, 13H ; Start with Mode 13H

INT 10H ; Let BIOS Set the Mode

OUT_16 SC_INDEX, CHAIN4_OFF ;Disable Chain 4

OUT_16 SC_INDEX, ASYNC_RESET ;(A)sync Reset

OUT_8 MISC_OUTPUT, CS:[SI].M_MiscR ;Set New Timings

OUT_16 SC_INDEX, SEQU_RESTART ;Restart Sequencer

OUT_8 CRTC_INDEX, 11H ; Select Retrace End Reg

INC DX ; Point to Data

IN AL, DX ; Get Data, Bit 7=Protect

AND AL, 7FH ; Mask out Write Protect

OUT DX, AL ; And send it back

MOV DX, CRTC_INDEX ; Vga Crtc Registers

ADD SI, M_CRTC ; SI->CRTC Parameter Data

; Load Tables of CRTC Parameters from List of Tables

@SVM_Setup_Table:

MOV DI, CS:[SI] ; Get Ptr to CRTC Data Table

ADD SI, 2 ; Point to next Ptr Entry

OR DI, DI ; A nil Ptr means that we have

Listing 3. Modex.asm (Continued on p. 33)

JZ @SVM_Set_Data ; finished CRTC programming

@SVM_Setup_CRTC:

MOV AX, CS:[DI] ; Get CRTC Data from Table

ADD DI, 2 ; Advance Pointer

OR AX, AX ; At End of Data Table?

JZ @SVM_Setup_Table ; If so, go get next Table

OUT DX, AX ; Reprogram VGA CRTC reg

JMP short @SVM_Setup_CRTC ; Get next table entry

; Initialize Page & Scroll info, DI = 0

@SVM_Set_Data:

MOV CURRENT_PAGE, DI ; Offset into VGA memory=0

MOV AX, VGA_SEGMENT ; Segment for VGA memory

MOV CURRENT_SEGMENT, AX ; Save for Future LES’s

; Set Logical Screen Width, X Scroll and Our Data

MOV SI, [BP].SVM_Table ; Get Saved Mode Info Ptr

MOV AX, [BP].SVM_Xsize ; Get Display Width

MOV CX, AX ; CX = Logical Width

SUB CX, CS:[SI].M_XSize ; CX = Max X Scroll Value

MOV MAX_XOFFSET, CX ; Set Maximum X Scroll

SHR AX, 2 ; Bytes = Pixels / 4

MOV SCREEN_WIDTH, AX ; Save Width in Pixels

SHR AX, 1 ; Offset Value = Bytes / 2

MOV AH, 13h ; 13h=CRTC Offset Register

XCHG AL, AH ; Switch format for OUT

OUT DX, AX ; Set VGA CRTC Offset Reg

; Setup Data table, Y Scroll, Misc for Other Routines

MOV AX, [BP].SVM_Ysize ; Get Logical Screen Height

MOV CX, AX ; CX = Logical Height

SUB BX, CS:[SI].M_YSize ; CX = Max Y Scroll Value

MOV MAX_YOFFSET, CX ; Set Maximum Y Scroll

; Clear all of VGA Memory

OUT_16 SC_INDEX, ALL_PLANES_ON ; Select All Planes

LES DI, dptr CURRENT_PAGE ; ES:DI -> A000:0

XOR AX, AX ; AX = 0

CLD ; Block Xfer Forwards

MOV CX, 8000H ; 32K * 4 * 2 = 256K

REP STOSW ; Clear video memory!

MOV AX, 0FFFFh ; Return Success Code -1

@SVM_EXIT:

ADD SP, 2 ; Deallocate workspace

POPx DI, SI, DS, BP ; Restore Saved Registers

RET 6 ; Exit & Clean Up Stack

SET_VGA_MODEX ENDP

;=========================================================

; void SET_POINT (int X_pos, int Y_pos, int Color_Num)

;

; Plots a single Pixel on the active display page

;

; ENTRY: Xpos = X position to plot pixel at

; Ypos = Y position to plot pixel at

Page 17: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

GAME DEVELOPER • DECEMBER 1994 33

; ColorNum = Color to plot pixel with

;

; EXIT: No meaningful values returned

SP_STACK STRUC

DD ?,? ; BP, DI, Caller

SETP_Color DB ?,? ; Color of Point to Plot

SETP_Ypos DW ? ; Y pos of Point to Plot

SETP_Xpos DW ? ; X pos of Point to Plot

SP_STACK ENDS

PUBLIC SET_POINT, READ_POINT

SET_POINT PROC FAR

PUSHx BP, DI ; Preserve Registers

MOV BP, SP ; Set up Stack Frame

LES DI, dptr CURRENT_PAGE ; ES:DI -> A000:0

MOV AX, [BP].SETP_Ypos ; Get Line # of Pixel

MUL SCREEN_WIDTH ; Get Offset to Line Start

MOV BX, [BP].SETP_Xpos ; Get Xpos

MOV CX, BX ; Save to get shift Plane #

SHR BX, 2 ; X offset (Bytes) = Xpos/4

ADD BX, AX ; Offset = Offset + Xpos/4

MOV AL, MAP_MASK ; Select Map Mask Register

MOV AH, 0001b ; Start w/ Plane #0 (Bit 0)

AND CL, PLANE_BITS ; Get Plane Bits

SHL AH, CL ; Get Plane Select Value

OUT_16 SC_Index, AX ; Select Plane

MOV AL,[BP].SETP_Color ; Get Pixel Color

MOV ES:[DI+BX], AL ; Draw Pixel

POPx DI, BP ; Restore Saved Registers

RET 6 ; Exit and Clean up Stack

SET_POINT ENDP

;=========================================================

; int READ_POINT (int X_pos, int Y_pos)

;

; Gets the color of a pixel at (X_Pos, Y_Pos)

;

; ENTRY: X_pos = X position of pixel to read

; Y_pos = Y position of pixel to read

;

; EXIT: AX = Color of Pixel at (X_pos, Y_pos)

RP_STACK STRUC

DD ?,? ; BP, DI, Caller

RP_Ypos DW ? ; Y pos of Point to Read

RP_Xpos DW ? ; X pos of Point to Read

RP_STACK ENDS

READ_POINT PROC FAR

PUSHx BP, DI ; Preserve Registers

MOV BP, SP ; Set up Stack Frame

LES DI, dptr CURRENT_PAGE ; ES:DI -> A000:0

MOV AX, [BP].RP_Ypos ; Get Line # of Pixel

Listing 3. Modex.asm (Continued on p. 34)

MUL SCREEN_WIDTH ; Get Offset to Line Start

MOV BX, [BP].RP_Xpos ; Get Xpos

MOV CX, BX ; Save to get shift count

SHR BX, 2 ; X offset (Bytes) = Xpos/4

ADD BX, AX ; Offset = Offset + Xpos/4

MOV AL, READ_MAP ; GC Read Mask Register

MOV AH, CL ; Get Saved Xpos

AND AH, PLANE_BITS ; mask out Plane #

OUT_16 GC_INDEX, AX ; Select Plane to read in

XOR AX, AX ; Clear Return Value

MOV AL, ES:[DI+BX] ; Get Color of Pixel

POPx DI, BP ; Restore Saved Registers

RET 4 ; Exit and Clean up Stack

READ_POINT ENDP

;=========================================================

; void SET_WINDOW (int X_pos, int Y_pos)

;

; Since a Logical Screen can be larger than the Physical

; Screen, Scrolling is possible. This routine sets the

; Upper Left Corner of the Screen to the specified Pixel.

; When called, this routine syncronizes the display to

; the vertical blank.

;

; ENTRY: X_pos = # of pixels to shift screen right

; Y_pos = # of lines to shift screen down

;

; EXIT: No meaningful values returned

SW_STACK STRUC

DW ? ; BP

DD ? ; Caller

SW_Ypos DW ? ; Y pos of UL Screen Corner

SW_Xpos DW ? ; X pos of UL Screen Corner

SW_STACK ENDS

PUBLIC SET_WINDOW

SET_WINDOW PROC FAR

PUSH BP ; Preserve Registers

MOV BP, SP ; Set up Stack Frame

; Check if our Scroll Offsets are Valid

MOV AX, [BP].SW_Ypos ; Get Desired Y Offset

CMP AX, MAX_YOFFSET ; Is it Within Limits?

JA @SW_Exit ; if not, exit

MOV CX, [BP].SW_Xpos ; Get Desired X Offset

CMP CX, MAX_XOFFSET ; Is it Within Limits?

JA @SW_Exit ; if not, exit

; Compute proper Display start address to use

MUL SCREEN_WIDTH ; AX=YOffset * Line Width

SHR CX, 2 ; CX / 4 = Bytes into Line

ADD AX, CX ; AX=Offset of UL Pixel

MOV BX, AX ; BX=Desired Display Start

MOV DX, INPUT_1 ; Input Status #1 Register

Page 18: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

M O D E X

34 GAME DEVELOPER • DECEMBER 1994

; Wait if we are currently in a Vertical Retrace

@SW_WAIT0:

IN AL, DX ; Get VGA status

AND AL, VERT_RETRACE ; In Display mode yet?

JNZ @SW_WAIT0 ; If Not, wait for it

; Set the Start Display Address to the new window

MOV DX, CRTC_Index ; We Change the Sequencer

MOV AL, START_DISP_LO ; Display Start Low Reg

MOV AH, BL ; Low 8 Bits of Start Addr

OUT DX, AX ; Set Display Addr Low

MOV AL, START_DISP_HI ; Display Start High Reg

MOV AH, BH ; High 8 Bits of Start Addr

OUT DX, AX ; Set Display Addr High

; Wait for a Vertical Retrace to smooth out things

MOV DX, INPUT_1 ; Input Status #1 Register

@SW_WAIT1:

IN AL, DX ; Get VGA status

AND AL, VERT_RETRACE ; Vertical Retrace Start?

JZ @SW_WAIT1 ; If Not, wait for it

; Now Set the Horizontal Pixel Pan values

OUT_8 ATTRIB_Ctrl, PIXEL_PAN_REG ; Select HPP Reg

MOV AX, [BP].SW_Xpos ; Get Desired X Offset

AND AL, 03 ; Get # of Pixels to Pan

SHL AL, 1 ; Shift for 256 Color Mode

OUT DX, AL ; Fine tune the display!

@SW_Exit:

POP BP ; Restore Saved Registers

RET 4 ; Exit and Clean up Stack

SET_WINDOW ENDP

;=========================================================;

void SET_TEXT_MODE (void)

; int SCAN_KEYBOARD (void)

;

; Routines for the Demo program, MODEX.C

; SET_TEXT_MODE - Sets the VGA to MODE 3 (80 col text)

; SCAN_KEYBOARD - Gets a Key from BIOS

PUBLIC SET_TEXT_MODE, SCAN_KEYBOARD

SET_TEXT_MODE PROC FAR

MOV AH, 0 ; 0 = Set Mode Function

MOV AL, 3 ; Mode to Set = 3

INT 10h ; Call the VGA BIOS

RET ; That’s it!

SET_TEXT_MODE ENDP

SCAN_KEYBOARD PROC FAR

MOV AH, 00H ; Function #0= Read key

INT 16H ; Call Keyboard BIOS

RET ; That’s it!

SCAN_KEYBOARD ENDP

end

Listing 3. Modex.asm (Continued from p. 33)

Page 19: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

MTV MeetsCD-ROM!

If you are part of the MTV gener-ation, you are accustomed to play-ing Nintendo or Sega and alter-nately l istening to music orwatching music videos. It’s notsurprising, then, that many musi-cians and game developers arejoining forces and flocking to the

CD-ROM playground—rushing to geta corner of the market.

Old cartridge games are like newCD-ROM games; you see the land-scape of Marioland much like you seethe island of Myst. Likewise, populartwo-dimensional action games parallelnew interactive music games; you hearbullets and punches much like you playwith an interactive mixing board.Games aim for a multisensory impact;interactive music CD-ROMs featurepuzzles and challenges for players. Inboth, you feel you are a part of the arti-ficial environment. You leave yourdesktop behind and enter a world ofvivid imagination and carefully craftedcreation to envision another three-dimensional realm.

A gaming element can bringmusic to life and entice people to expe-rience music in a new, visual way. Themusic CD-ROMs available todayenable players to interact with theirfavorite artists’ clips and turn the pagesof a musical memorabilia scrap book.

Interactive music CD-ROMs aredifficult to create, design, program, anddevelop. Multimedia means there are alot of things a game maker mustaddress, polish, and then integratetogether—and, like most developmentprojects, it all comes together undertight deadlines.

Two small production houses cre-ated particularly successful music CD-ROM products: Brilliant Media in SanFrancisco, Calif., developers of PeterGabriel’s Xplora 1, and Graphix Zonein Irvine, Calif., developers of Prince’s(S) Interactive. Let’s take a look atthese two game-like CD-ROMs.

Gabriel’s Xplora 1When you load Xplora 1, you hearworld music—mystical flutes in snake-charmer tones. Then you see a suitcaseopen; Peter Gabriel emerges from itsdepths to give you an overview of thelandscape and explain the controls youwill need on your exploration. He gen-erously gives you your own suitcasewith which to collect goodies along theway. (If you fill your suitcase, you earnicons and screen savers.)

You remember a suitcase motiffrom his recent tour and realize this isno flat, dull video. The screen seemsalive. Along the top of the screen arepictures you recognize from his USalbum—each piece of art representsone of the songs from the album andeach is done by a different artist. Youbegin to feel very at home with thisinterface.

Along the side of the screen areicons that act as verbs—you controlwhat happens. You can interact, watch,resume, or quit by pointing on theimage and clicking. You click on pic-tures which correlate to songs, and youare transposed to another interfacewith a new menu. For example, youcan access the song “Digging in theDirt” by clicking on the appropriateicon—a painting of a shovel—and get

With the interface of Peter Gabriel’s Xplora 1CD-ROM, you can interact, watch, resume, orquit your play. The color stripe on the side isthe signature of Real World Records.

36 GAME DEVELOPER • DECEMBER 1994

Page 20: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

a bio on the artist who created thepainting. You can watch the video,hear from the team who worked on thevideo, or watch an interview with Peter(by this time you are on a first-namebasis with the man) who offers hisreflections on the particular song.

S’s InteractiveImagine playing Myst. Only it’s star-trekky. And purple. Very purple. Wel-come to S’ s Interactive . WhileGabriel’s game is more of an “interfacegame,” S’s Interactive is more of a“place game,” in which the player hasthe feeling of being placed in a futuris-tic environment. Instead of watchingactors act, the player acts and plays.You use the cursor to motor around.The cursor is, of course, a symbol likethis: S. It is purple and zipple-like inthe Macintosh version, white androtating in the PC version.

You can turn, go forward, up,down, and all around. Instead of beingpresented with options, you are pre-sented with a mystery, and you mustdiscover the solution on your own. It’svery three-dimensional. Instead of astatic feel, Interactive has motion and ageographical dimension—a Myst-likeenvironment with rich three-dimen-sional textures. You feel like you are ona voyage, a discovery.

Peter’s PeopleDespite Peter Gabriel’s acute interestin computer technologies, he didn’thave his own CD-ROM project until asmart, plucky developer came along.Meet Steve Nelson who, while atClaris (then a division of Apple) in

Santa Clara, Calif. , developed anobject-oriented authoring tool for in-house users called Digital Montage.After working with Apple in 1991, herealized the entertainment field wasripe and ready to harvest. With hislicensing fee from Apple for DigitalMontage, Nelson founded BrilliantMedia.

His first project was a CD-ROMdemo, which combined elements fromGabriel’s So album with available artand text. Nelson had never metGabriel, but he managed to show himthe demo—and he loved it.

Gabriel, who has always been onthe proverbial cutting edge, was defi-nitely ready for something interactive.His concerts, his killer videos, his phil-anthropic benefits are all major produc-tions where lights, sound, and actioncome together for an in-your-face andblow-your-mind sensory overload.Remember the music videos for his hits“Sledgehammer” and “Big Time”?(Reportedly, some unfortunate epilepticin Boston suffered a seizure from oneof his videos. I’d call that using a medi-um to touch your audience.)

Gabriel’s involvement gave Bril-liant Media access to a world ofresources, such as Real World (whichfilms many of Gabriel’s concerts andvideos) and The Box magazine, anotherBritish-based company closely associ-ated with Gabriel. Such a consortiumlet Bril l iant Media use much ofGabriel’s existing media—song lyrics,interviews, images, movies, and graph-ics, as well as the several paintingsGabriel had commissioned by individ-ual artists to capture the essence of

Using multimedia

technology and game

elements, two gutsy

and innovative

development houses

wooed music‘s

biggest stars— and

gave the MTV

generation a new

medium to rock to.

by Diane Anderson

M U L T I M E D I A D E V E L O P M E N T

GAME DEVELOPER • DECEMBER 1994 37

Page 21: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

each song on the US album. Thesepaintings are what add the uniquevisual element to the audio and turneach song into a multimedia experi-ence. James Johnson, who started as anintern at Brilliant Media and soonbecame the company’s digital produc-tion supervisor, jokes that even if Bril-liant Media were to have produced a“crappy interface,” the CD-ROM stillwould have been a success because ofGabriel’s incredible material. As itturned out, the interface received acco-lades and awards, including the Inter-active Media Festival’s Sparky Award.

A major part of the collectivedesign effort was the group of inde-pendent artists and contractors whowere hired for a time to scan, color,and clean up images. Troy Daniels, aBay Area graphic artist, was hired tocreate the game screen. He remembershis time on the project. “Gabriel wasvery cool to meet and working withhim made the experience unforget-table. He inspired me. We all wantedto finish with a quality product.”

Gabriel not only incited enthusi-asm and generated the music, video,and art, he oversaw the entire project.Nelson met often with Gabriel whilehe was on tour to show him Brilliant

Media’s progress. For the most part,Gabriel approved of Nelson’s work—he just added creative elements to theproduction. Gabriel’s unbelievablebreadth of talent and interests, includ-ing WOMAD (World Of Music AndDance), Amnesty International, and

Witness (a project that equips thosewho suffer human rights violationswith cameras and other technology toexpose those violations) were includedin the game. Thus, Xplora 1 is not justa rock video but a close-up of the artistand his passions.

S’s PeopleThe concept for Interactive was initiat-ed by Prince—excuse me, S—but thedesign, programming, and porting ofthe game were the work of GraphixZone.

In contrast to Gabriel, S, and hisproduction company, Paisley Park,were looking for developers. “Princegot the bug to be an interactive artistwho wanted to express himself in aproduct l ike this,” explains DaveNichols, project director. S and Pais-ley Park put the word out that theywere looking for developers to proposeideas and show presentations for possi-ble approaches. Nichols and others atGraphix Zone worked hard to showPaisley Park what they could do. Afterlooking at Graphix Zone’s stuff, Pais-ley Park decided to go with them forthe project.

M U L T I M E D I A D E V E L O P M E N T

38 GAME DEVELOPER • DECEMBER 1994

Stop! In the name of...Prince (or rather, S). In S’s Interactive, the artist formerly knownas Prince is the master of ceremonies, and players must solve puzzles to progress throughthe game’s purple, interactive maze.

Welcome to Gabriel’s secret world. Each interface element in Xplora 1 is a doorway to a differentexperience. The ear takes you to Gabriel’s World of Music and Dance, the eyes let you into hispersonal file, the nose takes you behind the scenes to a recording studio and the Grammy’s, themouth lets you enter the US database, which includes music, videos, artwork, and interviews.

Page 22: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

Nichols explains that after the ini-tial hand-off from Paisley, GraphixZone took over all the design and pro-duction of the project—they were thecreative brains and the technical mus-cle. Of course, Graphix Zone showedPaisley the stages of progression andgot feedback. It was a collaborativeeffort. Paisley supplied information,music tracks, and other material. SinceS is media-oriented, the “talent” inthis case was very willing to cooperate.S recorded a song and shot a videospecifically for this project—somethingmany developers hope artists will con-tinue to do in this medium, instead ofsimply recycling old stuff.

Obviously, Interactive ’s designneeded to match S’s persona—and itdoes. You sense S throughout theexperience. The game is seductive andmysterious—and purple.

The design and product were fun-damentally done at Graphix Zone,after the initial hand-off from Paisley.(Money makes things happen!)Graphix Zone completed the job in sixmonths—just in time for S’s birthdayon June 7.

Peter’s MachinesThe video “Kiss that Frog” on the Xplora1 CD-ROM lucidly illustrates thatGabriel and the Brilliant Media teamhad the help of human and technologicalresources. Mindblender Rock MotionTheatre, a “ride” featuring quadraphonicsound and hydraulic seats, joined forcesfor the video aspect with video directorBrett Leonard (Lawnmower Man). A.E.Bunker’s sketches were scanned into Sili-con Graphics workstations and three-dimensionally animated at Angel Studiosin Los Angeles. Leonard preconceivedideas on the computer using three-dimensional wire frames. They shotfootage with Sony’s HDTV camera.

Viewers can reinterpret and reexpe-rience “Kiss that Frog” over and overagain. It is a powerful blending of psy-chedelic graphics, organic textures, andprimitive emotion. The video makesviewers feel as if they are moving. Othervideos on Xplora 1 don’t have motion,but do contain morphs and other tricks.

M U L T I M E D I A D E V E L O P M E N T

40 GAME DEVELOPER • DECEMBER 1994

So, you want your game to have killer graphics. You’ve settled on something inter-active, but aren’t sure what the best development route is. It looks like this will bea CD-ROM project, and there is the prospect of making it an entertainment title.Where should you begin? Well, if all were for the best in this best of all possibleworlds, you’d have the money to invest in one of the Indy systems from Silicon

Graphics (SGI) and take advantage of the UNIX multiuser operating system. Then, you’dhave a gigabyte of hard disk space and multitasking would be painless. So would porting toMacintosh and PC platforms. However, if this is on your wish list, make sure you have atleast $5,000 to $25,000 for hardware alone and another $50,000 for necessary software:Alias’s Eclipse ($5,995), Mentalix’s PixelFX ($1,600), Visigenic’s Creative License 1.1($1,495), and Barco Graphics’s Creator 5.2 ($17,000) and Strike ($18,000). Granted, appli-cations will run very quickly, but for that price they better.

Wake up, you were dreaming. Unfortunately, you don’t have the money to buy such extrav-agant dreams. And since CD-I and 3DO are not yet the standard, you’ve decided to stick tomore traditional (and affordable) means. The PC looks like a good pick, but you remindyourself you want graphics and good ones. You want a three-dimensional world wheresound and video combine to anesthetize the player. For your project, budget, and goals,Macintosh is the choice.

Surprisingly, some great games were developed on the Macintosh this year. Xplora 1 andInteractive are not isolated anomalies. They aren’t the only great Macintosh-developedgames. Myst is a perfect example. But there is stiff competition from DOS and PC gamemakers. Doom has shared more wares than anyone would care to count. And Lucas’s amaz-ingly lucrative product Rebel Assault was developed on the PC. It sold 500,000 individualcopies by the summer of 1994—not even a year after its late November 1993 release.Myst sold 200,000 copies by April 1994—but that is way before its PC version even hadtime to pick up any steam. Give Myst some time selling to both Macintosh and PC con-sumers, and I’m sure its commercial success will be overwhelming. Despite its bugs, theMacintosh-made Myst is a multisensory, virtual-reality envelope pusher.

However, this is not a comparison or contrast of games, but an examination of developingon the Macintosh. And I must agree with Wayne Sikes that “the three-dimensional anima-tion graphics in Rebel Assault are excellent” (“Breaching the Rebel Base,” Chopping Block,Sept. 1994). However, the relatively affordable graphics capabilities of Macintoshes haveenabled creators of games to realize the aesthetic environments of their imaginations. Thepixels on a Macintosh screen are what make the difference. Even if PCs are more tenable,the presentation on Macintosh is superior. Programming on PCs is unequivocally smoother,but visual aspects of a game are crucial as well.

Macintoshes have simply been the best three-dimensional performers. Who else has killerapplications like QuickTime, Photoshop, Illustrator, Electric Image, and Strata? Now pro-grams like Live Picture by HSC Software let users work with really large files with FITS(Functional Interpolating Transformation System) technology.

Many people involved in such visual creation are artists (see David Siek’s “Artist vs. Arti-san” in Artist’s View, p. 63), not programmers; the Macintosh is more user-friendly to suchpeople. Of course, many computer novices get involved in the production of such titles.Musicians, animators, and marketers are all important players.

Since Apple infused the market with so many CD-ROM drives and Adobe first introduced itsgraphics applications to the Macintosh community, it seems logical that Macintosheswould be a natural place for CD-ROM developers to congregate. Competition from IBM withits new Holiday ’94 multimedia computers is good for the industry.

S G I K I C K S B U T T

Page 23: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

Although Brilliant Media didn’tshoot the videos or write the songs, thecompany assembled them to create acohesive and rich product. Program-ming this material into a tapestryrequired patience and skill. To put thewhole thing together and add theinteractive element, Brilliant Mediaused its proprietary authoring system,Digital Montage, a program based onHyperCard and developed by Nelson.Think of Digital Montage as Quark orPagemaker for multiple media. It letsthe user lay out various digital infor-mation—text, images, video—into aseamless song. It allows multiple usersto work on a file and coordinates “assetmanagement” for a whole project.

Because Digital Montage is basedon Hypercard, it provided extensibility.For the trippy morphs and sleights ofhand, Hypercard let Brilliant Mediacontrol the architecture of the game.We all know multimedia is about com-munication—not just between peoplebut between programs. Digital Mon-tage took advantage of Hypercard’scapabilities. Other important toolsBrilliant Media used included: • Digital Film Board by SuperMac (to

digitize video)

• VideoFusion by VideoLake (for cre-ating effects)

• Photoshop by Adobe (to create andmanipulate PICT, TIFF, and EPSfiles)

• Premiere by Adobe (to digitize andedit digital video)

• AfterEffects by CoSa • QuickTime and MovieShop by

Apple • SoundDesigner by Digidesign

• Video Vision and PLI • A 1.07GB turbo drives.

These products helped Nelsonand his crew tackle the most Herculeantask of all—the particular challenge ofdealing with video footage. In Eng-land, the video standard is PAL; in theU.S., it is NTSE, which made forsome difficulty. However, James John-son managed to be a competent liaison;he coordinated communications

GAME DEVELOPER • DECEMBER 1994 41

Cross the bridge and enter another realm. The amazing three-dimensional rendering of Interactive lets you get inside your computer.

Choosing from diverse facial features,players of Xplora 1 must put togetherPeter Gabriel’s passport photo.

Prince represents himself with this sym-bol—which is seen throughout hisInteractive CD-ROM.

Page 24: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

between Real World and BrilliantMedia and managed the vast soundfiles, photo PICTS, and video clipsinvolved. It was imperative theseresources were not damaged, destroyed,or lost, and so archiving was vital. Notonly did Johnson get an education inmanagement; he learned a lot abouttechnology. Fortunately, Digital Mon-tage allows for easy tracking ofchanges—an important benefit for suchcollaborative projects.

S’s MachinesFrom a creative and technical stand-point, Nichols says the people atGraphix Zone feel pleased with theirwork on Interactive. Design and pro-gramming aspects were nearly painlesswith their authoring tool, Apple MediaTool. They needed Apple Media Toolto create the main part of the programand then extend into other areas, some-thing possible from other programs likeHypercard. However, other script lan-guages aren’t as powerful as C is and willonly allow you to do limited things “inaddition to y’know making a movieplayer, being able to turn left or right orwhatever,” says Nichols.

The first part of the Apple MediaTool works like Director—only simpler.You sacrifice some control but you getthe same mapping or staging. The sec-ond part of the tool is a variation of theC programming language called AppleMedia Programming Language. This isa custom language that allowed the teamto design what it wanted to as far asnavigation, graphics, and the integrationof audio and video in a real simple inter-face. Because the designers wanted to docustom things like adding a mixer (a DJbooth where you can select CDs andplay them in a player), the team usedApple Media Kit, which enabled themto code in their own features when theywanted to do something above andbeyond Apple Media Tool.

Other code-intensive projectsrequired programming—a puzzle in thevirtual video room, morphs in thechurch, and so on. Morphing was donein Elastic Reality. Nichols claims AppleMedia made it much easier on thedevelopment team.

The Pain of PortingPorting is perhaps the biggest chal-lenge developers face today, and one

they must face if they want to cater toa wide audience. Many developers useMacromedia’s Director, which enablesdevelopers to port their games to bothPC and Macintosh platforms.

Digital Montage enabled theBrilliant Media team to complete theproject in nine months, but it didn’tprovide a straight PC link. BrilliantMedia released Xplora 1 for the Mac-intosh only and went to an outsidecompany in England to provide theCD-I and PC ports. At press time, aPC version of Xplora 1 was about to bereleased.

Graphix Zone’s Apple MediaTool compiles for Macintosh andWindows platforms, which reducedtheir porting worries. Not only didInteractive ship on time (thanks to thetool), but it was able to run on bothplatforms.

What’s Next?Big names l ike Prince and PeterGabriel mean big bucks for developerswho can create great games that work.Brilliant Media is now working onother multimedia projects for Disneyand Warner Bros., and a CD-ROMmovie project featuring Richard Drey-fuss. The exposure Brilliant Mediareceived for its pioneering work on thecollaborative Xplora 1 title couldn’thave hurt its chances of winning suchbids.

Graphix Zone’s next project is forBob Dylan—quite a change from S.Nichols says that coordinating withtalent is challenging, but his real inter-est is getting inside the minds of starsand figuring out their styles. Wheredoes Nichols see the future? “I want totry to continue to do that same thing—extend the use of both technologyand the ability to communicate some-thing that represents the artist accu-rately and in an entertaining way.”

The egomaniacal S is at it again.This t ime he’s back with a male-female-arrow-mirror-symbol-deal.Graphix Zone made the new symbolits navigating cursor. I’d call that anaccurate representation—and an enter-taining one.

M U L T I M E D I A D E V E L O P M E N T

44 GAME DEVELOPER • DECEMBER 1994

Watch an image magically change before your very eyes. Morphs for Interactive were donein Elastic Reality.

Page 25: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

Break on Thruto the Other SideNot only have multimedia merged, butindustries have as well. Making tran-scendent computer experiences is noteasy. The aim of games and the prospectof virtual reality promise the possibilityof transporting a person sitting in frontof a computer into another environ-ment. Players should forget they areusing a computer and be unaware of themouse or keyboard as they attempt tograsp another dimension.

For so long, stories have helpedpeople enter new worlds, and musichas aided in soothing the stress of lifeby connecting us with a spiritual aspectof sound. Now interactive CD-ROMsoffer us an illusion of control. Interac-tive multimedia is cool. A lot of thingsare multimedia—meals, poetry read-ings, concerts, movies—but the inter-active element is what intrigues ourhuman nature.

Hollywood, Silicon Valley, Sili-wood. It looks like information andentertainment are coming togethermore and more. Technology didn’tonly make the MTV generation, it is

now responsible for Kurt Cameron,Tia Carrere, Dennis Hopper, andStephanie Seymour showing up in

CD-ROMs this year. Conversely,Doom and Mortal Kombat will bestarring in movie theaters near yousoon. Television commercials are morecyber-aware these days. Technology(represented by the image of a laptopscreen), coupled with an icon of coun-terculture, is used to advertise tennisshoes of all things. Intel Inside pops upbetween Letterman skits. Conversely,one of our favorite Saturday NightLive personalities is featured in a com-mercial advocating the CD-I platform.Strange, but big-name designers can befound not only on the pages of fashionmagazines, but on the pages of ourfavorite techno-savvy, slick, and oh-so-very-90s ’zines.

This proves a very symbiotic rela-tionship—entertainment need be tech-nical and technology is entertaining inand of itself. ■

Diane Anderson is the editorialassistant at Game Developer.

GAME DEVELOPER • DECEMBER 1994 45

Macromedia User Journal #27 gives this advice: “To distribute Director 4movies to Windows users, you need to create a projector using the Win-dows version of Director 4. To distribute Director 4 movies to Macintoshusers, you need to create a projector using the Macintosh version of Direc-tor 4. In both cases, the projector file can then call the same Director 4

movie files. The only restriction on movie files is that they are named in accordance withPC naming conventions.” Another word on Director: Since Microsoft seems to enjoy seeingits Windy City operating system repeatedly renamed (Windows 4 or Windows 95), therehas not been OLE 2.0 support for Director’s Windows version. But Macromedia has goodnews for gamers, it looks like OLE 2.0 support will happen if Microsoft ever comesthrough.

Beware of differences in color—a display on Windows has lower color depth, and so col-ors don’t look the same. Some VGAs can show 16 colors and some can show 256. Makinga movie look the same on all platforms is no easy task. Sound is also better on a Macin-tosh. These individual aesthetic elements (mediums) are the individual parts that, whenassembled together, make the multi the operative part of multimedia.

Macromedia’s Director is a good tool to use if you are concerned with making a game thatruns on both PCs and Macintoshes. Neither platform has complete dominance (especiallywith all these strange, rumored mergers and buyouts), so it seems smart to put your gameout as many ways as possible. Visibility means marketability for your company—compe-tition is the name of this multimedia game we’re playing.

P O R T I N G

Modern Jukebox. Click on an icon, get a song. Xplora 1 pleases your eyes, your ears, and yourmind.

Page 26: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

Bandits at0x1200 High!

C H O P P I N G B L O C K

Up next on the chopping block isPacific Strike by Origin Sys-tems Inc. Pacific Strike is anaction-oriented aircraft simula-tion based in the Pacific theaterduring World War II and waswritten using Origin’s Real-Space Technology. Although

this review centers on Pacific Strike v.F1.19, I included the speech pack (soldseparately) in my analysis.

Once installed, Pacific Strike usesabout 20MB of hard disk space andrequires 583K of conventional memory aswell as at least 4MB of XMS (extended)or EMS (expanded) memory. Ideally, thegame wants expanded memory, so theJEMM.OVL expanded memory manager,

included with Pacific Strike, will automat-ically run whenever the user’s computeronly has XMS memory available. (Origin’sJEMM.OVL was written by JasonYenawine—JEMM is probably amnemonic for “Jason’s Expanded MemoryManager.”) If you have trouble runningthe game, the included OSITEST.EXEroutine, a carryover from Strike Comman-der, will diagnose your system and makerecommendations for running PacificStrike. (I saw no mention of this routinein the game literature.)

How it WorksPacific Strike’s primary executable,PACIFIC.EXE, is about 1MB in sizeand is not compressed or encrypted. Itwas written using the Borland C++Development System. This file containsessentially all the executable code in thegame. My analysis showed the presence ofa built-in cheat mode (although I haven’tyet figured out how to access it), plus lotsof internal diagnostics. PACIFIC.EXErequires a minimum of a 80386 processorand runs the game in protected mode.Comparisons of PACIFIC.EXE and theINSTALL.EXE file show that the devel-opers made provisions for two add-onmission packages. Of particular interestwas my discovery of embeddedPKWARE data compression functions. (Ilater discovered that most of the graphicterrain data was stored in ZIP format, sothe presence of a “pkunzip” functionmakes sense.)

Essentially all game data is containedin the PACIFIC.DAT file. This large file(about 16MB in size) contains 600 datafiles. I will refer to these embedded datafiles as File Records. Listing 1 gives a

Pacific Strike sends the player—acting as fighter pilot—on battle missions based on real-life occurrences (Pearl Harbor, Midway, and the like). Here, a Japanese Val plane has justbeen targeted.

54 GAME DEVELOPER • DECEMBER 1994

Page 27: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

general summary of how PACIFIC.DATis organized. Basically, you can breakPACIFIC.DAT into three parts:• An 8-byte header• A list of 74-byte File Description

Records.• A list of File Records.

The header gives the total numberof File Records and the file offset of thefirst File Record (see the PACIFICDATHEADERexample in Listing 1). Following theheader are File Description Records.Each 74-byte File Description Recordcontains information about a File Record,such as the path name of the original datafile making up the File Record, where theFile Record is located in PACIFIC.DAT(expressed as an offset from the top of thefile), and the size (in bytes) of the FileRecord. In other words, each FileDescription Record “points” to its corre-sponding File Record—as in theFILEDESCRIPTIONRECORD structure in Listing1. (In this review, I will frequently refer toFile Records using their original data filename. For example, the Corsair aircraftdata is contained in the CORSAIR.IFFFile Record.)

The File Records constitute most ofthe space in PACIFIC.DAT. Theserecords vary in size from a few to severalhundred thousand bytes and contain theactual “pieces” of game data. Many differ-ent types of File Records are stored inPACIFIC.DAT. Most File Records havean IFF file name suffix; out of 600 FileRecords, 511 are of the IFF type.

What is an IFF File Record? The IFF file name suffix is possibly amnemonic for “Information Form File.”An IFF File Record is a structured, vari-

able-length file whose design allows foran open-ended, expandable format.(Origin Systems has used the IFF FileRecord format in several games includ-ing Privateer and Strike Commander.My PREDIT, PREASY, and SCEASY“help” utilities modify various IFF FileRecords in these games.) Basically, anIFF File Record is made up of one ormore forms, with each form containingone or more records. Following are afew general rules for IFF File Recordconstruction.• All forms have a header consisting of

the “form” text string followed by a 4-byte number. This number is the num-ber of data bytes in the form.

• All records have a header consisting ofa name (that can be up to 8 bytes oftext characters) followed by a 4-bytenumber. This number is the number ofdata bytes in the record.

• Records can be located both inside andoutside a form.

• Never change the form or record headername, and never change the total num-ber of data bytes in these structures.Violation of these rules will most likelycause a system crash. (Actually, you canchange the number of record data bytesbut be very careful when restructuringany forms that may enclose the record.)

I extracted most mission and aircraftdata discussed in this article from IFFFile Records. The next two sections dis-cuss how missions and aircraft are “built”by the game engine, using the IFF FileRecords.

Mission AnatomyEssentially all mission data is stored inIFF File Records. The name of a mission

What makes the best

games fly? Flexible

data structures.

Wayne Sikes presents

a navigation plan to

steer you through the

ins, outs, ups, and

downs of Pacific

Strike.

by Wayne Sikes

GAME DEVELOPER • DECEMBER 1994 55

Page 28: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

File Record contains the geographic loca-tion of the mission and the number of themission at that location. When the gameengine chooses a mission to play, it opensand reads the IFF File Record corre-sponding to the mission. The first cam-paign mission is centered around thePearl Harbor area. The mission data islocated in IFF file PRLH-M1.IFF(PRLH-M1 is a mnemonic for PearlHarbor Mission 1). The game engine firstscans the File Description Records inPACIFIC.DAT until it finds a referenceto the PRLH-M1.IFF File Record. Oncethe correct File Description Record islocated, the offset and size data are usedto locate and read the PRLH-M1.IFFFile Record.

The mission IFF File Record con-tains several internal records describingthe various mission parameters. Themission structure is somewhat complex,

so I will only describe a few of the moreinteresting records.

The WRLDFILE record gives the nameof the IFF File Record containing the ter-rain data for the player’s location. Theprimary geographical areas the player willinteract with are in the AREA record. Thisrecord contains the name and XYZ-coor-dinate data of each important location—for example, airfields, ships, enemyencampments, navigation waypoints, andthe like.

The game’s three-dimensionalXYZ-coordinate system is interesting.Pacific Strike references all world objectsusing a 24-bit coordinate system. If youimagine the world (or an area of it) dis-played as a flat map, movement in the X-axis direction goes east-west with positive(+X) movement going east. Movement inthe Y direction goes north-south and pos-itive (+Y) movement heads north. The Z-

axis goes above-below the map and can beconsidered as altitude referenced to sealevel. Positive (+Z) movement meansincreased altitude. Using cockpit altitudemeasurements and data from AreaRecords, I calculated a map scale factor of1 XYZ unit equals 1 meter. I used thisscale factor to calculate the size of thePacific Strike “world.” This world mea-sures about 10,500 miles on a side for atotal of about 110 million square miles.The center of this world, at XYZ coordi-nates (0, 0, 0) is the center of the terrainmap currently being used. An example Cstructure for the AREA record data is givenin Listing 2.

The CAST record lists the names ofthe IFF File Records containing dialogbox text and other information used bythe cast members. Each cast member hasa Cast Member Number. Rather than ref-erencing cast members by name, the gameengine references each cast member usinga predefined Cast Member Number.

Each cast member plays a part in themission, and the PART record defines eachmember’s role. See Listing 2 for an exam-ple C structure for PART record data. Eachcast member has a data structure in thePART record. The cast member structurereferences the cast member by its CastMember Number and contains IFF FileRecord names for files describing themember and any associated weapon loadsas well as XYZ-coordinate data giving thestarting location of the cast member rela-tive to the AREA location in which thismember belongs. Finally, this structurecontains various control bytes specifyingthe actions of the member.

Aircraft ConstructionAircraft data is stored in IFF FileRecords. These records generally have afile name similar to the type of aircraftbeing described, for example, the F4F3Wildcat data is stored in the F4F3.IFFFile Record. The aircraft IFF File Recordcontains records describing various air-craft parameters. Because the overall air-craft description is rather complex, I willagain only discuss a few of the moreinteresting records.

The JETPHNME record (mnemonic for“JET Pilot NaME”) is interesting because

C H O P P I N G B L O C K

56 GAME DEVELOPER • DECEMBER 1994

HEADERBytes 0-3 Number of embedded File Records.Bytes 4-7 Offset of the first File Record.

FILE DESCRIPTION RECORDSBytes 8-XX File Description Records. Each record is 74

bytes long. XX = 7 + (74 * Number of File Records)

FILE RECORDSBytes (XX+1)-EOF File Records.

EXAMPLE HEADER AND FILE DESCRIPTION RECORD C STRUCTURES#define BYTE unsigned charstruct PACIFICDATHEADER

{long NumFileRecords; // offsets 0-3long FirstRecordOffset; // offsets 4-7};

struct FILEDESCRIPTIONRECORD {BYTE Unidentified1; // offset 0, always value of 1char OriginalPathFileName[32]; // offsets 1-32BYTE Unidentified2[33]; // offsets 33-65long FileRecordOffset; // offsets 66-69, PACIFIC.DAT

// FILE RECORD OFFSETlong FileRecordSize; // offsets 70-73, FILE RECORD

// SIZE};

Listing 1. The PACIFIC.DAT File Structure

Page 29: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

it shows that much of the Pacific Strikegame engine came directly from StrikeCommander. After all, why would aWorld-War-II aircraft name be in arecord referencing jet aircraft?

The flight modeling is contained inthe TOFF, LAND, DYNMDYNM, STBL, ATMO, THRS,and JDYN records. The DYNMDYNM record (seeListing 2 for an example C structure)contains the approximate weight of theaircraft in increments of 600 pounds. Forexample, the weight of a 4,200-poundaircraft would be given as 7. Obviously inthis flight model, the exact weight is notvery important. The STBL record containsa data byte representing the overall stabil-ity of the aircraft. These values rangedfrom an unstable Helldiver (40 decimal)to a very stable Bearcat (131 decimal). Ifyou reduce the value of this parameter toless than 20, your aircraft will never bestable enough to fly. Increase this value toget better handling.

The ATMO record appears to contain ameasure of the overall atmospheric dragor total air resistance of the aircraft. TheBaka (a very sleek, rocket-powered Japan-ese aircraft) had an ATMO record data-bytevalue of 51 (decimal), and the large andheavy Japanese Betty had a value of 230(decimal). If the ATMO record data value istoo high, your aircraft will have so muchdrag that you will never get off theground. Conversely, very small values willgive you almost no air resistance—that is,they will create inertia similar to flying inspace vacuum conditions. It will take youa long time to bleed off enough speed forlandings.

The THRS record contains aircraftthrust and propulsion data. Refer to List-

ing 2, which gives an example C structurefor THRS record data. Byte offsets 5 and 6in this structure form a 16-bit value thatrepresents aircraft engine horsepower.This horsepower value sometimes differsfrom the values referenced in the gameliterature (probably due to programmer“tweaking” to make the game moreplayable). Of course, changes in enginehorsepower ratings will drastically affectaircraft performance. Drag factors arelocated at byte offsets 12 and 16. The

drag factor at byte offset 12 appears to beused in calculating the amount of liftrequired for take-off, while the value atoffset 16 is a drag element used for calcu-lation of stall speed. Increasing the valueat offset 12 results in higher takeoffspeeds, and increasing the value at offset16 results in higher stall speeds. General-ly, the two drag factors have almost iden-tical values.

The WPNS record data consists of oneor more 10-byte structures. Each struc-ture references one weapon type. Listing2 gives an example WPNS structure. Thefirst two bytes in the structure contain theweapon load (number of bullets, bombs,and the like), and the last eight bytes givethe name of the IFF File Record thatcontains detailed weapon information.The names of the weapon File Recordscorrespond with the weapon type, forexample, 20MM.IFF (20-mm cannon),50CAL.IFF (.50-caliber machine gun),and B1000LB.IFF (1,000-pound bomb).

The HPTS record data defines wherethe weapons referenced in the WPNS record

GAME DEVELOPER • DECEMBER 1994 57

Pacific Strike’s dynamic animation capabilities depicts a shot of several aircraft sitting on acarrier. This image appears in the games opening animation sequence.

Page 30: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

are mounted on the aircraft. See Listing 2for an example of the HPTS data structure.Each mount point on the aircraft is calleda “hardpoint” and is defined by a 13-bytestructure. One or more of these structuresmake up the HPTS record data. The firstbyte in the structure gives the hardpointtype. Surveys found the following hard-point types:• Type 0: .50-caliber machine guns,

20mm cannons, and 7.7mm machineguns

• Type 1: High-Velocity Aerial Rockets• Type 2: 100- and 551-pound bombs• Type 3: 500- and 1,000-pound bombs,

Napalm, MK-13 Torpedoes• Type 4: 12.7mm machine guns

The last 12 bytes in each HPTS record

data structure give the location of thehardpoint expressed in aircraft XYZ coor-dinates. Aircraft coordinates are represent-ed as 32-bit signed numbers. The X-axisstretches from wingtip to wingtip, the Y-axis stretches from the nose of the plane tothe tail, and the Z-axis extends from thetop to the bottom of the aircraft. Origin’saircraft coordinate system follows thestandard “right-hand rule” (for those ofyou who remember a little bit of physics).The 0 or center reference position (0, 0, 0)is approximately the location of the pilotseat in the cockpit. Using references toaircraft dimensions given in the game lit-erature and various HPTS record data sam-ples, I calculated a rough XYZ-coordinatescale factor of 12 XYZ coordinate unitsequals 1 inch of distance on the aircraft or144 XYZ coordinate units equals 1 foot.For example, assume you are sitting in thecockpit of a Corsair and you increase theX-axis coordinate of a gun mount hard-point from 400 to 544. Looking out theright side cockpit window onto the wing,you would notice the gun mount hadmoved about one foot away from you.

UndocumentedKeyboard Features Several useful keystrokes are not docu-mented in Pacific Strike’s game literature.Note that some of these are active only incertain portions of the game. Duringgame startup and while onboard the carri-er, the Alt-V keystroke reads out the gameversion and the state number. The game

C H O P P I N G B L O C K

58 GAME DEVELOPER • DECEMBER 1994

#define BYTE unsigned char#define WORD unsigned int

// Data in AREA Record// Note there are Type C and S AREA RECORD data. The type is determined// by the contents of AreaType. The Type C and S data are different sizes.struct AREA_TypeC

{BYTE AreaType; // offset 0, C charchar AreaName[33]; // off 1-33, text or 0x2Elong XAxis; // off 34-37, X pos of objectlong YAxis; // off 38-41, Y pos of objectlong ZAxis; // off 42-45, Z pos of objectWORD AreaWidth; // off 46-47WORD Blank0; // off 48-49WORD AreaHeight; // off 50-51BYTE Blank1; // off 52};

struct AREA_TypeS{BYTE AreaType; // offset 0, S charchar AreaName[33]; // off 1-33, text or 0x2Elong XAxis; // off 34-37, X pos of objectlong YAxis; // off 38-41, Y pos of objectlong ZAxis; // off 42-45, Z pos of objectWORD AreaWidth; // off 46-47BYTE Blank0; // off 48};

// Data in DYNMDYNM Recordstruct DYNMDYNM

{BYTE unknown0; // off 0BYTE unknown1; // off 1BYTE AirplaneWeight; // off 2, real wt in lbs/600BYTE unknown2; // off 3};

// Data in HPTS Recordstruct HPTS

{BYTE Type; // off 0, Hardpoint type 0-4long XAxis; // off 1-4, X pos of hardpointlong YAxis; // off 5-8, Y pos of hardpointlong ZAxis; // off 9-12, Z pos of hardpoint};

// Data in PART Recordstruct PART

{WORD MemberNumber; // off 0-1, Cast Member Numberchar MemberName[16]; // 2-17, IFF File Record namechar WeaponLoad[8]; // 18-25, IFF File Record nameWORD Unknown0; // 26-27WORD Unknown1; // 28-29long XAxisRelative; // 30-33, X pos rel to AREA

Listing 2. Several Types of RECORD Data (Continued on p. 59)

Page 31: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

engine references missions using prede-fined State Numbers. When you are inthe cockpit during a mission, this samekeystroke reads out the Version and theMission name. The Mission name isessentially the name of the IFF FileRecord that contains the mission data.Pearl Harbor Mission 1 has an IFF FileRecord name of PRLH-M1.IFF andwould be displayed with Alt-V as“PRLHM1.”

The game also includes some built-indiagnostics you can activate via the Shift-D and Shift-F keycodes. Both keycodesare active only while the player is in thecockpit. The Shift-D keycode toggles areadout containing display and memoryusage parameters, including frame rate (inframes per second). The Shift-F keycodetoggles a readout of the display frame rateonly. The Alt-F keycode displays thegame score.

Experimenting withPacific StrikeDuring the course of this analysis, I pre-pared a “Pacific Strike Experimenter’s

Kit” to experiment with game data. Thekit includes PSDAT, an analysis and datamodification tool you can use for extract-ing and inserting File Records into PacificStrike. It also includes several X-Wingaircraft that I built using aircraft FileRecords. (I refer to these aircraft as X-Wings because I repositioned the gunmount hardpoints on the wingtips so thatthey appear to fire in an X-Wing man-ner.) These experimental X-Wing aircraftare much faster and have more firepowerthan the original game vehicles. TheExperimenter’s Kit (PSKIT.ZIP) is in theFlight Simulation Forum (GO FSFORUM) on CompuServe, Historic AirCombat Library.

Does It Fly? One of the messages that Origin releasedregarding Pacific Strike was that thegame tries “to raise the standard in termsof technology, graphics, sound andmusic—every aspect of the gaming expe-rience.” My analysis of Pacific Strikeshows this to be the case, but as with allevolving technology, numerous problems

exist. Overall, the RealSpace game engineworked well but it could still use someimprovement in the graphics renderingand updating areas.

RealSpace was also used in StrikeCommander, and I noticed a definitecarryover of old Strike Commander datain Pacific Strike. Some Pacific StrikeFile Records appeared to be litteredwith data such as unused pieces ofStrike Commander missions. Whiledoing the analysis for my SCEASY andSCEDIT Strike Commander utilities, Iobserved that the Strike Commanderdata was very cleanly organized andgrouped. Pacific Strike seems to be aproduct that was hurriedly throwntogether using the Strike Commanderengine. The presence of unused StrikeCommander mission data is a goodexample of the “we are behind scheduleand on a tight budget, so just make itrun” philosophy many game companiescurrently operate with.

The philosophy behind the Real-Space file formats used for data storage,that is, IFF File Records, allows for anopen-ended, expandable gaming environ-ment. The price for this technology islonger time delays during game startupand updating (while the various FileRecords are being processed), and morestringent requirements regarding comput-er system speed and memory usage. (Iturned off all the sky and water texturingoptions while doing this analysis and Ioften achieved a frame rate on my486DX2/50 of only five frames per sec-ond.) I guess its about time for that90MHz Pentium upgrade. ■

Wayne Sikes has been a computerhardware and software engineer for the last10 years. He has an extensive background inC, C++, and assembly language program-ming. He also has several years experience asa computer systems intelligence analyst,where he specialized in deciphering and dis-assembling computer code while working onclassified government projects. He hasauthored numerous computer gaming helputilities. He can be reached via e-mail [email protected] or throughGame Developer magazine.

GAME DEVELOPER • DECEMBER 1994 59

long YAxisRelative; // 34-37, Y pos rel to AREA WORD ZAxisRelative; // 38-39, Z pos rel to AREABYTE Controls[22]; // 40-61, various control bytes};

// Data in THRS Recordstruct THRS

{BYTE Blank0[5]; // off 0-4WORD HorsePower; // off 5-6, Engine HPBYTE Blank1; // off 7BYTE Flags0; // off 8BYTE Flags1; // off 9BYTE Unknown0; // off 10BYTE Blank2; // off 11BYTE Drag1Factor; // off 12, 1st drag factorBYTE Blank3[3] ; // off 13-15BYTE Drag2Factor; // off 16, 2nd drag factorBYTE Blank4[2]; // off 17-18};

// Data in WPNS Recordstruct WPNS

{WORD WeaponLoad; // Number of bullets, bombs, etcchar WeaponName[8]; // Weapon IFF File Record name};

Listing 2. Several Types of RECORD Data (Continued from p.58)

Page 32: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

Reinventingthe Death Star

B Y D E S I G N

In an era where most movie compa-nies are trying to get into the com-puter game industry, one companyhas been there for a while. LucasArtsEntertainment and its sister compa-ny, Lucasfilm, both formed by StarWars creator George Lucas, havebeen in the thick of both industries

for almost a decade. While the companiesare totally separate, they have found a cre-ative synergy in LucasArts games based onLucasfilm movies.

Although both George Lucas andLucasArts CEO Randy Komisar havepublicly criticized the digital Hollywood

movement, the close relationship betweenthese two companies has helped LucasArtsreap the benefits of George Lucas’s movie-making vision.

Using the ForceThe influence of Star Wars can be feltthroughout many computer and videogames—from the hyperspace button inAsteroids to the space dogfights in WingCommander. The Star Wars story firstappeared in games in a series of coin-oper-ated arcade games developed by Atari inthe early 1980s, which featured sequencesloosely based on scenes from the three StarWars movies: Star Wars, The Empire StrikesBack, and Return of the Jedi. The first twowere three-dimensional space combatgames using vector-based, wire-framegraphics to show action. The third game,Return of the Jedi, used more convention-al, sprite-based color graphics and featuredgame play from an isometric three-dimen-sional perspective.

To capitalize on the exploding videogame market, in 1982 Lucasfilm formed acomputer game division called LucasfilmGames. From 1982-1987, acting solely asa developer, Lucasfilm Games turned outgames such as Rescue at Fractalis and BallBlazer. In 1987, Lucasfilm Games becamea publisher, and in a corporate restructur-ing move eventually became what it istoday, LucasArts Entertainment.

After developing coin-operatedarcade games, LucasArts wanted to betterestablish itself in the game market and dis-tance itself from the shadow of the Lucasempire. And so, the company began devel-oping games for home computers that hadnothing to do with Star Wars. Its first titleswere the point-and-click adventure games

The Dark Forces game engine is capable of displaying both one-dimensional rotated bitmapsand true three-dimensional polygon objects. In this case, the characters walking around onthe deck are two-dimensional bitmaps while the spaceship and surrounding spacestationare polygon-based with bitmaps wrapped around them.

60 GAME DEVELOPER • DECEMBER 1994

Page 33: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

Maniac Mansion, Zak McKracken andthe Alien Mindbenders, Loom, and theSecret of Monkey Island, most of whichwere created using its own SCUMM(Script Creation Utility for Maniac Man-sion) game engine.

LucasArts next entered the flightsimulator genre, with games such as Bat-tlehawks 1942 and Secret Weapons of theLuftwaffe. It was from this experiencemaking flight simulators that Star Warsreemerged in the computer game world.

A License to DevelopLucasArts’ computer game division hadfirst crack at the license to create gamesbased on all of George Lucas’s films. Thisrelationship worked well on films such asIndiana Jones and the Last Crusade, whichhad multiple computer games released inconjunction with it. This partnership evenproduced Indiana Jones and the Fate ofAtlantis, a computer game-only episode ofthe Indiana Jones saga. Unfortunately, bythe time this licensing arrangement wasestablished, the Star Wars film series hadcome to an end.

But Star Wars games returned in abig way in 1991, with the release of X-Wing, a game featuring Star Wars charac-ters and themes. In X-Wing, players pilotan X-Wing fighter plane (similar to LukeSkywalker’s in the original Star Wars) fromtraining missions up to destroying theDeath Star. The X-Wing design teamintegrated the repair and management ofthe X-Wing’s resources into the game,which added to the game’s realism andimproved long-term playability. The com-bination of LucasArts’ experience withflight simulator games, a game enginesimilar to Origin’s Wing Commander

series, and Star Wars iconography, madeX-Wing a smash hit.

X-Wing was so successful that onesupplemental mission disk made PCData’s best seller list by itself. The gameeventually spawned a sequel called TieFighter.

After this success, LucasArts investi-gated making more games with the StarWars license and the result was anotherhit, Rebel Assault. This game was moreepisodic and had more linear game playthan X-Wing, and it relied more on cap-tured video images, including some takendirectly from the original Star Wars film.Rebel Assault was also among the firstgames to come out on CD-ROM for thePC and became an early success story forthis product category.

Dark ForcesContinuing its trend of using the StarWars license to showcase cutting-edgetechnology, LucasArts joined the ranks ofDoom-style games with its latest entry,Dark Forces. In this game, the playerfights storm troopers as a secret agent forthe Rebel Alliance.

While the game’s lead programmer,Daron Sinnett, admits his team studiedDoom’s design, he insists that the DarkForces game engine is 100% original. Hespeculates, however, that the data struc-tures might be close enough that a conver-sion program could convert one file struc-ture into the other.

A clear difference between the twogames is the design environment that theDark Forces design team used. While theDoom development team used a NextStepenvironment with its own tools, the DarkForces design team used a DOS-based

LucasArts is keeping

Darth Vader‘s name

alive around the

office by

continuously coming

up with new games

using iconography

from the Star Wars

film series.

by AlexanderAntoniades

GAME DEVELOPER • DECEMBER 1994 61

Page 34: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

design environment with Watcom’s Ccompiler 10.0 and AutoCAD release 12.

The Dark Forces team chose Auto-CAD over other rendering packagesbecause most of the designers were for-mer architects more accustomed to usingCAD software. A dedicated programmercustomized the AutoCAD interface usingextensions to add elements such as light-ing and wall textures. In the end, devel-opers used the base AutoCAD programmainly for the geometry of building thespace.

For the games X-Wing and TieFighter, LucasArts used a general-pur-pose, polygon-based engine that couldrender pretty much any object from theDeath Star to a space buoy. The DarkForces engine is more specific in design.It combines a true three-dimensionalengine to render the objects in the gameand a flat bitmap manipulation engine torender the characters. LucasArts is look-ing to make the performance acceptableon a 486/33MHz machine with a report-ed frame rate of 30 fps on a 486/66MHz.This game engine is called—appropriate-

ly enough—the Jedi, and LucasArtshopes to use it again in future games.

A shift in the market toward CD-ROM games caused LucasArts todecide—halfway into the project—to makeDark Forces CD-ROM based. Thisallowed the game to have more elaborateanimation sequences, but the size of theremaining game code was comparable insize to a floppy-disk-based game. Indeed,the overall design of the game is more sim-ilar to the disk-based, X-Wing-style gamesthan the CD-based Rebel Assault.

Star Wars, according to Sinnett, isingrained into the culture of LucasArts.The basic design of all Star Wars games isopen ended, to the point that designers cando almost anything they want. No directlink exists between the various games inthe Star Wars license, so every game canend with Darth Vader meeting some hor-rible new fate.

The licensing division of Lucasfilm isinvolved only when a game introduces newcharacters to the Star Wars pantheon. Anexample is the Dark Trooper, a new classof storm trooper introduced in Dark

Forces. This character had to be approvedby licensing and, ultimately, by GeorgeLucas himself.

The FutureLucasArts is looking toward the futurewith a variety of projects in the computerentertainment area, such as Commander, aprogrammable interactive simulator thatcan be an airplane, a submarine, or aspaceship. Another project is a multimedianetwork project with Japanese giant Fujit-su involving a multiplayer Doom-stylegame with a Star Wars theme. And,George Lucas is rumored to have somenew Star Wars movies in the works, whichwill undoubtedly spawn new games to cap-italize on the films’ inevitable popularity.

Regardless of these projects, onething is certain: whatever the outcome inthe interactive entertainment boom andthe Silicon-Valley-meets-Hollywoodcraze, one of George Lucas’s companieswill be right in the middle of it ■

Sander Antoniades is Game Develop-er’s editor-at-large.

B Y D E S I G N

62 GAME DEVELOPER • DECEMBER 1994

Page 35: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

Ihad spent the morning climbingcounter-clockwise, spiraling upthrough cloistered rooms and spaceslovingly lit; altars to artistic genius.Past the beautiful, the daring, theexhilarating; past Miro and Picasso,past Kandinsky and Klee. Finally, atthe very top of Manhattan’s

Guggenheim Museum—that corkscrewthrough the pulpy core of Modern Art—Iarrived at Kosuth.

“Clear, Square, Glass, Leaning,” aninstallation piece by Joseph Kosuth, con-sists of four clear squares of glass, leaningside by side against the wall at a slightangle. As I arrived on the scene, a youngart critic in pigtails and pink stockings wasattempting to ferret some meaning fromthis piece as her mother looked on.

In the center of each glass square islettered a word in neat, white type. Pacingstudiously the length of the installationand pointing her small finger at each wordin turn, she read aloud, proudly, in a clearcontralto. “Clee-ur ... Squay-ur ... Glass...um...”

Mother was there to assist. “Lean-ing,” she offered. “Leaning,” repeated thewaif, regarding the Kosuth with delicatelyfurrowed brow. “Leaning, Mommy? Isthat what makes it Art?”

Art Who? I relate that 100% Guaranteed GenuineNo B.S. anecdote to you here because Ithink it crystallizes the confusion in oursociety surrounding the very notion of art.What it is and, conversely, what it isn’t.What does any of this have to do withgame development? Read on.

Art, as a label, intends to validateboth the artist and the work. The attempt

is not always successful, because broad-based agreement as to what qualifies asArt is hard-won. Even once the label hasbeen made to stick, the question exists asto what quality content it assures. “I don’tknow art, but I know what I like” has longbeen wielded as a sharp pin to deflate suchassumptions of worth.

Many people like computer games,though few, if any, would think to definethem as Art. Some game developersmight contend that the act of creating anentertaining game is an art form, yet eventhey would hesitate to acclaim the endresult a work of art. Games are diversion,fun for fun’s sake. In any case, the veryword “game” carries with it a connotationof frivolity that effectively serves to pre-vent more serious consideration.

The visual artist involved in the pro-duction of a game fares little better,respectability-wise. Generally, our cre-ations are rarely considered Art, and weare considered more artisans than trueartists, probably ranking lower on thetotem pole than the more traditional vari-eties of commercial artist. This is partlybecause we are associated with a frivolousproduct and also because of the mediumitself, which has, until recently, deliveredgame graphics that are relatively crude.

A New Medium Of course, the rapid pace of technologyhas changed all the familiar rules. Therealm of possibility with computer graph-ics becomes ever more stunning. It is nolonger uncommon to find the dazzlingproducts of sophisticated graphics soft-ware gracing magazine covers, on televi-sion, in major films, and even featured ingalleries as, you guessed it, Art.

Artistvs. Artisan

A paradigm shift has

begun in the game

industry—arcade

action now coincides

with Art itself. So what

does that make us?

Game developers or

Arteests?

by David Sieks

A R T I S T ‘ S V I E W

GAME DEVELOPER • DECEMBER 1994 63

Page 36: december 1994 - twvideo01.ubm-us.nettwvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM... · Group Director Regina Starr Ridley Advertising Sales Staff West/Southwest Yvonne Labat

With the full range of multimediacapabilities now so commonly available,the games of today—or more to the point,those of tomorrow—are not, in a mannerof speaking, your father’s Oldsmobile. Notonly has it become possible to make gamesthat are neater looking, better sounding,and more smoothly interactive, but sud-denly (relatively so) we have at hand toolstruly fit for the artist and a new mediumfor meaningful creative expression.

Yes, I’m talking about computergames. Why not? The art world has tradi-tionally met encroaching technology withresistance (ask any airbrush artist). Yet, thecomputer is too powerful and flexible atool to be so ostracized. Witness its nearubiquitous presence in the design field.

How’s this as a vehicle for creativeexpression: graphics tools that allow live-action video, photo-illusion, and emula-tion of traditional drawing and paintingmedia with a palette of colors vastlygreater than that offered by any paintmanufacturer; quality stereo sound; anever-more-responsive array of interfaceoptions that allow the audience to becomean active participant. With the list of pos-sibilities growing almost daily, the com-puter game can become not only an artform, but an unprecedentedly interactive,malleable form of art, guided by theartist/game designer and uniquely shapedby the audience/user.

The time is ripe for a paradigm shift,where society acknowledges the computergame as a veritable art form fully as expres-sive as the novel, film, theater, ballet,opera. Capable of instilling wonder, of

exciting the imagination, of provokingthought, of captivating its audience. Capa-ble of beauty. In a word, Art.

Feet Back On the Ground What, you may be asking yourself, doesthis have to do with the two-way scrollingshooter I want to make to run on the 386?Maybe not much at all. Using the availabletechnology for meaningful creative expres-sion is a new possibility, not a new man-date. The computer game was born out offar simpler pleasures, and there is doubt-less much vigor, joy, and profit left in thefamiliar arcade genres.

Someone out there is probably cleverand creative enough to figure out a way tomake arcade action and art coincide in a16-bit cartridge. The paradigm shift Icalled for earlier begins within the indus-try. There are indications that it alreadyhas begun.

By now you might easily have heardmore than you ever wanted to hear aboutBroderbund Software’s Myst (especially ifyou’re the jealous type). Brodurbund’s suc-cess is remarkable, though, because theydispensed with elements that seemed near-ly indispensable—fluid action, readilyidentifiable goals, violence—and delivereda hauntingly evocative, beautifully ren-dered game. In a different way, Infogames’Alone in the Dark defied convention aswell by incorporating a shifting “cinemat-ic” viewpoint that introduced to computergames new possibilities for storytellingpower and depth. A fresh use of viewpointalso buoys System Shock, from LookingGlass Technologies. By combining whatthey call a “6-D” perspective with highwiretension, they keep the player literally peer-ing around each corner, attaining a level ofaudience immersion any Hollywood direc-tor would envy.

Tremendous talent exists in the fieldtoday, and gaming horizons are constantlybeing stretched—if in mostly familiardirections. But that’s what paradigms areall about. They’re tough to shake. The cre-ative impulse to make something morethan “just a game” will not likely comefrom a game developer looking to make abetter version of something we’ve alreadyseen, which is in itself a noble effort. Allgames don’t need to aspire to the level of

Art, nor should they. I can hardly imagineanything more tedious.

A New RoleAt the same time, all games would profit ifartists were given a greater role throughouta game’s development. People in theindustry tend to use “the talent” as tools—tell them only as much as they need tocrank out their little segment and makesure they do as they’re told—like some sortof AI-Paint program. (I can hear pro-grammers drooling at the very idea ofbeing able to realize their game conceptswithout relinquishing one iota of control,but no, such software does not yet exist.Just last issue, though, this magazine pro-filed software that can compose tunesgiven only thematic guidance by the user. Idoubt it’s made many friends amongst liv-ing, breathing, bill-paying musicians.)

What’s lost by such an approach ispotentially valuable creative input thatcould nudge a game in directionsunthought of. What sort of game mightdevelop if the renderers and musicianswere sitting at the table from the earliestbrainstorming sessions? What new waysmight be conceived to interweave talentwith technology, playability with beauty,strategy with color and sound? Fantasticcollaborations are waiting to happen. Vastnew horizons await exploration.

I’ve found myself dreaming lately of aday when the New York Times reviewsinteractive computer art with the samehighbrow intensity it devotes to cinematicand literary efforts. Maybe, someday, I’llmake my way to the very top of theGuggenheim and find there a small childstaring rapt into a glowing screen thatresponds to each whispered command,that whispers back and hums and singsand fills that topmost corner of the muse-um with gentle swirls and eddies of sound.The parent, smiling quietly in the back-ground, will be visibly pleased that thechild shows such appreciation for fine art.

It may be a farfetched conceit, butthat’s my job—I’m an artist. ■

Send your thoughts on art and artists inthe game industry to Dave Sieks at GameDeveloper, or e-mail him at [email protected].

A R T I S T ‘ S V I E W

64 GAME DEVELOPER • DECEMBER 1994

Art? Dogfight was created by Designers’CADD Co. of Cambridge, Mass., using sam-ple 3DStudio geometry and plug-ins fromYost Group Inc.