Хватит это терпеть: безмозглые боты
В прошлом выпуске «Хватит это терпеть» мы разговаривали о наводнивших рынок клонах. Многие читатели встали на сторону разработчиков — мол, хорошую идею можно отшлифовать лишь за несколько подходов, и только потом реализовать в полной мере. И это по-своему правильно, благо живём в свободном обществе. Но, как это нередко случается, у данной медали есть и обратная сторона. При чём здесь, спрашивается, искусственный разум? А мы вот объясним и покажем!
Пока над одними идеями ставятся дерзкие и оригинальные эксперименты, другие (порой не очень-то и заметные) приёмы кочуют из одного проекта в другой без малейших изменений. В результате уже после нескольких релизов они начинают восприниматься, как неизбежная для жанра условность, без которой просто не обойтись. Вы когда-нибудь задумывались, почему у классической столовой вилки именно четыре зубца? Ведь производителей так много, неужели все они проводили независимые исследования и сошлись во мнении, что это — самая удобная форма? Нет. Просто так сложилось, прижилось, и никто уже не задаётся вопросом «а не будет ли удобнее цеплять котлетку пятью зубчиками?» Работает — и ладно.
Мы можем этого не замечать, но похожая ситуация происходит и в индустрии видеоигр. И сегодня мы хотели бы побеседовать о несуразных условностях и стереотипных подходах, использование которых не дает развиваться одной из важнейших составляющих любой игры — искусственному интеллекту.
Уходим, профессор! Мы заразимся их глупостью, если будем находиться рядом! Чтобы вам было проще понять претензию, возьмем самый простой пример — классическую реакцию условной стражи на раздражители в почти любом стэлс-экшене, от Thief до Splinter Cell, не говоря уже об играх других жанров вроде линейки The Elder Scrolls. «Наверное, показалось»… сказал парень, у которого из груди торчат две стрелы. И пошёл себе дальше патрулировать стену. Я убил всех твоих напарников, ты усердно гнался за мной две минуты, а потом я обстрелял тебя из лука — как такое вообще могло показаться? «Чёртовы крысы», «наверное, это ветер» — оправдания меняются, но память защитников порядка неизменно остается контуженной на всю голову.
Раньше эту условность списывали на необкатанные технологии: мол, дайте разработчикам пару лет, и все будет тип-топ. Прошёл уже не один десяток, но большинство продолжает двигаться по накатанной, а мы с вами воспринимаем это чуть ли не как добрую традицию. Ну, серьезно, с этими ребятами весело дурачиться — это теперь целый геймплейный пласт и важный фан-фактор для пользователей.
Ещё один простейший пример — наши противники в платформерах (особенно двухмерных). Со времён классических Super Mario Bros. и Mega Men повелось, что их интеллект описывается двумя строчками и одной директивой. О«кей, зачастую противникам просто необходимо в определённый момент занимать определённую позицию. Ведь сам жанр подразумевает преодоление заранее прописанных препятствий — так дизайнер «режиссирует» уровни. Но почему, скажите на милость, они вообще не приучены реагировать на поведение игрока или хотя бы анализировать окружающую среду? Почему с упорством смертника Гумба всегда падает в яму, если та находится на его пути? Почему черепашка Купа умеет бросать бумеранг, но не обучена смотреть себе под ноги и не прыгать прямо в ад, нарезая круги вокруг Марио?
Всё просто: так повелось. Во-первых, считается, что противник — это очередная преграда, только способная передвигаться. Во-вторых, предполагается, что игрок в платформере никогда не станет оглядываться (читай: бежать влево), поэтому от монстрика не требуют больше, чем прожить на экране свой трёхсекундный звёздный час, двигаясь в заданном направлении. А дальше — будь, что будет. Короткий век, трагичная судьба.
Схожие вопросы возникают по отношению к рабочим в практически каждой realtime-стратегии. Эй, уважаемые, почему не работаете? Они самозабвенно бросаются на выполнение любой приходящей сверху задачи, но стоит стройке завершиться или источнику ресурсов иссякнуть, как бравые работяги устраивают перекур длиной в бесконечность. Полное впечатление, что авторы этой идеи не просто русские, но ещё и отслужили в армии. Рискнём предположить, что дело тут не в особенностях национального менталитета, а в неизмеримой популярности Dune II, WarCraft, а затем и StarCraft. Которые и натолкнули других авторов на мысль «чёрт, а ведь это работает!» Только вот в культовой «Дюне» Westwood умышленно освободили харвестер от обязанности постоянно сканировать карту — требовалось экономить системные ресурсы. Игра-то творилась под процессоры в 20 МГц…
Понятно, что последователи просто не рискуют заново изобретать велосипед, но ведь это не единственный существующий принцип руководства подчинёнными. Вспомните не менее популярную в свое время Command & Conquer — тамошние харвестеры всегда самостоятельно отправлялись на поиски новых источников спайса, если пользователь успел найти таковые. Да, это принципиально разные модели микроменеджмента, но ведь никто и не пытается улучшить существующие, не говоря уже о том, чтобы придумать новые. А ведь в том же StarCraft и так забот полон рот, чтобы ещё следить за ленивыми подчинёнными. И всё же она остаётся RTS №1, а значит, подражатели и впредь будут цитировать икону жанра даже в таких сомнительных мелочах.
Ты вообще на чьей стороне, камрад?! Впрочем, всё это неприятные, но не критичные моменты. Другое дело, когда плохо прописанный AI начинает мешать, на минуточку, игре. Речь, разумеется, о компьютерных напарниках. Пламенный привет дорогим виртуальным дегенератам! Скорее всего, вы успеете перебрать в голове все их памятные «косяки» еще до того, как дочитаете этот абзац, но мы рискнём огласить список.
Итак:
от этих бестолочей никогда не стоит ждать реальной поддержки; они постоянно лезут поперёд батьки в пекло и ломают всю тактику; они даже в Сахаре найдут болото, чтобы в него достойно вляпаться; они путаются под ногами, а когда вдруг перестают — теряются в пути и заставляют нас сто раз возвращаться, ведь дальше по сюжету без них не пройти. А главное — они мрут как мухи. И даже толком не могут использовать своё преимущество — вспомните Resident Evil 5, где напарник при малейшей царапине тратил драгоценные колбочки с целебными травами. И это ещё в лучшем случае!
В худшем, как, например, в Fallout или Oblivion, наши спутники могут встать и загородить проход так, что вы застрянете в каком-нибудь тупике и без перезагрузки просто не сможете выбраться. Судя по всему, в напарников из Fallout разработчики вообще закладывают скрытую генетическую ненависть к геймеру, ведь те стреляют в героя при любом удобном случае — попробуйте только встать на линию огня. Иначе, как ненавистью, это явление не объяснить: оно наблюдалось с самой первой игры серии (1998) вплоть до New Vegas (2010).
Почему персонаж, призванный оказывать поддержку, доставляет больше неприятностей, чем исконные враги? Ладно, бессмысленно пенять на самих камрадов: если ИИ в игре глуповат, то с чего бы напарникам проявлять хотя бы зачатки разума? Это с одной стороны. С другой, раз уж нас заставляют уделять столько внимания персонажу, неужели нельзя постараться накинуть ему пару извилин, или хотя бы поставить эпизоды с его участием так, чтобы учитывались особенности интеллекта? А то ведь приходится нянчиться, как с малыми детьми. С другой стороны, в жизни такое бывает сплошь и рядом…
Ещё одна крайность этой проблемы — (почти) бессмертные компаньоны, как в случае с Half-Life 2 или недавней BioShock Infinite. Они, конечно, театрально паникуют, кричат и строят испуганные гримасы, но всё это напускное — на самом деле им ничто не угрожает. А крайность — потому что такое решение порой заставляет задаваться вопросом: «Так, кто, собссно, здесь герой? Может, мне вообще уйти?». Но эти хотя бы не доводят до перезагрузки — и на том спасибо. Признаём, это немного субъективно, но не упомянуть нельзя.
Возможность победы заключена в противнике Впрочем, наши виртуальные оппоненты умеют понизить градус удовольствия ничуть не хуже. И мы говорим не об откровенной глупости. Бедолага бежит на месте, уткнувшись носом в стенку? Да ладно, что взять с глупого бота? Мы говорим о ситуациях, когда в попытке создать видимость умного NPC девелоперы прибегают к не слишком честным решениям.
Сложность игры — один из ключевых факторов, определяющих, насколько она будет интересна целевой аудитории. Слепить что-то простенькое для казуалов нетрудно, но что делать, если твоя ЦА — геймеры, которые любят вызов (читай, от «мидкора» и выше)? Ведь с одной стороны, вы должны суметь обеспечить им этот вызов, а с другой — оставить справедливый шанс на победу и моральное удовлетворение. Иначе плюнут, обидятся и уйдут. Геймдизайнеры тратят невероятные усилия в попытке нащупать этот хрупкий баланс. Некоторые тратят.
Другие идут по пути наименьшего сопротивления, и вместо того, чтобы обучить противника разным стратегиям, на высоких уровнях сложности делают его наглым читером. Ладно, когда это проявляется в мелочах, вроде бесконечного запаса маны у какого-нибудь злого колдуна в фэнтезийной RPG. Хуже, когда такой же приём создатели применяют в соревновательных проектах. Рискните-ка метров на 100 обойти своих виртуальных конкурентов на последнем круге в Mario Kart — кто-нибудь в-с-е-г-д-а подберёт самонаводящийся синий панцирь и за десять секунд до финальной черты опустит вас чуть ли не на последнее место.
А вы пробовали ставить высокую сложность в последнем Mortal Kombat? Если нет, то и не нужно. Тамошние бойцы понятия не имеют о тактике — они просто считывают нажатия ваших кнопок и заранее реагируют на них блоками и забитыми в память контратаками. Более жёсткий пример — злосчастная Дюраль из Virtua Fighter. На это можно закрыть глаза в сюжетном продукте, куда мы приходим совсем за другим опытом. Но в соревновательной игре, куда мы идём, чтобы получить оценку своего навыка, это убивает всякий дух честного соперничества. И вместо того, чтобы с азартом пытаться «сломать» вражескую стратегию, мы просто превозмогаем холодный компьютерный расчёт. Пока не надоест это терпеть.
Схожая ситуация наблюдается в практически любом бэнг-бэнг шутере, подразумевающем далеко не скрытное прохождение. За примерами далеко ходить не придётся — посмотрите в сторону Call of Duty, Battlefield и последних Medal of Honor. Стоит герою лишь на секунду высунуть нос из-за дверного проёма, как на него обрушивается свинцовый шквал. Эта идеальная стража обладает орлиным зрением и способна идентифицировать врага и открыть огонь быстрее, чем вы моргнёте.
Та же ерунда у GTA и товарищей. Вы можете вывезти будущую жертву убийства в пустыню, за километры от цивилизации — в место, где за час только орёл пролетит да ящерка пробежит. Но стоит совершить злодеяние, как полицейский газенваген тут же вынырнет из-за ближайшей дюны. Не нужно даже доводить дело до пяти звёздочек — уже после третьей хранители закона материализуются за каждым углом, и в погоне за нарушителем сносят всё на своём пути.
[embedded content]
Нет, мы всё понимаем — авторы изо всех сил пытаются удержать напряжение и не дают геймеру расслабиться ни на секунду, чтобы, выйдя из происходящего, тому оставалось только громко выдохнуть и сказать «вау». И это похвально, но есть одна загвоздка. Не секрет, что современные игры (за рядом понятных исключений) пытаются установить новую планку реализма. Это выражается в фотореалистичной HD-графике и объёмном звуке, в психологизме персонажей и натуралистичности кат-сцен. Да в чём угодно! — кроме работы над искусственным интеллектом.
Назад в будущее А работы этой — непочатый край: столько идей ещё предстоит реализовать! Вот вам, например, одна: обучаемость. Это, чёрт возьми, одна из главных характеристик интеллекта как такового. Нет, мы не просим создавать этакий «Скайнет», который будет, как бывалый игрок в покер, прогнозировать действия оппонента на основе психологической модели поведения. Для начала хотя бы приучите ботов не бежать в коридор, где только что грохнули нескольких соратников. Не стоять в кругу вдесятером, пока в центре ассасин вырезает вас по одному. И отучите невооруженных NPC лезть под пули вслед за игроком. Я — главный герой, у меня большие пушки, но ты-то куда лезешь? Кто-нибудь, ради бога, подарите им простейший инстинкт самосохранения!
К счастью, есть и исключения из правила. Они, конечно, не способны запоминать ошибки братьев по оружию, но умеют вести себя максимально грамотно на поле боя. Что, не припомните таких? А как же вся серия Halo, где абсолютно любая стычка с Элитами разыгрывается по новому сценарию? В Halo: Reach вообще нет ни одного похожего сражения, мы проверяли. Или, например, Metal Gear Solid V: Ground Zeroes — там постоянно меняются патрули, а рядовые и офицеры оказываются объективно бдительнее своих реальных прототипов. Да и в тех же Red Dead Redemption или Grand Theft Auto V разработчикам удаётся симулировать реальный мир не в последнюю очередь за счёт предельно адекватного AI рядовых граждан.
Главное — не слушать всяких «умников», для которых шелестящие купюры в карманах важнее геймплейного опыта. Вон, глава Electronic Arts назвал современные игры слишком сложными для большинства людей. Статистически он, может быть, и прав, но если крупные издатели начнут опускать планку сложности ради привлечения новой аудитории, не видать нам умных виртуальных соперников, как своих ушей, ещё очень и очень долго. И даже зеркало для героя не поможет.
Автор текста: Денис Рыбалко
Источник: 4pda.ru
© 4PDA