in which the cars are driven by robots. Its purpose is two-fold: to
serve as a vehicle for Artificial Intelligence development and as a
recreational competition among software authors. The host software,
including source, is available at no charge. It currently runs under
MSDOS; several persons are now working on ports to other platforms.
This announcement introduces the third release of the software, which
we call version 0.3:
The Robot Auto Racing Simulation
A Challenge for Evolutionary Programming
A Competition for Programmers
by Mitchell E. Timin
Version 0.3 of RARS is ready. It is written in the Borland flavor of
C++ and has been compiled and tested with Borland C++ 3.1, to run
under DOS. It should be easy to port to any C++ that has functions
for drawing lines and arcs, a flood-fill or color fill function, and
text output to the graphic screen. Hence it will not be difficult to
make it run on a Macintosh or Unix system. C++ is not required for
the robot "driver" programs.
The race tracks are now defined by ASCII files. Several pre-defined
tracks are supplied. The desired track is named on the command line.
Users can create their own tracks using any text editor, although
this is not a trivial process unless a CAD program is used to find
the exact lengths, angles, and radii for the track segments. It is
possible to do it by trial and error, however.
There is now a RARS anonymous ftp site: magdanoz.mcafee.com in
directory /bin/ftp/rars. Anyone can get any RARS stuff there,
code, announcements, car controllers, documentation, etc.
There is now a listserver so that interested parties may discuss
RARS by e-mail. To subscribe to the list service send e-mail to
subscribe rars-list
RARS consists of a simulation of the physics of cars racing on a
track, with a simple bird's-eye view of the race. The unique feature
is that each car is controlled by a separate and independent control
program. Each car is "driven" by its own control program, which
receives information from the simulation telling it about the car's
local situation. The "driver" (control program) adjusts the steering
and throttle, and then the physics simulation moves the car a little.
This happens many times per second, of course. Every car has exactly
the same physical characteristics, only the "drivers" are different.
Hence, the result is a competition between the control programs.
Furthermore, the competition is visible as an auto race, with
acceleration, passing, cornering, braking, etc.
It is intended that many users will write their own robot "drivers".
Six similar, but not identical, examples are supplied. These are
meant to serve as examples for programmers wishing to develop their
own. The control programs may be written in other languages,
although for version 0.3 they must be linkable with the Borland
linker. (or supplied in source form for C, C++, TASM or Pascal)
For genetic programming, the races will be between several programs
selected from an evolving population of programs. The racing may
take place continuously for long periods of time, with the graphic
display disabled for faster execution. Of course losers will be
eliminated and winners will breed. Genetic Algorithm proponents
will probably design robot drivers with a vector of parameters to
be determined by evolution. Neural nets are also candidate "drivers".
Wanted - People to do or help with any of the following:
Porting to other platforms
Testing the software and suggesting enhancements
Improving the graphics
Locating a corporate or university sponsor
Act as a race director to manage a "race meet"
Reporting, both to academic journals and popular magazines
Improving the software in any of dozens of ways
Adding sound effects
(and of course, building "drivers" to compete in the races!)