Thursday, April 30, 2009

Report on Agent Development Stimulation Platform

In the Assignment 3 of ICS606, I was supposed to install the Robocup Rescue system and do some experimental agent development upon it. However, even compile the system came out to be nothing trivial. The system is written in both C/C++ and Java. The latest version is back to Mar 2007. They use both GCC and JDK to compile the system, but since their latest release, both these two compilers have updated quite a bit. As a result, the code cannot be compiled using the latest version of the compilers. Moreover, as although the system is claimed to be platform-independent, its makefile do use some parameter that is not available to Macintosh (like -soname), and the source code contain some function that has no Macintosh version(like pthread_yield()). The only guaranteed is Unix, in the state when their latest version released.

I have tried to compile it in Mac OS X 10.5, Windows XP SP3 and Ubuntu 9.04, with the latest compilers. None of them has any luck to pass the compiling, and the error given in these three platform are different.

In order to successful compile the system, the user have three choices. The first way, also the hard way, is to fix all the compile failures to match the compiler of the user's enviornment. The second way, which is theorictical, is to configure the compile system to compatible to the state of the release day. The third, which is somehow tricky but most easy way, is to install a stand-alone Linux using the old build. The easier way is to install that in a virtual machine. It is proofed to work to install the Ubuntu 6.10(Edgy Eft).

On contrary, the Robocode, which I got to know from a classmate's presentation, is much user-friendly. The procedure from downloading to start using it is quite straight forward. The installation package execute correctly and I can start writing my own agent in 10 minutes!

In conculsion, the Robocup platform is ill designed and extremely user-unfriendly, while Robocode is a much better platform for agent stimulation and easy to use.

No comments: