Сергей Ряпосов
Автор
Трибуна

Я написал скрипт для поиска лучших игроков в 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 пользователя для более быстрой коммуникации, так как сейчасвсе обещание происходит через игровой чат.

3 комментария
Возможно, ваш комментарий нарушает правила, нажмите на «Отправить» повторно, если это не так, или исправьте текст
Пишите корректно и дружелюбно. Принципы нашей модерации
Реклама 18+
Как же он хорош
+6
0
+6
Вау! Когда-нибудь я решусь освоить азы data science, когда-нибудь...
+1
0
+1
уважаемо
+1
0
+1
Укажите причину бана
  • Оскорбление
  • Мат
  • Спам
  • Расизм
  • Провокации
  • Угрозы
  • Систематический оффтоп
  • Мульти-аккаунтинг
  • Прочее
Пожаловаться
  • Спам
  • Оскорбления
  • Расизм
  • Мат
  • Угрозы
  • Прочее
  • Мультиаккаунтинг
  • Систематический оффтоп
  • Провокации
Комментарий отправлен, но без доната
При попытке оплаты произошла ошибка
  • Повторить попытку оплаты
  • Оставить комментарий без доната
  • Изменить комментарий
  • Удалить комментарий