- PVSM.RU - https://www.pvsm.ru -

Завершилась битва в CodeCombat между 545 программистами

Завершилась битва в CodeCombat между 545 программистами

На Хабре уже рассказывали про замечательную игру CodeCombat [1], которая помогает изучать Javascript в нескучной игровой форме. Но в битве Greed [2] столкнулись отнюдь не новички, а настоящие профессионалы.

Во время соревнования 545 участников написали более 126 000 строк кода. Каждый потратил в среднем 10 часов на подготовку заданий, что соответствует 7,5 человеко-месяцам разработки. Обсчёт итога происходил на 673-ядерном кластере, который за один час просчитал результат всех 153 439 игр. Победители [3] заберут призов на сумму более $40 000.

Абсолютный чемпион Wizard Duke показал и вовсе уникальный результат: 363 победы, 0 поражений, 14 ничьих. В интервью организаторам 23-летний английский программист Майкл Хиселл (Michael Heasell) объяснил свою стратегию сбора монет [4]. Вектор движения игрока вычислялся как сумма векторов, генерируемых окружающими монетами, в зависимости от их ценности, и векторов противоположного направления от границ игровой зоны и коллег-сборщиков монет. Результат сложения всех векторов показывал, в какую сторону сборщику совершить очередной ход.

Таким образом, сборщики Wizard Duke двигались в направлении наиболее плотных кластеров с ценными монетами, равномерно распределяясь по территории.

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

Его стратегия производства юнитов [5] тоже довольно сложная. Майкл задействовал продвинутую архитектуру категоризации [6] для распределения приоритетов между типами и подтипами автономного поведения ботов. Например, один из типов поведения — зондирование. Некоторые игроки строят большую армию в ответ на появление любого агрессора. Для проверки противника Wizard Duke отправлял в середине игры единственного солдата к базе врага.

Запись напряжённой битвы между игроком Wizard Duke и канадским кланом Bellardia см. здесь [7]. Интересно, что с середины игровой сессии сборщики монет с противоположных сторон двигаются почти синхронно парами, что указывает на схожесть стратегий, которые использовали Wizard Duke и Bellardia.

Автор: alizar

Источник [8]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/62306

Ссылки в тексте:

[1] CodeCombat: http://codecombat.com/

[2] Greed: http://blog.codecombat.com/a-31-trillion-390-billion-statement-programming-war-between-545-wizards

[3] Победители: http://codecombat.com/play/ladder/greed#winners

[4] стратегию сбора монет: https://gist.github.com/schmatz/4d216782b46d73c45813#file-greed_human-js-L144-L221

[5] стратегия производства юнитов: https://gist.github.com/schmatz/4d216782b46d73c45813#file-greed_human-js-L223-L501

[6] архитектуру категоризации: https://en.wikipedia.org/wiki/Subsumption_architecture

[7] здесь: http://codecombat.com/play/spectate/greed?session-one=5381e3537585483905a829c1&session-two=537b958e6c13497e05de81f2

[8] Источник: http://habrahabr.ru/post/226209/