Robocode - игра, созданная для программистов и предназначенная для изучения языка Java и некоторых других языков программирования. Начало традиции положил Мэтью Нельсон.
Каждый из программистов пишет Java код, который является проекцией мини- танка. На экране происходит баталия, цель которой - уничтожить все вражеские танки. При этом используется хитроумная стратегия и тактика. Побеждает тот из участников, чей танк максимально "прокачан", то есть код Java бота прописан сложнее и грамотнее. Используя всю мощь языка Java, программисты соревнуются друг с другом, поднимая свой профессиональный уровень. В игре нет единой стратегии. Каждый пишет код, на который способен. Некоторые коды занимают всего 10 строк, другие - несколько страниц. Простой робот-танк можно записать за 10 минут, сложные создаются годами. Есть и такие программы, которые являются темами курсовых и дипломных работ. Программисты прибегают даже к таким методам, как статистический анализ и нейронное программирование.
Весьма серьёзно к игре Robocode отнесся Научно-исследовательской институт ИТМО, который предложил оригинальные разработки в научных трудах, самые известные из которых раскрыты в работах "Система управления танком для игры Robocode. Объектно-ориентированное программирование с явным выделением состояний. Программная документация"[1] и "Применение двухэтапного генетического программирования для построения модели танка в игре «ROBOCODE»[2]. Создатели танка в институте предложили использовать SWITCH-технологию, которую подробно расписали в документации.
Среди участников игры проводятся так называемые "лиги", которые порой доходят до международного уровня.Любой программист, чей бот "прокачан" до хорошего уровня может принять участие в соревновании. Лиги проводятся в разных городах мира, например, в 2011 году фестиваль игр проходил в Ирландии. Существует несколько уровней лиг Robocode: