IEEE CEC 2007 Car Racing Competition

Julian Togelius and Simon M. Lucas

In association with the Congress on Evolutionary Computation 2007. There is a prize of 500 USD to the best competitor, generously sponsored by IEEE CIS (subject to at least five entrants registering for the conference).

Getting started
League table
Submitting your controller

Last update: September 19, 2007


The aim of the competition is to produce the best controller for a simulated car racing task. How good a controller is is measured as how many waypoints it can pass within a set time limit (1000 timesteps). The waypoints are randomly distributed around a square area at the beginning of each race, and the car knows the position both of the current waypoint and the next waypoint after that.

To make things a little less straightforward the physics are reasonably detailed, allowing for skidding and car-to-car collisions. There are two cars on the track, meaning that a good controller will have to deal with not only how to get as quickly as possible to the next waypoint, but also when to recognize that the competing car will reach that waypoint first and instead go for the next waypoint - or maybe try to block the other car by getting in his way?

One of the main purposes of this competition is to be able to compare different controller development methodologies against each other, both those based on evolution and those based on other techniques. So we hope to get submissions based on evolutionary neural networks, genetic programming, fuzzy logic, temporal difference learning, human ingenuity, hybrids of the above, etc. The more the merrier! (And better for science.)

The information given on this site is correct as of the date indicated in the menu on the right; the software package and rules are intended to be final but might still change. The league table will change as new entries are submitted by competitors.

How to participate (it's easy!)

You participate in the competition by submitting a controller. Your submission will consist of a piece of Java code and/or a WOX file; see the submission instructions for details.

But first you will have to develop your controller, using your method of choice and the Java software package. First of all, look at the getting started page, and then at the techinalities page.

To win the competition, you will have to know what your competitors are up to - your goal is that the controller you submit will beat the ones they submit - so look at the league table to find out what's already been submitted. You could also have a look at some related research linked from the inspiration page, and of course also the rules.