Как сделать систему рейтинга. Новая система рейтинга: что изменилось? Присвоение пользователям статусов

Мы разобрались, что изменилось в MMR-играх и как это повлияет на геймплей в ближайшие полгода.

ЦИФРЫ ЗАМЕНИЛИ НА ЗНАЧКИ

Теперь ваш уровень игры в Dota 2 показывают на цифры, а специальные значки. Семь разных дивизионов, от Herald до Divine, включают по пять уровней. Систему было решено приблизить к Counter-Strike, и уставшие от матчмейкинга дотеры даже обрадовались таким изменениям (хотя игроки в CS:GO, наоборот, часто высказывались о своем желании перейти на цифровой аналог рейтинга).

Однако в нашем случае Valve просто спрятали значение рейтинга в разделе Статистика. То есть, по сути, цифры остались, и именно на них будут продолжать ориентироваться игроки, учитывая недопонимание системы дивизионов. Конечно, значок наивысшего показателя в сезоне и место в рейтинге для обладателей Divine добавит эстетической красоты игре, но, по сути, в механике подбора игроков не поменяет ничего.

Herald Guardian Crusader Archon Legend Ancient Divine
0 0 840 1680 2520 3360 4200 5040
I 140 980 1820 2660 3500 4340 5180
II 280 1120 1960 2800 3640 4480 5320
III 420 1260 2100 2940 3780 4620 5460
IV 560 1400 2240 3080 3920 4760 5600
V 700 1540 2380 3220 4060 4900 5740

Если она верна, то видно, что разработчики не сильно утруждали себя разделением дивизионов - все семь различают по 840 очков рейтинга, а 5000 и 8000 MMR теперь не отличает ничего. Кроме, конечно, места в рейтинге.

Любопытно, что опрос игроков (более 500 респондентов) на Reddit показывает немного другую ситуацию - порой одинаковый ранг имеют люди с разным рейтингом, и наоборот, на 3000 MMR можно встретить как Legend, так и Herald. Тем не менее, подавляющее большинство опрошенных своими результатами подтверждают таблицу выше. С чем же связаны такие серьезные отклонения - пока не ясно.

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

РЕКАЛИБРОВКА

Увы, но большинству игроков она принесла лишь разочарование. Как бы вы не старались, в большинстве случаев получите рейтинг, отличный от начального на 100-200 пунктов - то есть то, что могли получить или потерять за 10 обычных матчей на MMR.

Взглянем на другую таблицу:

205 респондентов рассказали, как прошли калибровку и что изменилось в их игре. Итак, попробуем разобраться. Чем ближе точки в виде геометрических фигур ближе к черной линии, тем меньше изменения рейтинга - как видим, в подавляющем числе случаев она минимальна, что доказывает наш тезис из предыдущего абзаца. Интересно, что большая часть точек расположена над линией; это значит, что новые показатели рейтинга в целом чуть ниже предыдущих показателей.

А вот про-игроки потеряли по несколько тысяч рейтинга: к примеру, Suma1L был очень удивлен результатом своей новой калибровки.

Вообще, топовые результаты теперь останутся в истории:

  • Fnatic.Abed - 10 025;
  • Secret.MidOne - 10 015;
  • VP.RAMZES666 - 10 011;
  • EG.Arteezy - 10 010;
  • VG.Paparazi - 9 875;
  • SmAsH - 9 766;
  • Saksa- 9 620;
  • Immortals.Forev - 9 373;
  • Liquid.MATUMBAMAN - 9 373;
  • NewBee.Kaka - 9 361.

К примеру, RAMZES666 получил в результате новой калибровки чуть меньше 7000 MMR, а лидером новой таблицы стал Miracle с показателем всего 7200 рейтинга.

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

Сезоны же оказались не такими, как ожидали пользователи - они слишком зависят от предыдущих результатов игрока, да и замена числового рейтинга на дивизионы пока однозначной поддержки не нашла.

Кроме того, скепсиса добавили баги на старте сезона и проблемы при калибровке. Распространенная ошибка - до окончания калибровки в профиле отображается Herald . Некоторые игроки неожиданно получили слишком низкий рейтинг, а отборочные игры также вызывают вопросы.

  • Ранговые игры становятся доступны после 150 игр.
  • Все игроки в группе должны иметь доступ к ранговым играм.
  • Доступны All Pick, Captains Mode и Captains Draft режимы.
  • Ranked matchmaking is unlocked after approximately 150 games.
  • Вы не можете играть ранговые игры находясь в низком приоритете (low priority pool).
  • Тренеры (Coaches) не доступны.
  • Игры играемые в обчном режиме не влияют на ранговый рейтинг (MMR).
  • Ваш ранговый рейтинг доступен только для вас и ваших друзей.
  • Прежде чем сыграть рейтинговую игру вам необходимо сыграть 10 калибровочных игр для определения вашего рейтинга.

Ваш ранговый рейтинг (MMR)

Dota 2 использует следующую технику для подбора игроков. Игра присваивает каждому игроку рейтинг, который отражает ваш уровень игры. После каждого матча рейтинг обновляется, базируясь на ваших результатах. Вобщем, при выигрышах он увеличивается, при поражениях понижается. Победа/поражение основной критерий для определения рейтинга, однако личные показатели тоже влияют на итоговый результат, особенно в случаях высокой неопределенности вашего рейтинга.

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

Игра рассчитывает 4 показателя MMR для каждого игрока:

  • Обычные игры, в одиночку.
  • Обычные игры, в группе.
  • Рейтинговые игры, в одиночку.
  • Рейтинговые игры, в группе.

5% 1100 10% 1500 25% 2000 50% 2250 75% 2731 90% 3200 95% 3900 99% 4100

Как подбибирается игрок

Основная цель подбора игроков - наслаждение от игры. Подбор придерживается следующих параметров:

  1. Команды должны быть сбалансированы (Каждая команда имеет 50-процентный шанс на победу.)
  2. Несоответствие в уровне игроков между самым высоким и самым низким должно быть минимальным.
  3. Несоответствие в опыте игроков (количество сыгранных игр) между самым высоким и самым низким должно быть минимальным.
  4. Самый сильный игрок из одной команды должен быть равен по уровню игроку из противоположной команды.
  5. Команды должны содержать равное число групп игроков, т.е. группа из 5-ти игроков не должна попадаться против группы из 5-ти отдельных игроков.
  6. Игроки должны разговаривать на общем языке. Особенно игроки одной команды.
  7. Время ожидания не должно быть слишком большим.

Выбор редко соответствует всем правилам идеально. Каждому потенциальному выбору игра присваивает оценку по каждому параметру, а затем рассчитывает среднее. Когда средняя оценка превышает определенный порог, этот выбор считается подходящим.

Выбор игроков напрямую не зависит от количества побед/поражений. Тем не менее игра старается подобрать игроков так, что у каждой команды есть 50-процентный шанс на победу. Это первый критерий выбора. Игра не оценивает индивидуальный процент побед. Но когда вы имеете серию из побед ваш рейтинг увеличивается, и велика вероятность, что вам попадутся сильные соперники.

Процент побед не оценивает уровень игрока. Поэтому при подборе игроков он не имеет значительной роли. Игра старается подобрать игроков по количеству опыта, во многом потому, что, как оказывается, игроки одного уровня, но с разным количеством опыта, имеют разные представления о том, как нужно играть. Разница между 40-ми и 120-ю сыгранными играми приблизительно такая же как между 120-ю и 280-ю.

Вы можете оценить влияние параметров #2 и #3 на графике, горизонтальная ось - это количество сыгранных игр, а вертикальная - рейтинг MMR. Если игроки близко к друг другу на диаграмме, они считаются подходящим выбором. Игроки отстоящие далеко друг от друга считаются неприемлемым выбором. Типичная траектория нового игрока обозначена красным цветом, он набирает рейтинг по мере увеличения уровня. Игрок уже имевший опыт игры обозначен желтым цветом, как видите, он изначально набирает рейтинг быстрее, однако траектория выравнивается с количеством игр.

Группы игроков

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

Также когда игроки в группе они зачастую имею лучшие результаты чем игроки того жу уровня, но играющие порознь. Игра компенсирует это 2мя способами. Первый, игра рассчитывает ваш уровень по-разному, когда вы играете один и в группе. Второй, перерасчет рейтинга, учитывая количество игроков в группе и разброс опыта в группе.

Пример подбора игроков в матче.


RADIANT DIRE Группа MMR MMR(пересч.) Группа MMR MMR(пересч) D 2994 3003 C 3046 3062 F 2788 2788 C 2920 2936 A 2687 2687 E 2716 2716 F 2626 2627 B 2672 2672 D 2401 2410 C 2100 2116 Общее 13515 TOTAL 13502

Как видите средний пересчитанный MMR для обоих групп около 2700. Когда игроки в команде отсортированы по пересчитанному рейтингу, как в таблице, игроки играющие в одиночку обычно попадают в середину распределения, к тому же группа с меньшим распределением (F) попадает в группу в большим распределением (D). Эти правила часто повторяются. Также группа D получила болщий пересчитанный рейтинг, чем группа F, из-за большего разброса рейтинга MMR. Эти расчеты были сделаны с помощью статистических программ, однако простое объяснение таково - ваши результаты лучше, когда вы в группе с сильными игроками, нежели когда в группе с игроками своего уровня.

Статистика

Оценить результат подбор довольно сложно. Оценка подбора игроками сильно зависит от исхода матча. Поэтому мы стараемся оценить результат исключительно по данным. Допустим, чтобы обосновать утверждение, что игроки одного уровня играют лучше в группе, чем по-отдельности, мы используем логическую регрессию . Она вычисляет уровень бонусных очков рейтинга при победе, поражении.

Еще одним примером статистического анализа может служить процесс нахождения порога, по которому определяется подходящий подбор игрока. Для вычисления этого параметра мы используем оценку качества матча. Один из параметров - баланс в количестве полученного золота. Это легко показать на графике. Мы вычисляем интеграл с того момента, когда граф пересек нулевой порог (красная область). Чем эта площадь меньше, тем более сбалансирована игра.

Хотя на определенном этапе матча Dire имели 10,000 преимущества, Radiant вышли вперед на какое-то время после. Тем не менее наша система считает команды из данного примера близкими по силе.

Имея данные техники мы можем экспериментировать в с временем поиска, меняя порог подбора. После этого мы анализируем результаты и делаем поправки снова.

Вывод

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

Какая гарантия?
Гарантия замены аккунта в случае брака. У нас минимальный процент брака. Если проблема случается - делаем замену аккаунта на равноценный. В отличие от других магазинов, не требуем доказательств вашей невиновности (это такие скрытые условия, которые имеют место быть у некоторых продавцов).
Так же в пользу гарантии: сайту 4 года, биллинг по приему платежей, лицензионный скрипт для автоматизированной продажи - Digiseller.

Аккаунты с привязкой?
Нет. Все аккаунты на сайте без привязок -всё можно сменить. В комлпекте идут логин и пароль от Steam и логин, пароль от почты. В стиме мобильный телефон не привязан .

У меня нет SIM номера чтобы играть MMR.
С 4 мая 2017 года, аккаунты без номера мобильника не будут допущены до рейтинговых игр.
Мобильный номер - вещь индивидуальная и если у Вас его нет, то это не проблема. Мы нашли сервис, который даёт возможность привязывать виртуальный номер, стоимость всего 3 рубля - onlinesim.ru/sms-receive

Для чего нужен этот MMR ?
MMR в Дота 2 служит критерием для подбора игроков того же рейтинга что и Вы. Большинство игроков играет в диапазоне 2800-4000 MMR (соло рейтинг). Чем выше рейтинг - тем сильнее соперники, Вы получаете больше реального опыта, выше взаимопонимание в игре и взаимовыручка.

Насколько важен winrate и кол-во игр в Dota2?
Показатель winrate (процент побед) и кол-во игр не играют ролик при подборе матчей. В рейтинговых играх эти параметры не учитываются.

Что такое KDA?
KDA - коэффициент полезности в игре, влияет на вычисление вашего MMR рейтинга до тех пор, пока он не присвоен аккаунту. Рассчитывается так: (К+А)/D, где K- кол-во килов в игре, D - кол-во смертей, A - кол-во ассистов. Например, закончили матч, сделали 8 килов, 4 раза в таверне, участвовали в убийстве 12 вражеских героев - ваш КДА=(8+12) / 4 = 5 что хорошо.

Как самому сделать аккаунт с высоким MMR ?
Нужно отыграть около 100-150 игр с высоким показателем KDA и удачно отыграть 10 калибровочных игр. В результате Вы получите 3500-3700 MMR.
Пример : если первые игры до калибровки вы отыграли и соответствуете уровю игры в 3000MMR и выиграете все 10 калибровочных игр с коэффициентом KDA от 10 - то после калибровки Вы будете иметь аккаунт с 3500 MMR.

Рейтинг MMR зависит от: на 70-80% от первых игр (до 20 уровня) и на 20-30% от 10 калибровочных игр, после которых и выводится Ваш рейтинг. Соответственно, нужно потратить около 14-20 дней на выдержанную, качественную отыгровку всех матчей.

Максимальный Solo MMR , который можно получить сразу после калибровки , ограничен на сегодня цифрой в ~3500 . Остальные баллы добываются победами и в среднем по 25 баллов.

Важно: не обманывайте себя! Если Ваш личный соло рейтинг сейчас в диапазоне 2000-2500, то Вам не удастся сделать аккаунт > 3500 mmr. Не надо тратить время.

Следующий момент - научится и действительно соответсвовать более высокому уровню можно только со временем. Значительно быстрее этого достичь можно играя party матчмейкинг в компании с более опытными игроками или играя в одиночку на аккуанте с более высоким соло ММР.

Кто бы что не говорил, но в 90% случаев соло рейтинг сейчас реально отражает уровень игры .
Тот кто называет "раками" своих тиммейтов (которые, к слову, играют на том же уровне) -просто забыл как отыгрывают другие, на рейтинге на 1000 баллов пониже.
Верно и обратное: попробуйте сейчас сыграть 3-4 игры на рейтинге плюс +800 от вашего, и вы четко начнете ощущать себя бесполезным, немощным в команде, а винить вам уже будет некого.

Как влияют командные игры на соло рейтинг ?
Командные рейтинговые игры влияют только на party MMR, и не влияют на solo MMR

Какая разница между рейтингом solo MMR в 4500 и 4800?
Разница достаточно существенная, по сути 300 очков для хорошего игрока, чей винрейт равен 55% - это около 110-120 рейтинговых игр.
Однако, начиная с 4800- , реальный опыт игроков сильно повышается, и увеличивать свой рейтинг становится сложнее - приходится сильно "потеть". Иными словами, разница значимо ощутимей с ростом MMR.

Мой рейтинг сейчас 3200-3600 - что я увижу при игре, например, на 4500 MMR ?
В сравнении с рейтингом 3500, на 4500 намного более адекватные игроки - саппорты реально саппортят, не забирают крипов на лайне у керри, сразу покупают варды, куру, даст с первых минут если в команде противника есть инвиз-герой и "не трогают твою маму". Однако, всё же могут попадаться чудаки, но в гораздо меньшем кол-ве чем на .

Откуда у нас аккаунты?
Большинство из Вас играют в доту ради собственного удовольствия и делают это бесплатно.
Небольшая часть людей играет очень хорошо и так же ради удовольствия, ради победы.
Среди них есть те, кто задумывается и приходит к мысли, раз уж они и так проводят много времени в игре, почему бы не получать небольшое вознаграждение?
За месяц один такой игрок создаёт 3-5 аккаунтов с нуля, мы помогаем им надежно найти покупателя на аккаунт для игры с сильными дотерами.

9 ноября 2010 в 20:35

Алгоритм популярности пользователя на сайте - «Нестандартный подход к стандартным вещам»

  • PHP

Все видели на сайтах систему рейтинга статей и материалов. Многие ее даже делали сами, но не каждый делал рейтинг людей на сайте.
В этой статье я поведаю как сделать качественную систему рейтинга для пользователей вашего ресурса.

Сначала я проведу линию для вас разных алгоритмов рейтинга:
I - Пользователи получают только "+"
Основные преимущества:

  • Нету заморочек.
Недостатки:
  • один человек, один балл.

II - Пользователи получают "+" и "-"
Больших отличий мало от прошлой системы. Добавилось еще одно поле в базе.
Основные преимущества:

  • Нету заморочек.
  • Минимальные нагрузки на сайт и базу.
Недостатки:
  • один человек, один балл.
  • Личный авторитет на сайте/форуме ничего не стоит. Ты одна единица и все.

III - гипербола от @klim-danilovklim-danilov
Да, это довольно интересная идея но для оценки материала. Но не пользователей.
Основные преимущества:

  • «вес каждого плюса или минуса постоянно уменьшается в два раза, в порядке хронологии.
    То есть первый юзер ставит плюс весом в +50 балла, следующий ставит плюс весом в +25 балла, минус в -50 балла, минус в -25, минус в -12,5 баллов»
Недостатки:
  • Каждый последующий голос уже имеет меньший вес.
  • Система еще не закончена.

IV - среднее статистическое
Одна из самых распостраненных систем. В основе лежит общая сумма проголосовавших и общий бал деленный друг на друга.
Основные преимущества:

  • Система давно проверена и работает.
  • Не высокие затраты ресурсов.
Недостатки:
  • Пользователю дано право голосовать с минимума до максимума. А обычно по статистике пользователи ставят самый низкий балл или самый высокий.
  • Система для оценки исключительно материала.

V - плавающая система
В основе принципа лежит изменение кармы в сторону плюса или минуса.
Основные преимущества:

  • Пожалуй самая лучшая система для оценки пользователей/материала.
  • Не высокие затраты ресурсов.
Недостатки:
  • И снова. Твой авторитет на сайте/форуме в рейтенговой системе ничего не стоит.

Теперь я внесу свою лепту.
Зачем изобретать велосипед было, когда уже существуют алгоритмы оценки людей?
- А ответ прост, они не являются корректными когда идет разговор о том, что нужно выделить действительно авторитетных людей на ресурсе.

В основе алгоритма лежит геометрическая фигура «прямоугольного треугольника».
Да порой в геометрии мы можем найти вполне необычные вещи.

Почему был избран именно треугольник?
Дело в том что высота треугольника может соответствовать рейтингу пользователя который ставит оценку.
Длина треугольнка рейтингу которому ставят оценку. А гипотенуза как раз та разнице между авторитетами пользователей.

Теперь приступим к самому интересному.
$a = 254; // Рейтинг пользователя голосующего $b = 47; // Рейтинг пользователя получающего голос /* Установим стандартные цифры, которые можно встретить на любом форуме*/ if($b<=0){ $b=1; } /* Проверяем наличие нуля и отрицательного числа в переменной $b */ ### Получаем квадрат стороны А * 2 ### $aInSquare = ($a * 2) * ($a * 2); /* Сейчас вы спросите, а почему мы увеличиваем значение переменной в 2 раза? Методом научного тыка, я увидел что когда у переменной $a число больше в 2 раза, то и результат получается более естественным */ ### Получаем квадрат стороны B ### $bInSquare = $b * $b; ###Получаем квадрат стороны гипотенузы ### $cInSquare = $bInSquare + $aInSquare; ### Получаем длину гипотенузы### $c = sqrt($cInSquare); $result = (int) round($c / $b); /* Делим полученный результат гипотенузы на содержимое стороны $b и сводим значение в целое с помощью округления и превращения числа в int */ if($result > $b / 2){ $result = (int) round($b / 2); } /* Проверим чтоб пользователю не прилетело слишком много баллов. Если ему поставл очень авторитетный человек, то карма максимум возрастет на 50% */ var_dump($result); /* А в конце мы получим ответ 11, это число как раз адекватно поднимит карму пользователя. */ ?>
Может кто-то спросит. А почему не использовал формулу $result = ($a * 2) / $b;?
Данная формула не адекватно работает когда $a меньше $b более чем в 2 раза.

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

После тысячи тестов с $a = rand(0,99999); $b = rand(0,99999);
я пришел к паре багов:
1й - делить на 0.
Исправил if($b<=0){ $b=1; }

2й - когда получающий пользователь имеет 1 балл, и получает от пользователя с 1000, то его объем получающегося становится 2000
Исправил if($result > $b / 2){ $result = (int) round($b / 2); } Максимум можно увеличить на 50%.

Бенчмарк Code-Igniter не дал результатов нагрузки (0,0000).

Всем спасибо. Ищите вдохновление во всем что видите.