02 марта 2013

Искусственный интеллект в играх: про него все забыли?


В своем мнении о Crysis 3 я упомянул тупость искусственного интеллекта. А ведь на самом деле в большинстве игр разных жанров ИИ до сих пор находится на уровне начала двухтысячных (а порой и конца 90-х). Неужели ИИ настолько поумнел за последние десять лет, что стремиться ему больше некуда?

Если навскидку вспомнить экшены, где ИИ реализован на высоком уровне, то всплывут Uncharted 2-3, последние части Halo и… F.E.A.R. 2005 года выпуска. Главным образом потому, что враги могут действовать по-разному каждый раз. И то, в F.E.A.R. враги хоть и могли взять игрока в плотное кольцо, зато были бессильны против slo-mo. Однажды с специально проходил игру без режима замедления - совершенно иначе играется.
Главный бич всех ИИ - это неадекватное поведение, какими бы тактическими приемам он не был бы обучен. Скажем, группа вражеских солдат умело прячется за укрытиями, активно перемещается и может зайти за спину. Но! Убить сразу сзади (или просто скрутить нас) они почему-то не могут. Почему-то они со спокойствием на душе ведут огонь вблизи взрывоопасных объектов. И что самое главное, когда уже мы находимся рядом с “красной бочкой”, ИИ этого в упор не замечает. В конце концов, в большинстве экшенов враги могут запросто уронить себе под ноги гранату и взорваться, будто так и было задумано. Ну, или просто встать в угол и долго-долго его рассматривать в прицел автомата… Я уже не говорю про то, как прячутся за укрытиями наши противники. В 90% случаев оставляют части своего тела открытыми - ногу, руку, голову. Неважно что, но оставляют!

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

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

Вот в Crysis 3 нам нужно пробраться в одно очень охраняемое место. Я убил вражеского солдата, меня засекли. И что? Профессиональные военные по одному(!), по очереди сходятся в одном и том же месте и замертво падают на труп своего товарища, который уже свалился до него. Неужели за шесть лет существования франчайза нельзя научить вражеский спецназ действовать в группе, рассказать об обороне спина-к-спине, тем более они знают, кто  и в каком костюме им противостоит.
“Твоя маскировка тебе не поможет!” - грозят нам кулаком солдаты C.E.L.L. Она действительно была бы бесполезна, если бы противник после поднятой тревоги охранял дверные проходы, ведущие в “заветное” место, а не мешки с песком. Но нет: ходят непонятно где, а мы в режиме невидимости проскальзываем туда, куда нужно. Я еще молчу про игры типа Call of Duty, где противники выполняют роль подвижных мишеней и вплотную выцеливают игрока из базуки.

В принципе, все это тянется уже много-много лет. Пишу я все это потому, что вот-вот нагрянет “новое поколение” консолей и индустрия вроде как должна измениться. Что-то мне подсказывает, в отношение искусственного интеллекта точно ничего не поменяется. В этом виноваты не только “плохие разработчики”, но и мы с вами: мы критикуем сюжет, управление, звук, да ту же графику. Все это очень важно, но мы совершенно забыли про ИИ. Мощности процессоров растут, за последние лет семь-десять их производительность взлетела на порядок, если не больше. При этом прогресс искусственного разума в играх, по сути, начался и закончился в 2005 году, когда вышел F.E.A.R.

Что делать?
Нам - чаще объективно критиковать ИИ за несовершенство, указывать на детские ошибки и читерство. Показывать разработчикам и издателям, что искусственный интеллект важен настолько же, насколько любая другая составляющая игры.
Разработчикам - прислушаться. Нужно в первую очередь устранить детские промахи ИИ (типа уронил гранату себе под ноги и взорвался), а уже потом, опираясь на твердый и устойчивый фундамент, пытаться научить многополигональных человечков чему-то более совершенному.
Источник

Комментариев нет:

Отправить комментарий

Спасибо за ваш комментарий.
Он будет опубликован после проверки.