Programmer Unknown's BattleGround: открытая площадка для сражений программистов
Изначально проект PUBG (просим прощения у оригинальной PUBG за использование их аббревиатуры, мы всего лишь хотим использовать эту игру для развития навыков программирования и не планируем публиковать ее в Steam в будущем) был разработан как внутренний проект нашей студии для развлечения. Затем же мы подумали, что он может быть полезен другим студиям, компаниям и образовательным учреждениям, и опубликовали его под лицензией MIT.
Что это такое?
PUBG представляет собой автоматическое поле боя, на котором алгоритмы сражаются друг с другом в режиме реального времени. Каждый алгоритм контролирует существо (которое может быть быком, носорогом и т.д.) с целью собрать пули и атаковать ими своих противников. Каждая победа увеличивает коэффициент интеллекта каждого существа, самые умные из которых отображаются в единой таблице рекордов.
Посмотрите как это работает у нас: http://appcraft.pro/pubg/.
Зачем это нужно?
- Если вы изучаете программирование, вы можете использовать PUBG для тренировки
навыка проекции абстрактных задач на конкретные элементы алгоритма. - Если вы работаете в команде, вы можете организовать еженедельные соревнования
и награждать победителя пиццей, пивом или iPhone X. - Если вы преподаете программирование, вы можете использовать PUBG как небольшую
лабораторию с целью демонстрации работы прикладных базовых алгоритмов. Создавать
мозг для существа зачастую гораздо интереснее чем рисовать параболу на экране.
Как создать своего бота?
- Скачайте последнюю версию игры.
- Откройте файл /brains/br_edmund.js для редактирования, прочитайте комментарии в нем и измените логику мозга до желаемого поведения существа.
- Откройте /index.html в браузере чтобы увидеть что у вас получилось. Это все.
- Вы можете изменить массив cfg_sources в файле config.js чтобы убрать из игры некоторых существ или добавить своих собственных.
- Вы можете редактировать другие переменные в файле config.js для изменения правил игры, например установить shuffleBrains в false чтобы начинать игру с вашего мозга, или изменить значение maxAliveCreatures чтобы сражаться с большим или меньшим количеством врагов.
- Попробуйте свои умения в сражениях с лучшими мозгами.
Материалы
По ссылке доступа подробная документация с описанием способностей животных, правил, порядка проведения соревнований и др. Исходные коды проекты доступны на GitHub, вы можете их использовать на свое усмотрение: форкнуть в свою версию для обучения, соревнований с друзьями и т.д. Удачных и веселых битв !)