Общие обсуждения Dota 2

Общие обсуждения Dota 2 Дота

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

Изменение рейтинга TrueSkill (схожего с рейтингом Эло для шахмат) нашего бота со временем, подсчитанная при помощи симуляции игр между ботами.
Проект развивался следующим образом. Рейтинг 15% игроков находится ниже отметки 1,5К по шкале MMR; у 58% игроков он ниже 3К; у 99,99% игроков ниже 7,5К.

• 1 мая: первые результаты обучения с подкреплением в простом Dota-окружении, где Drow Ranger учится сражаться с жёстко запрограммированным Earthshaker.
• 8 мая: тестировщик с MMR в 1,5K говорит, что его результаты улучшаются быстрее, чем у бота.
• Начало июня: выиграл у тестировщика с MMR 1,5K
• 30 июня: выиграл большую часть игр у тестировщика с MMR 3000.
• 8 июля: впервые с небольшим отрывом выиграл у полупрофессионального тестировщика с MMR 7,5К.
• 7 августа: победил Blitz (6,2К, бывший профессионал) со счётом 3-0, Pajkatt (8,5К, профессионал) 2-1, и CC&C (8,9К, профессионал) 3-0. Все они согласились, что SumaiL придумает, как его обыграть.
• 9 августа: победил Arteezy (10К, профессионал, один из лучших игроков) 10-0. Он сказал, что SumaiL сможет справиться с этим ботом.
• 10 августа: победил SumaiL (8,3К, профессионал, лучший игрок 1 на 1) 6-0. Игрок заявил, что бота победить нельзя. Сыграл с версией бота от 9 августа, победил 2-1.
• 11 августа: победил Dendi (7,3К, профессионал, бывший чемпион мира) 2-0. На 60% больше побед, чем у версии от 10 августа.

Игра против SumaiL

Боты в рмм!!!!

Доброго времени суток, игровое комьюнити!Не знаю, сталкивался ли из вас кто-то с подобным, но я столкнулся:) Решил я себе в доте, устроить марафончик, играю я значит, и наступает такой момент, когда поиск игры достигает 10+ минут. Все бы ничего, но во время игры, я понимаю, что что-то идет не так, двое сливается по кд. Как оказалось, они просто идут и атакуют первую попавшуюся цель(как крипы), не покупая абсолютно ничего, не переагриваясь на цель которая начинает ее атаковать, не юзает скиллы и тд. Меня, это мягко говоря смутило, я человек адекватный, спокойно спросил в микрофон, все ли у них нормально, продублировал в чат, попросил хоть как то отреагировать на мое сообщение. На мое сообщение отреагировали, но не они, а один из игроков, сказав, что это бессмысленно, что это боты и они попадаются с ним не в первый раз. Ладно, подумал я, и после -13 очков ммр и сломанном троне на 25й минуте, я отключился и начал новую катку, радуясь лишь тому, что это не -25. Продолжая играть «свой марафон», мне еще трижды попадались данные товарищи – боты, имея подобные друг другу никнеймы. Причем в одной игре, их всегда было рандомное кол-во( от 1 до 3х). Пробовал как то пытаться играть с ними, но очень сильный буст противника, когда он одупляет, что к нему на линию(во всех 4х играх они шли на ТОП!!!!) идет большой крип, который несет много халявной экспы и голды, причем ластхитить как крипа даже стараться сильно не нужно. Собственно чтобы не быть баснословным, вот айди игр:2086102879208625987720863219322086468551Предугадывая последующие утверждения, что это просто лоулоулоулоулоулоулоускилл, говорю следующие аргументы:1. Данные «игроки» начинают свое движение от фонтана, только после звука горна и атакуют первую попавшуюся цель, ровно, как и крипы.2. У них нет числового значения ммр. Стоит прочерк как у тех, кто калибрует аккаунт. Скажите, лоулоулоулоулоулоускилл калибруется. Н О! Зайдите в историю игр этого «игрока» и посмотрите его историю игр на рмм подборе, я не думаю, что настолько долго калибруется аккаунт. З. Ы. Данные игры, происходили на японских серверах, примерно в 00:00-03:00 по мск.

Новости:  Где будут выходить патчи, в каких регионах их можно будет увидеть


Общие обсуждения Dota 2

Данил ‘Dendi’ Ишутин атакует позиции бота OpenAI на турнире The International, 11 августа 2017 года. Скриншот с прямой трансляции турнира

Вчера в чемпионате Dota 2 International в Сиэтле бот, созданный организацией OpenAI, победил одного из лучших в мире игроков в Dota 2 Данила Ишутина, известного профессиональных кругах под ником Dendi ($735 449 призовых в карьере). 27-летний украинец сдался в середине второй игры.

По правилам матча один на один победителем в каждой игре считался игрок, который совершит два убийства или уничтожит башню противника. В первой игре OpenAI доминировал и победил менее чем за 10 минут, а Ишутин как будто поразился возможностям бота. В начале второй игры бот сделал убийство, и вскоре Dendi прекратил игру, признав поражение. « Эта штука пугает», — сказал Dendi перед огромной толпой зрителей. Илон Маск ликовал.

Таким образом, бот OpenAI остался непобедимым в противостоянии лучшим в мире игрокам в Dota 2. Ранее он отпраздновал победу над Артуром ‘Arteezy’ Бабаевым (№ 1 в общем рейтинге) и Сайедом ‘Suma1L’ Хасаном (№ 1 в рейтинге 1v1).

Dendi против бота OpenAI

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

«То, что мы здесь показали, называется общей системой обучения, — объясняет Грег Брокман (Greg Brockman), сооснователь и технический директор OpenAI. — Она всё ещё имеет ряд ограничений, но уже способна побеждать лучших профессионалов в Dota. Это шаг к построению более общих систем, которые могут обучаться более сложным, запутанным и важным задачам реального мира, таким как профессия хирурга».

Бот OpenAI обучился играть в Dota 2, проведя большое количество игровых сессий против самого себя. Обучение заняло две недели. За это время был пройден путь от случайных беспорядочных действий в игре к навыкам, достаточным для победы над лучшими профессионалами. Разработчики не закладывали в программу никаких стратегий, не использовали помощь экспертов. Бот просто начал с нуля и играл сам с собой, шаг за шагом делая маленькие улучшения в игре, пока не достиг профессионального уровня.

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

Для OpenAI это определённое достижение. Эту некоммерческую организацию основали в декабре 2015 года известные предприниматели Илон Маск и Сэм Альтман, исполнительный директор инкубатора стартапов Y Combinator. Среди спонсоров — ряд влиятельных деятелей Кремниевой долины, в том числе бизнесмены Питер Тиль и Джессика Ливингстон. Организация ставит целью создание безопасного (то есть общедоступного и открытого) Искусственного Интеллекта.

Новости:  Как убить своих крипов и финальных ходов в доте 2

В декабре 2016 года OpenAI представила связующее программное обеспечение Universe для тренировки и обучения сильного ИИ. Теоретически, обучение может происходить на всей информации человечества, доступной через интернет. Это игры, веб-сайты и прочие приложения.

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

«Наша конечная цель состоит в разработке единого интеллектуального агента, который способен гибко применять опыт, накопленный в Universe, для решения новых задач и быстрого получения нового опыта, что станет важным шагом на пути к сильному ИИ», — говорилось тогда в заявлении OpenAI.

Уязвимости бота

Хотя SumaiL назвал бота «непобедимым», он всё ещё может запутаться в ситуациях, слишком отличающихся от того, что он видел. Мы запустили его на одном из мероприятий, проходивших на турнире, где игроки играли более 1000 игр с целью победить бота всеми возможными способами.

Удачные уязвимости попали в три категории:

