Помню оживленное обсуждение на хабре Google AI Challenge, а заметок по подобному соревнованию от Microsoft не нашел. И раз уж мне посчастливилось этот конкурс выиграть, наверное мне о нем и рассказывать.
Как и в случае с Google AI Challenge сама корпорация Microsoft непосредственного участия в организации не принимала, а разработкой занималась шведская фирма Giraff.
Cloudball — упрощенная версия футбола. Играют две команды по 6 игроков. Игроки могут «вести» мяч, бить его в любую сторону и делать подкаты. Мяч упруго отбивается от бортиков. У каждого игрока есть свое амплуа (вратарь, левый защитник, правый защитник и т.д.), но придерживаться их не обязательно.
Вот пример матча:
Разрабатывать команды можно только на C# (впрочем не вижу препятствий для других языков .NET, на сервер заливаются скомпилированные dll, но организаторы заявили только C#). Технически, ваша библиотека должна содержать класс, с интерфейсом ITeam, который реализует метод Action. Этот метод будет вызываться на каждом ходу игры. Каждому игроку нужно дать одно из заданий:
- ActionGo(IPosition) — направить игрока в определенную точку поля
- ActionShoot(IPosition, float) — удар в выбранном направлении с выбранной силой
- ActionPickUpBall — взять мяч, если он ничейный
- ActionDropBall — «уронить» мяч
- ActionTackle(Player) — сделать подкат
- ActionWait — ничего не делать на данном ходу
Игра представляет широкие возможности для фантазии в области тактики. И если я старался придерживаться комбинационной игры, с большим количеством пасов и выводом за счет этого форвардов на ударную позицию, то многие придумывали совсем экзотические варианты: от «автобуса» в своих воротах, до так называемого «blob'a», когда при атаке все игроки кучкуются вокруг мяча и идут на ворота соперника «свиньей». Несколько участников, в том числе канадец, занявший третье место, неплохо справлялись с дриблингом, обучив своих игроков выписывать кружева по полю и за счет инерционности соперников уходить от их подкатов. А занявший второе место американец явно исповедует тотальный футбол — у него все от вратаря до центрфорварда атакуют и защищаются.
Соревнование длилось с 18 апреля по 16 июня и наверное пост о нем был бы более логичен месяца два назад, но есть и хорошая новость: после фиксации результатов и объявления победителей, сервер вновь запущен, а upload команд разрешен. Возможно последуют некоторые изменения в правилах.
Историю создания своей команды я достаточно подробно описал от версии к версии: рус eng (PDF).
Новости от организаторов и основное обсуждение на страничке в Facebook.
Официальный сайт соревнований с турнирной таблицей.
Подробности правил в вики.
Несколько видео моих матчей.
Автор: Ice_Harley