Главная » Хабрахабр » 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 Интересное!

Легенда о Фреймворке Всевластия

В последнее время набирает популярность тренд «исчезающих фреймворков», локомотивом которого, без сомнения, можно считать SvelteJS — buildtime-фреймворк и компилятор в ванильный javascript. Почему это не «yet another javascript framework»? Несмотря на то, что концептуально Svelte весьма прост, а в использовании ...

Мой путь воина, или как я готовила приложение для жизни в Sailfish

Искусство воина состоит в сохранении равновесиямежду ужасом быть человеком и чудом быть человеком.«Путешествие в Икстлан» Мой путь воина – брутального frontend-разработчик на «плюсах» – состоял в том, чтобы найти равновесие между разработкой приложения, работающего на Sailfish, и кроссплатформенного приложения. Это ...