Главная » Хабрахабр » Programmer Unknown’s BattleGround: открытая площадка для сражений программистов

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

image

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

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

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

image

Посмотрите как это работает у нас.

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

  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, вы можете их использовать на свое усмотрение: форкнуть в свою версию для обучения, соревнований с друзьями и т.д. Удачных и веселых битв!


x

Ещё Hi-Tech Интересное!

Кибернетический оркестр. Оркестрация контейнеров Docker с приложениями .NET Core в облаке

Среди них большой популярностью сейчас пользуется сервис Kubernetes. Для обеспечения балансировки нагрузки, масштабируемости и повышения отказоустойчивости могут использоваться вспомогательные средства — оркестраторы. Самый простой способ попробовать его в деле — развернуть его в облаке, чем мы сегодня и займемся. Орфография ...

Монорепозитории: пожалуйста, не надо (часть 2)

Всем привет! В первой части мы обсуждали перевод статьи уважаемого инженера из Lyft (и ранее Twitter) о том, какие есть недостатки у монорепозиториев и почему они нивелируют почти все достоинства этого подхода. Итак, новая порция обещанного холивара про монорепозитории. Но, ...