The idea is that you write a script to control a robot. You then pit your robot against other robots and see who wins.
Originally I was going to use C++ with Python for the scripting language but recently I came across Robocode. It uses java for the scripting language. This idea seemed much more natural and also makes it easier to integrate the "script" with the "engine" as it is all written in java.
As it is written in java it should work on any platform.
I have tested it on the following platforms: