Почему боты в играх не умнеют?

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com (подробнее »)
| Компьютерные и мобильные игры

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

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

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

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

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

Однако же не будем о грустном и поговорим именно о тех системах, которые могут симулировать игрока и стать оппонентом в играх. В настоящее время существует огромное количество алгоритмов ИИ, которые способны симулировать то или иное поведение человека. Если описывать их все, упоминая их сильные и слабые стороны, выйдет очень большая статья. Поэтому я сконцентрируюсь именно на той архитектуре, которая у людей на слуху и является наиболее продвинутой, в данной области – искусственных нейронных сетях (ИНС). Именно на этой архитектуре созданы небезызвестные AlphaGo, AlphaZero и AlphaStar, которые побеждали людей в го, сёги и StarCraft. Почему же одну из этих систем нельзя внедрить и в другие игры, в качестве игрового бота? Ответ на этот вопрос кроется в архитектуре и способе создания таких систем.

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

Более того, такая сеть в процессе создания модифицирует сама себя. Те же ИНС серии Alpha вообще не статичны, они обучаются методом подкрепления. Это означает что они, подобно человеческому мозгу, изменяют себя каждый раз, когда к ним поступает какой то сигнал. Такой подход является основным достоинством сетей – они способны найти то решение, которое человек может искать годами. И, в отличие от линейных алгоритмов, сети могут найти такое решение, которое ни один человек до этого не находил. К тому же они способны реагировать на изменяющиеся условия и подстраиваться под новые правила. Именно эти достоинства помогли им обыграть людей. Но в этом скрыт и один из основных недостатков для разработчиков игр – поведение таких сетей невозможно спрогнозировать полностью. Точно будет известно только поведение сети в тех ситуациях, на которых она обучалась и тестировалась. Но вот как она поведёт себя в новых ситуациях, до конца неизвестно.

Всегда можно научить ИНС играть в какую то игру. Но чтобы сеть лучше в неё играла, ей надо предоставить как можно больше игровых ситуаций. Чем больше игровых ситуаций сеть разберёт, тем более сложным будет её поведение. Она будет «помнить» опыт прошлых игр. С каждой новой выученной ситуацией, на старые она будет реагировать уже по-другому. И если мы говорим о сети, которая сможет играть на уровне человека, мы должны говорить о сети, обученной на миллионах игровых ситуаций.

Тут мы приходим к тому, что тестирование поведения такой сети потребует больше человеко-часов, чем любой современный блокбастер целиком. Более того, если какой-то баг в поведение сети и будет найден, её не получиться поправить, как линейный алгоритм. Этот баг нужно будет разобрать, включить в обучающую выборку и обучить новую сеть. И её снова нужно будет протестировать с нуля, потому что поведение сети может измениться в любой из тестируемых ситуаций. Безусловно, существуют подходы, которые немного ускоряют этот процесс, но ни один из них в корне его не меняет. Уже можно предположить, насколько ресурсоёмкая разработка такого бота, и почему такие сети делают по нескольку лет.

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

Уже на данном этапе разработка бота на базе ИНС выглядит нерентабельной, но есть ещё проблемы. Сейчас, если ИНС обучается играть в какую то игру, то она, по сути, представляет из себя самостоятельную «личность», которая играет по своим тактикам и ведёт себя определённым образом, исходя из того, как она была обучена. И вот тут всплывает такой момент, что для того, что бы изменить её поведение, к примеру, чтобы она могла симулировать бота другой сложности, нужно её дообучить на дополнительных данных.

И вот уже, чтобы получить ботов для разной сложности игры, нам требуется создать и протестировать несколько нейронных сетей. А ведь в играх редко бывает один тип мобов. И поведение, к примеру, вертолёта прилично отличается от поведения пехотинца. Нам нужны отдельные сети для разных мобов на разных сложностях. А ведь ещё могут быть разные карты, на которых геймплей отличается, и разные режимы игры, где победы нужно добиваться разными путями. Проблема возрастает в геометрической прогрессии.

