Russian AI Cup 2018: CodeBall. Зрелищное 3D соревнование

698bf3311a10174a0538bdbfb8eba1d6.jpg

С 2012 года ежегодно проводится соревнование Russian AI Cup по написанию искусственного интеллекта и ботов, которые ожесточенно сражаются в виртуальном мире вместо своих владельцев. За все прошлые чемпионаты на платформе зарегистрировалось более 40 000 пользователей, которые прислали нам более 150 000 различных решений. Каждый новый чемпионат — это новая игровая задача со своими правилами, законами и механикой. Стараемся постоянно вносить новые идеи и фичи, чтобы игры из года в год становились еще более интересными и зрелищными, развивая наш мотор под капотом проекта и делая всё во славу нашего сообщества.

Этот год не стал исключением. Mail.Ru Group в сотрудничестве с Codeforces.com официально объявляют о датах чемпионата Russian AI Cup 2018 под названием CodeBall.

Итак, поехали!

Задача


Традиционно, до анонса чемпионата мы стараемся держать сообщество в неведении. Нас пытали, ругали, но мы, как партизаны, не раскрывали cекретные данные чемпионата, вместо этого подогревая всех вбросами картинок и своими мыслями. На неофициальном канале соревнования создали опрос, где участники пытались отгадать по наводкам организаторов суть нового RAIC 2018.

c1b3092ac075aaddbba7dd3deb8f7267.png

Многие ребята были близки, некоторые отгадали (но об этом им не говорили). Теперь все карты на столе, пора вскрываться.

Задача посвящена футболу. Мы очень не хотели повторить игру 2014 года CodeHockey. Нас вдохновила динамичная игра Rocket League, а также прошедший чемпионат мира.

На этот раз решили сделать игру не в 2D, а реально в 3D (с использованием 3D моделей).

71360f9aaaf9060dad543f81d59241ee.jpg

В Telegram мы выложили данный скриншот, после чего все испытали тяжелые ощущения от кватернионов. На самом деле бояться нечего. В логах они будут, но это используется исключительно для визуализации. В модели игры поворотов нет, всё довольно просто.

Во-первых, как и прежде, у вас будет задокументированный API и правила, а в день начала бета-теста мы опубликуем еще одну статью с подробным описанием всего этого и квикстартом. Вы можете написать на любимом языке стратегию поведения своих роботов-футболистов в игровом мире. Две стратегии разных участников запускаются в один мир и бьются друг с другом. Кто выиграл — играет дальше с другими игроками, а кто проиграл — улучшает свою стратегию, играет дальше и ждёт реванша.

Во вторых, квикстарт. Максимально подробно всё опишем и поделимся с вами. В этом чемпионате порог входа будет ниже. Старались учесть пожелания сообщества.

Улучшили саму платформу проведения и инфраструктуру. Теперь движок работает из Docker. Это позволило разместить свои инстансы в облаке Mail.Ru Cloud Solutions. Теперь все решения будут обсчитываться на современном железе, а именно на 200 ядрах Intel Xeon E5–2660 v4. Поработав с ними через интерфейс MCS, мы ощутили всю мощь этой платформы, поэтому лагов быть не должно, а скорость обсчета решений будет выше, чем прежде.

35f153e12f6c7972c19c34e7e8acd71f.png

Итак, какой футбол и почему роботы?

Игровой мир находится в космосе, на астероиде, курсирующем по галактике. На нем построен стадион и поле, на котором бегают роботы и пинают мяч. Цель — выиграть матч, т.е. забить больше всего голов за N тиков (единица времени в игровом мире).

58fa5bd4058a4ca5e3c19401cd254e4f.png

843344326d6ea480b97c383bda01ea32.jpg

Робот, находясь на астероиде, может задать себе ускорение в любом направлении (поворотов у объектов в модели нет, только визуально). Роботы в модели являются шарами меньшего радиуса, чем мяч, поэтому можно бить навесом :) Всё как в реальном футболе.

9470a43d1f04510ee2ad04635f57da6f.jpg

Сделали специально для вас: в футбол можно будет играть прямо в браузере.

3cf31b7b689a0f07763c1eb3eb5cac04.gif

33362b878d56ba500e33747e88778ffc.png

Чемпионат состоит из двух раундов и финала.

В первом раунде каждый игрок получит одинаковое количество футболистов.

3e7ef58a768243d6deb8d19656530f9c.jpg

Во втором раунде футболисты смогут использовать буст (нитро) с ограниченным запасом топлива, которое можно пополнять, собирая «баки» на поле. Буст появляется в фиксированных точках и респаунится через некоторое время.

f0f8ffca70dfb83aaf44153aebdb1156.gif

В третьем раунде у каждого игрока станет больше футболистов. Сколько — сейчас не скажем.

Результат игры не зависит от случайных факторов. Мы не добавляли тряску астероида, хотя хотелось :)

Пользуясь случаем, хочу поблагодарить Виталия Кудасова (@kuviman), Михаила Мирзаянова (@MikeMirzayanov) и всю команду чемпионатов за созданную игру.

Расписание


  1. Песочница: 17 декабря — 5 января;
  2. Первый раунд: 5 — 6 января;
  3. Второй раунд: 19 — 20 января;
  4. Финал: 26 января.


В начале любого Russian AI Cup соревнование начинается в бета-режиме. За это время возможны изменения баланса, устранение ошибок, оптимизация инфраструктуры. Кроме того, перед финалом (за неделю) также могут появиться изменения в правилах.

Ничего не изменилось и в принципах отбора стратегий в первый раунд. С 17 декабря по 5 января работает песочница, из которой будут отобраны по рейтингу стратегии для первого раунда. В случае победы рейтинг растёт, в случае проигрыша — уменьшается.

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

Подарки


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

  • 1-е место — MacBook Pro.
  • 2-е место — MacBook Air.
  • 3-е место — Apple iPad.
  • 4-е место — Samsung Gear S3.
  • 5-е место — WD My Cloud 6 TB.
  • 6-е место — WD My Passport Ultra 4TB.


Для топ-6 победителей песочницы у нас заготовлены WD My Passport Ultra 2TB (но их тоже можно заменить).

Всем участникам второго раунда достанутся футболки, а участникам финала — толстовки.

Присоединяйтесь к сообществу


Теперь самое время пойти и подписаться на анонс. Мы обязательно напомним вам о начале чемпионата.

Ждем всех в Telegram-чате, Telegram-канале и группе в VK. Добро пожаловать в ряды!

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

© Habrahabr.ru