September 22, 2004
This article was contributed by Dave Fancella
With all the talk about Linux for the Desktop, Linux
for the Server, Linux for the Toaster, and Linux for
the Masses there's one area that gets consistent
criticism: gaming. Popular wisdom is that Linux will
never be good for gaming because open source developers
don't write games. Open source developers don't like to
have fun, apparently.
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.
Blobwars 0.91
Blobwars
is a pretty standard platform game. It is
structured in levels, but organized as missions. You
play Bob, a blob whose purpose is to rescue soldiers
that are marked Missing In Action due to an alien
invasion and subjugation. The game is playable and has
many levels, an excellent mod-based soundtrack, and
some pretty polished graphics. Some of the graphics and
levels are reminiscent of the old arcade game Strider,
and the plot itself is similar. Game play is different,
for the most part. According to Parallel Realities'
website, Blobwars is story-complete and all that's left
for a 1.0 release is testing and bug fixing.
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.
SDL Vexed 0.6
SDL Vexed
is a SDL-perl clone of the popular PalmOS
game,
Vexed.
Vexed is a puzzle game. Your goal is to eliminate all blocks on a
level by placing each one adjacent to one another. When
you move a block, you can move it left or right. If
there is empty space under it, it will fall. Game play
is slightly different than the PalmOS version, so if
you've been a fan of the original game you will have to
adjust. The soundtrack appears to be minimal but good,
and reminiscent of the soundtrack in Frozen Bubble.
Here, again, I don't have any idea what is planned for
a 1.0 release, but the 0.6 release has many levels. In
fact, I looked in the levels subdirectory and saw that
the game was written to use the levels in the original
Vexed game. There don't
appear to be any new levels over the existing Vexed for
PalmOS, but it does look like SDL Vexed may well provide
a path to a level editor that will be advantageous for
both games. The graphics are good, but still a little
rough around the edges.
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 0.2.7.0
![[Armagetron Advanced]](/images/ns/dfgames/aa-tiny.png)
(A slight disclaimer, I am somewhat involved in this project.)
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.
Cube 2004.05.22
Cube
is a first person shooter game. It appears that Cube
brings some interesting innovation to this field;
according to this statement from
their web page: "
Cube is a landscape-style engine that
pretends to be an indoor FPS engine, which combines
very high precision dynamic occlusion culling with a
form of geometric mipmapping on the whole world for
dynamic LOD for configurable fps & graphic detail on
most machines." Whatever that means.
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.
Battle for Wesnoth 0.8
![[Battle for Wesnoth]](/images/ns/dfgames/wesnoth-tiny.png)
The
Battle for Wesnoth
is a fantasy turn-based strategy
game with a twist. It is story-driven. Victory
conditions for maps range from "Destroy the bad guys" to "Run a player
character to a specific point on the map".
There are even factions on the maps that are allies,
but you don't get to control them. I found myself
getting sucked into a world of trolls, orcs, elves, and
magic even though I had thought I had outgrown such
things. The soundtrack is pretty complete with a good
variety of music and sound effects. All the little
bells and whistles appear to be present, with fun
animations for combat, walking units, and even
standalone hexes on the map. The map itself doesn't
have grid lines by default, and unless you turn on the
grid lines, you may not even notice the map is hexagonal.
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 0.4.4
![[Crimson Fields]](/images/ns/dfgames/crimson-tiny.png)
(A disclaimer for this one as well, I am pretty involved
with Crimson Fields.)
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 0.9.3
FlightGear
is a flight simulator. FlightGear claims to
have a huge selection of airports and accurate scenery
to accompany its airports. I was unable to confirm any
of this because the few times I managed to get the
plane off the ground it crashed. That is actually my
litmus test of how good a flight simulator is. If I
can't get the plane off the ground, it must be good.
I'm starting to suspect I'll have to go to flight
school to be able to play this game, so if flight
simulators are your thing, you definitely need to check
this game out. I can say, however, that I'm dying to
see the beautiful scenery that I see in their
screenshots. FlightGear only ran at about 10 frames per
second on my machine, you will definitely need
more powerful hardware than what I have.
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.
Gaming Resources
There are a number of web sites you can visit that keep
tabs on the Linux gaming community. Here is a list of
those websites:
- LINUXGAMES -
A community news site that accepts story submissions from its readers.
- The Linux Game Tome -
attempts to catalog every single game available for Linux.
- The Linux Gamers' Game List -
A searchable list that offers filtering and sorting of the games in
the list.
The list is fairly old, but is still a good way to find established games.
- Games for Linux -
Another searchable list that supports user ratings.
Comments (32 posted)
System Applications
Audio Projects
Version 0.99.0 of JACK, the Jack Audio Connection Kit
has 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.
Comments (none posted)
Database Software
Version 0.7.1 of Knoda, a database frontend, is available.
Changes include a fully KDE-compliant GUI, subform support,
support for asterics in the Query Editor, and bug fixes.
Full Story (comments: none)
Version 1.1.0 of pgst, a GNOME-based frontend to PostgreSQL,
has 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."
Comments (none posted)
The PostgreSQL Weekly News for September 21, 2004 is available, take
a look for the latest PostgreSQL database information.
Full Story (comments: none)
Libraries
A pre-release of libgdither 0.2 is available for testing and comments.
"
Libgdither 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."
Full Story (comments: none)
Mail Software
SpamAssassin 3.0 has been
released.
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.
Comments (none posted)
Web Site Development
Version 2.0.51 of Apache is out.
"
This version of Apache is principally a bug fix release. Of
particular note is that 2.0.51 addresses five security
vulnerabilities".
Full Story (comments: none)
Version 1.6.0rc1 of Midgard, a CMS framework, is available.
Changes include Multilang and PAM support, an Apache2 module,
a PHP4 module, and a new version of midgard-data.
Full Story (comments: none)
Version 0.5.3 of Samizdat, a generic RDF-based engine for
building collaboration and open publishing web sites, is out.
"
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."
Full Story (comments: none)
The
ZopeMag Weekly News
for September 22, 2004 is out with the latest Zope and Plone development
news.
Comments (none posted)
Miscellaneous
Version 2.4 of YALE (Yet Another Learning Environment), a Java
environment for machine learning and data mining,
is 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."
Comments (none posted)
Desktop Applications
Desktop Environments
Version 2.8.0 of GARNOME, the bleeding-edge GNOME distribution,
is out.
"
This release incorporates the GNOME 2.8.0 Desktop & Developer
Platform, as well as plenty of new third-party package updates and
funkey new features."
Full Story (comments: none)
Version 2.8.0 of GNOME-themes, a collection of themes for the GNOME desktop,
is available. Changes include the new Glider theme and some bug
fixes.
Full Story (comments: none)
The September 17, 2004 edition of the
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."
Comments (none posted)
KDE.News
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."
Comments (none posted)
Electronics
The
latest releases
from the
gEDA project include
new versions of the Icarus Verilog compiler and gspiceui,
a GUI frontend to several freely available SPICE simulators.
Comments (none posted)
Version 3.2.27 of Xcircuit, a schematic drawing package,
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."
Comments (none posted)
GUI Packages
Version 2.4.10 of GTK+, a multi-platform toolkit for creating GUIs,
is out with numerous bug fixes and more.
Full Story (comments: none)
The first alpha release (1.0a1) of the TechGame Framework for Python,
has been announced.
"
The TechGame Framework for Python is a toolkit for skinning (building) GUIs using a blend of XML, CSS, and Python."
Comments (none posted)
Interoperability
Version 20040914 of Wine
has 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.
Comments (none posted)
The September 17, 2004 edition of
Wine Traffic is available with the week's Wine news.
Comments (none posted)
Mail Clients
Evolution 2.0.0 has been released to go along with GNOME 2.8. There's
lots of new features, including NNTP and S/MIME support, built-in
SpamAssassin filtering, web calendars, and more; click below for the
details.
Full Story (comments: 16)
Version 1.0 rc2 of Ristretto, the mail api for the Columba mail client,
is 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."
Comments (none posted)
Music Applications
New versions of Q-Audio and Q-Synth
have 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."
Comments (none posted)
Office Suites
KOffice 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."
Comments (none posted)
Digital Photography
The Pygame site has an announcement for version 0.1.9 of
ESWPHOTO:
"
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."
Comments (2 posted)
Miscellaneous
Stable version 4.4.19 of gcalctool, the default GNOME desktop calculator,
is available.
"
This 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."
Full Story (comments: none)
Beta release 09202004 of GPSBabel, a cross-platform and cross-vendor
GPS application,
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."
Comments (none posted)
Languages and Tools
Caml
The September 14-21, 2004 edition of the Caml Weekly News is out
with the week's collection of Caml language articles.
Full Story (comments: none)
Erlang
Version 1.0 beta 3 of Erlange REPOS, a CDROM-based repository of Erlang
projects, is out with a multitude of ready-to-use Erlang software
projects.
Full Story (comments: none)
Java
Version 0.8.0 of Joone, a Java-based neural net framework,
has 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.
Comments (none posted)
Matt Chapman and Helen Hawkins
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."
Comments (none posted)
Tom White
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."
Comments (1 posted)
O'Reilly has published
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."
Comments (none posted)
Satya Komatineni
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."
Comments (none posted)
Perl
Use Perl has
a 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."
Comments (none posted)
Use Perl has
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."
Comments (none posted)
The September 16, 2004 edition of
This Week on Perl 6 is out with the latest Perl 6 discussion topics.
Comments (none posted)
PHP
Version 4.3.9RC3 of
PHP 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."
Comments (none posted)
The
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.
Comments (none posted)
Python
The August 16-31, 2004 edition of the python-dev Summary is
available, take a look to see the latest discussions from the
python-dev mailing list.
Full Story (comments: none)
The September 20, 2004 edition of Dr. Dobb's Python-URL!
is online with a new collection of Python language article links.
Full Story (comments: none)
Ruby
KDE.News
looks 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."
Comments (none posted)
Tcl/Tk
The September 21, 2004 edition of Dr. Dobb's Tcl-URL! is
available with more Tcl/Tk articles and resources.
Full Story (comments: none)
XML
Petr Cimprich
looks 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."
Comments (none posted)
Build Tools
Martin C. Brown
works 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."
Comments (none posted)
IDEs
A new document called
developing 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"."
Comments (none posted)
Profilers
Zach Frey
explains 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."
Comments (none posted)
Test Suites
Version 0.84 of Marathon
is 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."
Comments (none posted)
Page editor: Forrest Cook
Next page: Linux in the news>>