I’ve mentioned before that I think Robocode is the way forward for this contest, but it seems to be we’re taking a different route, so I suggest the following.
Someone should come up with an interface, a set of commands that each bot can use to determine something about it’s environment.
getArenaWidth()
getArenaHeight()
getNumberOfBots()
etc
along with all the useful methods like
getVectorToClosestBot()
moveLeft()
moveRight()
fire()
etc
Then we the contestants can then write our own arena and bots, as long as the contract defined in the interface is maintained, I should be able to then place my bot into anyone elses arena and have it work straight away. No possibility of cheating here since I only know of the published api for determining information about my environment.
If someone who has plenty of time on their hands wants to write a fancy arena, which renders the action in real-time using LWJGL then so be it.
So in summary:-
- Define the problem that we’re trying to solve (last bot standing wins or find all carrots in a field in quickest time etc).
- Start to define an interface that we can use to support this contest so that each bot works on the same set of actions and information.
- Give us a dates for interface finalisation (we can all contribute ideas) and contest day!
Andy.