Движок 0.15.1
Как ruin-me оценивает матч Dota 2
Вердикт — это оценка по доступным игровым данным. Здесь объясняем, что стоит за буквами, процентами и словами «тащил» и «руинил».
Модель ещё проходит калибровку
Текущая пилотная выборка содержит 405 реальных матчей и 2057 наблюдений игроков с известной медалью. Это наблюдения, а не число уникальных людей. Обычные режимы и Turbo сравниваются с отдельными выборками, с разделением на основные роли и поддержку.
Сравнение учитывает собственную медаль игрока, а не средний ранг матча. MMR приблизительно оценивается по медали и не получен от Valve. Для Turbo рейтинговая медаль служит ориентиром: скрытый рейтинг этого режима неизвестен. Обычные режимы сравниваются с эталоном рейтингового All Pick.
Матчи собраны за короткий период, а большинство реплеев в выборке не разобрано. Где позиций ещё нет (OpenDota не успела разобрать матч), роли определяет наш алгоритм по фарму и предметам. Он может ошибаться, чаще всего на третьей позиции. Данные публичных профилей не представляют всех игроков. Обновляемый корпус и независимая проверка качества ещё не завершены: ранние оценки могут ошибаться.
Предупреждение о выборке показывается рядом с вердиктом. Если нормы давно не обновлялись, вердикт всё равно считается по последним собранным нормам, а рядом пишем дату, когда их собрали.
Что влияет на оценку
- Сначала проверяем матч. Для вердикта нужен поддерживаемый матч пять на пять, без ботов, длительностью от 12 минут. Turbo сравнивается только с Turbo: для сравнений нужно обычное лобби, без ботов и вышедших игроков, той же минимальной длительности. В Turbo нет виновника, MVP, Impact, долей и буквенных оценок. Другие неподдерживаемые матчи остаются без вердикта.
- Определяем роль. Позиции берём из разбора матча OpenDota, если он дал их всем десяти игрокам. Иначе учитываем линии, фарм, предметы и доступные сведения о позиции. При низкой уверенности роль отмечается вопросом; модель учитывает и альтернативную позицию.
- Сравниваем игровые показатели. В расчёт входят фарм, опыт, урон, участие в убийствах, помощь команде и смерти. Веса зависят от роли: саппорт и керри оцениваются по-разному. Сравнительная выборка учитывает режим, роль и собственную медаль игрока. Если медаль неизвестна, используются данные той же группы ролей среди всех рангов.
- Получаем Impact и букву. Impact — оценка от 0 до 100. Буквы от S до F обозначают её диапазоны, но у проигравших буква не выше потолка по доле вины: больше 20 % — не выше B, от 30 % — не выше C, от 40 % или у виновного — не выше D. Хороший K/D/A сам по себе не гарантирует высокую оценку.
Что означают проценты и «виновник»
Победители делят модельную долю заслуги, проигравшие — модельную долю вины. В каждой команде доли до округления дают 100 %. Это способ сравнить вклад внутри команды, а не доказательство, что один игрок вызвал именно такой процент поражения.
MVP выбирается среди победителей, оставшихся в игре. Если никто не ушёл, виновник среди проигравших появляется только при достаточной доле и отрыве от следующего игрока. Один ушедший в проигравшей команде становится виновником независимо от отрыва; если ушли двое или больше, одного виновника не называем. Когда оснований выделить одного нет, так и говорим: проиграли вместе или пока недостаточно данных.
Почему предварительный разбор может измениться
Первые выводы строятся по доступной статистике источников. После разбора реплея могут уточниться роли, показатели и вердикт. Для предварительного обвинения порог строже, чем для полного отчёта.
Подробные события зависят от доступности реплея и его обработки. Если реплея нет или обработка не удалась, остаются доступные данные матча. Отсутствие события в данных не означает, что его не было в игре.
Откуда берутся числа и пояснения
Формулы определяют оценки, доли, MVP и виновника. Базовые пояснения веб-отчёта — готовые фразы по фактам матча. Дополнительный текст ИИ появляется только при включённой генерации и после проверки по фактам. Если он недоступен, основные данные и пояснения остаются. Текст не меняет числа.
Карточки ботов могут содержать пояснения ИИ. Если подходящего текста нет, используется подготовленная фраза по фактам или K/D/A. Такая запасная фраза не является ответом ИИ.
Изменение формул, которое влияет на числа, получает новую версию движка.
Как попробовать разбор
Вставь ID матча или ссылку на него из Dotabuff, OpenDota или STRATZ. Первые 3 разных матча доступны без входа. Для следующих нужна бесплатная подписка на Telegram-канал @ruinmedota и подтверждение через бота. Повторный просмотр первых пробных матчей в том же браузере не расходует попытку. Доступ к матчам, открытым после лимита, зависит от подтверждённой подписки. Сохранённые примеры доступны без подписки и не расходуют попытки. При обычном поиске матча действует общий лимит.
Разобрать свой матч