• Перетягивание крипов. Можно постоянно заставлять крипов с линии гнаться за вами сразу после их появления. В результате за вами по всей карте будет бегать несколько десятков крипов, и вражеские крипы уничтожат башню бота.
• Orb of venom + wind lace: дают вам преимущество в скорости передвижения над ботом на первом уровне и позволяют быстро нанести урон.
• Raze на первом уровне: требует навыков, но несколько игроков класса 6-7K смогли убить бота на первом уровне, удачно выполнив 3-5 заклинаний за короткое время.

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

Пять на пять

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

Привычным образом мы начнём с копирования поведения. В Dota проходит порядка миллиона публичных игр в день. Записи матчей хранятся на серверах Valve две недели. Мы скачиваем каждую запись игры на экспертном уровне с прошлого ноября, и набрали набор данных объёмом в 5,8 млн игр (каждая игра – примерно 45 минут с 10 игроками). Мы используем OpenDota для поиска записей и перечислили им $12000 (что в десять раз больше того, сколько они хотели собирать за год) для поддержки проекта.

У нас ещё много идей, и мы нанимаем программистов (интересующихся машинным обучением, но не обязательно экспертов) и исследователей нам в помощь. Мы благодарим Microsoft Azure и Valve за поддержку в нашей работе.

Инфраструктура

Мы пока не готовы обсуждать внутренние особенности бота – команда работает над решением задачи с игрой 5 на 5.

Первым шагом проекта было понять, как запустить Dota 2 в облаке на физическом GPU. Игра выдавала непонятную ошибку в таких случаях. Но при запуске на GPU на десктопе Грега (во время шоу этот десктоп выносили на сцену) мы заметили, что Dota загружается с подключенным монитором, и выдаёт то же самое сообщение без монитора. Поэтому мы настроили наши виртуалки так, чтобы они притворялись, будто к ним подключен физический монитор.

Новости:  Чаевые в доте и как давать чаевые в доте

В то время Dota не поддерживала выделенные серверы, то есть запуск с масштабированием и без GPU был возможен только в варианте с очень медленным софтовым рендером. Затем мы создали заглушку для большей части вызовов OpenGL, кроме тех, что нужны были для загрузки.

Одновременно мы написали бота на скриптах – в качестве эталона для сравнения (в частности потому, что встроенные боты плохо работают в режиме 1 на 1) и чтобы понять семантику API для ботов. Скриптовый бот доходит до 70 ластхитов за 10 минут на пустом пути, но всё равно проигрывает достаточно хорошо играющим людям. Наш лучший бот играющий 1 на 1, доходит до отметки порядка 97 (башню он уничтожает раньше, так что мы можем только экстраполировать), а теоретический максимум – 101.

Бот играет против SirActionSlacks. Стратегия отвлечения бота толпой курьеров не сработала

Задача

В полной версии игры сражаются игроки 5 на 5, но в некоторых турнирах бывают и игры 1 на 1. Наш бот играл по стандартным турнирным правилам – мы не добавляли специальные упрощения для ИИ.

Бот работал со следующими интерфейсами:

• Наблюдение: API, разработанные так, чтобы у него были те же возможности, что и у живых игроков, касающиеся героев, других персонажей игры и поверхности рядом с героем. Игра частично наблюдаема.
• Действия: доступные через API, с частотой, сравнимой с человеческой, включая движение к определённому месту, атаку и использование предметов.
• Обратная связь: бот получает вознаграждения за победу, а также простые параметры, такие, как здоровье и ластхиты.

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

Бот играет против Arteezy

Турнир The International

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

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

Arteezy сыграл матч с нашим тестировщиком уровня 7,5К. Arteezy выигрывал игру, но наш тестировщик сумел удивить его при помощи стратегии, подсмотренной у бота. Arteezy позже заметил, что эту стратегию против него однажды использовал Paparazi, и что к ней довольно редко прибегают.

Pajkatt выигрывает у понедельничного бота. Он заманивает бота, а потом использует регенерацию.

Оцените статью
Dota Help