This is Racer.
Racer aims to be an interesting open source racing game, inspired by (but not a
clone of) the F-Zero series.
Racer's source code is distributed under the GNU General public licence, version
3 or later. The full text of the licence is in the file called Copying. It is
also available on the web at http://www.gnu.org/licenses/gpl-3.0.html.
The file racer/data/UI/FreeSans.ttf is released under the same licence as the
source code. For more information, and the source for this file, see
All other files in racer/data/ are licenced under the Creative Commons
Attribution-Share Alike 3.0 Unported liscence, which can be read here:
and is avaliable on request from this address:
Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105,
The files in racer/data/ were created by James Legg.
Racer is currently in a pre-alpha state. This means it is lacking basic features
and what does exist is probably full of nasty bugs. :-)
For the game:
Simple Directmedia Layer (SDL): http://libsdl.org
OpenGL: Your system should be able to provide this if it does any graphics
Bullet Physics: http://www.bulletphysics.com/
To build bullet from source:
tar -xf bullet-2.75.tgz
The last step must be run as root.
The OpenGL Extension Wrangler library (GLEW): http://glew.sourceforge.net/
For the editor:
To make track themes and cars:
To build it:
Development packages for the above
A c++ compiler (g++ will do nicely)
Automake (This shouldn't be required for tarballs, only svn)
Subversion (This shouldn't be required for tarballs either.)
Building on Unix-like platforms (Linux, OS X):
1) Ensure you have the necessary development libraries installed.
On Ubuntu you can do most of this with the following command:
sudo apt-get install automake g++ svn libsdl1.2-dev libsdl-image1.2-dev libftgl-dev libgtkmm-2.4-dev libgtkglextmm-x11-dev libboost-dev libboost-graph-dev libglew1.5-dev
but Bullet isn't in the repositories, so you'll have to install it from
2) cd to the directory this Readme file is in. If you are browsing this file
on the web, use this command to get racer from svn:
svn co https://racer.svn.sourceforge.net/svnroot/racer/trunk racer
3) Run ./autogen.sh, unless you have a tarball. This is only needed for builds
from the subversion repository.
4) If you want to keep build files out of the way, make and cd to your build
directory. Then modify the next step so it points to the configure script
made in the same directory as this Readme file.
5) Run ./configure
If you want a debug version (slower but helps finding bugs) instead use:
The debug version will draw some extra lines on the display connecting
the car to the track, and will show the framerate.
It will also show the navigation mesh for the track instead of pausing
the game with escape or backspace. You can still pause a debug build with
space or return.
6) If the configure script complains, fix your dependencies or call it again
with some parameters set explicitly.
7) Run make
On multi-core systems you can speed up the process using the -j parameter
to specify the number of simultaneous tasks to run. For example, on a
dual core system run 'make -j2'.
8) If it doesn't work, complain on the mailing list. :-)
9) If you want it system wide, install it by running 'make install' as root.
This will also add racer and its editor to your applications menu.
With a bit of luck, your build directory should contain a directory called racer
containing the game and a directory called racer_editor containing the editor.
Please report any build problems to the mailing list.
If you want to rebuild it after making changes, you only need to run make
again. (Generally: if it doesn't work after an update, try ./autogen.sh again,
or perhaps autoreconf -fi.)
The game requires the data files: run it in the path racer where it can find
them in the distribution or check out, or run "make install" as root so they
can be found in /usr/local/share/racer/data.
The keyboard controls are:
During a race:
W Go forwards
S Go back
A Turn left
Q slide to the left
D Turn right
E Slide to the right.
For the menus:
Arrow keys to highlight the right option
Space or Enter to choose
Escape or backspace if you want to go back up the menu.
The joystick controls are:
During a race:
buttons 4 and 5: slide left and right
For the menus:
buttons 0 and 2: confirm
buttons 1 and 3: go back
You can also play with a Wii controller, see wiimote/Readme for instructions.
Press Space, enter, escape, backspace, or joystick buttons 0-3 to pause during
Building on Windows:
I don't have Windows so I can't support it myself. If you can provide
instructions, binaries, or patches to help Windows users, please post it on
the mailing list or on http://sourceforge.net/apps/trac/racer/.
I think gtkglextmm only works on Windows through cygwin (or something like
that). If you can think of a more portable solution please do tell.
Building on OS X:
It is probably possible using MacPorts, though may need a few changes.
Send patches or bug reports if so.
Building the developer documentation:
If you have doxygen installed, you can generate documentation by running
in the same directory as this Readme (and, more importantly, Doxyfile).
Html documentation will appear in htdocs/.
If you are considering contributing, I suggest subscribing to the mailing
list as a first step. It's where most of the development chatter happens:
There is also a notification list for svn commits:
We welcome patches, documentation, tracks, themes, cars, game play ideas,
feature requests, bug reports etc. Take a look at the project on sourceforge
to find or submit bugs, patches, and feature requests:
For help ask on the mailing list above.
To generate the mesh & theme files used in the game from blender, first do
1) Copy the python scripts in Python/ to the scripts folder within your
blender user directory (on Linux it is ~/.blender/scripts)
2) Within blender, make a scripts window, open the scripts menu, then
press 'Update Menus'.
From now on you can export a mesh by doing the following:
1) Select the mesh to export. Only one is allowed currently.
2) Select File -> Export -> Racer Mesh Exporter
3) Enter a filename and press Export.
Note: At the time of writing, Blender 2.5 doesn't support this.
The developer documentation hosted there is built as above.
There is also some content on the wiki: