Изначально задача показалась мне тривиальной, я рассчитывал, что реализую за один день, однако получилось несколько сложнее и заняло 2000+ строк кода. Основная сложность заключалась в оптимизации нагрузки на сервер, другими словами, скорости работы модуля.
Поскольку нам нужно проверить все возможные комбинации с полученными 10ю героями: 3vs4, 1vs5, 0vs3 и тп., а не только 5vs5, это невероятно много комбинаций, а если наложить на это дополнительные параметры, такие как названия команд, временной интервал, продолжительность матчей по времени, то комбинаций становится еще больше. Этот опыт натолкнул меня на написание статьи о комбинаторике в Dota 2, которую вскоре можно будет прочесть в стратегиях ставок, но чтобы вы понимали масштабы в Дота 2 уже реализовано 115 героев, из ник можно сформировать C 5 115 = 153476148 комбинаций по 5 героев, а количество полноценных драфтов 5vs5 много больше миллиарда комбинаций.
Как работает поиск похожих связок героев Dota 2
Поскольку инструмент предназначен для помощи в Live-ставках, мы добавили его как опцию в Live-статистику Dota 2 Plus. Введя героев матча вы можете в 1 клик посмотреть статистику, как и раньше, по кнопке «Посмотреть статистику», и также в 1 клик посмотреть результаты матчей со схожими связками героев по кнопке «Похожие пики», причём заново вводить героев не придётся. По умолчанию выводится 3 матча, однако вы можете запросить хоть тысячу похожих матчей по кнопке «Показать больше матчей», причём сначала вам будут предлагаться матчи с большим количество совпадений и максимальной свежести.
Похожие драфты Dota2. Дополнительные фильтры
Для максимальной актуальности информации, Вам доступны фильтры по названиям команд, периоду проведения матчей и продолжительности матчей и бан героев.
Период выборки похожих матчей
По умолчанию поиск идёт среди матчей, которые были сыграны на про-сцене за последних 120 дней, однако можно проверить и за всё время (с патча 6.88), в предпоследнем и последнем патче, а также за последних 30, 60, 120 либо 150 дней.Также доступна выборка среди матчей последнего турнира добавленного в базу, что весьма полезно для понимания работы героев в турнирной мете.Продолжительность матчей и забраненные герои
Вы можете искать матчи по длительности, например матчи длительнее 50 минут, чтобы оценить насколько та или иная связка результативна в лэйт-гейме.
Дополнительный фильтр по запрещенным героям работает несколько иначе классического понимания этого параметра. Выбираются не те матчи, в которых указанный герой был запрещен, а матчи в которых забаненный герой присутствует – отсеиваются.
Похожие пики у определенных команд Дота 2
Вы можете указывать названия одной либо двух команд, а также искать похожие связки героев среди всех команд, оставив поля с названием команд пустыми. Поскольку одинаковых драфтов на профессиональной сцене практически нет, рекомендуется не ограничивать поиск среди определенных команд, оставив поля с названиями пустыми.
- введено название одной команды: поиск матчей команды 1 с героями команды против героев команды 2 среди всех команд
- введены названия обеих команд: поиск матчей команда 1 vs команда 2 с похожими пиками
- названия команд не указаны: поиск комбинаций героев по всей нашей базе матчей
Для лучшего понимания рассмотрим примеры.
Пример 1. Похожие матчи с учётом команды и турнира.
На The International 2018 команда LGD Gaming пикает Gyrocopter+Io проверим насколько успешно команда играет данной комбинацией. Нашлось 4 матча, 3 из них LGD выиграли в среднем за 30 минут.
Пример 2. Пик против команды.
А умею ли LGD Gaming играть против Gyrocopter+Io? Мы также можем это проверить, для этого нужно заполнить название команды1 как LGD Gaming, а интересующую связку записать к команде 2, таким образом мы ищем матчи LGD против указанной связки. Как мы видим, и против этой связки команда умеет играть.
Пример 3. Пики и контр-пики.
Мы смотрим матч The International 2018 в лайве, в первой стадии пиков соперники LGD Gaming забирают Гиро+Висп, на что LGD отвечают пиков Шейкер+Бэйн, имеет смысл посмотреть, играли ли так LGD. Скрин Как мы видим, LGD контрят Io пиком Earthshaker, на этот турнире выиграли 4 из 4 игр таким драфтом.
Просто попробуйте: похожие драфты по пику на Дота 2 Плюс.