Пользователь
30,2
рейтинг
14 июня 2014 в 13:28

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



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

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

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

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

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

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

Запись напряжённой битвы между игроком Wizard Duke и канадским кланом Bellardia см. здесь. Интересно, что с середины игровой сессии сборщики монет с противоположных сторон двигаются почти синхронно парами, что указывает на схожесть стратегий, которые использовали Wizard Duke и Bellardia.
Анатолий Ализар @alizar
карма
749,5
рейтинг 30,2
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (10)

  • +6
    s/Duke/Dude/
  • 0
    Думаю, что при разработке стратегии строительства и т.д. нашли бы применение методы теории оптимального управления.
  • +1
    Например, один из типов поведения — зондирование.
    Я бы это назвал скорее не зондированием, а провокацией.
  • 0
    Запись напряжённой битвы между игроком Wizard Duke и канадским кланом Bellardia см. здесь.

    Так чем Санта-Барбара закончилась то?
    • 0
      Вот тут можно прочитать про призы:
      codecombat.com/play/ladder/greed#prizes

      А так, насколько я понял, победил и Wizard Dude и Bellardia, каждый за отдельную команду играл, вроде как.
      • 0
        У меня одного не запускается ни одна запись битвы?
        Шкала доходит до 100% и всё. Chrome, Firefox — однофигственно.
  • +3
    Играю в эту игрушку сейчас, для развлечения.

    Все топы ведут себя одинаково — передрали алгоритм победителя. Его кстати зовут Wizard Dude, а не Duke :)

    Кроме того, сейчас Dude — 10/3 местах, а побеждающий его Bellardia — 3/1местах за людей/орков.

    Надеюсь что кто-будь напишет что-то свое, вместо того чтобы тупо списывать чужое.
    Мне удалось написать алгоритм, который стабильно фармит на 20% больше, чем Bellardia.

    Комментарии при загрузке — доставляют.

    P.S. Авторам игрушки — респект. Давно так не веселился.
  • 0
    Ссылочка то «см. здесь»не работает…
    • –1
      Работает, надо подождать, пока загрузится.
      • 0
        Сколько часов?
        По-моему что-то поломалось у ребят.
        В консоли пишет:
        World has been initialized from level loader. app.js:286 SuperModel for Level loaded in 3544 ms app.js:270 Uncaught TypeError: undefined is not a function app.js:696 Posted 1 error to errorception.com

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.