Казалось бы, почему не обучить одну сеть, способную симулировать разных мобов и способную играть на разных сложностях игры в разных игровых ситуациях? Ну, помимо того, что создание такой сети по силам лишь нескольким корпорациям в мире, мы упираемся в ещё одну существенную проблему – обучающие данные. Любые системы ИИ не являются магической шкатулкой, которой надо задать лишь цель, и она сама найдёт путь. Чтобы ИИ мог достичь цели, ему надо объяснить как это сделать. И, в случае с ИНС, этим объяснением являются данные, отображающие состояние объекта моделирования и среды, в которой объект функционирует.

Сеть должна знать, при каких условиях объект обладает определёнными характеристиками, и как среда реагирует на те или иные действия объекта. Проще говоря, для сети нужно расписать всю «жизнь» игрового персонажа от «рождения» до «смерти». И расписать так, будто он побывал во всех возможных игровых «приключениях». Естественно, приключение, где герой будет убивать босса копьём, будет существенно отличаться от приключения, где тот же самый герой будет убивать того же самого босса уже луком. Или магией. А теперь представьте, сколько ситуаций нужно описать для бота, который должен одновременно симулировать поведение сотни разных юнитов в огромной армии. Именно из-за этой проблемы тот же AlphaStar, в своих последних версиях, всё равно мог играть только в одном режиме StarCraft II — Protoss versus Protoss. Всего одной конкретной фракцией против другой конкретной фракции.

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

В конце концов, кто сказал, что обучать системы ИИ обязательно должен человек? Ещё в 2017 году Deepmind представил версию AlphaGo Zero которая обучалась игре в го не на основе игровых партий людей, а играя сама с собой. И уже тогда она стала одной из самых успешных ИИ для игры в го, превзойдя человека. Безусловно, чем сложнее сама игра, чем больше игровых правил и условий, тем сложнее устраивать подобные спарринги между ИИ. Но это не невозможно, хоть и требует огромных вычислительных мощностей. Отдать тестирование ИИ на откуп других ИИ сложнее, но частично эту проблему можно обойти за счёт введение дополнительных условий в обучение.

И всё же, основной проблемой на данном пути остаются вычислительные ресурсы, которые требуются для обучения таких ИИ. Так что следующий скачок в этом направлении можно ожидать не раньше скачка в области вычислительных систем.

Автор не входит в состав редакции iXBT.com (подробнее »)

50 комментариев

