Racing Game 1.0


  • Up, move vehicle forwards
  • Down, move vehicle backwards
  • Left, steer left
  • Right, steer right
  • G, toggle geek(green) mode
  • F, toggle frames per second counter
  • L, toggle limit (use if you have a fast computer, but game seems jerky or to make the game use less CPU time).


I decided that I would write a racing game in java. I was partly inspired by screenshots for hover (which I have not played as I do not have a good enough PC -and the link to it now seems to have died).
After I had started coding I also saw a scalectrix game which gave me a good idea of how the tracks should work.

Thanks to Duncan, Ian and Matt for helping "play-test" the game, and giving me feedback. Thanks again to Duncan for the tracks he created (monaco, track-of-doom and others).
Dunk has also written a track editor, which beats hand coding track files.

I have released the game under the GPL licence. This means that the game is free software, the source code must be made available to anyone who wants it. The source may be modified, but the modified source must remain under the licence, this is known as copyleft. See the Free Software Foundation for more details about what you can and cannot do with the source code.


So here I present to you my racing game. It does not really have a name. The graphics are deliberately simple, I made my self not work on them so that the game would run quickly and so I could concentrate on more important things, such as the:

  • Newtonian physics
  • Peer-to-Peer networking

The game was mainly written in the space of about 3 weeks, so the code is a bit messy.

It is written in java and runs on Windows (tested under NT), Linux (tested under Mandrake), MacOS (tested under 9.04) and Epoc (tested on a netBook). It should run on most computers that have java 1.1. Anyway you can get java from Sun (for windows, linux, solaris) or from Apple (for macintosh).

Anyway, so in the racing game you control a tiny vehicle, it is represented on screen by a little rectangle. To move it around you use the cursor (arrow) keys. That's about it really. The rest should be fairly obvious.


geek mode

The application version of the game must be downloaded onto your computer, it won't work in a browser window. The application version allows you to play against other people, over a network.


To use the application version, run the game. You'll be presented with a dialog (sorry, but it's easier that way). You have four buttons:

  • Host, press this to "host" a game on a network.
  • Join, press this to "join" a game that someone is "hosting". (before you press join make sure you have entered the hosts network address in the box next to the button).
  • About, tells you about RacingGame 1.0.
  • Cancel, obvious really.
a dialog


If you choose join you don't need to know anything else, as soon as everyone else has joined the game will start.


If however you choose to host a game you will be given another dialog (whoohoo!). This one allows you to choose how many people will be in the game (including you) and which track to race on first. Hit "Ok" once you decided everything. If you only chose 1 player, you will go straight into the game, with only you racing. Boring, but good for practice. Otherwise you will be give yet another dialog, with a button that says "stop waiting". This button does not have to be pressed. If you do press it, the game will start with the players who have already joined. If you do not press the button then the game will wait until all players have joined.

another dialog

In game

Once the game starts you will initially not be able to move, until the lights (red, yellow then green circles) have disappeared.

The games host will have two buttons to the right of the racing area, one is reset, one is next. Reset restarts the race with everyone at the starting line again. Next does the same, but also puts everyone onto the "next" track.


  • This game works best on a low latency network, such as an office LAN. It will most likely not work very well over the internet.
  • The game will run on slow computers, but may well be very jerky. Ideally the fps (frames per second) should be around 30-40.
  • Try not to have anything else running whilst playing the game, as this might make the game jerky. If you are going to run something else whilst running the game turn limiting on (press l), this will cause the game to give up some processing time to other applications.
  • You might end up "outside" of the track, you should not, but you might. Don't panic, either reset or drive back to where you exited the track.
  • Go here for a discussion of how some parts of the game work (or are meant to work), and for the source code.