Джефф Каплан о матчмейкинге

Главная / Новости / Джефф Каплан о матчмейкинге

21-06-2016

«Матчмейкинг всегда вызывает много дискуссий. Когда эта тема обсуждается в сообществе, мы склонны использовать критический подход, оперировать исключительно понятиями “хорошо/плохо”. Но на деле самые важные решения, принимаемые гейм-дизайнером, являются сложными компромиссами ввиду отсутствия единственно правильного похода», — с этих слов Джефф Каплан начал своё длинное сообщение на форуме о проблемах матчмейкинга в Overwatch.


Сама идея матчмейкинга заключается в том, чтобы вам как игроку не приходилось самому искать 11 человек для игры. Вы нажимаете кнопку “Играть”, и система просто подыскивает вам игроков. Звучит просто, но в действительности матчмейкинг является невероятно сложной системой, и сравнивает десятки параметров. Я хочу рассказать о некоторых из них, хотя все затронуть не удастся (это сделано не умышленно - система в самом деле очень сложна).

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

Первый фактор - время. Матчмейкер пробует найти матч как можно быстрее, чтобы не заставлять вас ждать слишком долго. При этом самая частая фраза, которую можно услышать от недовольных игроков “мне всё равно как долго мне придется ждать. Я лучше подожду 20 минут и сыграю действительно крутой матч нежели тот, в который вы меня только что закинули”. Наши наблюдения показывают, что после определенного периода ожидания игроки в любом случае начинают жаловаться на время подбора матча. Это звучит неплохо… ожидание идеального матча. Но когда это реально происходит с большим количеством игроков, они выказывают свое негодование на форумах. Также, сама концепция “идеального матча” является утопией, и в терминах матчмейкинга её описать очень сложно.

Если мы кратко охарактеризуем результаты матча, то их можно распределить по пяти пунктам:

  • Моя команда победила. Мы не дали противоположной команде и шанса.
  • Матч был непрост, но мы победили.
  • Мы дрались как львы, но всё-таки проиграли.
  • Моя команда проиграла. Нас разнесли в пух и прах, без шансов.
  • Что-то пошло не так. Кто-то дисконнектнулся, кто-то зарейджил и просто бегал вокруг, в матче было меньше 12 игроков.

(конечно, на самом деле пунктов больше - я сильно упростил)

Большинство игроков скажут, что они хотели бы участвовать только в матчах второго и третьего типа. Это звучит справедливо, едва победили и “чуть чуть не хватило”. Но я считаю, что психологию всё-таки не обманешь, и большинство игроков на самом деле ожидают только первый и второй варианты. Даже невероятно щедрый на острые моменты матч третьей категории может оставить у множества игроков крайне негативные впечатления. И если вы целый вечер “почти побеждаете” - это плохой вечер. Побеждать весело и приятно. Проигрывать гораздо менее интересно.

Итак, долгое ожидание и проигранный без шансов матч очевидно плохое решение. Но долгое ожидание и “почти победа” также являются отрицательным опытом. Если мы предположим, что ваши шансы на победу равны 50%, то это будет означать, что даже долгое ожидание “лучшего” матча в итоге может вылиться в поражение, а время будет потрачено зря. Если вы думаете, что после длительного ожидания вы непременно получите очевидную или “едва едва”... но всё-таки победу, то вы неправильно понимаете как и зачем устроена эта система. Мы не добавляем ботов, которые бы забирали на себя сливы, давая вам возможность побеждать больше чем в 50% случаев (прим. перев. - это распространенная практика в мобильных играх). В каждом бою есть победители и побежденные, все они - реальные игроки.

Второй фактор - пинг. Наш матчмейкинг взаимоедйствует с людьми по всему миру, и мы хотим, чтобы они использовали территориально ближайшие к ним сервера для наибольшего комфорта. Во время нашего второго стресс-теста в матчмейкере мы дали приоритет иным вещам вроде навыка игрока и времени поиска матча. Те из вас, кто принимал участие в этом тесте, помнят насколько плохо работала игра в первый день, а также количество ультиматумов на форуме с требованием дать игрокам возможность выбора сервера. Так что теперь мы дали высокий приоритет фактору пинга. Некоторые игроки находятся в труднодоступных частях света (я намекаю на вас, игроки Андийского региона (горы Анды в Южной Америке - прим. перев.)), так что идеального решения здесь тоже нет. Но в большинстве случаев у игроков есть весьма хорошее соединение с сервером. Сражение игроков с большими пингами чревато обилием нежелательных моментов вроде “он подстрелил меня уже за укрытием!”. Конечно, если вы живете в Хьюстоне, штат Техас, и играете с приятелем из Женевы, вы задаете непростую задачку нашему матчмейкеру… но мы не против.

Это приводит нас к третьему фактору - группы. Большинство матчей играется между соло игроками, либо группами из 2 игрока + рандомы. Система всегда старается в первую очередь сопоставить группы равного размера. Но по мере увеличения времени ожидания она расширяет границы поиска. Это приводит к тому, что иногда в эту игру также подбираются рандомные игроки и команды иных размеров. Это происходит, когда время поиска игры превышает наши ожидания. Подавляющее большинство команд из 6 человек играют с такими же по размеру группами.

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

В любом случае, это приводит нас к матчмейкинг рейтингу. Этот рейтинг является основным фактором, по которому мы подбираем игроков. В общем этот рейтинг означает “Насколько вы хороши”. Часто его называют MMR. В разных играх ММР определяется по разному. Overwatch опирается на опыт многих из них, но также и имеет множество уникальных вещей. ММР каждого игрока увеличивается и уменьшается в зависимости от того выиграл игрок матч или же проиграл. Эта система крайне сложна, и я не стану озвучивать все особенности, тем более что сейчас мы продолжаем работать над ними, так что, пожалуйста, не принимайте эту информацию как точное описание работы и расчёта ММР в Overwatch.

Конкретно в Overwatch ММР зависит от побед и поражений. Но внутри имеется множество факторов которые определяют насколько он вырастет или упадет. К примеру, карта, на которой вы играете, нападаете вы или защищаетесь - это тоже учитывается. Мы отслеживаем винрейт на всех картах и соответственным образом реагируем. Не все победы и поражения одинаковы. Мы смотрим на ваш вклад на каждом герое которого вы выбрали во время матча. У каждого есть любимые и нелюбимые герои, мы собрали множество информации о том, какая должа быть средняя результативность на том или ином герое. Также мы смотрим на ваших оппонентов, выше ли их ММР или ниже. Это лишь малая часть той информации, на основании которой мы определяем насколько должен измениться ваш ММР. Мы никогда не оцениваем соотношение количества побед/поражений и не используем его в процессе подбора игроков. Мы не пытаемся как-либо влиять на это соотношение дабы приблизить его к какому-либо числу (хотя тот факт что у большинства игроков он колеблется в районе 50% греет нам душу). Всё что делает система в процессе поиска игроков - это попытка подобрать вам игроков со схожим ММР.

Конечно, система несколько глубже. Существуют штрафы и гандикапы вроде “не играл некоторое время” или “игра в группах разного размера”. У нас так же есть отдельные правила матчмейкинга, чтобы отделить новичков от основной массы игроков. Игроки зачастую ошибочно воспринимают уровень игрока и считают, что матчмейкер “сбоит”. Ранее я говорил, что мы оценивали ваш уровень игры во время ЗБТ, ОБТ и бета-выходных. Если вы принимали в них участие (10 миллионов точно поиграло), мы уже присвоили вам определенный рейтинг (скорее всего).  Это означает, что вы нередко сможете видеть игрока 1 уровня сражающегося против игроков с гораздо более высокими уровнями. В большинстве случаев это будет игрок, который принимал участи в бете, но ещё не играл в релизную версию.