Lucky_Snake
Отличная статья, было интересно почитать.
-Lockust-
Отличный материал, со всех сторон полезный.
Последний раз редактировалось
108803956332275391868@google
Ответ на вопрос в заголовке можно было сократить до одного предложения — потому что это никому не нужно :D
Arguzd
Тут не совсем верно. Все эти проблемы, описанные для игровых ситуаций, мало чем отличаются от проблем на реальном производстве, к примеру. ИНС мало привязаны к области своей работы. По сути, они даже не «знают», что за объект они моделируют, поскольку работают исключительно с потоками данных. И для сетей мало отличий в том, что бы моделировать игрока-человека или человека-оператора какой-нибудь производственной линии. По сути, я просто переложил все те проблемы, с которыми сталкивается современный ИИ в производственном секторе) Так что эти проблемы интересуют очень многие компании и не важно, откуда придёт решение.
108803956332275391868@google
Так я ответил на вопрос из заголовка :D Проблемы на реальном производстве — дело уже другое. Материал интересный, по большей части, но заголовок не совсем правильный. Боты в играх не умеют не только потому, что это сложный процесс, требующий высоких вычислительных мощностей. В игровых ботах сегодня нет особого смысла, издатели и разработчики не будут вкладывать в развитие бессмысленной для них технологии деньги акционеров. Простые в разработке скрипты отлично справляются с задачей реализации «болванчиков», этого для издателей и разработчиков на данный момент достаточно.
Arguzd
Это верно) Но верно и то, что деньги им вкладывать особо и некуда. Даже самые подходящие для этого технологии находятся в стадии сырого прототипа, который не вышел за рамки институтов и исследовательских подразделений крупных корпораций. Так что заголовок больше отсылает к тому, что нет подходящих технологий, для того, что бы прокачать интеллект ботов в данный момент.
108803956332275391868@google
Так не видят пока какого-то особого смысла в таких технологиях, поэтому они и находятся на стадии сырых прототипов. Всё упирается в конечную рентабельность разработок, которая пока не маячит даже на горизонте :)
Arguzd
Ну вот смысл в этих технологиях как раз большой и развиваются они за счёт денег из других отраслей. И в целом, в ИИ сейчас чуть ли не больше всего денег вкладывают. Просто скорость их развития итак уже на пике и упирается уже в количество специалистов, которые могут этим заниматься. То есть, от денег из игровой индустрии просто ничего не изменится.
108803956332275391868@google
С применением нейросетей в других отраслях соглашусь. Но я ведь говорю именно о том, что в игровой индустрии такие технологии пока невостребованы. Разве что заставить нейросеть рисовать шкурки или автоматически проектировать игровые локации по снимкам с каких-нибудь Google карт. Уже споткнулись о VR, которому многие пророчили великое будущее. А по факту имеем именно то, что имеем :)
Arguzd
Тут соглашусь. Кстати, если будет интересно, потом могу ещё статей про другие варианты использования ИИ написать. К примеру, знаком с парнем, который занимается системой автоматического моделирования лиц. То есть по нескольким фоткам полностью автоматически строится 3д модель лица.
108803956332275391868@google
Я бы почитал, звучит слишком уж неправдоподобно и многообещающе, учитывая то, как модели лиц проектируют сейчас :)
Serpentus
Поищите на youtube ролики по ключевым словам deep fake. Там по нескольким фоткам обучают нейросеть, после чего она заменяет на видео одни лица другими. Это не тоже самое, что построить полноценную 3D модель, но уже близко к этому.
Numitor
То что это никому не нужно, вывод верный. Но причина названа ошибочна. Нет технической или кодерской проблемы написать бота который будет всегда честно выигрывать у человека. Суть в том, что никто не будет играть в такую игру. Люди играют очень плохо, поэтому и ботов пишут чтобы человек смог их победить, ну или делают тупое пвп, тут все ясно. Игроки же приходят за победами, а не за мастерством и тренировками.
108803956332275391868@google
Так боты не обязательно должны выступать против игрока! Согласись, куда приятнее будет наблюдать осознанные действия напарника в одиночной сюжетной игре, нежели кривляния тупого болванчика, как сейчас. Напарника, который будет реагировать на происходящие вокруг него действия. Автор статьи акцентировал внимание на соревновательном мультиплеере, но боты есть не только в нём ;)
108803956332275391868@google
Кроме того, нет вообще никакого смысла играть против того, кого легко обыграть. Это никак не мотивирует к дальнейшей игре, что пагубно скажется на продажах. Не просто так стали популярны большие сессионные шутеры, королевские битвы и прочие соревновательные игры. Куда интереснее сопротивляться живому человеку, нежели тупорылому боту, который сам норовит попасть под удар.
Arguzd
Не, я про всех ботов говорил. Просто самый яркий пример сейчас в Старкрафте и его разработка отталкивается от реальных игроков, что намного проще. Просто, если первая проблема актуальная только для ботов, которые играют против игрока, то вторая и третья причины актуальны для любых ботов.
108803956332275391868@google
Это самый яркий пример для тех, кто играет в Старкрафт :D Людям, далёким от национального корейского киберспорта этот пример довольно далёк. Как далека и идея того, что против ботов хардкорным игрокам катать особого смысла или, скорее, удовольствия нет. Видимо, человек просто не в курсе, что это за Старкрафт такой )))
Arguzd
Ну, тут проблема не столько в хардкорности ботов, сколько в том, что для ИНС очень трудно скалировать уровень сложности, на котором она должна играть.
108803956332275391868@google
Я тоже далёк от Старкрафта и его игровой механики, поэтому ответить мне тупо нечего :D
Numitor
За кооператив ничего сказть не могу, тут жанровые вкусы, но то что ботов делают тупыми специально это точно. Если правильно подойти к делу то посмотрите статистику OpenAI Dota2 ботов, которые в 99% побеждают команды из людей.
truewormster
Спасибо! Сколько времени толком ничего не читал ботах со времён CS и немного fear
Mangorann
В кои-то веки интересный материал. Всё так. И проблемы, описанные в статье, также характерны и для любых других областей, где применяется ИИ на нейронных сетях. Особенно такие ИИ любят экономисты в своих областях, а обычный народ потом смотрит на «решения» этих экономистов и вопрошает «как же так, это ведь нелогично и безумно?»
SandMan@
Так нейросеть уровня альфа Х просто вынесет всех топов в любой игре)) особенно с учётом того что пальцы у компа не путаются и глаз не чешется)) и мышку не срывает)) так что попадать он будет 100% рейла например))
Numitor
это хайп название, все этим пользуются. 99% читающих не смотрели определение ИИ даже в вики. А еще 0.5% не правильно определение поняли.
Gennadium
Черт, ты меня опередил Х)
Ну да ладно, у меня тема несколько другая. Вернее, как: объект исследования у нас один, а предметы разные. Но ссылку на твою статью я к себе вставлю)
Arguzd
Без проблем)
Gennadium
Кстати, с радостью бы обсудил потом в комментариях, если найдется время — точка зрения «технаря» на означенные вопросы мне тоже была бы исключительно интересна Х)
Последний раз редактировалось
sniffsen
-Ну что, графика красивая, озвучка симпатичная.- сказал Первый.- А теперь протестируем искусственный интеллект. Выставь-ка им по минимуму.
Второй защелкал кнопочками. На экране навстречу герою выбежала толпа вооруженных дубинами орков с громким криком «Wa-a-agh!!!», и пала в полминуты.
-Туповатые они какие-то,- скривился Первый.- Поставь побольше.
Второй перевёл ползунок на одно деление. Орки попрятались в кустах и за камнями, стали нападать со спины, устраивать обвалы, засады и ловчие ямы. Через пятнадцать минут Первый вытер вспотевший лоб и уважительно хмыкнул.
-Неплохо, неплохо. Но всё-таки не то. А если им дать еще чуть-чуть?
Через десять минут шкура героя сушилась на частоколе возле орочьей деревни. Первый нахмурился.
-Подкрути ещё!
На сей раз герою пришлось приложить все усилия, чтобы продержаться со своими армиями хотя бы пару минут. Орки разбили его в пух и прах, захватили все рудники и лесопилки, в городах ввели выборное правление и провозгласили республику.
Первый мрачно взглянул на Второго, тот пожал плечами и снова что-то подкрутил.
На сей раз орки вообще не стали связываться с героем, отрезали его от всех баз в каком-то ущелье, выставили немногочисленную, но хорошо вооруженную охрану, а сами стали жить в мире и согласии, постигая великую гармонию бытия и разводя хризантемы.
Второй без напоминаний передвинул ползунок дальше.
Герой не смог сделать ни одного шага. Орки с первых секунд взломали код игры, перехватили управление ресурсами, намертво завесили героя, отключили систему боя, сделали монстров неагрессивными, а себя — неубиваемыми, исследовали всё дерево умений, не удовлетворились и по-быстрому создали четыре новых мода, расширяющих игровой мир, добавляющих различные взаимодействия, предметы и офигительной красоты закат. Попытались было выйти в сеть и распространиться на другие сервера, но Первый предусмотрительно выдернул шнур.
-Вы что, издеваетесь?- закричал он в экран.- А ну, позовите сюда ваших главных!
На экран вылезли тупые зеленые морды старейшин.
-Идиоты!- набросился на них Первый.- Придурки! Вы совсем ничего не понимаете?
-Не-а,- помотали головой орки.- А чё мы сделали-то?
-Что сдалали?- язвительно переспросил Первый.- Да вы чего только не сделали! А должны были что?
-Ну дык это… противостоять. Изо всех сил. До победного конца.
-Чушь!- Первый ударил кулаком по столу.- С вашим быстродействием, с вашей способностью моментально и безошибочно просчитывать варианты, да ещё возможностью управлять одновременно тысячами юнитов и при этом не отвлекаться от выполнения других задач, со знанием территории и всех данных по любому объекту… да обладая таким преимуществом перед человеком, и арифмометр может выиграть! Вот только какая от этого человеку радость? От вас, болваны, требуется на лёгкая победа, а красивый проигрыш! Чтобы борьба была долгой, но не слишком, тяжелой, но не изматывающей, требующей напрячь мозги — но не вывихивать их. Видимость борьбы, поняли? А в конце — полная и безоговорочная победа игрока, настолько натуральная, насколько это возможно, чтобы и мысли не возникало о подвохе. Ясно это вам?
Орки озадаченно нахмурились.
-Не, чё-то ты намудрил, начальник. Проигрывать — это как-то не по-пацански. Да ну нафиг.
-Выставь им по максимуму,- бросил Первый Второму.
-Да у них и так уже...
-А ты добавь ещё!- рявкнул Первый. Второй послушно добавил.
Орки переглянулись, скорчили тоскливые рожи и поморщились с плохо скрываемой досадой.
-Ну что, теперь понимаете?- спросил Первый.
-Понимаем,- кивнули орки, уныло поднимая дубины.- Waa-a-aagh!
Пётр Бормор
topaz9812
ИИ в играх не моделирует игрока человека. В игре заложены алгоритмы взаимодействия объектов. Это разработчики пытаются сделать такие алгоритмы чтобы было похоже на игрока.
ИИ в играх это примитивные алгоритмы, не о каком моделирование игрока там речи нет. Не сравнивайте с нейросетями с помощью которых работают ИИ голосовых помощников типа кортана или Алиса.
ИИ в играх это не искусственный интеллект, его даже начать так нельзя, это примитивные алгоритмы. Тоже самое ИИ в гонках которые управляют автомобилями соперника. Просто набор алгоритмов управления, ничего там ИИ не анализирует и тем более не моделирует. В половине гонок кетчуп какой то работает где скорость авто изменяется в зависимости от скорости игрока, что если противник сильно отстал он с бешеной скоростью догонит, и т д. Это не ии вообще а просто более менее простые или сложные алгоритмы. Нейросети действительно обучаются и анализирует их сложность несравнимая с ии компьютерных игр.
Arguzd
Именно это я и написал)
Miha45211
Жестко, но с юмором особенно зашло про китайцев
EduardoLorgar
Почему в данной статье вообще ничего не сказано про играбельность и игровую аудиторию?
Я лишь напомню, что более качественные действия противников в играх могут привести к тому, что для 80% аудитории данной игры — она станет попросту не проходимой, так как основная аудитория большинства современных игр — достаточно слабого игрового умения без возможности обучения.
Тут сразу вспоминается ВоТ, в котором 90% игроков составляют игроки, которые играют значительно хуже среднего игрока (условно — 2500 ВН8). Либо же уточнить про Дота 2, в которой основная масса игроков по своему уровню игры находиться ниже возможной «планки» для среднего игрока (условно — 5000 ммр).
С одной стороны, когда мы рассматриваем поведение противников в изначально требовательных играх (к примеру, серия ДС) и встречаем в них достаточно хитрых, интеллектуальных противников — это будет восприниматься естественно и вряд ли будет вызывать много недовольства. Но даже в этих играх могут возникнуть ситуации, от которых бомбить начнёт уже у умелых игроков. К примеру, ДС-1, Бродячий Демон может встать спиной в угол, прижаться к углу и спамить исключительно быстрые АОЕ атаки. В таком варианте, у игрока практически не будет окон для нанесения безответного урона Боссу, если игрок использует оружие только ближнего боя.
С другой стороны, если в достаточно простые игры добавить сильных по своему исполнению противников, то данные противники будут выглядеть черезчур имбалансными и будут ломать игру обычному игроку. Если в компанию Колды разработчик внезапно добавит противников, которые будут настолько же точны и быстры, как боты сложности «Эксперт» из контры 1.6, то попросту 90% аудитории Колды не смогут проходить компанию в данной игре.
Arguzd
Ну вот я как раз и написал, что задача «победить игрока» совсем другая по уровню сложности «пытаться победить игрока, поддаваясь ему в некоторых ситуациях». Ну и про скалирование сложности и невозможность протестировать поведение ИНС во всех игровых ситуациях. Это уже совершенно другая постановка задачи и обучить сеть под неё намного сложнее. Хотя, в теории, вполне реализуемо. Просто потребуется скорректировать обучающую выборку и потратить намного больше времени на тестирование. И, скорей всего, именно к этому когда-нибудь и придём. Тут тоже можно написать ещё обзор на технологии и подходы к автоматической генерации локаций и игровых ситуаций) Сейчас в рогаликах используются, опять же, линейные алгоритмы генерации, но у ИИ есть гораздо больший потенциал в этой области и, опять же, сырые прототипы тоже уже существуют)
EduardoLorgar
Пример банальной, достаточно простой реализации — это боты из КС 1.6, где была чёткая градация.
Моё мнение больше сводиться к тому, что отсутствие прогресса интеллекта у противников в играх — это всё таки коммерческий ход, обусловленный тем, чтобы игра была дружелюбна к как можно большей аудитории, чтобы её могли покупать и проходить значительно больше людей.
В угоду большей популярности и доходности, некоторые разработчики режут не только интеллект противников, но и многие сложные игровые механики (аля Апекс, по сравнению с ТитанФалом, либо же Скайрим по сравнению с Морровиндом)
Arguzd
Это, конечно, тоже есть, тут спорить не стану. В рамках деревьев решений поведение ботов всё равно можно сделать гораздо сложнее, чем оно есть сейчас во многих играх. Я больше про техническую составляющую — даже если отбросить понижение качества, делать ботов для крупных миров, песочниц и игр с большим количеством геймплейных возможностей стало намного сложнее и багов там, соответственно, больше. Все эти баги физически отловить сложнее и, из-за этого в том числе, начинает казаться, что боты стали хуже. Сделать бота для, к примеру, ведьмака на уровне бота для КС физически невозможно. И вот как раз уже в этих играх потолок качества для ботов уже достигнут. И, пока, нет технологий для их прогресса.
EduardoLorgar
«И вот как раз уже в этих играх потолок качества для ботов уже достигнут. И, пока, нет технологий для их прогресса.»
С этим я категорически не согласен. Когда ты сталкиваешься с ситуациями, в которых противников больше, чем 3, игра показывает реализацию ботов. Во многих играх попросту половина противников будет бездействовать и стоять АФК и ждать своей очереди. В том же самом Ведьмаке (3-ем) ты можешь собрать более 10-ти противников, но полноценную агрессию будет проявлять максимум 5 противников, а остальные будут ожидать свою очередь.
И тут я возвращаюсь к тому, что было в Морровинде — когда собирая 10+ противников, все 10 противников продолжали сохранять полную агрессию по отношению к игроку, тогда как в Скайриме уже было серьёзное упрощение: если тебя одновременно атаковало более 6-ти противников, то остальные переставали тебя атаковать.
И подобные моменты, показывающие упрощённое поведение ботов, можно найти практически в любом ААА проекте. К примеру, если игрок пропускает атаку, которая оставляет ему малое количество здоровья, то внезапно, большая часть противников на короткий промежуток времени начинают игнорировать игрока, давая ему возможность использовать предметы для восстановления здоровья.
Arguzd
Это всё примеры геймплейного упрощения поведения ботов. Что бы игроку было проще и интереснее играть. То есть, это поведение можно усложнить, но это приведёт просто к тому, что в игру будет сложнее играть, но именно интеллект мобов лучше не станет. Они просто будут быстрее и точнее бить, давая игроку меньше шансов на ошибку. Я же про другое — даже если все 10 противников будут нападать одновременно, их поведение не будет сильно отличаться друг от друга и взаимодействовать между собой они будут на очень примитивном уровне. В отличие от того же КС, в ведьмаке у мобов, кроме действий стрелять и перемещаться, есть ещё куча всяких возможностей + различное окружение, поведение в каждом из которых будет отличаться + видов мобов в ведьмаке намного больше одного и поведение того же василиска должно отличаться от поведения стражника. Реализовать разветвлённое дерево решений в этих условиях крайне ресурсоёмкая задача и, даже при желании, далеко не все студии имеют возможность для её создания. И я говорю именно про это — технология построения поведения уже не меняется которое десятилетие. И у неё уже просто не осталось пространства для роста. Реализовать на базе деревьев решений гибкий интеллект настолько сложная задача, что единицы игр могут окупить затраты. Причём, эти затраты не принесут никакого существенного повышения интеллекта, поскольку будут очень точечными. Эти точечные изменения могут немного улучшить восприятие игры, но многие люди их даже не заметят. И, по сути, все эти затраты и вложения будут бессмысленны.
Arguzd
Что бы не быть голословным, простой пример. Положим у нас есть игра, где у игрока может быть 20 видов оружия, 5 видов брони, с разными характеристиками, игрок может находиться на 3 уровнях (вверху, на уровне земли и в окопах), и на карте может быть 10 видов окружения (леса, город, пустыня и т.д.). При этом, у противника-моба могут быть все те же 20 видов оружия, 5 видов брони, 3 уровня и он тоже может быть в одном из 10 видов окружения (пусть эти биомы расположены близко и мы исходим из ситуации, что игрок и моб могут быть в разных биомах, во время перестрелки). И вот по-настоящему интеллектуальный и гибкий АИ для каждой из этих комбинаций оружия, брони и окружения должен выбирать индивидуальную тактику поведения. Только вот даже для такого тривиального примера это 9 миллионов различных сценариев поведения. И эти сценарии должны наложиться именно поверх обычного АИ, который уже знает как стрелять и как перемещаться. И это ведь ещё мы не берём в расчёт то, что и у игрока, и у моба могут быть способности и союзники. Мягко говоря, с помощью деревьев решений реализовать такой АИ не хватит человеческой жизни. А вот ИНС вполне можно обучить действовать в таких условиях и они на самом деле могут подстраиваться под все эти параметры. Просто на данный момент сети упираются в те проблемы, которые я уже перечислил в самой статье.
Лев Серебряков
«в котором 90% игроков составляют игроки, которые играют значительно хуже среднего игрока» — у вас точно был курс теорвера и статистики, хотя бы на один семестр?
EduardoLorgar
Доброе. Достаточно посмотреть статистические данные и среднее количество игроков. В своё время, людей, с ВН8 выше 2100, по всем серверам в ВОТ было не более 3% из всего количества игроков. Я уже давно не играю и не интересуюсь данной игрой, потому не могу сказать, сколько сейчас игроков с ВН8 2500 и выше (а это всего лишь 53-55% побед, что явно намекает на то, что уровень игрока — в районе среднего). Я не думаю, что внезапно, каким то чудом количество игроков «средней руки» выросло с 2-3% до 15% от всего количества игроков.
Лев Серебряков
Я понятия не имею что такое ВН8 и 2100, но я знаю, что по закону больших чисел в большинстве таких игр скилл распределён по гауссиане. Дальше объяснять нелепость утверждения про 90% хуже среднего?
EduardoLorgar
Для начала ознакомьтесь пожалуйста с реальностью многих проектов, особенно таких, как Дота 2, ВоТ, ЛоЛ.
Постарайтесь понять, что значит средний игрок и его характеристики.
И постарайтесь вообще узнать, какие градации используются в ВоТ.
В ВоТ полностью отсутствует какое либо деление по умению игроков в самой игре. Команды набираются совершенно рандомно и против команды со средним винрейтом в 56% может быть собрана команда со средним винрейтом в 48%. И для ВоТ — это — обычная реальность.
Ни о каком балансе техники и балансе игроков в ВоТ не может быть и речи. Полное отсутствие какой либо регуляции по умениям игроков привело к тому, что нет совершенно какой либо необходимости обучаться чему либо для обычного игрока.
SanctusSusanin
Статья странная. 95% текста про нейронки, а заголовок намекает на какое-то мысленное путешествие от одной ситуации к другой (не умнеют — подразумевает, что они уже были тупые, потом немного вразумились, но остановились). Тут нужно пилить часть 2, часть 3 и так далее, правильно расставляя все техники и технологии в общую систему.
Плюс, статья про нейронки в играх, ни слова про Блицкриг3, не надо так.
SanctusSusanin
(Спойлер:) В следующей статье автора стало понятно почему. Потому, что НС — его тема. А не боты в играх.
Arguzd
Ну так я и написал «Поэтому я сконцентрируюсь именно на той архитектуре, которая у людей на слуху и является наиболее продвинутой, в данной области – искусственных нейронных сетях (ИНС).». Другие алгоритмы есть. Те же байесовские методы, генетические алгоритмы. Со всеми я работал, но это всё равно алгоритмы машинного обучения. И все эти алгоритмы, так или иначе, упираются в те же самые описанные проблемы. Смысл машинного обучения именно в обучении. И от необходимости обучать эти алгоритмы, проявляются все проблемы в составлении обучающих выборок. Я бы мог разобрать и другие алгоритмы, но опыт статьи по фотограмметрии показал, что слишком углублённые технические статьи людям не особо интересны)
А по поводу Блицкрига 3, очень уж сомнительно, что они там сеть использовали. Гугл для игры в Старкрафт до сих пор не дописал адекватную сеть, способную играть во всех режимах, зато Нивал уже в 2017 году полноценного бота на базе сетей выпустила. Именно так и никакого хайпа на популярной теме. А то, что про этого бота никто не вспоминал, не вышло ни одной научной статьи с описанием архитектуры, так то, потому что они просто не ищут славы, а работают для людей.
19064622@vkontakte
Да только для расизма в иллюстрациях в совокупности с текстом проскальзывает, автор ты ничтожество!
19064622@vkontakte
Да только доля расизма в иллюстрациях в совокупности с текстом проскальзывает, автор ты ничтожество!
12345_67890

Ответ Arguzd на комментарий
Я бы мог разобрать и другие алгоритмы, но опыт статьи по фотограмметрии показал, что слишком углублённые технические статьи людям не особо интересны


Да какие ты там мог УГЛУБЛЁННЫЕ статьи то НАКАРЯБАТЬ?
Верно одно утверждение — ЛЮДЕЙ ДЕЙСТВИТЕЛЬНО ТЕХНИЧЕСКИ ИНТЕРЕСУЮЩИХСЯ значимыми статьями о ИИ очень мало и они ЧИТАЮТ " ТАКИЕ " СТАТЬИ ТОЛЬКО ДЛЯ " ПОРЖАТЬ " во время перекуров, если вообще читают ТАКОЙ обзор в сновидения.

Ответ 19064622@vkontakte на комментарий
Да только для расизма в иллюстрациях в совокупности с текстом проскальзывает, автор ты ничтожество!


Ты то откуда взялася со своими рассизмами?

Добавить комментарий