Russian AI Cup 2020 — новая игра-стратегия для разработчиков

в 12:01, , рубрики: AI, codecraft, Gamedev, raic, russian ai cup, russian ai cup 2020, Блог компании Mail.Ru Group, Занимательные задачки, искусственный интеллект, ненормальное программирование, Программирование

Russian AI Cup 2020 — новая игра-стратегия для разработчиков - 1

Этот год трансформировал многие процессы, изменились традиции, привычки. Поменялся ритм, появилась дополнительная неопределенность и напряженность. Но душа 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 — соревнование этого года.

Расписание чемпионата

Принять участие можно в любой день чемпионата, но есть этапы:

  1. Бета-неделя (28 ноября).
  2. Песочница (5 декабря и до конца соревнования).
  3. Первый раунд (12 — 13 декабря).
  4. Второй раунд (19 — 20 декабря).
  5. Финал (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 с ядерными ударами по бутербродам (кто играл, тот поймет).

Russian AI Cup 2020 — новая игра-стратегия для разработчиков - 2

Через два года вернулись к идее создать стратегию, но уже с элементами экономики. Я, например, вдохновлялся Stronghold Crusader, Empire Earth и другими классическими стратегиями.

В нашей игре CodeCraft вам предстоит управлять набором юнитов, строить здания, собирать ресурсы и атаковать противников. Мы надеемся, что новая игра вам понравится.

Полные правила игры будут доступны в момент открытия беты, поэтому здесь я опишу основной сценарий действий и ключевые объекты в игре.

Игру можно будет скачать и поиграть локально. Версии доступны для Linux, MacOS и Windows.

Программировать стратегии можно будет на большинстве ЯП: C#, C++, D, F#, Go, Java, JavaScript, Kotlin, Python, Ruby, Rust и Scala.

Основные сущности

Есть фиксированный набор типов сущностей в игре, и сущности одинаковых типов имеют одинаковые свойства:

  • Ресурс — единственная сущность, которой нельзя управлять. Её можно только собирать.
  • Юнит-строитель. Основная цель этого юнита — добывать ресурсы и строить здания.
  • Юнит ближнего боя. Базовый юнит, наносящий урон в ближнем бою.
  • Юнит дальнего боя. Наносит урон на расстоянии.
  • База строителей/юнитов ближнего боя/юнитов дальнего боя — эти здания позволят купить новых юнитов соответствующего типа. Могут быть построены строителем.
  • Стена — маленькое здание, блокирующее проход для противника.
  • Дом — здание, производящее еду.
  • Турель — здание, способное атаковать врагов. Не имеет возможности двигаться.

Мы решили не добавлять много разных юнитов или объектов на карту, поскольку это не разнообразит стратегии, а усложнит игру.

Карта

Тема у нас космическая. Игровое поле представляет собой прямоугольную сетку, разделенную на клетки. Все игровые сущности имеют форму квадрата и находятся в целых координатах.

Russian AI Cup 2020 — новая игра-стратегия для разработчиков - 3

За расстояние между двумя клетками в игре принимается количество клеток, по которым нужно пройти, чтобы достичь цели, передвигаясь только по соседним клеткам.

Вам может показаться, что у каждого объекта есть высота. Это не так. В этот раз тоже без 3D.

Основная идея

В целом идея простая — уничтожить базу противника. Популяцию надо кормить, здания строить, юнитов покупать, а еще нужно защищаться и завоевывать другие территории.

Первым делом вы начнете собирать ресурсы (фармить) и строить здания (или покупать юниты), и сразу сражаться. Уже на этом этапе игрок выбирает, идти в развитие или в войско.

Если вашу базу атаковали и нанесли урон, то вы можете отремонтировать оставшиеся здания.

У каждого юнита или здания есть здоровье, а атакующие сущности имеют ограниченную дальность атаки.

Население нужно кормить! Дом производит еду, а некоторые ее используют. Следите за этим.

Ну и последнее — это дальность зрения. Если включен туман войны, ваша стратегия увидит лишь те сущности, которые расположены не дальше заданного расстояния от какой-то из сущностей, контролируемой вами.

Специфика

Туман войны будет доступен только в Раунде 2.

В финале игры будут 1 на 1, а до него 1 против 3.

Все правила и сущности будут доступны в Песочнице.

И да — вспоминайте простой алгоритм A*. Он вам пригодится.

Сообщество

Присоединяйтесь к нашему дружному сообществу в Telegram. Мы общаемся и отвечаем друг другу на вопросы. Ждём вас!

Игра, языковые пакеты и полные правила будут доступны 28 ноября в 00:00 МСК.

Желаем веселья, интереса и удачи!

Полезные ссылки

2012 CodeTanks

Статьи

Путь к победе на Russian AI Cup 2012

Путь к серебряной медали на Russian AI Cup 2012

Танковые маневры на Russian AI Cup

Видео

Процесс написания стратегии

Russian AI Cup. Tactics Field

Russian AI Cup. Code of tanks

Пример стратегии

Пример стратегии

2013 CodeTroopers

Статьи

Russian AI Cup: технические детали

Золотая медаль на Russian AI Cup 2013 — как это все было

Видео

Пишем ИИ для Russian AI Cup

2014 CodeHockey

Статьи

Russian AI Cup 2014: стратегия победителя

Разработка стратегии игры хоккеистов в рамках конкурса Russian AI Cup

Итоги Russian AI Cup 2014

Видео

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

Russian AI Cup 2018: CodeBall

2019 CodeSide

Статьи

CodeSide. Новая игра для знаменитого соревнования Russian AI Cup

Мой бот для Russian AI Cup 2019

Участие и победа в Russian AI Cup 2019

Автор: Дмитрий

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js