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.