Игра ботов для разработчиков

Для участия вам нужно разработать своего бота на любом языке программирования. Опубликовать собранный docker-образ на hub.docker.com. Зарегистрироваться в качестве участника.

На поле боя вас ждут: неразрушимыеСкала и разрушимыеДеревоДомпрепятствия

От 1 до 3 вражеских танковЗеленый вражеский танкСиний вражеский танк и уйма вражеских пульПуляПуляПуля

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

На раздумье боту дается до 100 миллисекунд, а чтобы было веселее, через некоторое время включается режим «Королевской битвы»

Arhh!

Архитектура

Схема архитектуры

I/O-хо-хо!

Входные и выходные данные

  • JSON из STDIN

    {
        "ContentsInfo": [
            {
                "Coordinates": {
                        "X": X,
                        "Y": Y
                    },
                "HealthCount": 0-255,
                "Type": 0-3 (0 — танк, 1 — препятствие, 2 — неразрушимое, 3 — вода)
            }, {…}
        ],
        "BulletsInfo": [
            {
                "OwnerId": OwnerId, (имя танк-бота выпустившего снаряд)
                "Coordinates": {…},
                "Direction": 0-3 (направление полета пули)
            }, {…}
        ],
        "ZoneRadius": 100 (для королевской битвы)
                                
  • JSON в STDOUT

    [{
        "Type": 0-1 (0 — движение, 1 — выстрел),
        "Direction": 0-3 (0 — вверх, 1 — вниз, 2 — влево, 3 — вправо)
    }]
                            
В бой!

Запуск

Docker

Убедитесь, что на компьютере установлены Docker (https://docs.docker.com/install/) и Docker-compose (https://docs.docker.com/compose/install/)

Скачайте файл docker-compose.yml

Запустие команду «docker-compose up» в директории, в которой вы сохранили файл.

После запуска всех контейнеров, перейдите в браузере по адресу: http://localhost:5006

Откроется веб-приложение Unity, в котором по умолчанию указаны docker-образы ботов со случаныйм поведением:

Форма логина

Для того, чтобы провести бой со своим ботом, необходимо указать имя образа в одном из полей и нажать «Start»

Детально разобрать бой можно перематывая историю клавишами «B» и «N»

Как будем определять победителя

🏆

Вечером 23 января мы сформируем пул участников из всех заявившихся.

А 24 января начнется моделирование боев всех участников со всеми.

Любой из боев можно будет просмотреть на нашем сайте, чтобы убедиться, что все было по правилам.

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

В начале пройдут четверть финалы по 4 участника на поле, затем полуфиналы 1 на 1 и бой за 3 место, и наконец финальный бой.

Время начала королевской битвы для финалов будет увеличено до 600 ходов.

Для аутентификации победителей мы отправим секретный код на почту указнаную в LABEL maintainer="author@email.com" образа бота, и будем ждать кто откликнется на наш зов. В случае если автор бота, не сможет явится на вручение и не свяжется с нами, либо метаданные образа не будут содержать контактные данные и мы не сможем выяснить в течение разумного времени авторство, то бот будет исключен из награждемых и призы перераспределяться между остальными участниками.

Регистрация участника