Designed for programming enthusiasts and students, Code of Tanks is a programming game where your objective is to defeat other players by designing smarter tanks. Inspired by a long history of games where writing code is central to gameplay, rather than human decisions and reflexes during the battle, it requires predetermined strategy and thoughtful design. The game can be played simply as a fun way to practice and sharpen your skills, or it can be used as a platform for exploring algorithms, machine learning, and artificial intelligence.

Matches are played in real-time, any time, on a 3-D battlefield. Depending on your ability to develop tactics and code your AI, the possibilities are unlimited. Navigate terrain, destroy or avoid obstacles, and find the enemy. Approach directly or spiral in? Maybe run away when your HP is low. Call your allies and wait? It's up to you. Code, test, experiment, apply what you know and learn from each experience.

How it Works

As a player-programmer you write your tanks' AI in the form of a class. You then assign those AI classes to one or more tanks and enter them in a match. During a match, tanks execute their instructions and you can observe the action, take notes, and chat with other players, but have no direct control over your tanks.

Matches can be played whenever two or more people are running the game at the same time. The game features a lobby where players are gathered when they first enter the game, and rooms created by players where matches are played. You can join an existing room or create a new one in order to play a match. You can also create a private room in order to work on tank programs and test them before entering them in a match against other players.

The Application Programming Interface (API) for controlling a tank allows it to turn and move, as well as move and fire its weapon. Tanks can receive information about their surroundings in order to navigate around or destroy obstacles, attack enemies, flee, or otherwise react. They can also communicate with other tanks by sending arbitrary messages to coordinate actions and plan strategy. Sample tank classes are included with the API that demonstrate these and other features.

Check out the introductory topics and guides in the forums to learn more, or...