← Back to all projects

Russian AI Cup: CodeTanks

2012
AIGame AIJavaRobocodeAlgorithmsRussian AI CupCodeTanksCompetitive Programming

Russian AI Cup 2012: CodeTanks was one of the first major AI programming championships in Russia, organized by Mail.Ru Group and Saratov State University. Participants were tasked with writing a control strategy for a tank (or a squad of tanks) operating on a 2D battlefield.

Technical Challenge

The core of the competition was precise movement and fire control. Unlike simple 'WASD' movement, CodeTanks utilized differential steering where the strategy had to set the power for left and right treads independently. This required implementing custom physics-based movement algorithms to execute smooth turns and complex maneuvers while simultaneously calculating ballistics for both standard and premium projectiles.

My Implementation (Top 100)

Developed in Java, my strategy focused on several key areas:

  • Advanced Positioning: Used an evaluation system to identify 'safe' vs 'dangerous' zones based on proximity to enemies, potential lines of fire, and avoiding collisions with teammates.
  • Dynamic Targeting: A multi-criteria selection algorithm that prioritized targets based on distance, angle, and current health, ensuring high-efficiency fire.
  • Tactical Maneuvering: Implemented defensive 'jiggling' and reverse-tread movement to evade incoming fire while maintaining optimal turret orientation.

Out of thousands of participants and a rigorous multi-round selection process involving team-based combat (up to 3 tanks per player), my bot successfully reached the final stages, finishing in the Top 100.

Media Gallery

Russian AI Cup: CodeTanks media 1