One exciting area of gaming growth in the Free Software community has been a trend of releasing the source of commercial games under a Free (or mostly Free) license. These releases have enabled the spread of the game clients to previously unsupported platforms. The most notable such company is id Software, creators of the seminal DooM and Quake first-person shooters. In addition to releasing the DooM source code in December 1997, John Carmack later updated the license to the GPL in 1999. This release resulted in an explosion of ports like Legacy Doom, Vavoom, and EDGE, several of which have added new features that were never in the original game. Modern DooM players enjoy an enhanced mouselook, OpenGL renderers, and true client-server online play.
Two years later, in December of 1999, John Carmack also released the Quake source code to the world and used the GPL as the license from the beginning. In December of 2001, exactly two years after the Quake release, he released the Quake 2 source code under the GPL. QuakeForge is a popular source port of Quake and Q^2 is a Quake 2 port (hosted at Icculus.org).
These ports bring with them a whole library of software built by the gaming public. Mods started with Justin Fisher's Aliens Total Conversion on DooM (which is still playable with today's DooM derivatives) and have only become more elaborate and ambitious since then. Even the amazing QuakeWorld mod Team Fortress is still playable today. If you want something more modern, I would be remiss if I forgot to mention the brilliant Action Quake 2, arguably the very best of the realistic combat mods.
id hasn't been alone in setting game software free. Ambrosia, Bungie, Fox Interactive, Volition, and Parallax have all released game source code. Several of these projects have resulted in clients of varying functionality. The original poster child of the Simple DirectMedia Layer (SDL) was Ambrosia's Maelstrom, which was released under the GPL and ported to SDL. This charming update to Asteroids has users blasting away at giant rocks, aliens, and black holes in an escalating battle against the dangers of inertia. Bungie's Marathon has resulted in the free Marathon: Aleph One, which extended the original engine and has ports on several different platforms. Under more restrictive licenses, Fox Interactive released source for Aliens vs. Predator, Volition released source for Freespace 2, and Parallax released Descent 2. These latter projects have found homes on Icculus.org as AvP, freespace2, and d2x.
With the exception of Maelstrom and Marathon: Aleph One, these projects are not technically Free Software (in the GNU sense), but they are propagating to previously neglected platforms. Furthermore, the warm reception of these projects will help set a positive example by which companies may someday release the source to their older games, perhaps under the GPL.
One of the most impressive ongoing trends in Free Software games is a drive to reimplement non-free games so they can be played in the Free Software world. Through reverse-engineering or reimplementation, coders create Free Software engines that allow the play of commercial, proprietary games on new platforms with the original game media (such as graphics, sounds, and data files).
Consider ScummVM, which can be used to play some Lucasarts graphical adventures if you own the original games. Like all good Free Software, ScummVM is still evolving, and compatibility isn't nearly complete for all possibly-compatible games. Still, several are reported to work nearly completely, such as Day of the Tentacle and The Secret of Monkey Island. Another reverse engineering project that is still in heavy development is The System Shock Hack Project, which is determined to "reverse-engineer and re-engineer" the famous Looking Glass game System Shock, allowing it to be brought up to date technologically and played on systems for which an official client was never released, like GNU/Linux.
One extremely impressive reimplementation that deserves a lot of attention is Freeciv, inspired by Sid Meier's Civilization series of games. Freeciv provides a Free Software turn-based strategy game that is probably closest to Civilization II in its feel. One very important feature is that it is built on a client-server foundation. Even single player games are played by firing up a server, connecting with a client, and then requesting that AI opponents be added. It is important to note that Freeciv doesn't not require any original Civilization games to play; not only is the engine a reimplmentation of the Civilization gameplay, but new graphics and sounds have also been created. While the Freeciv project has a goal of full Civilization II compatibility (i.e., all the Civ II rules and gameplay features), the facility that will enable such compatibility also allows users to create their own modifications. In fact, users can submit their own rulesets and graphics for adding new nations (previously unrepresented) to the Freeciv project's contributed nation repository.
This reimplementation approach is one of the most active areas of game development in the Free Software world, and the examples above only begin to scratch the surface of this ongoing evolution. Similar to Freeciv is the FreeCraft project, which provides a Free Software means for playing WarCraft-style games, even allowing the importation of graphics from the original commercial games that inspired it. Also providing updates to classic games is Bill Kendrick's New Breed Software, which offers recreations of several classics, like Vectoroids, Circus Linux!, and Defendguin. Mark Allan's Chromium B.S.U., a shooter in the same spirit as Raiden and Raptor, is a challenging, fast-paced scrolling firefight, and a great example of how an old game style can have new life in a Free Software world.
Free Software game creation shows its best quality when it recreates and improves upon the experience of well-known commercial games. Several great arcade games have received this treatment, and the results are impressive. Consider Frozen Bubble, a jazzy clone of the popular Puzzle Bobble games from Taito (known in some regions as Bust-A-Move). The top-notch graphics and music are an example of how "Free" doesn't have to mean "low quality". It even includes a two-player mode, so pairs of gamers can compete.
The LGames from Michael Speck are in a class all their own. These polished recreations of classic games (like the Tetris clone LTris or the award-winning LBreakout2) are truly inspiring. LTris, like Frozen Bubble, makes the case that even Free Software games can be great looking and entertaining. It faithfully recreates the experience of Alexey Pazhitnov's addictive puzzle game and even adds a few new twists, like the ability for three people to play at the same time. Both LBreakout and LBreakout2 draw inspiration from the classic Taito game Arkanoid, which is itself a derivative of Atari's game Breakout. In addition to knocking out a wall of bricks with a quickly moving ball, you must use your paddle to collect powerups. Like Arkanoid, these powerups add many nifty twists to the gameplay, such as changing the size of the paddle or putting extra balls into play simultaneously. LBreakout2 adds even more diversity. Some of the items that drop make the game more difficult; one temporarily makes the playfield completely invisible. Others are beneficial, such as the one that makes the balls in play explosive, destroying more than just a single brick with each impact. LBreakout2 even includes an integrated level editor, so you can create your own diabolical screens to share with others.
Some of the best Free Software games are those that, even though they clearly take inspiration from earlier games, strike out in their own directions, creating completely new gaming experiences in the process.
One timeless example of a game that has always been, in some sense, open and Free is Angband. Classified as a Roguelike game (a descendant of the classic Rogue dungeon crawl), Angband brings a rich cast of characters and a trove of treasures to the table, many drawn from J.R.R. Tolkien's fiction. In its most basic form, Angband uses ASCII characters for graphics and, with these primitive materials, conjures up a vibrant, living world. With color providing an added dimension to plain ASCII graphics, the game creates around your lowly adventurer (represented by the @ character) a dungeon world of hewn-rock corridors, filled with dangerous traps and teeming with life of all kinds. (For those less imaginative, graphical tiles are available to make it look more like a video game.) Angband has always been developed in an Open Source manner, but has moved toward placing as much of the code as possible under the GPL.
Another game that has taken an older formula and modernized it far beyond the original is the popular BZFlag, a multiplayer update to Atari's vector tank combat simulator Battlezone. While Battlezone was once reimplemented as the X game cbzone, BZFlag is a Free Software modernization that stands as a separate, new game in its own right. Its primary innovations are multiplayer networked play (which works for both LAN and Internet connections) and 3D graphics using OpenGL. In addition to networked combat, BZFlag has evolved to include a sophisticated HUD and a system of powerups (or powerdowns, if you're unlucky) in the form of "flags", from which it derives its name. Furthermore, BZFlag has moved gameplay into a fully three dimensional world, adding areas of varying altitude to the playing field.
Perhaps the original and most enduring examples of bringing old games to modern systems are the various Z-Machine interpreters. Many of you may remember the glory days of the 1980s when a company named Infocom created a memorable series of text adventures. To this day, names like Zork and Planetfall and Douglas Adams's Hitchhiker's Guide to the Galaxy draw from veteran gamers well-worn war stories about the Wizard of Frobozz, Floyd the robot, and something called a babel fish. These games were stored in a system-independent format, the specifications of which are published online. Consequently, even the oldest Infocom games are still playable today, and new games are still being made (often as part of the annual Interactive Fiction Competition) which can be read with those same interpreters. Collectively called Z-Machine interpreters, they have enabled the widespread distribution of this art form and these older games to various platforms, from PalmOS and WindowsCE up to GNU/Linux, Windows, and MacOS. One very popular Free Software interpreter is Frotz, which plays a wide variety of these data files. If you can find the Masterpieces of Infocom CD from Activision (now out of print), you can use an interpreter such as Frotz to play most of the older games and even get decent electronic reproductions of the original manuals and packaging materials that accompanied these timeless games.
I've presented but a few of the Free gaming software projects available. There are various Free Software projects that I'm not covering here for various reasons: emulators of arcade games, home computers, and game consoles. While many of these projects are indeed legitimate Free Software, it is often the case that many users use them with illegally obtained ROMs or floppy disk images.
This is not to cast all uses of these emulators in a negative light; there are active communities making new software for older system and using these emulators for testing and to allow others to play their games. Consider, for example, the Atari 2600 homebrew development world, which is thriving and still producing new games on a regular basis. Brad Mott's Stella project provides an emulator in which you can play the freely available Qb, Oystron, Thrust, and many more.
Finally, I will mention that Windows and DOS emulators exist which allow users to play some games using the original executable binaries. Those projects are indeed Free Software, but I feel that they are counterproductive in the sense that they they do not make alternative platforms like GNU/Linux any more viable in the eyes of game software developers, and could even act to entrench the Windows monopoly even deeper.
Looking back over the selection of gaming software that the Free Software world has assembled leaves one with a distinct impression of deja vu. Many of the games seem vaguely familiar (or, in some cases, blatantly familiar) since a great deal of effort has been expended either making a Free Software client for use with commercial materials or recreating from scratch an experience that was first delivered by a non-Free game. Games like BZFlag and Angband have some genuinely unique experiences to offer, and the LGames have innovated in some novel ways on old standards. With each day, there are more programmers, artists, and gamers finding our world, and with that richer community, we may one day see truly brilliant games that show the true innovative strengths of the Free Software world.