Cooking with Linux - Diners, Start Your Processors!

Our Linux chef's favorite racing games range from the unpredictable to the super-realistic. Get ready to burn rubber!

It's true, François, I feel exactly as you do. Although I realize
the theme of this issue is high-performance computing, when I think
high performance, I think race
cars. In a strange way, mon
ami, the link is a powerful one. After all, what pushes the boundaries
of computing performance like great 3-D simulation? Think of
it—high-performance racing driving high-performance computing. One might
call that a delicious, perhaps intoxicating relationship,
non?

Ah, just in time. Our guests have arrived, François. Welcome,
mes amis, to Chez Marcel, home of fine Linux fare,
exceptional wines and edge-of-your-seat racing action. Please sit, and make
yourselves comfortable. I hope you enjoy the décor today. I had
François paint racing stripes on all the tables and chairs in honor of
this high-performance computing issue.

François! To the wine cellar, immédiatement! We need something to
excite the senses. As I recall from my earlier quality-control
tour of the cellar, the 1999 Margaret River Chardonnay from Australia
is certainly exciting and has enough spirit to go the distance.

While we wait for François to return with the wine, I should tell you that
every item on tonight's menu requires an accelerated 3-D video card
and the appropriate XFree86 drivers, including the Mesa 3-D development
libraries for compiling. All the systems here in the restaurant are
ready, but if you need some information on setting up 3-D acceleration on
your home Linux system, see my Linux Journal May 2003 article,
“Battles inside the Computer”, for some information on direct rendering
and testing your card's performance.

The first car racing simulation I remember wasn't on a computer. It was
a simple, electric slot car track. The action on the figure-eight strip
of black plastic was exciting. Although it was three dimensional—after
all, nothing is 3-D like reality, non? —it was from an overhead
viewpoint, a kind of overhead 3-D. That's the spirit behind the first
item on tonight's menu, Harry Storbacka's Race.

To get Race up and running (or to get yourself up and running in
Race), you can either download the static binary from the Web site
or build from source. Both are available from the
Race Web site at race.sourceforge.net. Obviously, the easiest thing to
do is extract the binary package, but should you decide to build it from
source, make sure you have the clanlib, xml2 and ode development
libraries. After extracting the package, it simply should be a matter
of running make as indicated below:

tar -xzvf race-0.9.0-src.tar.gz
cd race-0.9.0
make
./race

The installation is less than graceful (at least for now). I found
that I had to play with the Makefile (specifically to deal with
the path to my xml2 libraries), so running the available static
binary certainly is much easier. Extract the source (tar -xzvf
race-0.9.1-0-static-linux.tar.gz), change to the directory and run
./race-0.9.1-static. The game starts by letting you choose a
few settings, including the track. You also can click Continue until
the race starts. As I mentioned, the view now is from above. If you are
slow on the old gas pedal, the other cars on the track will start pushing
on you. The action has a kind of twisted realism to it. As the tires
spin, smoke starts to rise from their tires. Press A (think accelerate)
to start moving. The cursor keys turn the wheels left and right.

After spinning out on the curves a few times, I was delighted to learn
that such small details were remembered in the game. When I came around
for my second lap, the skid marks still were on the road. It's a
cool effect.

Figure 1. Race's game memory remembers where you skidded out.

The real thrill of racing starts when you get behind the wheel of
a car (even virtually), which explains the excitement and attraction of
sit-down racers at your favorite arcade. Out there in the Linux world,
you'll find a number of simulators of this type. Some are quite mature
and professional, but as with the real world, cars and engines are
always under development, pushing the envelope as they try to eke out a
few extra revs. So it is in the world of open-source development. I'll
show you a couple of these now.

One particularly promising entry is Alex Pozgaj's T1 Car Racing
Simulation (t1-crs). As of this writing, the game was listed
as alpha. It still was a lot of fun, though perhaps not totally
playable; nevertheless, it shows great promise. If you would like to
take it for a spin (in Alex's Toyata Supra), visit the T1 Web site at
t1-crs.sourceforge.net. Armed with the source, follow
these steps: