НАВИГАЦИЯ ИГРЫ

Джефф Каплан о системе подбора команд

Джефф Каплан поделился своими мыслями насчет системы подбора команд в Overwatch. Джефф рассказал о том, что матчмейкинг очень сложен и учитывает множество факторов.

Сообщение от Джеффа Каплана

Отличный пост, ExcaliburZ. Позвольте мне поделиться своим мнением о системе подбора команд (матчмейкинге)… Мы следим за всеми обсуждениями на эту тему. Когда в игровом сообществе (и зачастую среди разработчиков игр) поднимаются темы о матчмейкинге обычно мы говорим очень категорично, делим все на черное и белое, плохое и хорошее. Но самые важные решения, которые ты принимаешь как разработчик, это обычно какие-то трудные компромиссы, которые не удовлетворят желания каждого.

Цель системы подбора команд — сделать так, чтобы вам не пришлось самим искать еще 11 человек для игры. Вы нажимаете кнопку Играть и система находит для вас игроков. Таков основной принцип ее работы. На самом же деле, сама работа такой системы невероятно сложный процесс. Система делает гораздо больше, чем то, о чем я сегодня расскажу (я не нарочно умалчиваю о некоторых вещах, просто это действительно очень сложная система).

На самом базовом уроне, система подбора команд пытается поместить вас с один матч с 11 другими игроками. Но она находит игроков не случайным образом. Система учитывает несколько факторов (гораздо больше, чем я сейчас перечислю). Вот эти факторы (порядок не имеет какой-либо значимости):

Первый фактор — время. Система подбора команд пытается быстро найти для вас игру, чтобы вам не приходилось ждать ее слишком долго. Обычно если игрок недоволен матчем он говорит: «Мне плевать, могу подождать подольше. Лучше бы я прождал 20 минут и попал в хороший матч, чем оказался в таком». Мы же замечаем, что, когда время поиска игры достигает определенного значения, игрок начинает жаловаться, что ему приходиться слишком долго ждать. Ждать идеального матча…звучит, конечно, хорошо. Но на деле, если большинству игроков приходиться слишком долго ждать матча, они начинают выражать свое недовольство на форумах. Кроме того, у многих возникает заблуждение, что чем дольше ждешь матча, тем лучше он будет. Но с точки зрения матчмейкинга очень сложно определить, что такое «лучший» матч. В принципе, матч может закончиться 5 разными случаями:

  1. Моя команда выиграла. Мы победили с большим отрывом.
  2. Моя команда победила с трудом.
  3. Мы проиграли, но с трудом.
  4. Моя команда проиграла с большим отрывом. У нас не было никаких шансов.
  5. Во время матча что-то пошло не так. Кто-то потерял соединение с игрой или просто страдал фигней, так что в матче участвовало меньше 12 игроков.

(конечно, могут быть и другие случаи — я просто утрирую).

Большинство игроков скажет, что хотели бы попасть в матч, который закончились либо 2 либо 3 случаем. Они звучат довольно одинаково. Победили или проиграли с трудом. Но если рассматривать психологию людей, то большинство игроков обычно ждут, что матч закончится 1 или 2 вариантом. Большинству очень не нравится 3 результат, даже если счет в матче был очень близок. Весь вечер проигрывать, хоть и с трудом — что в этом веселого? Побеждать весело и хорошо. Проигрывать всегда не так весело, как выигрывать.

Долгое ожидание матча, который закончится полным поражением, это, конечно же, неудачный вариант. Но нет ничего веселого и в том, чтобы долго ждать игру, которая закончится вашим проигрышем, даже если матч велся практически на равных. Если представить, что ваши шансы на победу равны 50% и если бы матчмейкинг действительно находил вам «лучший» матч после долго ожидания, то вам бы пришлось ждать кучу времени, чтобы все равно проиграть половину матчей. Вы глубоко заблуждаетесь, если надеетесь, что если долго подождать, то система найдет вам крутой матч, в котором вы либо выиграете с огромным отрывом либо с большим трудом, но все-таки выиграете. У нас нет ботов, которые бы проигрывали матчи против вас, чтобы ваш винрейт поднялся выше 50%. Вы проигрываете или выигрываете у живых людей.

Второй фактор, который учитывает система подбора команд это пинг. Мы подбираем игроков со всего света, поэтому нам хочется, чтобы в матчах встречались игроки, чьи сервера расположены ближе всего друг к другу, дабы не возникало никаких технических проблем. Во время нашего второго стресс-теста Overwatch, система подбора команд в первую очередь учитывала уровень навыка и время поиска игры, а не пинг. Если вы участвовали в этом стресс-тесте, то наверняка помните, какой ужасной была производительность игры в первый день. Форумы просто «горели» от требований игроков дать им возможность самим выбирать игровой сервер. Теперь же в первую очередь учитывается пинг. Некоторые игроки живут в местах, где есть проблемы с широкополосным подключением (Анды, я смотрю в вашу даль)…так что, не у всех все идеально. Но в целом у большинства игроков довольно стабильное подключение к нашим игровым серверам. Когда в матче встречаются игроки, у которых огромная разница в пинге, очень часто возникают побочные эффекты, типа «в меня попали, хотя я стоял за стеной». Конечно, если вы живете в Хьюстоне, штат Техас и решили поиграть с вашим другом из Женевы, Швейцария, то нашей системе будет довольно нелегко…но вы все равно сможете сыграть.

И мы плавно переходим к следующему фактору: игре в группе. В большинстве в матчах участвуют либо только одиночки, либо пары. В первую очередь, система старается подобрать команды с одинаковым количеством игроков в заранее собранных группах. Если время ожидания затягивается, то мы расширяем область поиска. А это значит, что иногда против вас могут играть как команды без премейдов, так и с группами, чей размер будет меньше или больше вашей. Как я уже сказал, такое хоть и очень редко, но случается. Такие матчи проводятся только, если время поиска матча превысило допустимый порог и игроки ждут слишком долго. В основном группа из 6 человек всегда играет против группы из 6.

Группы представляют большую трудность для системы подбора команд. Даже если вы захотите играть в группе с людьми, чей пинг и уровень будет существенно различаться, наша система позволит вам играть вместе. Маловероятно, что вы встретите группу, которая будет полностью аналогична вашей (с таким же разным пингом, уровнем навыка и т.д.). Мы лишь хотим, чтобы вы могли играть группой. Нам кажется, что это самый лучший способ игры в Overwatch. Поэтому мы стараемся, чтобы в игре не было каких-то вещей, из-за которых вам бы не хотелось играть группой. Мы постоянно улучшаем социальные функции, дабы вам было легче найти новых друзей и объединяться в группы с тем, кем хотите. Гораздо веселее играть с теми, кого вы выбрали сами, а не с теми, кого для вас нашли мы. Я как-то сравнивал это с вечеринкой субботним вечером. Если бы вы отдыхали с пятеркой ваших друзей, вы конечно же провели бы время лучше, чем с пятью незнакомцами, которых мы для вас выбрали, даже если бы при выборе мы учли множество факторов…

Теперь поговорим о подборе команд по рейтингу. Пожалуй, это самый важный фактор, который мы стараемся учитывать. Проще говоря, рейтинг отвечает на вопрос «насколько хорошо я играю?». Обычно эту систему называют MMR (Matchmaking Rating). MMR определяется в разных играх по-разному. Мы почерпнули много знаний от других игр, но и добавили много уникального в нашу систему определения рейтинга в Overwatch. В ходе игры рейтинг игроков повышается или понижается с каждой победой или поражением. Эта система невероятно сложная и в ней происходит гораздо больше всего, чем я собираюсь вам рассказать. Поэтому не стоит воспринимать мои слова как универсальное пособие о том, как рассчитывается MMR в Overwatch. Внутри этой системы творится еще больше разных вещей.

