Even with all it has going for it, Linux is a tough sell to some people because of one thing: games. Most kids and teenagers—and many adults, too—are into playing games on their computers. A lot of kids these days take their Playstation with them everywhere and are glued to their Gameboy Advance, and adults from the ages of 20 to 35 often aren't much different. In recent years, these "gamers," as they're called in the computer world, have helped propel the computer gaming industry to sales greater than those of the entire music industry. It was their dollars that took the opening-day sales of Halo 2 for the Xbox to over $125 million, making it the single biggest one-day moneymaker in entertainment history—even bigger than hit movies such as Spiderman.

This chapter introduces you to the world of gaming on Linux. It's a fairly mixed bag, with some excellent options in the classic game space, but a dearth of high-end commercial games. That doesn't mean that playing games on Linux can't be entertaining, but it does mean that you won't be able to play all the games you want.

Many Linux users are in the prime gaming demographic—males between the ages of 14 and 35. Linux users who aren't satisfied with their Linux game options sometimes maintain a second computer just to play games, concentrate their game playing on game consoles such as Playstation and Xbox, or set their system to dual-boot Windows and Linux—when they want to play games, they boot into Windows, but when they want to get real work done, they use Linux. Any of these may be an acceptable option for you.

The State of Gaming on Linux

The computer gaming market is a difficult, brutal business, with similarities to the moviemaking business but with none of the glamour. Hundreds of games compete to be the blockbuster title of the season or the year, but this status is achieved by only a few. The remaining games quickly wind up in the discount bins and are written up as a loss on the corporate balance sheet. In this winner-take-all market, it is difficult for a game company to justify the expense, in time and resources, to write a game exclusively for Linux, or to port a Windows game to Linux. Game publishers typically prefer to have their programmers and artists work on the next big hit for Windows, which represents over 95 percent of the computer gaming market, than to port a game to Linux, which represents only a fraction of the remaining 5 percent.

But although Linux users may never have native versions of such hit games as Command & Conquer, Everquest, the Sims, or anything from Microsoft's game division, it doesn't mean that Linux gaming is nonexistent. In fact, in the true spirit of free software, it is very much alive. Not all of the fun to be had in gaming is found in the $50 boxes sold at Best Buy and Electronics Boutique—quite the contrary, in fact. You can find thousands of Java- and Flash-based games on the Internet, and since Linux supports both Java and Flash, it can usually run these games without any problems. These games might not be the next Diablo, but they do provide countless hours of entertainment. This is probably your best resource if you are looking for games for kids.

The open source community has also created a number of games on its own. Although these games lack the professional artwork, sound effects, and musical scores of commercial games, they still offer compelling gaming fun. Also, some commercial game companies have released their game engines as open source, which means that determined programmers can create their own games similar to the commercial games based upon those same engines. Of course, these game engines are open-sourced only after they are no longer commercially useful, so games based upon them are a few years behind current technology.

Through the use of emulators, it is possible to play classic arcade, console, and PC games on Linux. There is even a program that lets you run many of the most recent Windows games directly on Linux. You may run into some minor bugs playing games this way, but usually nothing that ruins your game enjoyment.

Just as with a Windows system, you'll need a good graphics card to play games on Linux. Linux supports ATI and NVIDIA graphics cards with drivers created by the manufacturers themselves. NVIDIA support is usually considered better than that of ATI, but the performance of both manufacturers' cards under Linux is top-notch, and usually on par with the hardware's performance under Windows. There is no technical reason why great games can't run on Linux.

Note

Unfortunately, the Move CD does not come with 3D drivers that allow ATI cards to work in accelerated mode. This means that if you have an ATI card in your computer, you won't be able to enjoy these games from the Move CD. However, you can play these games in all their accelerated glory if you decide to install Linux on your hard drive.

Trying Out the Games on the Move CD

