Evolving Robocode tanks for Evo Robocode
Evo Robocode is a competition where the challenge is to use evolutionary techniques to create a Java based controller for a simulated robot tank. The tank competes in a closed arena against other such tanks. The Robocode game is a programming platform that allows such tanks to compete. This article discusses the use of Grammatical Evolution (a form of genetic programming) together with spatial co-evolution. This system harnessed co-evolution to evolve relatively complex behaviours, within the program size constraints of the competition. The entry for the 2013 Evo Robocode competition was not evolved against any human coded robots and yet was able to compete effectively against many previously unseen opponents. The co-evolutionary system was then compared to a system that used a handcrafted fitness gradient consisting of pre-selected human coded robots. The top robots from the co-evolved system performed as well as those evolved using a hand crafted fitness function, scoring well against such robots in head to head battles.
robocode genetic programming co-evolution scalp