В Overwatch повышение и понижение MMR зависит от побед и поражений. Однако, на точное количество отнимаемого или прибавляемого рейтинга влияет несколько разных факторов. Например, на какой карте вы играете, играете ли вы в обороне или в атаке. Мы знаем статистику побед в атаке/обороне на каждой карте и поэтому корректируем получаемые очки рейтинга должным образом. Не все победы и поражения равны. Мы обращаем внимание на то, как вы играете за каждого героя из тех, что вы выбирали в течение матча. Каждый за какого-то героя играет хорошо, а за какого-то плохо: у нас же, в свою очередь, есть данные насколько эффективным можно быть на том или ином героев. Мы смотрим и на ваших противников, учитываем выше или ниже их рейтинг. Все это лишь часть того, что учитывается, когда мы определяем улучшились или ухудшились ли ваши навыки игры. При расчете MMR мы ни в коем случае не смотрим на соотношение ваших побед/поражений — это соотношение не учитывается и при подборе команд. Мы не пытаемся подогнать ваше соотношение побед/поражений к определенному значению (хотя нас очень радует тот факт, что у многих игроков винрейт 50%). Когда система подбирает вам равных по скиллу игроков, она лишь пытается найти вам команды, в которых будут люди с похожим значением рейтинга.

Конечно же, на самом деле система подбора команд устроена гораздо сложнее. В ней есть штрафы и ограничения, распространяющиеся на тех, кто бездействует или на группы разного размера. У нас предусмотрено и кое-что особенное для новичков, дабы (к счастью) уберечь их от столкновения с основными игроками. Игроки зачастую ошибочно смотрят на уровень аккаунта игрока и начинают жаловаться, что система подобрала им неравного противника или союзника. Как я уже говорил, мы уже оценивали уровень навыка игроков, которые участвовали на закрытом и открытом бета-тестировании, а также на вторых бета-выходных. Если вы были в то время в игре (как и более 10 миллионов человек), то мы (скорее всего) уже определили ваш уровень навыка. Поэтому иногда игрок 1 уровня попадает в матч против игроков гораздо большего уровня. В большинстве таких случаев, за 1 уровнем скрывается умелый игрок, который играл во время тех фазах тестирования, о которых я уже сказал, а не сразу после выхода игры.

Иногда системе подбора команд может мешать несколько факторов:

  • В особенности это дезертиры.
  • Игроки играют за разных героев по-разному. Мы не знаем за кого из 21 героя вы собираетесь играть в этом матче.
  • Иногда группы состоят из игроков с очень разным уровнем навыка и пингом. Вопреки распространенному убеждению, мы не сможем подобрать «идеального противника» для вашей особенной группы.
  • Иногда на вашем аккаунте может играть ваш младший брат.
  • Иногда у вас кошка может пройтись перед монитором.
  • Иногда у вашей мышки могут сесть батарейки (Кстати, зачем вы пользуетесь беспроводной мышью?)
  • Иногда скиллованный игрок может купить себе копию Overwatch, чтобы начать все с нуля на новом аккаунте.
  • Иногда бывают проблемы с соединением.
  • Иногда вы можете зайти в игру пьяным или усталым…или пьяным и усталым одновременно.
  • Ну, это же первая катка…
  •  …это же последняя катка.
  •  «Личная жизнь»

Все это навело на меня одну мысль. Конечно, все это сообщение в основном состоит из моих личных мыслей, но следующую его часть я бы хотел выделить. Дальше будут чисто мои мысли, никак не отражающие мнение моей компании. Как бы то ни было, но наша игра сфокусирована на том, чтобы игроки выигрывали или проигрывали всей командой. Overwatch не такая игра, где можно не обращать внимания на задачи карты, а затем посмотреть на свою статистику убийств и смертей и понять, насколько ты хорош. Мы хотим, чтобы вы сконцентрировались на победе или поражении — и вы это делаете. Мы пробовали сделать поражение не таким обескураживающим, но все равно многие игроки верят, что они должны выигрывать гораздо чаще, чем проигрывать. Иногда я задумываюсь, а что если бы мы могли поместить вас в матч с одиннадцатью вашими клонами, как бы вам был такой расклад? А что если бы вы и там проиграли? Я описал 5 возможных результатов матча, и мне кажется, ваши матчи по-прежнему заканчивались вариантами с 1 по 4. Неужели такие исходы вы по-прежнему считаете неприемлемыми? Но ведь их не избежать…

