tl;dr: Контур во второй раз организует оффлайновые площадки для онлайн-соревнования по программированию игровых ботов на CodinGame. Площадки будут в 7 городах: Екатеринбурге, Ижевске, Иннополисе, Новосибирске, Перми, Ростове-на-Дону и Санкт-Петербурге.
Всё пройдёт 16 июня, в субботу (в Иннополисе — 18 июня, в понедельник). Приходите, если хотите отвлечься от рабочих задач и запрограммировать что-нибудь необычное. Ссылка для регистрации — в конце поста.
Всем привет! Я люблю участвовать в соревнованиях по программированию. Например, занимаюсь спортивным программированием — недавно в составе команды Ural FU: Kek стал бронзовым призёром ACM ICPC World Finals.
Другим моим классным хобби является программирование игровых ботов на CodinGame. Я занимаюсь этим не так давно, но успел вовлечься и теперь ищу единомышленников. Поэтому я решил помочь с организацией хабов и приглашаю всех присоединиться.
Мой профиль на CodinGame.
Что такое CodinGame
CodinGame — платформа для обучения программированию в игровой форме. Раз в пару месяцев стартуют 10-дневные соревнования по программированию игровых ботов. Обычно всё хорошо организовано:
- Много участников. Можно соревноваться с очень сильными соперниками со всего мира. Например, в последнем соревновании было 2120 участников, их них 106 — из России.
- Умеренный порог входа. Даже новичок может сделать бота, который будет играть и побеждать других ботов. Можно использовать любой из 26 языков программирования.
- Удобно и красиво. Есть удобные лидерборды по странам, визуализаторы для просмотра игры ботов, песочница для запуска кода в браузере.
Визуализатор одного из соревнований.
В ночь на 16 июня начинается новое соревнование — Code of Kutulu. Правила будут опубликованы после начала, пока известно только название, отсылающее к творчеству Говарда Лавкрафта. Однако понятно, чего ждать. Скорее всего, надо будет управлять одним или несколькими ботами в мире, работающем по заданным правилам. Машинки, самолётики, кораблики, волшебники ездят, летают, плавают, стреляют, кидают мячики, чтобы собирать бонусы, брать чекпоинты, уничтожать соперников и забивать голы. Нужно раз в такт прочитать текущее состояние мира и ответить командой для каждого своего бота.
Зачем писать ботов и соревноваться
Вообще, я привык к другим задачам и соревнованиям. До первого контеста на CodinGame я думал, что боты для игр — это что-то сложное. Примерно как современные шахматные движки, которые способны просчитывать игру на 25 ходов вперед и побеждать действующих гроссмейстеров.
Однако оказалось, что здесь не нужно писать сложные алгоритмы. Скорее нужно придумывать идеи для эвристик, болеть за своего бота на матчах и пытаться отучить его делать до смешного глупые ходы. В отличие от спортивного программирования, здесь полезно писать тесты — они помогают на длинной дистанции.
Ребята из CodinGame научились делать игры, которые не пугают новичков своей сложностью, и одновременно достаточно вариативны — эксперты могут посоревноваться друг с другом в гибкости ума и умении программировать сложную логику.
Во всех новых играх есть красивая визуализация, благодаря которой игры понятны даже ребенку. А комьюнити готово помочь с интерфейсом, инструментами и ошибками в стратегии, приправляя любое обсуждение долей хорошего юмора.
Что такое хабы и где они будут
CodinGame предлагает игрокам собираться в оффлайне, чтобы познакомиться, обсудить стратегии и, при желании, писать код в парах и соревноваться между собой. Площадки для этого — хабы (coding hubs).
Трелло-доска для организаторов хабов.
Уже известно, что будет 13 хабов в Германии, Колумбии, Литве, Турции и Франции. Ещё 7 хабов будет в России в городах с офисами разработки Контура.
Вот что происходит на хабе:
- собираемся, разбираем правила и обсуждаем стратегию
- пишем код 2 часа (по желанию — в парах)
- собираемся на чекпоинт: обсуждаем успехи, едим пиццу, деанонимизируем участников из топа лидерборда
- снова пишем код 2 часа
- снова собираемся на чекпоинт
Хабы продлятся 4-5 часов. Понятно, что можно уйти раньше или залипнуть ещё на час-другой.
Регистрируйтесь по ссылкам и приходите со своим ноутбуком:
- Хаб в Екатеринбурге — 16 июня, суббота, начало в 12:00 (MSK+2)
- Хаб в Ижевске — 16 июня, суббота, начало в 11:00 (MSK+1)
- Хаб в Новосибирске — 16 июня, суббота, начало в 14:00 (MSK+4)
- Хаб в Перми — 16 июня, суббота, начало в 12:00 (MSK+2)
- Хаб в Ростове-на-Дону — 16 июня, суббота, начало в 10:00 (MSK)
- Хаб в Санкт-Петербурге — 16 июня, суббота, начало в 10:00 (MSK)
- Хаб в Иннополисе — 18 июня, понедельник, начало в 18:00 (MSK)
До встречи!