Также существует множество факторов, которые не поддаются нашему контролю и вносят помехи в работу мачтмейкинга:

  • Ливеры, которые ломают всё к чертям
  • Уровень исполнения игрока на конкретном герое. Мы понятия не имеет, которым из 21 героев вы решите поиграть в этом матче
  • Группы с игроками разного уровня скила и пингом. Что бы вам не говорили, не существует “идеального матча” для вашей разномастной группы
  • Иногда ваш младший брат играет с вашего аккаунта
  • Порой кот садится перед вашим монитором в самый неподходящий момент
  • Иногда батарейки в вашей беспроводной мышке разряжаются (кстати, почему вы используете беспроводную мышку?)
  • Изредка опытный игрок покупает себе второй Овервотч, чтобы “начать с чистого листа на новом аккаунте”
  • Иногда у вас бывают проблемы с интернетом
  • Иногда вы играете в плохом настроении, уставшим… или пьяным. Или всё вместе.
  • Первая игра в этот вечер, ничего, сейчас разогреюсь ещё...
  • … ну вот последнюю каточку и всё
  • “Жизнь”

Это напомнило о моем собственном видении Overwatch. И хотя весь мой пост в целом был моим личным мнением, следующая часть будет совершенно точно только моей точкой зрения и не является мнением команды или компании.

Хорошо это или плохо, но мы хотим, чтобы победа и поражение были в первую очередь командными. ОВ не та игра, в которой Вы можете игнорировать победные цели и в оценке матча ориентироваться лишь на соотношение убийств/смертей, мы хотим, чтобы Вы концентрировались на победе или поражении. Мы пытались сделать так, чтобы проигрыш не чувствовался концом света, но многие люди по-прежнему сильно расстраиваются из-за этого. Иногда мне становится интересно, что если бы мы могли клонировать Вас 11 раз и позволить сыграть матч, Вы были бы довольны результатом? Даже в случае поражения? Этот матч всё равно скорее всего попадёт в одну из четырёх категорий. Так почему тогда эти “стомпы” по-прежнему столь неприемлимы? Они ведь всё равно будут происходить...

ОВ в этом отношении странная игра. Я потратил много времени, разбирая игранные матчи, потому как я сильно сконцентрирован на матчмейкинге. У меня было очень много игр с контролем объекта, когда в первом раунде враги разносили мою команду, во втором раунде мы разносили вражесую команду, а в третьем игра доходила до дополнительного времени с прогрессом в 99%/99%. Если Вы будете оценивать каждый из этих раундов по их результатам, то получается, что здесь сразу 2 “стомпа” (первая за Вас, вторая против) и один решающий раунд. Одни и те же игроки… матчмейкинг не изменился. Или, к примеру, возьмём недавний матч на карте “Шоссе 66”. Моя команда атаковала и еле-еле двигала груз. А потом двое игроков поменяли героев и мы прошагали с грузом до самого конца практически без остановки. Матч, который изначально был “стомпом” для одной команды, стал “стомпом” для другой.

Существует возможность неудачного матчмейкинга, которая выливается в “стомп”, но не каждый “стомп ею является”. Если каждый случай доминирования одной команды над другой рассматривать как “ошибкой матчмейкера”, то наша проблема будет заключаться в наших ожиданиях и восприятии. Взгляните на любой профессиональный спорт. Равные матчи случаются каждый день. “Стомпы” также случаются каждый день .Это реальность любой соревновательной игры. Делает ли это горечь поражения мягче - скорее всего нет.

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

Мы всегда будем продолжать работать над матчмейкингом. Мы прислушиваемся к вашим отзывам, мы сами играем десятки игр каждый день и используем всевозможные данные для нашей работы. Этот пост не призван сказать “у нас всё хорошо”. Я просто хотел поделиться с вами своим мнением как человек, который оценивал всю эту систему и следит за отзывами. Мы многое сможем улучшить, но я хотел бы отдельно отметить, что некоторые случаи матчмейкинга неподвластны нам, как бы мы ни старались. Игра в равной (если не в большей) степени является как искусством, так и наукой. Мы будем продолжать работать над игрой и постоянно улучшать её!

Источник
Перевод: Алекс


  • Вконтакте
  • Комментарии
  • Facebook

    Добавить комментарий