Завершилась битва в 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.
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 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

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