January 3, 2008

Enjoying games with GNU/Linux


Playing computer games can be relaxing and fun, especially after a hard day at work. And this doesn't mean shutting down your Linux system and booting straight into Microsoft Windows. You can play plenty of games in the Linux environment.

Windows emulators

Many games are designed for Windows, but you can try running your favorite games with Wine, a set of libraries and helper programs that translate Windows API calls to Linux system and library calls. This works well for many games -- check the Wine Application Database for evaluations and tips on how to get your game of choice working. In 2-D games, such as Age of Empires II, you might experience a heavy speed penalty due to the Device Independent Bitmaps (DIB) engine.

If Wine doesn't do the job, try Cedega, a subscriber-based version of Wine with lots of additions and a focus on gaming. Cedega also has a database of games with which you can check how well your favorite games work. Adventurous gamers may also try compiling Cedega from source. Its CVS repository is public, although a bit of special functionality (such as copy protection support) is missing. TransGaming Technologies, the company behind Cedega, has a regular release schedule and tries hard to keep the most popular games running.

CodeWeavers, best known for selling CrossOver Linux (formerly CrossOver Office), an enhanced Wine version with a focus on productivity applications, also plans to get more active in the field of gaming. Like TransGaming, CodeWeavers put most of its effort into popular games such as World of Warcraft, but it has a history of working closely with the Wine project and contributing all of its work back. TransGaming, on the other hand, does so only in part.

Commercial and non-free games

Some commercial vendors actually offer Linux binaries for their games. You can buy games directly from Linux Game Publishing or Tux Games, which also hosts a site where you can find demos and games once offered for sale by the now-defunct Loki Software. You can also look out for games that offer Linux binaries for download. id Software, creator of classics such as the Doom and Quake series, is well known for its Linux support. The popular Neverwinter Nights series also comes with Linux installers. Another big vendor is Epic Games, creator of the Unreal Tournament series of first-person shooters. It releases well-engineered GNU/Linux binaries with its products.

The games industry isn't everyone's favorite source of commercial games, so you might want to resort to the independent game sector, which consists of bedroom coders such as Chris Delay from Introversion Software; small companies that sell games directly, such as The Wyrmkeep Entertainment Co.; and independent publishers such as GarageGames and Manifesto Games. By buying games made and sold this way, you support innovation (the big industry is usually more focused on the "safe cash cow" type of games) and provide a better income for the programmers and artists.

Free games

Most commercial games are not free software. For those of us who want to enjoy the four freedoms when playing games, a huge number of games in a multitude of genres are available.

Start browsing at general software development sites such as SourceForge.net or specialized Web sites, which usually offer reviews, user-contributed commenting functionality, and screen shots. To see examples of high-quality games from different genres, take a look at the Breakout clone LBreakout2; the Risk-style, turn-based strategy game The Battle for Wesnoth; the highly addictive 3-D arcade game Frozen Bubble; and the card game collection Aisleriot.

Airplane enthusiasts should check out FlightGear, an advanced flight simulator with a host of scenery, map, and aircraft add-ons. If you'd rather stay firmly on the ground, try the 3-D racing simulator The Open Racing Car Simulator (TORCS), which is FlightGear's ground-based counterpart in terms of quality. Planet Penguin Racer is an offshoot of Tux Racer, a 3-D racing game that hasn't been updated in more than five years.

First-person shooter games are popular as well, including Cube, Enemy Territory-based True Combat: Elite, and Tremulous, based on the humans vs. aliens game Quake 3 engine.

Of course, you might already have installed a bunch of games without knowing. GNOME and KDE both come with collections of games focused on the arcade and puzzle genres. The GNOME Games package, which brings an ensemble of 16 games to your system, includes the aforementioned Aisleriot; Five or More, a board game in which you try to remove an ever-increasing number of balls by aligning five or more in a row; Mahjongg, the popular tile game played for centuries in Asia; and Mines, a puzzle in which you try to avoid blowing yourself up by selecting a grid that doesn't contain a mine. The KDE Games Center includes the innovative KSpaceduel, which challenges you with simulated gravity.

Game system emulators and engines

You can also use emulators to revive games of the past. Most classic systems have at least one mature emulator, including VICE for the Commodore C64, ZSNES for the Super Nintendo Entertainment System (SNES), and E-UAE for the Commodore Amiga. The xmame system takes care of arcade cabinets.

Great efforts are underway to use the data files of games by reverse-engineering their format and writing new engines for them. A successful project in this category is ScummVM, an adventure game interpreter with focus on LucasArts adventures, including classics such as Monkey Island and Maniac Mansion. Another polished specimen is TA Spring, which handles Total Annihilation game content. Other engine projects, such as GemRB (BioWare's Infinity Engine of Baldur's Gate fame) or FIFE (originally a clone of the Fallout engine), show lots of potential, but haven't made their way to end users yet.

Staying informed

Over the course of the last decade, Linux gaming content has clustered around some central Web sites, the most popular of which are Linux Gamers, Linux Games, and the Linux Game Tome. These sites can help you find games, keep you up-to-date on the latest versions, and share your experiences with other players. The Linux Gamers' FAQ has lots of useful information, and the Linux Gamer's Game List is another comprehensive resource.

If your graphics adapter isn't strong enough for the games you'd like to play, you don't have many new ones to choose from. Until the Open Graphics Card is available, your only pragmatic options are cards from Nvidia or ATI. Both require you to use non-free, binary-only drivers to exploit all of their cards' functionality. Free software alternatives face the difficulty of writing drivers for hardware without specifications -- not an easy undertaking. Thus, they either offer only a comparably small subset of their non-free counterparts' functionality or are still in their infant stages. One such effort is the Nouveau project, which aims to write a free Nvidia driver with full 3-D support.

What's next?

Epic Games' Unreal Tournament 3 was just released in November 2007, and titles of anticipated but yet-to-be-released games with a promised Linux client include id Software's Enemy Territory: Quake Wars and Hothead Games' Penny Arcade Adventures: On the Rain-Slick Precipice of Darkness.

Gaming is not only fun, but it has a huge economic and social impact as well. If Linux wants to gain acceptance in the desktop segment, it has to attract the game-playing audience and their developers. Projects such as PlaneShift, a massively multiplayer online role-playing game (MMORPG), show what the free software and content community is capable of, and a host of high-quality tools helps them in all stages of development. For example, graphics artists have Blender and the GNU Image Manipulation Program (GIMP). Programmers can use the power of advanced 3-D engines such as Crystal Space and OGRE, as well as 2-D real-time strategy engines such as Stratagus.

Sound creators will hardly miss anything with the readily available professional-grade Linux sound applications. The already mentioned Open Graphics Card project is making steady progress and will in all likelihood give birth to a solid piece of hardware with open schematics, specifications, and drivers. With all these assets, it is only a matter of time, effort, and determination until Linux gaming has fully caught up with the competition.

As Ryan Gordon from icculus put it in a recent interview, "I guess you're asking what Linux gaming will look like in five years and, in a roundabout way, I'm answering: whatever we make it look like."


  • Games
  • Linux
Click Here!