Этот год трансформировал многие процессы, изменились традиции, привычки. Поменялся ритм, появилась дополнительная неопределенность и напряженность. Но душа IT-специалиста требует разнообразия, и многие разработчики нас спрашивали — будет ли ежегодный чемпионат Russian AI Cup? Будет ли анонс? Какая тема грядущего чемпионата? Брать ли отпуск?
Не без изменений, но в лучших традициях. Накануне старта мы анонсируем один из крупнейших онлайн-чемпионатов современности по программированию искусственного интеллекта — Russian AI Cup. Приглашаем войти в историю!
История чемпионата началась в 2012 году. Каждый год мы в Mail.ru Group совместно с Codeforces придумываем игровую задачу для разработчиков со всего мира. Цель — реализовать на любом языке программирования стратегию или бота, который будет играть в виртуальном мире за своего создателя против других ботов. Ежегодно в чемпионате участвует около 2 000 человек.
Кто один раз участвовал, тот уже не может пропустить новое событие. Бывших участников не бывает. Поскольку между Russian AI Cup перерыв в один год, разработчики участвуют в других подобных инициативах, например, в Mini AI Cup или других международных платформах, таких как CodinGame. Сформирована уже целая культура. Про все прошлые чемпионаты вы можете вспомнить или прочитать в других статьях. Ссылки будут в конце.
Теперь про Russian AI Cup (или RAIC): CodeCraft — соревнование этого года.
Расписание чемпионата
Принять участие можно в любой день чемпионата, но есть этапы:
- Бета-неделя (28 ноября).
- Песочница (5 декабря и до конца соревнования).
- Первый раунд (12 — 13 декабря).
- Второй раунд (19 — 20 декабря).
- Финал (26 — 28 декабря).
Традиционно чемпионат открывается тестовой неделей (бета-неделя). В это время участники пробуют задачу на вкус, а мы проверяем, что всё работает, и исправляем ошибки, баланс и любые другие найденные проблемы. Всё, что нужно — загрузить код со стратегией в систему. Система запуска будет искать соперника для вашей стратегии, покажет визуально, как велась игра, и определит победителя сражения.
Песочница начинается сразу после беты и длится до конца соревнования. По рейтингу за первую неделю отбираются участники в первый раунд. Если не получилось пройти в первый раунд, вы можете продолжить улучшать свою стратегию и бороться за призы Песочницы до конца чемпионата. Кроме того, лучшие стратегии Песочницы тоже попадают в финал.
После каждого этапа сложность игры увеличивается. Добавляются дополнительные объекты, взаимосвязи между ними и правила. Всё это заранее описано в документации.
Тем, кто попал в первый раунд, необходимо будет улучшить свою стратегию до старта раунда. Лучшие участники первого раунда проходят во второй, а из второго — в финал.
Таким образом, в финал можно попасть двумя путями — по основной ветке или через Песочницу. Выбор за вами!
Призы
В прошлые года победители получили от нас технику (макбуки, айпады, часы и жесткие диски). Кроме того, на память мы вручили 60 толстовок и 360 футболок.
К сожалению, участники предыдущего RAIC получили футболки только почти через год (технику мы доставили). В пандемию мы были бессильны и не готовы.
В связи с этим мы думали, чтобы отменить мерч в этом соревновании, но на нас обрушился шквал негодования. «Не нужны промокоды или другие виртуальные призы, нужны футболки и толстовки» — цитирую сообщество.
Изменение 1: призы теперь не физические, а денежные. В этом году победители получат:
- 1-е место — 250 000 руб.
- 2-е место — 200 000 руб.
- 3-е место — 150 000 руб.
- 4-е место — 125 000 руб.
- 5-е место — 100 000 руб.
- 6-е место — 75 000 руб.
Победители песочницы (тоже 6 человек) получат по 10 000 рублей каждый. Суммы указаны после вычета налогов. Мы значительно увеличили призовой фонд.
Изменение 2: футболки и толстовки будут, но доставка будет не раньше февраля. Если вы не хотите ждать, то сможете обменять свой поощрительный подарок на промокод в сервисах Mail.ru Group (облако и др.).
Все участники второго раунда получат футболки, а участники финала — толстовки.
CodeCraft
В 2017 году мы пытались сделать игру, похожую на StarCraft. Называлось соревнование тогда CodeWars. Сделали мы в итоге Total War с ядерными ударами по бутербродам (кто играл, тот поймет).
Через два года вернулись к идее создать стратегию, но уже с элементами экономики. Я, например, вдохновлялся Stronghold Crusader, Empire Earth и другими классическими стратегиями.
В нашей игре CodeCraft вам предстоит управлять набором юнитов, строить здания, собирать ресурсы и атаковать противников. Мы надеемся, что новая игра вам понравится.
Полные правила игры будут доступны в момент открытия беты, поэтому здесь я опишу основной сценарий действий и ключевые объекты в игре.
Игру можно будет скачать и поиграть локально. Версии доступны для Linux, MacOS и Windows.
Программировать стратегии можно будет на большинстве ЯП: C#, C++, D, F#, Go, Java, JavaScript, Kotlin, Python, Ruby, Rust и Scala.
Основные сущности
Есть фиксированный набор типов сущностей в игре, и сущности одинаковых типов имеют одинаковые свойства:
- Ресурс — единственная сущность, которой нельзя управлять. Её можно только собирать.
- Юнит-строитель. Основная цель этого юнита — добывать ресурсы и строить здания.
- Юнит ближнего боя. Базовый юнит, наносящий урон в ближнем бою.
- Юнит дальнего боя. Наносит урон на расстоянии.
- База строителей/юнитов ближнего боя/юнитов дальнего боя — эти здания позволят купить новых юнитов соответствующего типа. Могут быть построены строителем.
- Стена — маленькое здание, блокирующее проход для противника.
- Дом — здание, производящее еду.
- Турель — здание, способное атаковать врагов. Не имеет возможности двигаться.
Мы решили не добавлять много разных юнитов или объектов на карту, поскольку это не разнообразит стратегии, а усложнит игру.
Карта
Тема у нас космическая. Игровое поле представляет собой прямоугольную сетку, разделенную на клетки. Все игровые сущности имеют форму квадрата и находятся в целых координатах.
За расстояние между двумя клетками в игре принимается количество клеток, по которым нужно пройти, чтобы достичь цели, передвигаясь только по соседним клеткам.
Вам может показаться, что у каждого объекта есть высота. Это не так. В этот раз тоже без 3D.
Основная идея
В целом идея простая — уничтожить базу противника. Популяцию надо кормить, здания строить, юнитов покупать, а еще нужно защищаться и завоевывать другие территории.
Первым делом вы начнете собирать ресурсы (фармить) и строить здания (или покупать юниты), и сразу сражаться. Уже на этом этапе игрок выбирает, идти в развитие или в войско.
Если вашу базу атаковали и нанесли урон, то вы можете отремонтировать оставшиеся здания.
У каждого юнита или здания есть здоровье, а атакующие сущности имеют ограниченную дальность атаки.
Население нужно кормить! Дом производит еду, а некоторые ее используют. Следите за этим.
Ну и последнее — это дальность зрения. Если включен туман войны, ваша стратегия увидит лишь те сущности, которые расположены не дальше заданного расстояния от какой-то из сущностей, контролируемой вами.
Специфика
Туман войны будет доступен только в Раунде 2.
В финале игры будут 1 на 1, а до него 1 против 3.
Все правила и сущности будут доступны в Песочнице.
И да — вспоминайте простой алгоритм A*. Он вам пригодится.
Сообщество
Присоединяйтесь к нашему дружному сообществу в Telegram. Мы общаемся и отвечаем друг другу на вопросы. Ждём вас!
Игра, языковые пакеты и полные правила будут доступны 28 ноября в 00:00 МСК.
Желаем веселья, интереса и удачи!
2012 CodeTanks
Статьи
Путь к победе на Russian AI Cup 2012
Путь к серебряной медали на Russian AI Cup 2012
Танковые маневры на Russian AI Cup
Видео
2013 CodeTroopers
Статьи
Russian AI Cup: технические детали
Золотая медаль на Russian AI Cup 2013 — как это все было
Видео
2014 CodeHockey
Статьи
Russian AI Cup 2014: стратегия победителя
Разработка стратегии игры хоккеистов в рамках конкурса Russian AI Cup
Видео
Solit 2015. Иван Поляков «Russian AI Cup 2014: создание AI для игры реального времени»
Быстрый старт: разбор от участника
AI Cup 2015 News: выпуск 01, выпуск 02, выпуск 03, выпуск 04, выпуск 05, выпуск 06, выпуск 07.
2015 CodeRacing
Статьи
История победы на ежегодном соревновании Russian AI Cup 2015
История 5-го места на Russian AI Cup 2015
Видео
2016 CodeWizards
Статьи
Дайджест AI Cup. Пять стратегий Code Wizards 2016
Как создать лучшего бота для игры в стиле Dota — интервью с победителем соревнования Russian AI Cup
История участия (и почти победы) в Russian AI Cup 2016
Видео
Deep Learning Agent for RussianAICup 2016
2017 CodeWars
Статьи
История 3 места Russian AI Cup 2017
Пример стратегии Russian AI Cup 2017
Russian AI Cup: инструментарий участника
Видео
Быстрый старт: разбор от участника
Game from Russian AI Cup 2017 CodeWizards
2018 CodeBall
Статьи
История участия (и победы) в Russian AI Cup 2018 — CodeBall
История второго места в Russian AI Cup 2018: CodeBall
Russian AI Cup 2018, история 9 места
Создание бота для участия в Russian AI Cup 2018 CodeBall
Как я обучал нейросеть для реализации функции оценки положения на Russian AI Cup CodeBall 2018
Видео
Красивые моменты Russian AI Cup Codeball
Russian AI Cup 2018: My Renderer
2019 CodeSide
Статьи
CodeSide. Новая игра для знаменитого соревнования Russian AI Cup
Автор: Дмитрий