Clobber Bots and Genetic Algorithms


In this assignment, you will develop an agent (or bot) for a video game. More than 1 copy of your bot may be placed in the game. So, for maximum performance you will need to make your bots cooperate with each other - at a minimum they shouldn't intentionally shoot each other. I plan on running tournaments with teams of size 1, 2, and 4. I'll run the tournaments as 1 team vs 1 team round robbin, and free-for-all (everybody all at once). There are two goals in the game:

  • Destroy as many of the other bots in the game as possible by shooting them or ramming them (but if you ram them you die too, so that may not be the best strategy) - worth +10 points for each kill.
  • Survive to the end of the game - worth +40 points.
  • The score for all copies of your bots will be summed.



Without formally drudging up the results spread sheet (I will post that information eventually), I know that ours didn't fair much better than the bots who didn't know that they were on a team. Something like maybe 70% more likely to win. And against our other classmates I think we were second to last place. I hate even second place. So this program is going to be revisited. However, rather than taking a scenario by scenario approach, I'm going to try to create a bot using genetic algorithms. Until I have more, here's a fun little applet that lets you play with evolving intelligence as a population of "eaters" matures. 

© 2017 Chad Jorgenson. All Rights Reserved.