Я считаю, что в этом плане Overwatch необычная игра. Я потратил много времени на изучение матчей, в которых я находился, потому что я внимательно слежу за системой подбора команд. Я отыграл множество матчей на картах Контроль объекта, где мою команду разносили в щепки в первом раунде, затем мы разносили врагов во втором и третий раунд заканчивался ожесточенной схваткой в овертайме со счетом 99%/99%. Если бы вы оценивали такие матчи по своим критериям, то вы бы сказали, что у нас было два «разноса» (один положительный, а другой отрицательный) и игра на равных. А ведь состав игроков не менялся…система подбора команд ничего не меняла. Или же возьмем в пример матч на Шоссе 66. Моя команда была в атаке и едва смогла провести груз дальше вагонов. Но затем двое моих союзников поменяли героев и нам удалось довести груз до самого конца, практически не подпуская к нему врагов. Так матч, который мог закончится разрушительным исходом для одной команды, завершился абсолютно иначе. Конечно, неправильный подбор команд может привести к какому-то полному поражению, но не каждый разнос команды происходит из-за неверного подбора противников. Если каждый случай, когда одна команда доминирует над другой списывать на «сломанный матчмейкинг», то это уже будет проблема с пониманием и завышенными ожиданиями. Взгляните на киберспортсменов. Каждый вечер случаются равные матчи. Каждый вечер кто-то терпит полное поражение. Такова реальность любой соревновательной игры. Становится ли нам, как самым крайним, от этого легче — пожалуй, нет.

Мы постоянно дорабатываем нашу систему подбора команд. Каждый день мы узнаем что-то новое. Наши лучшие инженеры и дизайнеры полностью посвятили себя работе над этой системой. Многие из наших «незаметных» патчей, которые вышли на этой неделе, улучшили механизм работы системы подбора команд. Например, недавно мы поняли, что функция «Избегать игрока» вносит хаос в работу этой системы. Один из лучших игроков мира за Роковую вдову недавно пожаловался, что ему приходится слишком долго ждать матча. Мы посмотрели его логи и увидели, что сотни людей решили избегать его (сам по себе он хороший человек — игроки просто не захотели играть против него). В результате ему приходилось очень долго ждать, пока система найдет ему соперников. Самый ужас был в том, что, когда время ожидания превышало допустимый порог, его закидывало в матчи против игроков с низким уровнем навыка игры. Сейчас один из лучших игроков за Вдову сражается с низкоуровневыми игроками. В итоге мы решили отключить систему Избегания (связанный с ним элемент интерфейса исчезнет в грядущем обновлении). Изначально эта система задумывалась с благими намерениями, но она привела к ужасным результатам.

Мы постоянно будем дорабатывать систему подбора команд. Мы внимательно слушаем отзывы, сами много играем в Overwatch и изучаем точные данные, дабы принять то или иное решение. Своим сообщением я не пытаюсь показать, что на самом деле все хорошо. Я лишь хотел поделиться с вами мыслями, как человек, который пристально оценивает систему подбора команд и следит за отзывами. Я хочу сказать, что нам есть еще что улучшить и что иногда в игре возникают независящие от нас ситуации, из-за которых все в равноценных матчах может пойти кувырком. В нашей игре столько же творчества, сколько и науки, если даже не больше. Мы будем стараться делать ее лучше!

Нравится18
Комментарии (5)
  • 4
    Болтать не мешки ворочать. Короче всем он доволен, а игроки не понимают прекрасной и уникальной системы.
  • 0
    Я не пойму, у меня одного жуткие просадки по фпс? Сколько новостей не выходит про проблему производительности ни слова, при том что на майском обт у меня фпс был стабильно не ниже 60, а сейчас полминутные просадки до 10 фпс. Под отпуск купил игру, думал позадротить, а играть по факту невозможно.
  • 0
    mr.STR
    Zer0.85
    у меня все нормально, просадок не заметил (и это при том, что играю в 4к).
    Когда пишешь про подобные проблемы, не забывай писать, что у тебя за система.
  • 0
    mr.STR
    Соответствует рекомендуемым требованиям, Radeon 7970, AMD FX-4300 3.8MHz, 6GB ОЗУ. В игре всё стоит на минималках, кроме разрешения (1920*1080). На форуме игры видел людей у которых железо процентов на 20 слабее, но они имеют стабильные 60-70 фпс на высоких настройка графики, так что да, баг с просадкой фпс проявляется не у всех.
  • 0
    mr.STR
    Zer0.85
    Мониторил систему во время просадок? Может какой сторонний процесс забивает машину, вот и ловишь просадки.
B
i
u
Спойлер