Я написал скрипт для поиска лучших игроков в WoW. Помогли рабочие навыки

История от backend-разработчика Sports.ru.

Всем привет, я backend-разработчик Sports.ru и активный рейдер World of Warcraft гильдии «Знание тактики». Суммарно я играю в WoW примерно 6 лет, а серьезнее подходить к игре начал в последние 2 года.

Для успешного рейдинга и взятия очередных «кромок» нужны сильные люди, и этих сильных людей нужно где-то найти. Первое, что приходит в голову – просматривать логи и искать фиолетовое, а иногда находить розовое. Такой ручной поиск отнимает много времени и сил, плюс сказывается человеческий фактор: можно просто пропустить хорошего игрока.

Обычный сценарий выглядел так: ты хочешь забрать сильных игроков из гильдий, которые они переросли. Например, мы убили всех боссов в мифической сложности, а какая-то гильдия только 7 из 9, но в этой гильдии есть игроки, которые сильно выделяются на фоне других, и им, соответственно, может быть интересно перейти в коллектив сильнее и получить больше прогресса и роста. Чтобы в ручном режиме найти таких игроков, нужно на сайте wowprogress.com разыскать интересующие гильдии, взять ее состав и руками проверить логи каждого игрока. Это очень утомительно, и спустя пары часов такой скучной работы легко кого-то пропустить или неправильно оценить.

Для оптимизации нашего рекрутинга я написал скрипт, который собирает информацию по всем игрокам сервера. Далее они отсеиваются согласно прописанным правилам. Самые очевидные – уровень логов, были ли логи накручены (нам важны именно логи освоения), личный прогресс и прогресс гильдии; также мы смотрим на возможность играть в офф и спеке и другие метрики.

Все результаты собираются в google sheet, по которой уже проводится рекрутинг, имен не будет)

По итогу я собрал стату по разным ролям (дд, хил, танк) всех игроков сервера и отсортировал только тех, кто был бы нам интересен. На код я потратил примерно 2 дня, а сбор данных скриптом занял примерно 1 час фоновой работы.

Зато теперь мы можем в любой момент обновить наши данные по игрокам, что полностью исключает ручную работу.

Но не обошлось из без проблем. В изначальном плане я хотел автоматически собирать игроков из открытых данных с wowprogress, но почти сразу получил бан от Cloudflare (защитник сайтов от ботов и парсеров). Из-за этого пришлось отказаться от автоматического сбора составов гильдий. Решение нашлось быстро: руками собрать составы гильдий в отдельную google-таблицу и собирать данные уже по этой таблице, а не напрямую с wowprogress. Такая подготовительная ручная работа заняла примерно 10-15 минут: оставалось лишь натравить готовый скрипт на таблицу.

На этом я не остановился. Прямо сейчас исследую возможность получение battle tag пользователя для более быстрой коммуникации, так как сейчасвсе обещание происходит через игровой чат.

Популярные комментарии
ukurysheva
Как же он хорош
Роман Галеев
Вау! Когда-нибудь я решусь освоить азы data science, когда-нибудь...
Мария Малезич
уважаемо
3 комментария Написать комментарий