Беседа с разработчиками: рейтинг и подбор соперников в PvP в режиме «Наемники» в Hearthstone
Всем привет! Меня зовут Тянь, я ведущий специалист по обработке данных из команды Hearthstone. В этой статье я расскажу вам о работе системы рейтинга и подбора соперников на PvP-арене нашего нового режима «Наемники»!
Система рейтинга и подбора соперников в «Наемниках» — самая сложная из всех, что мы использовали в наших режимах! Но основана она на двух простых идеях:
- Для рейтинга мы в первую очередь стремились создать показатель, который будет лучше всего отражать изменение уровня навыка игрока со временем и не зависеть от уровней наемников, уровней способностей/снаряжения и состава команды.
- Для подбора соперников мы в первую очередь стремились создать систему, которая будет находить «честные» матчи с не слишком длинными очередями и учитывать рейтинг игроков, уровни наемников, уровни способностей/снаряжения и роли участников команды.
На обновление рейтинга после матчей и подбор соперников влияет несколько факторов: ваш рейтинг, уровни ваших наемников, уровни способностей и снаряжения ваших наемников, распределение ролей в вашей команде и время ожидания в очереди. Давайте поговорим о каждом из этих факторов.
Рейтинг
Аналогично «Полям сражений» и «Дуэлям» в этой системе используется два вида рейтинга: внутренний рейтинг и внешний рейтинг.
Внутренний рейтинг представляет собой нашу оценку вашего текущего уровня навыка. Этот показатель не обновляется в начале каждого сезона. Он устанавливается после того, как вы сыграете определенное количество начальных квалификационных матчей, после чего медленно изменяется по мере того, как вы играете (или если вы долго не будете посещать арену). Этот показатель увидеть нельзя.
Внешний рейтинг — видимое для вас число, которое обновляется в начале каждого сезона. Этот показатель предназначен для того, чтобы добавить ощущение прогресса и элемент риска в каждом сезоне. Чем больше вы играете в ходе сезоне, тем точнее это число будет соответствовать нашей оценке вашего текущего уровня навыка.
Рейтинговая таблица использует внешний рейтинг, а система подбора соперников — внутренний рейтинг. Разница между вашим внутренним рейтингом и рейтингом вашего оппонента играет важную роль в вычислении вероятности вашей победы против него, которое проводится перед матчем (другие факторы, которые влияют на это, приведены далее). Вероятность победы затем сравнивается с результатом матча для вычисления изменения рейтинга.
Ознакомиться с основными принципами работы системы двойного рейтинга можно в моей предыдущей статье о полях сражений (https://playhearthstone.com/ru-ru/news/23523064).
Уровни наемников
Уровни отдельно взятых наемников в вашей команде сильно влияют не только на изменения рейтинга после матча, но и на подбор вашего соперника. Например, система предпочтет найти для вас оппонента, уровни наемников которого равны уровням ваших наемников (особенно если рейтинг и все остальные факторы совпадают). Если вы попадете в матч против оппонента с более высоким уровнем команды, вероятность вашей победы уменьшится. Это, в свою очередь, приведет к тому, что вы получите больше очков рейтинга за победу или потеряете меньше за поражение.
Конечно, уровни команд игроков не всегда будут в точности равны. Мы разработали формулу, позволяющую оценить ход действий в таких распространенных случаях. Если использовать математические термины, формула учитывает максимальный уровень, средний уровень, вариацию и коэффициент асимметрии уровней наемников в вашей команде и вычисляет «опосредованный» показатель силы вашей команды наемников. Мы называем его «очки уровней».
После каждого матча система учитывает ваши очки уровней, а также соотношение внутренних рейтингов и другие параметры, указанные в этой статье, для вычисления «показателя компенсации рейтинга». Этот показатель определяет, сколько очков рейтинга вы получите или потеряете по окончании данного матча.
Уровни способностей наемников
Уровни способностей каждого наемника также учитываются системами подбора соперников и рейтинга. Аналогично очкам уровней вашей команды, игра подсчитывает «очки способностей», отражающие силу способностей ваших наемников. После этого нелинейная функция преображает эти очки для вычисления вероятности вашей победы против оппонента и изменений рейтинга после матча.
Обратите внимание, что очки способностей имеют гораздо меньшую роль, если все ваши наемники и наемники вашего оппонента достигли максимального уровня (при выходе режима максимальный уровень будет равен 30). В таких случаях в вычислениях увеличивается вес других факторов, включая соотношение внутренних рейтингов.
Уровни снаряжения наемников
Алгоритмы вычисления очков и вероятности победы, касающиеся снаряжения наемников, очень похожи на описанные выше алгоритмы для уровней способностей, но используют другие параметры. Одно из существенных отличий — вам необязательно оснащать своих наемников каким-либо снаряжением. Если у вашего наемника нет снаряжения, игра будет считать, что он обладает снаряжением «0-го уровня».
Роли наемников
Как вы уже знаете, в режиме «Наемники» доступны три роли: боец, заклинатель и защитник. Каждая из ролей наносит двойной урон другой роли и получает двойной урон от третьей.
Выбор ролей наемников никак не влияет на изменения рейтинга после матча, но является фактором на этапе подбора соперника. Роли имеют не такое сильное влияние, как уровни команды, способностей и снаряжения, но мы все же учитываем их, чтобы уменьшить вероятность крайне несбалансированного матча, который может испортить удовольствие от игры — например, битва шести бойцов против шести заклинателей или двух одинаковых команд из шести защитников. Для этого мы используем принцип, очень похожий на математическую концепцию «информационной энтропии». Этот принцип подразумевает, что чем выше энтропия, тем разнообразнее роли наемников в команде. Затем мы умножаем эти очки энтропии на характеристическую функцию, чтобы формула учитывала только крайне несбалансированные команды. Наша цель — найти правильный баланс между возможностью играть теми наемниками, какими вам захочется, и необходимостью учитывать роли как основную систему этого режима.
Время в очереди и компьютерный оппонент
Время, проведенное в очереди — важный параметр любой системы подбора соперников. Хотя увлекательность игрового процесса напрямую зависит от сбалансированности матча, долгое время в очередях зачастую вызывает негативные эмоции у игроков. В системе подбора соперников для «Наемников» учитывается очень много переменных, и мы хотели бы избежать ситуации, когда вам приходится слишком долго ждать матч, потому что игра пытается найти для вас идеального оппонента.
В текущей версии «Наемников», если вы стоите в очереди дольше 1-1,5 мин., а ваши внутренний и внешний рейтинги не превышают определенного порога (порог внешнего рейтинга равен 7000), вы начнете матч против компьютерного оппонента. Этот порог предназначен для того, чтобы те, кто проводит не очень много времени за игрой, быстро попадали в матчи, а игроки высших уровней навыка могли соревноваться между собой за верхние строки рейтинговой таблицы.
В текущий момент доступен только один уровень сложности искусственного интеллекта, поэтому мы регулируем сложность матча, подстраивая уровень команды компьютерного оппонента под ваш внутренний рейтинг. Если в вашей команде очень большой разброс уровней и вы попадете в бой против компьютера, уровни его наемников будут заданы аналогично вашим (а не какому-нибудь среднему значению), после чего скорректированы в зависимости от вашего рейтинга. Если вы играете против компьютерного оппонента, это также повлияет на изменение вашего рейтинга после матча.
Примечания
Система не рассматривает, каких именно наемников, способности и снаряжение вы выбрали в бой на арене ни при вычислении изменений рейтинга, ни при подборе соперника. Два разных наемника, имеющих одинаковый уровень, одинаковые уровни способностей и снаряжения и одинаковую роль, будут считаться равнозначными. Система не учитывает, кто сам по себе сильнее или лучше соответствует условиям мета-игры, будь то Тиранда или Рексар. Мы решили, что такие преимущества игроки должны найти для себя сами.
И последнее, что я хочу сказать (по списку, но не по значению): этой системой рейтинга/подбора соперников управляет много гиперпараметров, которые мы получили по результатам предсказательной массовой симуляции сражений ИИ против ИИ. Мы будем внимательно следить за системой рейтинга и подбора соперников после выхода режима и обновлять алгоритмы и/или показатели переменных при необходимости. Мы постоянно прислушиваемся к вашим отзывам, так что просим вас делиться с нами своими соображениями о системе подбора соперников и рейтингах.
Надеемся, что вам понравится собирать отряд, сражаться на арене и подниматься по строчкам рейтинговой таблицы. До встречи в таверне!