Project Elements:

The executables:
Map Editor in python (save only, can't reload a map for further editing at the moment. Simple tools for laying down the obstacles, the starting points, and the transporters that make up the immovable objects on a map.

Run time map- python/Tkinter and opengl/C++ versions. The map (playing field/arena) will run in one of 4 modes: Invisible, Pyhton, OpenGL and INPROC_OpenGl.  If the config file calls for Python or OpenGL the main game process will launch a seperate process for the map (if the ip addressing indicates the map is running on the local address, otherwise the map must be run seperately on another host). A socket link will be used for communication so the map can be run on a seperate machine from the main game process. This can aid the development process.

Currently, Linux must run in invisible or Python mode. Invisible is by far the fastest and allows for many tournaments and is the best way to try to evolve robots. INPROC_OPENGL is the second fastest because it skips all the TCP/IP and interprocess overheads.

Transporter server- Python One machine on a LAN is designated to be the server for transporting robots between games running on different machines. When a robot hits a transporter its data(state) is sent via tcpip to the server program. The server picks a random destination based on all the connections established to send the robot data to.

XML config file editor in Python

The NT service, for batch processing on other peoples machines late at night - Python

The results analysis / storage: Currently a python module that stuffs an excel spreadsheet

Main Robowar run time program, C++ taking and XML config file as input

The data files:

The Robot assembly language files- ASCII text files
The Map (playing field) description- XML
Tha Tournament Control file- XML
robotrace.txt - the raw txt trace results from running robowar with trace turned on
robodebug.mdb - access database of game events a robot assy debug aid
analysis.xls - for scoring the games.