Skip to main content
Log in

Evolving Robocode tanks for Evo Robocode

  • Published:
Genetic Programming and Evolvable Machines Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

Notes

  1. http://robocode.sourceforge.net/.

  2. for example, http://robowiki.net/wiki/.

  3. http://robowiki.net/wiki/RoboRumble/Starting_With_RoboRumble.

  4. http://robowiki.net/wiki/Talk:Pattern_Matching.

  5. http://www.jonnielsen.net/RoboReportOfficial.pdf.

  6. The tracker robot is one of the starter robots provided with Robocode. It tracks its opponent, moving close and firing when possible.

  7. The terms hosts and parasite are as used in [5, 18] and are kept here for the sake of consistency, although in the case of this article, we perhaps more intuitively, have two teams, say team “A” and team “B” and the host is a member of team “A” while the parasite is a member of team “B”.

  8. Or conversely, when the hosts attempt to migrate to new nodes, they will meet parasites able to defeat their specialised behaviour.

References

  1. P.J. Angeline, Genetic programming and emergent intelligence, in Advances in Genetic Programming, ed. by K.E. Kinnear Jr (MIT Press, Cambridge, MA, 1994), pp. 75–97

    Google Scholar 

  2. W. Banzhaf, P. Nordin, R.E. Keller, F.D. Francone, Genetic Programming an Introduction (On the Automatic Evolution of Computer Programs and Its Applications) (Morgan Kaufmann Publishers Inc, San Francisco, 1998)

    MATH  Google Scholar 

  3. R. Dawkins, J. Krebs, Arms races between and within species. Proc. R. Soc. Lond. B Biol. Sci. 205, 489–511 (1979)

    Article  Google Scholar 

  4. S. Dignum, R. Poli, Generalisation of the limiting distribution of program sizes in tree-based genetic programming and analysis of its effects on bloat, in Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation , GECCO’07, pp. 1588–1595

  5. F. De Boer, The role of speciation in Spatial Co Evolutionary Function Approximation. Master’s Thesis, Utrecht University, 2007

  6. J. Eisenstein, ‘Evolving Robocode TankFighters’, Technical Report 2003-026, Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory (2003)

  7. M. Gade, M. Knudsen, R.A. Kjær, T. Christensen, C.P. Larsen, M.D. Pedersen, J.S.K. Andersen, Applying Machine Learning to Robocode (Aalborg University, Aalborg, 2003)

    Google Scholar 

  8. R. Harper, Spatial Co-evolution: Quicker, Fitter and Less Bloated. GECCO (ACM, New York, 2012), pp. 759–766

  9. R. Harper, Co-evolving robocode tanks, in Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation (GECCO’11), ed. by N. Krasnogor (ACM, New York, 2011), pp. 1443–1450

    Chapter  Google Scholar 

  10. R. Harper, Spatial co-evolution in Age Layered Planes (SCALP), IEEE Congress on Evolutionary Computation (CEC 2010), IEEE Press, New York, 18–23 July 2010

  11. D. Hillis, Co-evolving parasites improves simulated evolution as an optimization procedure. Artificial Life II Santa FE Institute Studies in the Sciences of Complexity, vol. X (Addison-Wesley, Reading, 1990), pp. 313–324

  12. J. Hong, S.B. Cho, Evolution of emergent behaviours for shooting game characters in Robocode. Congr Evol Comput 1, 634–638 (2004)

    Google Scholar 

  13. G. Hornby, ALPS: The Age-Layered Population Structure for Reducing the Problem of Premature Convergence, GECCO 2006, Seattle, 8–12 July 2006

  14. M. Keijzer, J. Foster, Crossover bias in genetic programming, in Proceedings of the 10th European Conference on Genetic Programming (2007), pp. 116–122

  15. J.R. Koza, Genetic Programming, On the Programming of Computers by Means of Natural Selection, (The MIT Press, New York, 1992), p. 93

  16. S. Luke, Two fast tree-creation algorithms for genetic programming. IEEE Trans. Evol. Comput. 4(3), 274–283 (2000)

    Article  Google Scholar 

  17. S. Luke, L. Panait, A comparison of bloat control methods for genetic programming. Evol. Comput. 14(13), 309–344 (2006)

    Article  Google Scholar 

  18. M. Mitchell, Co evolutionary learning with spatially distributed populations, in Computational Intelligence: Principles and Practice, ed. by G.Y. Yen, D.B. Fogel (IEEE, New York, 2006)

    Google Scholar 

  19. D. Nidorf, L. Barone, A Comparative Study of NEAT and XCS in Robocode, WCCI 2010 IEEE World Congress on Computational Intelligence, CCIB, Barcelona, 18–23 July 2010, p. 86

  20. J. Nielsen, B. Jensen, Modern AI for Games: RoboCode, http://jonnielsen.net/RoboReportOfficial.pdf (2013). Accessed 19 Oct. 2013

  21. M. O’Neill, C. Ryan, Grammatical evolution. IEEE Trans. Evol. Comput. 5(4), 349–358 (2001)

    Article  Google Scholar 

  22. A. Ortega, M. de la Cruz, M. Alfonseca, Christiansen grammar evolution: grammatical evolution with semantics. IEEE Trans. Evol. Comput. 11(1), 77–90 (2007)

    Article  Google Scholar 

  23. Y. Shichel, E. Ziserman, M. Sipper, GP-Robocode: using genetic programming to Evolve Robocode players, Proceedings of the 8th European Conference on Genetic Programming, vol. 3447 (2005), pp. 143–154

  24. T. Soule, J.A. Foster, Removal Bias: a New cause of code growth in tree based evolutionary programming, in 1998 IEEE International Conference on Evolutionary Computation (IEEE Press, Anchorage, 1998) pp. 781–786

  25. L. Spector, J. Klein, M. Keijzer, The Push3 execution stack and the evolution of control, in Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2005) (Springer, New York, 2005), pp. 1689–1696

  26. M. Schmidt, H. Lipson, Co-evolution of fitness predictors. IEEE Trans. Evol. Comput. 12(6), 736–749 (2008)

    Article  Google Scholar 

  27. W.A. Tackett, Recombination, selection and the genetic construction of computer programs. PhD Thesis, University of Southern California, Department of Electrical Engineering Systems, 1994

  28. D. Wyatt, D. Klein, Genetic Programming for Robocode Strategy. https://courses.cs.washington.edu/courses/cse573/03au/reports/team-dan.pdf (2013). Accessed 19 Oct 2013

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Robin Harper.

Appendices

Appendix 1

See Table 3.

Table 3 Grammar used to evolve the non-terminal sentences

Appendix 2

See Table 4.

Table 4 Composition of the robot teams used to form the various fitness functions

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Harper, R. Evolving Robocode tanks for Evo Robocode. Genet Program Evolvable Mach 15, 403–431 (2014). https://doi.org/10.1007/s10710-014-9224-2

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10710-014-9224-2

Keywords

Navigation