» » Лучший искусственный интеллект в играх, или Почему ИИ — это подделка

Лучший искусственный интеллект в играх, или Почему ИИ — это подделка

Лучший искусственный интеллект в играх, или Почему ИИ — это подделка

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

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

Ложные ИИдолы



Словосочетание «искусственный интеллект» звучит весомо и даже возвышенно. Представляется нечто загадочное и непостижимое, над чем работают настоящие гуру программирования, владеющие тайными, почти мистическими знаниями. Они наделяют машину способностью думать подобно человеку!

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



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

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

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



Nimrod — один из первых компьютеров с графическим интерфейсом. Разрешение его «дисплея» — 4 на 7 точек, то есть 28 лампочек.

Про «Ним» мы вспомнили не просто так — программа, которая могла в ней участвовать, стала первым в истории игровым ИИ. Её сделали в 1951 году и запускали на разработанном под это дело компьютере Nimrod: «Электронный мозг, который работает быстрее человеческого!» — гласила реклама.

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

Ум в предметах



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

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



Кажется, что симы всё время о чём-то думают.

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

Чтобы лучше представить себе этот алгоритм, создатель Sims Уилл Райт предлагает вообразить «ландшафт счастья» (happyscape): поверхность, на которой высота означает получаемое на ней количество счастья. Персонаж выбирает любой из ближайших холмов и использует манящий его предмет. Когда нужда будет удовлетворена, холм разглаживается, а сим переходит к покорению следующей вершины.



Девушка или холодильник? Пожалуй, холодильник!



Голод утолён, пора общаться — пирамида Маслоу в действии.

Иногда подопечные начинают творить откровенную ерунду — всё потому, что разработчики нарочно заложили изъян. Алгоритм берёт верхнюю часть списка нужных действий и выбирает из него случайным образом: сим может сесть смотреть телевизор, проигнорировав позывы мочевого пузыря. Если б персонажи сами отлично справлялись, это не оставило бы работы для игрока — иногда ИИ приходится нарочно портить.



В SimCity (2013) много «фоновых людей», но здесь, в отличие от Sims, они полностью лишены интеллекта: просто ходят на работу и обратно, подобно тому, как в дома поступает вода и электричество.

Нейроны и норны



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

В 1992 году британский учёный Стив Гранд решил попробовать себя в разработке коммерческого софта. Он предлагал потенциальным инвесторам идею виртуального питомца — мыши, которая жила бы на рабочем столе Windows. Она должна была постепенно обучаться новым трюкам благодаря заложенной нейросети.



Норнам в Creatures предстоит освоить большой и красивый мир.

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

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



Общая схема мозга норна.

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



Каждое действие приходится втолковывать по много раз.





Так должна была выглядеть четвёртая часть Creatures, но до разработки дело не дошло.

Есть и другие примеры того, как искусственный интеллект изображает питомца со сложным поведением: вспомним гигантских зверей из Black & White, щеночков из Nintendogs или норовистого Трико из The Last Guardian. Однако имитация развития и обучения по-прежнему остаётся редкостью.



Все жаловались на капризы Трико, но разве не так ведут себя настоящие питомцы?





Вне индустрии компьютерных игр существуют научные проекты настоящей симуляции живых существ. В рамках проекта OpenWorm (на картинках) учёные воссоздали физическую модель тела круглого червя с тремя сотнями работающих нервных клеток: в виртуальном окружении червь ведёт себя так же, как вёл бы в жизни. А резонансный Human Brain Project, в который европейское правительство вложило миллиард евро, пытается воссоздать в машине человеческий мозг. Правда, до этого пока очень далеко.

Запах свежих трупов



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



Wolfenstein 3D

В ранних шутерах вроде Wolfenstein 3D и Doom с искусственным интеллектом всё было просто: монстры поворачивались в сторону игрока, бежали к нему и стреляли, как только он входит в комнату, — вот и весь алгоритм. В Quake их поведение уже стало достаточно сложным, чтобы игру начали критиковать за плохой ИИ.



Ом-ном-ном!

Первым же шутером, заслуживающим в этом плане внимания, стал Half-Life. Там были и дружественные персонажи, и сражения, не зависевшие от участия игрока, и прочие нетривиальные вещи. Чтобы сделать мир живым и подвижным, разработчикам из Valveпришлось написать огромное количество скриптов. Например, совсем недавно обнаружилось, что у персонажей и монстров в Half-Life есть обоняние: свежий труп в течение тридцати секунд испускает запах, и если, например, неподалёку бродит буллсквид, то он непременно прибежит полакомиться. Люди же, проходя мимо, заметят, что пахнет не очень.

https://youtu.be/1tvz0WVaQGg

Враги Мастер Чифа



По-настоящему интересное поведение компьютерных противников появилось в игре Halo: к примеру, когда умирает лидер отряда, его подручные могут смекнуть, что дело плохо, и разбежаться. К тому же они стараются действовать сообща, даже зовут друг друга на помощь.

В Halo 2 социальная жизнь солдат ковенанта стала ещё более сложной благодаря системе, что позволяет противникам вовлекать друг друга в действие. Работает это примерно как в Sims: ИИ одного персонажа опрашивает остальных, не готовы ли они помочь, и те соглашаются, если не заняты. Например, человечек видит проезжающую машину и просит водителя подобрать его. То же касается и диалогов: если два солдата смотрят на что-то одно, они начнут это обсуждать.





Оказалось, что предсказуемость — это очень важно. «Если я подбираюсь к пехотинцу и внезапно на него нападаю, я могу ожидать, что он испугается и убежит. Будет неправильно, если он будет убегать только в половине случаев, — это помешает игроку строить планы. Мы решили, что действия должны быть предсказуемыми, а их последствия — нет. Пехотинец всегда будет убегать, но куда именно он убежит, игрок не знает», — рассказывает Крис Батчер, программист, отвечающий за ИИ в Halo.



Ещё более интересное поведение демонстрирует армия дьявольски хитрых клонированных солдат из F.E.A.R.. Контекстная информация в ИИ врагов позволяет им не просто действовать сообща, но прикрывать друг друга, прятаться за укрытиями вроде столов и книжных шкафов, открывать двери, выбивать окна, и так далее.

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



F.E.A.R.

Разработчики придумывают всё более красивые методы заставить нас думать, что мы имеем дело с равным противником. В компьютерной графике подобный обман называется «дым и зеркала», и точно так же, как компьютеру не под силу реальные оптика и физика, не может он и воссоздать интеллект человека. Приходится идти на уловки.

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

Вспомним проект DeepMind, в рамках которого исследователи из Google ставят разные эксперименты с нейросетями, в том числе учат их играть в компьютерные игры. Всего за несколько часов компьютер становится профессионалом по одной из старых игр для Atari.

https://youtu.be/Ih8EfvOzBOY

Если ждать достаточно долго, можно проникнуться своим несовершенством.

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

Источник