Programmer Unknown's BattleGround: открытая площадка для сражений программистов

image

Изначально проект PUBG (просим прощения у оригинальной PUBG за использование их аббревиатуры, мы всего лишь хотим использовать эту игру для развития навыков программирования и не планируем публиковать ее в Steam в будущем) был разработан как внутренний проект нашей студии для развлечения. Затем же мы подумали, что он может быть полезен другим студиям, компаниям и образовательным учреждениям, и опубликовали его под лицензией MIT.

Что это такое?


PUBG представляет собой автоматическое поле боя, на котором алгоритмы сражаются друг с другом в режиме реального времени. Каждый алгоритм контролирует существо (которое может быть быком, носорогом и т.д.) с целью собрать пули и атаковать ими своих противников. Каждая победа увеличивает коэффициент интеллекта каждого существа, самые умные из которых отображаются в единой таблице рекордов.

image

Посмотрите как это работает у нас: http://appcraft.pro/pubg/.

Зачем это нужно?


  1. Если вы изучаете программирование, вы можете использовать PUBG для тренировки
    навыка проекции абстрактных задач на конкретные элементы алгоритма.
  2. Если вы работаете в команде, вы можете организовать еженедельные соревнования
    и награждать победителя пиццей, пивом или iPhone X.
  3. Если вы преподаете программирование, вы можете использовать PUBG как небольшую
    лабораторию с целью демонстрации работы прикладных базовых алгоритмов. Создавать
    мозг для существа зачастую гораздо интереснее чем рисовать параболу на экране.

Как создать своего бота?


  1. Скачайте последнюю версию игры.
  2. Откройте файл /brains/br_edmund.js для редактирования, прочитайте комментарии в нем и измените логику мозга до желаемого поведения существа.
  3. Откройте /index.html в браузере чтобы увидеть что у вас получилось. Это все.
  4. Вы можете изменить массив cfg_sources в файле config.js чтобы убрать из игры некоторых существ или добавить своих собственных.
  5. Вы можете редактировать другие переменные в файле config.js для изменения правил игры, например установить shuffleBrains в false чтобы начинать игру с вашего мозга, или изменить значение maxAliveCreatures чтобы сражаться с большим или меньшим количеством врагов.
  6. Попробуйте свои умения в сражениях с лучшими мозгами.

Материалы


По ссылке доступа подробная документация с описанием способностей животных, правил, порядка проведения соревнований и др. Исходные коды проекты доступны на GitHub, вы можете их использовать на свое усмотрение: форкнуть в свою версию для обучения, соревнований с друзьями и т.д. Удачных и веселых битв !)

© Habrahabr.ru