By now you’ve probably heard of Linux’s killer apps. It rules as a Web server, e-mail server, database server, and software development platform. But there’s a new killer app on the horizon, and we mean “killer” in more ways than one. No, we’re not talking about spreadsheets here…we’re talking games.
As the phrase goes, all work and no play makes Linux users very dull penguins. But the emergence of Linux as a bona fide gaming platform is
making it easier and easier for Us to experience lost productivity, lost sleep and sweaty palms — all the sweet pleasures that come from hours upon hours of addictive gameplay.
The leader in Linux game development today is Loki Entertainment Software, of Tustin, CA. Founded in 1998 by former software licensing attorney Scott Draeker, Loki has developed its business model around porting successful Windows games to Linux. In May, Loki shipped the Linux port of Civilization: Call To Power, Activision’s turn-based strategy game based on the series originally designed by the venerable gamemeister Sid Meir. Weighing in at over a half a million lines of C++, Civ: CTP was shipped to manufacturing only two weeks after the Windows version hit stores.
Loki’s ten months of close work with Activision’s Windows development team paid off. The result was a highly polished game that worked, looked and played just like the Windows version, and took full advantage of Linux’s SMP (Symmetric Multiprocessing) kernel.
|Civilization: Call to Power|
Last August, Loki began shipping its second title, the Linux port of Bungie Software’s Myth II, a 3D real-time strategy game of medieval combat. Early indications suggest that Myth II will be one of Linux’s top selling commercial programs this year. But Loki isn’t resting on
its laurels. The company plans to release eight new game titles this year, including Railroad Tycoon II, Raven Software’s Heretic II (a first-person 3D action game based on ID Software’s Quake II engine), Eric’s Ultimate Solitaire,andHeavy Gear II, a
futuristic 3D robot combat game based on FASA’s role playing universe. Another 16 are slated to be ported by the end of 2000. Loki has also intimated that it is porting “a well-known Sim game”, which is rumored to be Maxis Software’s Sim City 3000.
While Loki has become the Linux game leader, any gamer will tell you that the most anticipated Linux game of the year is ID Software’s Quake III: Arena, a first-person kill-everything-that-moves action title. A demo version of it has already been released on ID’s Web
site, and gamers have clogged mirror distribution servers all over the Net just to get their hands on it and experience the adrenaline rush and extreme violence firsthand. Unlike their previous titles where players roam labyrinth structures searching out AI monsters to kill, Q3: A will focus exclusively on multi-player “death-matching” over the Internet.
Additionally, there has been recent discussion by various game producers of porting such titles as the upcoming Command and Conquer: Tiberian Sun from Westwood, Starseige: Tribes II by Dynamix, Inc., and Bleem’s Playstation emulation program. While the companies in question have not yet committed to the ports, they have been under strong consideration and interest from the
Linux community has been extremely high.
The Up And Comer
Of course, porting a game to Linux is no trivial task. Unlike the Windows platform, which has the advantage of several years of refinement in game programming libraries, refined multimedia API’s (Application Program Interfaces), and device drivers for graphics and audio hardware, Linux still is very rough around the edges. Still, a tremendous amount of progress has been made, due to the contributions of a few key developers.
For example, Direct3D doesn’t exist under Linux because it is tied directly into the Win32 API’s and Microsoft has not opened it’s specifications to other platforms. Since many popular games are based on the Direct3D API, this presents a serious challenge for companies like Loki. How do they port a game like Activision’s Heavy Gear II, which has a 3D environment written for Microsoft Direct3D? The answer:Heavy Gear II’s 3D engine is being completely re-written in OpenGL by Loki’s programmers.
Fortunately for Loki, ID Software and other up-and-coming Linux game developers, the XFree86 Mesa/GLX project has already done a Linux clone of the OpenGL libraries, called Mesa. Mesa is not 100 percent compatible with OpenGL, as it was developed without SGI’s assistance. But with the
workstation-maker’s recent Linux epiphany, SGI is now working with the Mesa team to certify it as true OpenGL, and several graphics card manufacturers are getting into the act of writing Linux-compatible drivers. Among them is Nvidia for their Riva TNT and TNT2 series of video cards,
and Matrox which has received accolades from the Open Source community for publishing its G200 chip interfaces. Although the G200′s 3D performance is widely considered to be mediocre compared to other graphics cards, the next generation G400 due out this fall is expected to be a formidable contender for top Linux 3D game card once the drivers are appropriately “tweaked”, according to Enlightenment developer “Mandrake” (a.k.a. Geoff Harrison). Demand for the card is expected to be extremely high. It will initially be available only in very limited quantities, so Linux gamers looking for the latest and greatest 3D card for their systems should get their pre-orders in now.
Matrox G400 performance speculations notwithstanding, the current premier graphics chip for Linux is the Voodoo series of 3D accelerators from 3dfx Interactive. 3dfx was the first 3D game card vendor to announce support for Linux, and the only graphics card that could run Quake and Quake II in accelerated mode until very recently. It is the only 3D card supported by Loki’s Myth II, as the Windows version uses 3dfx’s proprietary Glide API as a software wrapper to interface with OpenGL. To port Glide to Linux, 3dfx enlisted the help of Darryl Strauss at Precision Insight, a software company known for its work on OpenGL on SGI’s IRIX operating system and Windows NT. Precision Insight has also brought its Direct Rendering Interface (DRI) to Linux, which allows game software to bypass the performance limitations of the X Windowing environment and communicate directly with the screen buffer hardware of 3D graphics cards.
|Myth II: Soulblighter |
Precision Insight CEO Frank LaMonica says that before DRI there was no way for developers writing applications within Linux’s X Window System to get full performance out of 3D hardware. Of course, developers could bypass X altogether, but that would mean having to do things like jump out of KDE or GNOME in order to run a game. Since developers have only just recently been able to take advantage of DRI, LaMonica says that the next generation of Linux games will show whether or not DRI is having an impact on gaming. “Based on the announcements from major gaming companies,” he
predicts, “we may not have too long to wait.” At LinuxWorld, 3dfx announced that it would support Precision Insight’s DRI, and we can expect game performance with DRI-enabled drivers to improve dramatically, if not surpassing Windows 98 and Windows NT in 3D graphics performance entirely.
The availability and maturity of Linux’s 3D graphics libraries and drivers is only one of the many challenges game programmers face. For example, to port Civilization: Call to Power, Loki had to contribute a great deal of new code to the GCC and EGCS compiler projects in order to emulate functions in Windows that had no equivalents in Linux. Myth II was also a challenge because C code in the two level editors (the tools that Myth players use to create their own game scenarios) packaged with the Windows version were built with the proprietary Microsoft Foundation Class libraries, and thus the editors for Linux had to be re-written from scratch — a total of over 50,000 lines of code. To play multimedia files, Loki had to write its own media player.
Sound is also an area in Linux which is undergoing a great deal of work by kernel programmers. Only recently has Creative Labs hired Linux programmers to write drivers for its Sound Blaster cards (the standard by which virtually all sound cards are based) and begun voicing support for the operating system. Previously, Sound Blaster kernel drivers were developed by third parties such as Forefront Technologies from published interface specifications. The new Sound Blaster Live! drivers developed in-house by Creative will eventually support 3Dpositional audio — a kind of
surround sound on steroids –and are expected to be integrated with the Linux 2.4 kernel.
Other sound drivers being developed by kernel contributors include support for Aureal A3D, another competing 3D audio standard. In addition to sound, kernel work is being done for Universal Serial Bus (USB) game peripherals such as joysticks and gamepads.
The Playstation Play
One area where Linux is breaking ground is the set-top and console game market — In April, Sony Computer Entertainment of America (SCEA) announced that their upcoming Playstation 2 (PSX2) development platform would be centered around a special development workstation that runs on Linux and is rumored to be co-designed by SGI. The workstation is estimated to cost around $20,000 and will ship in September in limited quantities to Sony’s core PSX2 developers.
The PSX2 itself uses a 128-bit CPU and custom co-processors that results in computing performance which until very recently US export laws classified as a supercomputer and forbade export to certain countries including China.
It’s not known for certain whether or not the PSX2 itself uses an embedded version of Linux, but Sunnyvale, CA-based Cygnus Solutions, known for its GNUPro C/C++ compilers on Linux and Windows, has announced PSX2 development platform versions of its products as well as a PSX2 “simulator” that runs in Linux. The simulation software, which has been in development at Cygnus for over two years, essentially duplicates the hardware specifications of PSX2, including the 128-bit “emotion engine” CPU core, floating-point coprocessors and DMA channels, and provides a complete environment that allows a game developer to create, test and debug game code. This software will be a huge help to game developers, as actual PSX2 units will not be available in quantity until later this year.
Linux for the Masses
While PC hardware compatibility and programming API’s under Linux are moving targets, many Linux users are anxiously awaiting the resurrection of the Amiga computer (now a subsidiary of PC manufacturer Gateway). Amiga recently announced that it would toss out its OS engineering efforts
with embedded-software vendor QNX in favor of using Linux as the basis of its operating environment. The original $2,000 Amiga produced by Commodore ran on its very own operating system and used the Motorola 68000 microprocessor, as well as several other special-function chipsets to provide high performance 3D graphics, digital signal processing and video bandwidth that rivaled expensive professional workstations, such as the SGI Indigo, the IBM RS/6000 and the HP Apollo. Because of its affordable price, the Amiga became a staple of the multimedia and film industry in the early 1990s, where it was heavily used as a video “toaster” (a video editing and video special effects program), and as a platform for the LightWave 3D modeling and animation. LightWave was used to produce early episodes of the sci-fi television series Babylon 5.
Not much about the new Amiga is known for certain, and its exact hardware specifications are a closely guarded secret. Amiga recently stated that they will not be producing computers per se, but rather reference designs that computer manufacturers could use to produce Amiga-compliant systems and multimedia devices, including set-top video game hardware. Gateway Inc, Amiga’s parent company, has yet to announce its own Amiga-compliant computer. In recent announcements Amiga has listed Corel, Corp. and the super-secretive Transmeta, Inc as its partners –
Transmeta employs Linux kernel creator Linus Torvalds and is said to be designing a microprocessor that performs on-the-fly binary emulation of other CPU’s. Such a chip, in theory, would allow the Amiga computer and Linux to run programs from many different operating systems.
Loki Entertainment Software is extremely interested in the Amiga, at it provides yet another platform for their games. “Because Amiga is going to be both a hardware and a software company, sort of like Apple, Amiga is going to be creating hardware that is actually designed specifically to run on Linux” says Loki CEO Scott Draeker. As an ISV, he likes the idea of Linux-specific hardware. “You know what’s going to work and what won’t” he adds. “That’s a tremendous advantage. The possibility of working on an Amiga that has some control over these issues and more of a sane upgrade plan that is controlled from quarter to quarter and from year to year is very appealing to us.”
And though the Amiga has floundered considerably in recent years, it’s worth remembering that
Linus Torvalds has consistently stated that he intends to make the kind of desktop and multimedia
tasks that made the Amiga great a primary focus of his kernel development. And don’t forget that the
Amiga was where Linux’s number two hacker, Alan Cox, got his start writing code.
The man who actually wrote the Amiga’s OS kernel, Carl Sassenrath says he’s interested to see what the marriage of Amiga and Linux will bear. But according to him, the most valuable thing Amiga can bring to the Linux community is not hardware or even a specific technology. “It will be the user base,” he says. “A user base of people that are oriented toward the creative computer arts.” Sassenrath predicts that Amiga users will drive the development of more user-friendly applications for Linux. Something the penguin could dearly use as it makes its way into the mainstream.
The King of Linux Gaming: Q & A with Loki’s Scott Draeker
Loki’s Scott Draeker
Linux Magazine: How difficult was it to make first contact with a major Windows game producer and say, “Hey, we’re this bunch of Linux guys and we’d like to port one of your games?”
Scott Draeker: It’s interesting. I had been working as a software licensing attorney and I actually had some clients that were game companies. With Activision, everything just came together — they had an awfully thoughtful and aggressive software licensing department, which was interested
in exploring opportunities like this. They were working on Civilization: Call To Power which we thought was an excellent title to come out with.
LM: So you are going to port more Activision games to the Linux platform?
SD: Absolutely. In fact we recently signed a two year, five title deal with them. The first two titles from that agreement are Heretic II and Heavy Gear II. We’re also working with other publishers, and there are a few other titles we haven’t yet announced but are in progress. We are on schedule to hit eight titles this year.
LM: When you were porting CTP, your team actually made improvements to the GCC — to what extent have you been working with the Open Source tools created by organizations like the GNU project?
SD: We couldn’t be doing what we do without the help and cooperation from the community — there were a lot of things in the Windows CIV: CTP code that the GCC and EGCS compilers had never done before. I think we broke a lot of new ground — and because we had the source and were able to make extensions, and because we had access to the people who are continually working on these projects and on these tools, we were really able to just plunge through that. Now it is part of the infrastructure that other people can now use. Today just about everything that we have done has broken some new ground. The Alpha port of CIV has broken ground; we’ve uncovered all kinds of bugs…
LM: You have an Alpha port of CIV: CTP? Wow.
SD: It’s in progress.
LM: Hardware issues have been a barrier to Linux
gaming. Can you tell me about some of your experiences with the various hardware companies?
SD: Well, we’re a registered developer with Creative Labs, and obviously they are doing some great work with Linux. They’re working on getting the SoundBlaster Live! drivers and drivers for their other products. In addition to that, 3dfx recently attended LinuxWorld Expo. Myth II
uses 3dfx products and we support its 3D acceleration.
There are other hardware companies that are making efforts as well, Matrox has certainly released a great deal of information and the support for their boards is excellent. Obviously, more is better but the whole hardware support thing is largely I think last year’s issue.
LM: Have you been thinking about sponsoring other developers to do additional porting work or are you pretty much committed to doing everything in-house?
SD: Well, so far we have done a very good job of scaling up to the number of titles that we think we need to release this year. We’ve done a very good job with the quality of our ports. Our QA and our tech support are both first rate and we get continual feedback from our customers on just those two issues. They love the fact that we answer their e-mails on the same day and on Saturdays, and when real problems come up we notify everyone. People love that. I don’t see any immediate need to contract things out to additional parties.
LM: What normally happens? Do software vendors approach you, or do you approach them to do a port?
SD: It’s risen to the point where the lines of communication are going both ways. A lot of companies are looking at the trade magazines; they are reading about Linux — one of the great things is that you have game publishers who are walking into their staff meetings on Monday morning carrying a copy of Call To Power for Linux, and people are just flabbergasted. I heard about a meeting at Apple Computer recently where somebody showed CTP running on a PowerBook. Its not out yet on the Mac OS, but the Linux version is out. I mean, people were just blown away.
So the awareness is really getting out there. People want a Linux solution. It doesn’t always make sense to do a port in-house, it doesn’t even make sense from a technical standpoint, much less a financial standpoint. It’s not just that we’ve got somebody who knows how to use Linux; we have someone who can handle the networking, someone who can handle the sound and someone who can handle the really tricky compiler issues or X issues that might come up. So we’ve probably got a competitive advantage over just about anybody out there.