Robocode – 2013


Github Project Site
Github Source Code

For this Robocode class competition, I extended an AdvancedRobot to create the bki.Hunter robot. My previous attempt at creating a Robot focused on being the best robot in a free for all melee. Although I may have scored the most points in free for all melee, my robot did not advance to many rounds in the one-on-one battles. Much was due to the fact that my robot did not shoot very well. With this previous experience in mind, I determined that my strategy would focus more on dodging bullets this time around.

Hunter moves around the battle field in a circular pattern in regards to its opponent at its maximun velocity. When it approaches the battlefield walls within 100 pixels, Hunter will slow down its velocity and make an optimal turn away from the wall. This ensures fluidity of its movement, so there is not lost time changing directions.

When a battle round starts, Hunter will lock on to the first robot its radar picks up. Once that robot has been destroyed, it will start to scan for another target.

Although this article dates back to May 2002, the concepts presented in Secrets from the Robocode masters: Predictive targeting influenced the robot’s bullet handling. The mathematical concepts presented helped me greatly.

Due to its movement pattern and its reliance on the enemy robot’s bearing, Hunter has a high probability of becoming stuck on the wall. As of this writing, the targeting system still needs to be tweaked to ensure bullet will hit. This robot always fires at maximum power, disregarding the distance to the locked on enemy, so the battle will tend to end quickly even if it is not in Hunter’s favor.