Exploring Genetic Programming (Part 1)

Recently a friend of mine asked how I keep my skills sharp and I answered that one of the things that I do is come up with a project and then use that to learn a new skill or programming language. I then had to admit to myself that I hadn’t done such a project in quite a while (I’m a bit occupied with developing fpc.ink), but it’s now time to give this a go again.

This time I want to look into genetic programming by training an AI to play the Robocode game. Robocode is a tank game where you have to program a tank that is then fighting against other tanks. It was designed to be a fun game to learn about writing such AIs. Unfortunately it is written in Java so the bot has to be written in Java as well. I’m not a huge fan of this, so I’ll try to see if I can’t use Clojure instead. That runs on the JVM as well and it should theoretically be possible to write Java compatible code. That way I don’t only brush up on my knowledge on genetic programming, but also on Clojure.

Next steps:

  1. Familiarize myself with the Robocode bot API
  2. Write a simple bot in Clojure
  3. Start reading A Field Guide to Genetic Programming
  4. Figure out the next steps!

One thought on “Exploring Genetic Programming (Part 1)

Leave a comment