Your Move CD comes with a small sampling of open source games, but I must admit that I don't think the selections chosen by Mandrakesoft are the best representatives of Linux's gaming ability. (For instance, where's Solitaire?) But let's at least take a look at the games on your Move CD. Afterward, I'll discuss some of the other gaming options in Linux.

You'll find K Menu options for games in two places on your Move CD, but each set of menus contains the same games (listed below). For the quickest way to launch these games, go to K Menu→ Play games.

Frozen Bubble

This Bust-a-Move clone is as addictive as Tetris. The object of the game is to connect three or more colored balls together to make them fall. When you eliminate all the hanging balls, you advance a level. Use your left and right arrow keys to aim the ball launcher, and the up arrow key to launch the ball. Sometimes the better shot is to bounce the ball off a wall. Press Esc to quit the current game, and Esc again to close the program. If you're color-blind, you can launch the game from a Run window (Alt-F2) with the command frozen-bubble -cb. Now each of the balls will have a symbol inside it, making it easier for you to match them up.

ArmageTron

This is a 3D version of the classic Tron game. It can be configured for up to four-person play, and has a network setup so you can compete against others, either on your local network or over the Internet. Use the Z and X keys to turn left and right, respectively, and the V key to brake. You can accept the default settings and get right into playing the game, but if you want to set up network or team play, you need to read through the menus and make the appropriate selections. Just use the arrow keys to navigate the menus and the Enter key to accept options. Press Esc, as usual, to get out of the game.

Cannon Smash

The name "Cannon Smash" is a bit deceiving; the game is actually a 3D ping-pong game. It's fairly complex for such a simple idea, because it tries to incorporate real physics into the movement of the ball. Choose "How to play" to learn how to control your player and the ball, and then progress through the Training and Practice menu choices to improve your skills. You can compete with others on your own network or across the Internet.

Chromium

This is a top-scroller shoot-em-up game. As in all such games, the basic objective is to shoot anything that moves or that is shooting at you. Most importantly, don't let any enemy ships get to the bottom of the screen, or you'll lose a life. Some objects give your ship special abilities. Just fly over them to pick up the abilities, or, if you have no use for these power-ups, let them scroll to the bottom of the screen for extra points or extra lives. Use the mouse to control your ship's movements, and the left mouse button to fire. The P key pauses the game, and Esc closes it.

LBreakout2

This is a feature-enhanced clone of the classic Breakout game. This one features explosive and magnetic balls, as well as explosive, regenerative, and indestructible bricks (see Figure 5-1). The objective of the game is to destroy all the bricks on the screen by hitting them with a ball. You control the movement of the ball by deflecting it off a paddle at the bottom. Control the paddle movement with the left and right arrow keys. Use the spacebar to fire the ball at the start of each round.

Tux Racer

This game lets you take on the role of Tux the Linux penguin as he races down a mountainside slalom course, picking up herring along the way. It's a slippery slope, and you have to go as fast as you can while being careful not to miss a single fish. If you cross the finish line before your time limit is up, you advance a level. Use the arrow keys to control Tux's movements. The up arrow increases your speed and the down arrow puts on the brakes. This game is pretty simple, but fun.

Crack Attack

This game looks a bit like a Tetris clone, but it's actually much more difficult. The object of the game is to line up three or more blocks of the same color, either vertically or horizontally, by moving the selection bracket around with the arrow keys and using the spacebar to switch the position of the bracketed blocks. All the while, new blocks are added from the bottom, and occasionally broad red bars are dropped from the top. To make it more difficult, the selection bracket only switches blocks horizontally. The red bars dropping from the top are "junk" bars that you can't eliminate until you change them to normal colored blocks, which you do by removing any blocks that are touching a red bar. In the two-player version of this game, the red bars are dropped when your opponent eliminates four or more blocks at the same time. Press Esc to close out of the game.

Figure 5-1. LBreakout2 is an enhanced version of the classic Breakout

Cannon Smash, Chromium, and Tux Racer all require a video card with hardware 3D acceleration. This functionality should be automatically enabled for any recent NVIDIA card.

Getting Free Games on the Web

The games on the Move CD barely scratch the surface of the free games available on Linux. The free software community has created a number of great games that can provide many hours of entertainment. However, there's no getting around the fact that they do not approach the almost lifelike look of today's top commercial games.

One of the best places to get free Linux games is http://freshmeat.net, an online database of free open source software. And it is not limited to just games; in fact, it's an invaluable resource any time you are looking for an open source program to fulfill a specific need. From the Freshmeat homepage, click the Browse link to see a selection of categories, and then click Games/Entertainment to see the games available for download. Many of these games run on Windows as well, so you can try them out before you switch to Linux.

The diversity of games available is incredible. There are flight simulators, strategy games, world-class chess programs, and even a remake of Dance Dance Revolution called pydance (shown in Figure 5-2), which is available at http://icculus.org/pyddr.

Figure 5-2. A dance session in pydance

Trying Out Game Emulators for Classic Games

The 1980s to early 1990s were the heyday of the arcade game. Classics such as Pac-Man and Asteroids gave way to visually stunning games like Dragon's Lair, which were in turn eclipsed by one-on-one combat games like Mortal Kombat and Street Fighter. Arcade games flourished at a time when personal home computers and consoles such as Atari and Nintendo didn't have enough processing or graphic power to deliver fast-paced, visually appealing games.

This situation began to change by the mid-1990s. Consoles such as Nintendo 64 and Playstation were capable of delivering a gaming experience similar to or even better than that of an arcade game. And with the release of Intel's Pentium processor, the PC also became a more capable gaming platform. These days, the classic video arcade is all but gone, and the forefront of gaming technology is on advanced consoles such as the Playstation 2, Xbox, and 64-bit processor PCs with 256 MB of video RAM.

Computer advances have made games such as Doom 3, Halo, and Final Fantasy X possible, but along the way, something has been lost. The new-generation games certainly offer breathtaking graphics and voiceovers from somewhat famous actors, but you often have to wade through 100-page instruction manuals and learn complex key combinations to perform actions. Most new games lack the easy playability of great arcade games of the past such as Donkey Kong, Pac-Man, and Super Mario Brothers, or of classic old PC games such as Tetris or King's Quest. The fact that you can learn how to play these games in just a few seconds is just one reason why old games continue to be fun and popular despite their primitive graphics.

In the fashion world, fashions tend to repeat themselves. What once was old is new again. The same is true in the automotive industry—just look at the Dodge Prowler or the new Ford Mustang and tell me they're not retro. And now the gaming world is starting to see this trend as classic, or retro, games come back into vogue. Not only has the gaming world created new games in the classic style to play on the Web or on cell phones, it is also providing game emulators that allow you to play classic games using the games' original code. An emulator is, technically, a re-creation of a hardware device in software. In this case, emulators are re-creations of original arcade machines and game consoles. That means that when you play Pac-Man in a game emulator, you are playing the exact same Pac-Man that was originally available only at the arcade, right down to the software bugs.

XMAME (http://x.mame.net) is the program that makes classic arcade emulation possible. This game emulator runs only on X-capable graphic systems such as Linux and UNIX, but it is a port of the MAME emulator written for Windows. XMAME and MAME have identical features, so you don't gain any advantage by using the emulator on a particular platform. Visit the self-proclaimed largest MAME resource on the Web, http://www.mameworld.net, or the XMAME homepage to learn more about installing and configuring XMAME. Though the Move CD does not include XMAME, you can install it easily once you've put a Linux distribution on your hard drive.

Figure 5-3 shows one of my favorite classic arcade games, Rampage, running in XMAME. There are also emulators for console systems such as the original Atari, Nintendo, Super Nintendo, and Playstation, as well as countless others.

Figure 5-3. Rampage running inside of XMAME

Running Commercial Linux Games

Despite everything I've said previously, there are commercial games that run on Linux. In fact, some recent blockbusters, like Neverwinter Nights, Unreal Tournament 2004, and Doom3, have Linux versions. A few small game publishers also develop Linux games—check out BlackHoleSun Software's very fun and highly addictive Bunnies game (http://www.blackholesun.com) or the games from Garage Games (http://www.garagegames.com). And there are efforts underway to port a few popular Windows games to Linux.

Hardly anything elicits as much excitement in the Linux world as the announcement that an important new game is to have a native Linux version. Linux users anxiously awaited the release of the Linux version of the Dungeons & Dragons game Neverwinter Nights (Figure 5-4). It was eventually released a few months after the Windows version. You won't find a boxed Linux set in the stores, though. Instead, you have to purchase the Windows version and download some additional files from the game publisher's web site to get it to play under Linux. I've spent many happy hours playing this game on my Linux gaming machine.

Doom3, one of the most anticipated games ever, offers a Linux version as well. As with Neverwinter Nights, you must purchase the Windows boxed set and download some Linux files in order to play the game. If you want to try it before you buy it, you can get a demo of the Linux version at http://www.doom3.com. The game's publisher, iD, provides other Linux games as well, such as Return to Castle Wolfenstein.

Figure 5-4. A scene from Neverwinter Nights: Hordes of the Underdark

Several years ago, a company named Loki Software attempted to make a business out of porting popular Windows games to run natively under Linux. Unfortunately, the company folded, but if you keep an eye out in bargain software bins or eBay, you can sometimes find copies of the games they developed. I own several, and they're all excellent. A list of their games can be found at http://www.lokigames.com. You might also check out Linux Central (http://www.linuxcentral.com) and Tux Games (http://www.tuxgames.com), two resellers that may still have stock of a few Loki games.

In place of Loki, another company has now begun porting games to Linux. They're called Linux Game Publishing, and their approach is different from Loki's. Rather than pay high license fees to port the most popular Windows games, they port highly addictive but less well known games. You can purchase these games directly from their web site at http://www.linuxgamepublishing.com.

And believe it or not, the U.S. Army has released a free game called America's Army (http://www.americasarmy.com) that plays under Linux and is also available for Windows and Mac OS X. The Army hopes that the game will encourage gamers (remember, most gamers are males aged 14 to 35) to enlist in the Army. I don't know if America's Army has achieved that objective, but it has garnered a lot of interest from gamers.

As you can see, the commercial Linux gaming scene is not exactly lively, but it certainly isn't dead. One thing to hang hope on is that most multi-player games that allow for Internet play require servers to host the games. Often times users can set up their own game servers, and in almost all these cases, there is a Linux version of the game server written by the game company. Perhaps this means the game companies will slowly gain expertise in Linux and eventually start releasing native Linux versions of the game client. Hopefully, as gamers and game companies alike see the merits of Linux, there will be increased demand for true, native Linux games.

Playing Windows Games on Linux

Linux suffers from the classic chicken-and-egg problem. Many people would love to use Linux but won't until it plays all the games they enjoy, and game companies won't write games for Linux until there are a lot of Linux users to buy them. The result is that there aren't many commercial games available on Linux, and many people who would otherwise be interested in using Linux don't do it, because playing games is too important to them.

A company called Transgaming seeks to take advantage of this situation by selling a program that allows Linux users to run their favorite Windows games on top of Linux. This program, called Cedega, does not do the job perfectly, but it may be good enough for people who really want to use Linux and who aren't hardcore gamers. See Figure 5-5 for an example of a Windows game running under Cedega.

Figure 5-5. Diablo II running under Cedega

In order to get Cedega, you need to sign up for a subscription to the software. The cost is $5 per month, with a minimum subscription of three months. For your money, you get the current version of Cedega, software updates for the length of your subscription, support from Transgaming, access to forums where other users may be able to help you with your problems, and the ability to cast a vote on which games Cedega should try to support next.

Transgaming maintains a list of the games it supports at http://www.transgaming.com/searchgame.php. Games with a rating of 4 or higher are very playable; games rated lower are less so, depending on your tolerance for bugs or display glitches.

You can find several reviews of Cedega on the Internet; I suggest you read them before making a commitment to a subscription (although $15 for three months isn't much, considering the price of a game). What's interesting about these reviews is that the tester often found it necessary to make some manual tweaks to a configuration file in order to get the game to play properly. This may make you nervous, but you could regard it is an interesting challenge, and a chance to learn more about Linux.

Note

Old-time gamers like myself often had to manually tweak DOS and Windows configuration files in order to free up enough memory to play games. Doing this is what first made me comfortable with computers, and eventually led to my job as a system administrator.

If you're the type to look on the bright side, you can also regard the lag between the time a new game releases and when it is playable under Cedega as a good thing. Windows games are often discounted months after their release. If you stay well behind the adoption curve, you may be able to purchase twice as many commercial games for the same money. Of course, this also means you have to turn a deaf ear as your gaming friends boast about their latest gaming exploits.

Accessing Linux Online Gaming Resources

Information about gaming on Linux is fairly scattered. Some information can be found at the web sites that each game is hosted on, or in mailing lists or online forums found at those sites. Freshmeat (http://freshmeat.net) and SourceForge (http://sourceforge.net) are good places to start a search for Linux software, games or otherwise.