понравилось ли вам расположение людей в Dota 2? внимательно прочитайте. люди потеряли

Понравилось ли вам расположение людей в Dota 2? Внимательно прочитайте. люди потеряли Дота

Время на прочтение

Привет! На связи zmax505, я бы хотел рассказать о своём опыте по созданию проекта по MOBA игре Dota 2. Мы с iory разработали модель машинного обучения, которая анализирует игры в live и на основе различных данных предсказывает предполагаемого победителя встречи.

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

Это я сижу и думаю о том как бы хорошо написать о своем сервисе

Я смотрю киберспорт, ставлю на него, да и вообще наверное являюсь довольно плотным фанатом данного действия.

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

Так я и поступил, году так в 2019, когда увидел сервис, который отдает пики команд в Dota2 быстрее чем их показывают на трансляции, но мешало одно — ты должен постоянно сидеть у монитора и следить когда эти пики появятся и ты сможешь предположить какая из команд выиграет. Это было не так удобно, как хотелось бы, ибо реал лайф важнее.

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

Но в 2019 году, все как-то шло не так и не складывалось, чтобы этот сервис получился. Пришлось подождать 3 года.

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

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

пальчик вверх означает верный предикт

А статью как работать с платным каналом, можно найти вот тут.

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

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

Тим Ликвид набрали хороших героев

Описание сервиса

Понравилось ли вам расположение людей в Dota 2? Внимательно прочитайте. люди потеряли

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

Список сервисов

Понравилось ли вам расположение людей в Dota 2? Внимательно прочитайте. люди потеряли

Ну сегодняшний день лучшими сервисами для аналитики матчей и повышения скилла считаются:

  • MoreMMR. MoreMMR является обучающим сайтом, который содержит в себе большое количество различных видеороликов и заданий. Сам ресурс чем-то напоминает Battle Pass. Он предполагает выполнение игроком заданий, за правильное выполнение которых пользователь будет получать монеты, за которые в дальнейшем можно будет просмотреть обучающее видео или начать выполнять новые задания. При регистрации на счёт пользователя поступает 300 монет.
  • Feedless. Fedless – программа-помощник, которая даёт голосовые советы игроку во время ведения боя. Она напомнит игроку о том, что пора написать сс на противника, поставить варды, забрать руну или пойти застакать нейтральных крипов. Программа может работать как в платном, так и в бесплатном режимах. Во втором случае количество советов увеличится. Например, в улучшенной версии она будет говорить игроку какие предметы стоит покупать, когда и куда нужно ставить варды и т. п.
  • GOSU.AI. Данный сайт позволит игроку произвести анализ своих недавних матчей. Он расскажет пользователю какой вклад он внёс в победу команды, правильно ли собирал предметы, сколько крипов пропустил и др. Самым интересным на сайте является раздел о фарме. GOSU.AI покажет сколько крипов игрок убил, а сколько забрала вышка. Кроме этого, пользователь сможет увидеть сколько мобов было убито им до 10-ой минуты.
  • Pvgna. Pvgna является ресурсом, на котором хранится большое количество гайдов на английском языке. Все видеоролики раскиданы по разным разделам, которых всего 5: “как поднять ММР”, “как играть на саппортах”, “как играть на керри”, “как играть на оффлайнерах”, и “как играть на мидерах”. Все ролики короткие, на просмотр каждого одного из них уйдёт не более 15-ти минут.

Понравилось ли вам расположение людей в Dota 2? Внимательно прочитайте. люди потеряли

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

Понравилось ли вам расположение людей в Dota 2? Внимательно прочитайте. люди потеряли

Вчера, 5 августа, в Сан-Франциско состоялся шоу-матч между людьми и ботами OpenAI в дисциплине Dota 2. Еще в 2017 году в рамках шоу-матчей The International 2017 люди сражались с OpenAI в формате «1х1 mirror mid» и с целым рядом ограничений в пользу ботов (запрет на использование ряда предметов и механик), что закончилось поражением профессиональных игроков-мидеров.

Так как Dota 2 — дисциплина крайне разносторонняя и сложная для освоения, встреча между людьми и ИИ вновь проводилась с целым рядом ограничений, которые, однако, не слишком радикально влияли на игровой процесс:

  • пул из 18 героев в режиме Random Draft (Axe, Crystal Maiden, Death Prophet, Earthshaker, Gyrocopter, Lich, Lion, Necrophos, Queen of Pain, Razor, Riki, Shadow Fiend, Slark, Sniper, Sven, Tidehunter, Viper, или Witch Doctor);
  • без Divine Rapier, Bottle;
  • без подконтрольных существ и иллюзий;
  • матч с пятью курьерами (ими нельзя скаутить и танковать);
  • без использования скана.

Самое серьезное ограничение: крайне малый пул героев для обеих сторон. Сейчас в Dota 2 существует 115 персонажей с различными способностями и механиками их применения. OpenAI пока может совладать лишь с 18 из них. Встреча была максимально приближена к «реальным» условиям и проводилась в формате 5х5. Против ИИ играли обычные люди, в прошлом когда-то причастные к киберспорту, но сейчас не являющиеся киберспортсменами. Единственная поблажка для людей заключалась в том, что реакция ботов была ограничена 200 мс, чтобы избежать ситуаций с мгновенным «прожатием» кнопок. Итог: команда ИИ выиграла у людей со счетом 2-0 по картам. Выиграть у OpenAI удалось только после того, как героев для ИИ выбрал зрительный зал (Slark, Sven, Axe, Riki и Queen of Pain), по оценкам OpenAI шанс на победу с таким драфтом составлял всего 2,9%. Кроме этого, до начала главного матча, с ботами могли сыграть рядовые гости мероприятия, и в этих встречах доминирование ИИ было еще более наглядно, что впечатляет.

Почему это так важно

OpenAI — это некоммерческий проект, за которым, однако, стоят вполне известные и влиятельные люди. Проект был основан в 2015 году Илоном Маском, Сэмом Альтманом, а спонсорами выступили Питер Тиль и Джессика Ливингстон. Dota 2 — не единственное направление деятельности команды проекта OpenAI. Если ознакомиться с разделом «Исследования» на официальном сайте проекта, то можно увидеть, что OpenAI активно работает и в направлении создания ИИ для, например, робототехники.

Но если основатели проекта — столь влиятельные люди, то почему выбор пал на компьютерную игру? Обучение ИИ для работы в динамически изменяемых условиях — задача нетривиальная. Текущие модели ИИ и автопилотов действуют исключительно в жестко заданных условиях, а для их обучения требуются миллионы различных комбинаций событий и факторов для того, чтобы бот не просто действовал по заранее прописанным паттернам, а начал сам анализировать происходящее и принимать решения исходя из контекста ситуации. Выбор Dota 2 в качестве площадки для обучения ИИ и создания ботов для данной дисциплины оказался полезен с множества точек зрения:

  • киберспорт обладает высокой медийностью;
  • это безопасная площадка для отработки методов обучения ИИ;
  • огромная вариативность игровой механики Dota 2 дает практически неограниченное количество сценариев для обучения;
  • открытый доступ к записям игр живых людей предоставляет неисчерпаемый запас данных для анализа.

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

Что произошло 5 августа

Чаще всего боты в компьютерных играх — либо туповатые заскриптованные болванчики, либо непобедимые чудовища с нечеловеческой реакцией. Как пример — «insane»-боты для CS 1.6, которые убивали в голову из дробовика на дистанции в 50+ метров

в прыжке с разворота

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

После шоу-матчей в 2017 году в формате «1х1 mirror», команда OpenAI заявила, что следующая цель — полноценные игры 5х5. И им почти удалось добиться намеченной цели: ожидать от ботов способности управлять и анализировать синергию всех 115 персонажей в режиме Captain Mode было бы глупо, но уже 18 героев — это очень много. Вот расчет вариантов для пика 5х5 (10 персонажей) для 18 героев:

А вот такое число вариантов мы получаем уже для 115 персонажей:

Да, 74,5 трлн комбинаций! Очевидно, что для того, чтобы совладать с таким разнообразием и включить всех 115 персонажей в пул OpenAI, требуется полноценный самообучаемый ИИ, которого у нас пока нет. При этом в расчетах не учитываются способности персонажей (от 4 до 6 «кнопок» на персонажа, без учета Invoker), типы способностей (активные, пассивные, направленные, ненаправленные, AoE, направленные на точку), десятки предметов, активные эффекты предметов, модификаторы и так далее и так далее.

Но даже для нашего мини-пула в 18 персонажей работа была проведена колоссальная.

Ниже вы можете оценить, как ведут себя OpenAI боты в играх против людей:

Чем боты отличались и не отличались от людей

Для тех, кому лень смотреть 5+ часов записи с Twitch, мы коротко расскажем, чем было примечательно поведение команды ботов OpenAI Five на фоне обычных людей.

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

Кроме бесстрашия (граничащего с наглостью) и организованной работы на ранней стадии игры, боты отметились и собственным пониманием механики Dota 2. Цель игры: сломать главное строение противника, на чем и фокусировались боты. Так, 3-4 персонажа ИИ согласованно ломали вышки противников-людей, виртуозно «танкуя» по очереди башню, чтобы сохранить собственных крипов и быстрее разрушить строение. Кроме этого боты отметились и тем, что нестандартно использовали варды, которые также танковали для них вышки. Как итог, в одной из игр с гостями мероприятия боты зашли на базу противника уже на 9 минуте (подъем на базу противника даже на 15-18 минутах считается исключительно ранним таймингом).

Также боты эффективно перераспределяли между собой опыт, не допуская просадки персонажей 4-5 позиций, отличились в расчете урона (при нанесении последнего удара бот не продолжал догонять цель, четко понимая, что урона для убийства хватает) и активно использовали некоторые предметы.

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

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

Вполне вероятно, мы увидим еще один шоу-матч, на этот раз на The International 2018 (пойдет 20-25 августа) против профессионалов, которые явно сильнее ИИ. Однако вполне возможно, OpenAI Five смогут нас чем-нибудь удивить.

Кратко о проекте

HackProDota — некоммерческий проект для анализа профессиональных игр Dota 2 в рамках Tier 1 и Tier 2 турниров. Сервис запущен 8 мая 2021 г. и уже проанализировал 1799 игр с точностью (проходимостью) в 74.06% на момент написания статьи.

А как это работает?

Я хожу напрямую к Valve и забираю все Live игры, которые сейчас происходят в Dota 2, потом фильтрую их и отбираю именно Pro игры. Дальше происходит немного магии, ибо мне приходится пока что пользоваться сервисом Stratz

А сервис мне нужен, чтобы понимать на каких позициях и на каких героях играют именно игроки, это слегка глупо, но если вы сейчас возьмете команду из Tier 3 и попробуете посмотреть через OpenDota кто там играет, вы будете слегка удивлены. Там будет невероятная каша.

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

Гатс одобряет такой подход к делу

О параметрах

Для анализа в реальном времени собираются десятки различных параметров, которые мы можем получить из официальных API от Steam.Помимо общих параметров (пики, команды, нетворсы, килы и т.д.) собираются и анализируется чуть больше 10 переменных для каждого героя в игре.

Live статистика героев Dota 2

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

Связки героев по пику — Статистика комбинаций

StatDota Live Picker — сервис проверки статистики для ставок в режиме реального времени, узнайте вероятности: победы, захвата преимущества в начале игры (первый тавер, Рошан, 10 убийств), а также вероятной длительности матча и тотала убийств. Мы на лету анализируем матчи лучших команд (Tier 1-2, опционально можно учитывать и Tier 3) и отдаём статистику связок в удобных таблицах. Глядя на результаты работы сервиса, человек с минимальным опытом может сформировать вероятный сценарий развития событий по конкретному пику, и понять, на каком этапе игры будет максимальный коэффициент на победителя.

Не обязательно заполнять все поля

Используются официальные API от самих Valve.Подробнее можно узнать на их официальном ресурсе https://wiki.teamfortress.com/wiki/WebAPI#Dota_2

Что дальше?

Я занимаюсь постепенным продвижением этого бесплатного/ платного канала, а так же ищу способы и слушаю клиентов, чтобы докинуть как можно больше полезной информации в свои каналы.

Так же в дальнейшем я хочу отказаться от Stratz и убрать задержку, которая есть у них, но для этого придется разобраться в работе Dota 2 GCI, что звучит как слегка потная работенка.

О модели

Модель создана на основе нейросетей при помощи фреймворка TensorFlow на языке Python 3, используется библиотека Keras. После многочисленных тестов были выбраны именно нейросети, так как по сравнению с другими вариантами, они показали наибольшую эффективность.

Главная модель объединяет в себя несколько других моделей, например, модель для анализа купленных предметов каждого игрока radiant и dire, модель для анализа показателей по GPM/XPM каждого игрока radiant и dire и так далее. Это сделано для облегчения в тестировании, проверки и дальнейшей доработки/переобучения в случае необходимости.

О предиктах

В среднем предикт выдаётся на ~10 минуте игры. Сервис работает в автоматическом режиме 24/7 и публикуют в телеграм канале почти все матчи в лайве с предполагамым исходом.

Понравилось ли вам расположение людей в Dota 2? Внимательно прочитайте. люди потеряли

На примере выше мы можем увидеть матч между OG и Tundra Esports на 2 карте. Сервис опубликовал пост в тг на 11 минуте игры в лайве, предполагаемый победитель по мнению модели на момент публикации — OG c вероятным шансом 82%. Встреча закончилась победой dire.

Заключение

Считаю, что проект вышел довольно успешным и показывает хорошие результаты, получилась 74%+ точность при большой выборки из 1800+ предиктов.

Понравилось ли вам расположение людей в Dota 2? Внимательно прочитайте. люди потеряли

График распределения вероятностей (шансов) на тестовом наборе игр.
Снизу отображаются шансы, 0 — вероятная победа dire, 1 — победа radiant. Показатель в ~0.5 показывает, что по мнению модели шансы обеих команд равны.

Конец

Так что если ты любишь Dota 2, хочешь получать пики когда они будут готовы, то я именно для тебя сделал канал — пользуйся!

А на последок похвастаюсь комментарием одного моего клиента. В такие моменты, чувствую себя прям совсем хорошо.

И помните, играйте по фану, кайфуйте от того что делаете и никого не стесняйтесь.

Приятного вам дня

Как это в итоге тебе помогает?

Мне это помогает не сидеть целый день перед монитором и смотреть когда появятся пики на каком-нибудь cyberscoreLive или Hawk. Когда будет готово, мне все придет в ТГ и я приму решение, кто выиграет.

Это очень сильно сейвит мое время.

Новости:  Что такое Роблокс Токсичный? и почему их так много
Оцените статью
Dota Help