Well, it's not true. None of it is true.
I did a fairly exhaustive search for Linux games, installing them and running them on my own machine, and this article is entirely about what I found. Like many applications, each game is lacking in some area. Since most of these games are pre-1.0 versions, it's not surprising at all. I ruled out any game that crashed my X server, requires root privileges, or is unplayable for any other reason. I've also ruled out games that are generally bundled with CD distributions, since you already know about those. So here is a list of games that are playable, relatively stable, and fun.
My test hardware consists of an 800mhz Duron processor, 256MB of DDR RAM, an nVidia TNT2 video card, and VIA's infamous AC'97 onboard sound system. These games all ran well on my system, so you should be able to compare your system specs to mine and easily extrapolate how well they should run on your own system.
I installed Blobwars from the generic Linux RPM provided, and it ran fine. Like most Linux games, it uses a selection of SDL libraries. Blobwars is licensed under the GPL.
The game doesn't actually install, you just need to make sure you have SDL-perl installed. Then unpack the tarball, cd into the directory, and run it. SDL Vexed is released under the GPL.
Armagetron Advanced is a fork of the game Armagetron. You may already know Armagetron from your distribution, it comes with Mandrake, SuSE, and possibly others. In Armagetron Advanced you are a light cycle on a grid, and wherever you go this big wall appears behind you. The object of the game is to coerce the other players to crash into your wall. It's an excellent 3d gaming version of the light cycle sequence from Tron. Like all of the best games in history, game play itself is very simple, but the game is not. Played as a network game, you will find servers that range in abilities; some will have a steep learning curve for survival, while others will be more friendly to new players. There is a sizeable and growing community around this game. Armagetron Advanced has a decent collection of sound samples and does a good job panning the sounds. Many players have become dependent on the sounds as clues to what is going on around them. The graphics are excellent and fairly well-polished, but the game is lacking a musical soundtrack. Sound effects are present, non-intrusive, and actually reflective of the game you see. The game is playable now, and continues to get better.
I installed Armagetron Advanced using the generic Linux RPM provided by the project. I was also able to successfully build it with the SDL libraries provided by Mandrake. Armagetron Advanced is released under the GPL.
I enjoyed the game when I played it. Cube appears to have a very active community of players and servers, and it doesn't take long to find a server for you to get your brains blown out. Game play was fairly typical of first person shooters, but the Cube developers have made some real strides in eliminating lag, the biggest problem facing first person shooting. Speaking as a metal-head, the heavy metal soundtrack was outstanding and varied. The sound effects themselves were good, and with the polished graphics combined well to make a fairly realistic playing experience.
I almost didn't include Cube because it didn't fit some of my criteria. Namely, it has a tendency to run out of memory and crash, leaving my X environment stuck in Cube's native resolution. Cube also didn't surrender my mouse gracefully after one session. I decided I could safely ignore these problems since they are doubtless bugs that will be fixed soon. If you want a good open source first person shooter, Cube is it.
Cube includes binaries for all supported platforms in one tarball. It is released under the Zlib license.
I did have a little trouble installing Battle for Wesnoth. The Mandrake packages provided didn't install on my system, so I built the source code tarball. The build went smoothly although it did take some time. Naturally I recommend building from source, but you may find the packages work for you. Battle for Wesnoth is released under the GPL.
Crimson Fields is a turn-based strategy game set way in the future on another planet. You are the leader of the Free Nexus Army, a rebel group whose purpose in life is to overthrow the alien invaders and bring independence back to the planet of Nexus. Crimson Fields draws a lot of inspiration from the old Battle Isle series, and supports the map format from that series. It is still a very young project and only comes with a few maps, but it is playable now. You can play by email, hot seat, or locally against the computer. It has a soundtrack of exactly one song, and during extended play you may find that one song to be worth disabling after a while. Sound effects are pretty minimal as well, but both are at the level expected for a pre-0.5 release.
I have installed Crimson Fields every which way, and it installs smoothly. There are user-contributed packages for every operating system under the sun, and the project directly provides a source tarball, source rpm, and generic Linux rpm. Crimson Fields is released under the GPL.
FlightGear can be tricky to download. For some of their packages they depend on rpmfind.net, and for others you have to surf through their ftp mirrors. I have built FlightGear from source before, so it's definitely possible, but it's a build on the order of the Linux kernel itself--it takes a while. When you manage to find a binary download it's going to be very large, 98MB large. Luckily they offer it on CD as well, so if either bandwidth or patience are problems you are currently experiencing, consider ordering a CD. FlightGear is released under the GPL.
Audio Projectshas been released. Changes include additions to the API, better compatibility with NPTL, a new --unlock option, a new CoreAudio driver, fixes, code cleanups, and more.
Database Softwarehas been announced. Here are the release comments: "Was developed on RedHat 9 Linux that had all the default RPMs installed on it and nothing more. Uses the same technology for the frontend that Red Hat uses for its GNOME-based control panels. More than likely it will work on any post 2003 Linux in the RedHat and Suse product lines, and many others."
LibrariesLibgdither is a GPL'd library library for performing audio dithering on PCM samples. The dithering process should be carried out before reducing the bit width of PCM audio data (eg. float to 16 bit int conversions) to preserve audio quality."
Mail Softwarereleased. There's a lot of stuff in this release, including SPF checking, testing for spammer URLs, a new plugin mechanism for third-party modules, better SQL database support, and more. This is the first release under the Apache Software Foundation umbrella; it is now covered by the Apache license. There is an information posting with details on this release.
Web Site DevelopmentThis version of Apache is principally a bug fix release. Of particular note is that 2.0.51 addresses five security vulnerabilities". Starting with this version, Samizdat can send out email: currently, it is used to recover lost passwords and to confirm that member email address is real. Email addresses are now unique, making it more difficult to cheat using throwaway accounts. Other changes include new dc:description message property for attaching article abstract, thumbnail image, or table of contents to a message, new preferences infrastructure allowing to add more server-side member settings in the future, and the inevitable database schema change." ZopeMag Weekly News for September 22, 2004 is out with the latest Zope and Plone development news.
Miscellaneousis available. "Several new features where implemented for YALE 2.4. These are a LearningCurveOperator, StandardDeviationWeighting, PrincipalComponents, WekaAttributeWeighting, C45ExampleSource, Obfuscator, Deobfuscator, CorpusBasedWeighting, and several XXXExampleSource operators."
Desktop EnvironmentsThis release incorporates the GNOME 2.8.0 Desktop & Developer Platform, as well as plenty of new third-party package updates and funkey new features." KDE CVS-Digest is online, here's the content summary: "Kpdf adds zoom, search, thumbnails and is optimized. Kontact now supports Kolab version 2. Krita adds startup templates. khtml improves the outline painting algorithm. Kopete merges Novell GroupWise Messenger support into HEAD. Plastik style optimized." looks at a userinstinct usability review. "Based on feedback from our test group, the default settings for a number of KDE parameters differ from what is usually expected and desired by users. Providing better defaults would reduce the time users spend looking for configuration settings and would provide a better "out-of-the-box" experience."
Electronicslatest releases from the gEDA project include new versions of the Icarus Verilog compiler and gspiceui, a GUI frontend to several freely available SPICE simulators. is available. From the CHANGES file: "Quick fix to allow the non-Tcl code to compile; the experimental "ngspice" code contains numerous Tcl references, and although it does not depend on Tcl in principle, it is easier just to disable the code for the non-Tcl compile. It will not be missed. Also: Changed the startup method from the hacked-up redirection of $HOME to a standalone "wish"-like executable that sets up "wish" to read in the .xcircuitrc file as its startup script."
GUI Packageshas been announced. "The TechGame Framework for Python is a toolkit for skinning (building) GUIs using a blend of XML, CSS, and Python."
Interoperabilityhas been announced. Changes include improvements to the common controls, a new ITSS dll, compatibility fixes in the exported headers, replacements for the Windows standard bitmap fonts, and bug fixes. Wine Traffic is available with the week's Wine news.
Mail Clientsis out. "New and noteworthy features are: implementation of the IMAP Namespace extension (RFC 2342), asynchronous download of messages from POP3, license changed to tri-license MPL/LGPL/GPL and more JavaDocs added."
Music Applicationshave been announced. "Q is a functional programming language based on the term rewriting calculus. Q-Audio 2.0 is a major update, which now supports LSA and Jack via PortAudio v19, and also adds Fourier transform operations via FFTW3. Q-Synth 1.1 is a minor update which fixes some bugs in the SuperCollider synth definitions and adds support for Q-Audio 2.0."
Office SuitesKOffice version 1.3.3 has been announced. "The KOffice team is happy to bring you the third bugfix package that builds upon the previous 1.3.x versions, with many fixes, mainly in the core libraries and in some filters. But there is also a fully new and complete translation for KOffice: Welsh."
Digital PhotographyESWPHOTO: "A slideshow viewer, designed for digital photography enthusiasts. Features include: intuitive control (no distracting GUI), zoom and pan feature, full screen, fast, EXIF tag display, high quality scaling, lossless image rotation."
MiscellaneousThis release is for GNOME 2.8.1 when it becomes available. Note that gcalctool now requires the Gtk+ libraries that come with GNOME 2.6 or later in order to build." has been announced. "This version adds several new formats and filters and fixes several bugs. The next version will add the Garmin/USB work to cover 60C, 60CS, 76C, 76CS, 96C, VistaC, and SummitC on Windows."
Languages and Tools
Javahas been announced. Changes with this release include an almost linear-scaled training process, dynamic addition and removal of machines, XML-based process paramenter control, Jini 2.0 compliance, and more. introduce AJDT on IBM's developerWorks. "The AspectJ Development Tools for Eclipse (AJDT) is an open source Eclipse Technology Project that provides the tooling required to develop and run AspectJ applications. We believe good tools have a key role to play in realizing the full benefits of aspect-oriented programming, and particularly in helping newcomers understand the concepts involved." covers spell checking with Jazzy on IBM's developerWorks. "Users have come to expect spell-check capabilities from applications that involve natural-language text entry. Because building a spell checker from scratch is no simple task, this article offers you a workaround using Jazzy, an open source Java spell checker API." part one in a book excerpt series on Enterprise Beans. "One of the most important features of EJB is that enterprise beans have the ability to work with containers from different vendors. However, that doesn't mean that selecting a server and installing your enterprise beans on that server are trivial processes." covers issues with Java static functions on O'Reilly. "Java is an OO language, which means much of the functionality of a Java application is encapsulated into cohesive classes that can be instantiated and acted upon. Nevertheless, once in a while you end up with some functions that are applicable to more than one class. These functions don't really belong to any particular class, but to a sub-system or a package. Although one can express this grouping as a class by itself (represented by interfaces), it is just simpler to collect them as static functions in a class, when one doesn't need the sophistication of service-centric approach for these methods."
Perla request for help with the maintenance of Simon Cozens' legacy Perl modules. "He's retiring from the CPAN, and leaving his legacy of Perl modules behind. I've stepped up to take on the task of making sure his 100 modules don't fall into disuse, and that they have proper new masters and mistresses, like I did with Iain Truskett's modules when he passed away last year." a request for volunteer help on PPI, the 'almost parser' for Perl. "While all the hard work is done now, and it is largely complete and quite usable, I've gotten tied up with work, and I will not have the time in the forseeable future to finish the final features, testing and docs to get it to 1.0." This Week on Perl 6 is out with the latest Perl 6 discussion topics.
PHPPHP is out. "This is the last release candidate before the final release and should have a very low number of problems and/or bugs. Nevertheless, please download and test it as much as possible on real-life applications to uncover any remaining issues." PHP Weekly Summary for September 6, 2004 is out. Topics include: PHP 5 Bug Summary, native PHP events, 4.3.9 RC 2, vars to string, preg_match and object cast, pdflib 6 support, hashes in globals, sqlite_temp_dir, and untrusted serialized data.
Rubylooks at Ruby developments under KDE. "Now with QtRuby and Korundrum, that power and expressivity has increased: You can sketch out pretty interfaces with Qt Designer and automatically create Ruby code with the rbuic tool. Or do amazing things with DCOP without needing preprocessors, makefiles etc -- just type in your Ruby script and be in control of your desktop. In fact, you can find a fairly complete description of all the features supported by QtRuby and Korundrum over at the Ruby bindings section of the KDE Developer's Corner."
XMLlooks at Perl-based XML parser performance in an O'Reilly article. "There was one dominant XML parser in Perl a few years ago; parsing an XML document was synonymous for using the XML::Parser module. The module written by Larry Wall and Clark Cooper worked as an interface to James Clark's expat XML parser, and it didn't leave much room for competitors. Traditional Perl modules for XML processing were built on the top of XML::Parser. But times are changing."
Build Toolsworks on the process of optimizing software builds across multiple platforms. "You have enough to consider when building an open source application for a single type of system, but what if you're building that application for distribution among a range of different, incompatible machines? There's no easy answer, but using a little discipline and some custom scripts, you can simplify the process. This article looks at how to create a structure for building and distributing applications, including heavily customized versions, and a simple way of disseminating the applications among a number of machines, manually or automatically, as easily as possible."
IDEsdeveloping FLTK applications in Eclipse by Dejan Lekic has been placed online. "Each section in this document will come with one picture and explanation (that is why it's called "step-by-step"), and it actually represents each sucessive step in setting up Eclipse for working on simple FLTK-based application called "flimple"."
Profilersexplains code coverage analysis on Linux Journal. "Maybe you've always wondered what the gcov utility that comes with GCC is used for, or maybe your new project at work has a regulatory or customer requirement that your delivered software be tested to a certain percentage of coverage, and you are looking for how to accomplish that task. In this article, I introduce the general ideas of coverage measurement and of performance profiling, along with the standard GNU tools (gcov and gprof) used in these two techniques."
Test Suitesis available. "Marathon is a testing framework for GUI applications developed using Java/Swing. Marathon composes of recorder, runner and editor. The testscripts are composed of python code. Marathon version 0.84 is released, this contains minor feature enhancement and bugfixes."
Page editor: Forrest Cook
Next page: Linux in the news>>
Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds