LINUX.ORG.RU
ФорумGames

ИИ в играх

 ,


1

2

Очень долгое время наблюдая за развитием компьютерных игр я отмечал прогресс практически по всем направлениям кроме одного - в большинстве игр компьютерные оппоненты практически не меняются в своем поведении. Если в RTS/TBS простора для развития интеллекта оппонентов немного, а в гоночных играх и платформерах это и не требуется, то в шутерах и CRPG интеллект npc явно слаб. Все что может условный компьютерный противник в современном шутере - искать короткий путь к игроку, идти на сближение, найти укрытие в близости от игрока и атаковать оттуда. Даже в недавнем Cyberpunk 2077 ситуация обстоит примерно таким образом. Особенно плохо с этим в играх вышедших на консолях, где игрок с геймпадом неповоротливый и все что ему остается - играть в тир с автонаведением, что и учитывают разработчики при создании игры.

В Immersive sim/rpg с открытым миром npc обычно имеют более сложную модель поведения, отчего наблюдать за ними намного интереснее. Однако и в этом жанре отчетливо виден потолок развития, который можно наблюдать в Stalker и TES/Fallout от Bethesda. Конечно, лучший способ найти сложного противника - это мультиплеер, однако в целом улучшение поведения npc оказало бы значительное положительное влияние на впечатление от игр.

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

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

anonymous ()

Если будет NPC с хорошем ИИ, то у человека не будет никаких шансов победить и играть в это никто не будет. NPC специально делают глупыми чтобы их можно было победить.

X512 ★★★ ()

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

Aber ★★★★★ ()

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

peregrine ★★★★★ ()
Ответ на: комментарий от peregrine

Сложное поведение не всегда означает большую сложность игры. В FEAR и Last of Us противники поумнее, чем в первых Doom или Medal of Honor, но я бы не сказал, что одни принципиально сложнее других.

Т.е. бежишь ты в шутане на пачку мобов, в лучшем случае шотаешь одного и всё, приплыли.

Многие игры так выглядят на максимальном уровне сложности. Но ИИ не становится умнее - он просто начинает стрелять точнее, а урон по игроку увеличивается.

В тоже время для ARMA 3 есть модификации ИИ, которые учат его эффективнее использовать укрытия, и кооперироваться при наступлении. С учетом того, что союзники игрока делают тоже самое, сложность увеличивается некритично, за то есть ощущение активного сопротивления противников.

Есть проекты обучающихся ИИ, но для применения их в одиночных компьютерных играх явно еще очень далеко. https://youtube.com/watch?v=Lu56xVlZ40M

Leupold_cat ★★★★ ()
Последнее исправление: Leupold_cat (всего исправлений: 4)

Когда в шутерах npc научатся тактике

Зачем? Боты без всякой тактики разуплотнят любую киберкотлету, если им не резать точность/cкорость/урон.

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

no-such-file ★★★★★ ()

Как кто-то писал, от болванчиков в играх требуется «красиво проигрывать» игроку. Что-то чуть более сложное «искусcтвенного дебила» с высокой вероятностью будет нагибать игрока слишком часто, что вызовет фрустрацию.

anonymous ()
Ответ на: комментарий от Leupold_cat

есть ощущение активного сопротивления

Именно, что ощущение. Т.е. вопрос стоит не о том, чтобы ИИ был умнее вообще, а о том, чтобы он больше имитировал поведение человека, при том, не слишком умного (т.е. чтобы по итогу проигрывал).

no-such-file ★★★★★ ()
Ответ на: комментарий от anonymous

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

peregrine ★★★★★ ()
Ответ на: комментарий от anonymous

Как кто-то писал, от болванчиков в играх требуется «красиво проигрывать» игроку

Тоже такое слышал. Делают ещё так, что сложность сначала близка к «практически невозможно», а через N попыток сложность начинает динамически снижаться и игрок в итоге чувствует удовольствие что «превозмог».

no-such-file ★★★★★ ()

Даже в недавнем Cyberpunk 2077

Так и думал, что пост про Киберпанк.

Там самые тупые NPC из всего, что я видел, проходя игры за последние лет 8-12. Таких же тупых болванчиков я наблюдаю в Control и недавно в Alan Wake (я его пропустил когда-то), наверное. Да, во многих играх со стелсом враги откровенно глухие, слепые и забывчивые в угоду игровой механике, но за вычетом этого вполне адекватно себя ведут. Киберпанк в плане тупости NPC (не только противников, напарник — дебил, постоянно лезет на линию огня) заметно выделяется, не следует судить по нему об ИИ в современных играх.

Больше всего противники мне нравится в L4D2, не зря я в него больше 300 часов наиграл. А самые живые NPC в Detroit, хотя никакого ИИ там вообще нет, лишь постановка.

WitcherGeralt ★★ ()
Ответ на: комментарий от no-such-file

Никто ж не будет играть в игру, в которую невозможно выиграть.

Любители садо-мазо Dark Souls (и солс-лайк) с тобой не согласятся. Там ты либо СТРАДАЕШЬ и вырабатываешь тактику, либо разбиваешь нафиг комп и переезжаешь в психушку. ☺

mord0d ★★★★★ ()
Ответ на: комментарий от peregrine

Тогда не понимаю к чему ты это. Ещё в Rainbow 6 Vegas 2, как сейчас помню, один раз подставился, в тебя обязательно попадут, и ты труп. Вообще, чистые шутаны помимо классики и L4D2 я не очень люблю, но полно игр, где тебя с одного выстрела / удара убивают и так, безотносительно ИИ.

WitcherGeralt ★★ ()

Сейчас в мобов закладывают определенные паттерны поведения, разгадав их игрок побеждает (получает конфетку).

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

Конечно можно сделать мобов слабее, но тогда игрок будет убивать их с наскока и ему станет скучно.

KillTheCat ★★★★★ ()

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

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

Узнавая как и что в кишках, не разучишь погружаться. А то вся «магия» игр пропадёт и будет тебе заходить только кинцо где 33 кат сцены на 5 минут игры.

anonymous ()

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

anonymous ()
Ответ на: комментарий от Leupold_cat

Если вы имеете в виду глубину логики поведения НИП, то проблема в формализации и трудности задачи, для того, чтобы ИИ вёл себя интереснее, в целом:

  1. часто потребуется согласовывать поведение команды ИИ - сложно.

  2. вырастет нагрузка на ЦВУ, т.к. данная задача и сейчас делается на пределе и тут придётся жертвовать отзывчивостью/физикой + будет требовать очень сильных разработчиков

  3. Были исследования и в целом погружение не так сильно зависит от ИИ, больше важны сюжетная составляющая и интересность борьбы с ИИ, весь креатив от ИИ в среднем игроков раздражает(не вся аудитория приходит ради соревнования - большинство просто расслабляется или обладает не шибкими умстенными способностями), более того исследование показало, что интерес к сильному ИИ был у очень малой части игроков и поэтому «вложения не оправдывают затрат», проще говоря цель получить деньги с наименьшими затратами, а сложный ИИ - просто рост затрат

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

AKonia ★★ ()
Последнее исправление: AKonia (всего исправлений: 4)
Ответ на: комментарий от anonymous

состоящей в заучивании паттернов

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

mord0d ★★★★★ ()
Ответ на: комментарий от WitcherGeralt

Противоречат, т.к. у вас на расчёт кадра есть 16-30 мс и вы должны понимать, что чем то придётся жертвовать, т.к. это время у вас распределено между физикой, отрисовкой, подготовкой к следующему кадру, сетью и многим другим и уверен, что любой уважающий себя разраб лучше ужмёт ИИ, чем физику, да и графику тоже ужать не получится, т.к. тогда уменьшится аудитория. Поэтому ограничений на ИИ нет, но нет только в некотором масштабе, предполагающем ориентирование на продвинутые машинки с большим числом ядер, либо на собственный сверхоптимизированный движок, потому разрабы Uncharted и TLOU могут себе такое позволить - у них одна платформа, одно железо - можно уйти в тонкую оптимизацию и выделить больше времени на ИИ.

AKonia ★★ ()

Почитай Game AI Pro 2, там есть и про ИИ и про проблемы и трудности с которыми сталкиваются разработчики, можешь и 1-ую и 3-ю части глянуть, на вторую обращаю внимание, т.к. там есть статья или даже несколько про ИИ Last Of Us 1

AKonia ★★ ()
Ответ на: комментарий от WitcherGeralt

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

AKonia ★★ ()
Последнее исправление: AKonia (всего исправлений: 1)

Когда в шутерах npc научатся тактике, а в Immersive sim npc смогут сами на равных с игроком бродить по миру, собирать ресурсы, отстраивать убежища…

вот тогда-то мразотным людишкам точно капец

hebiro8709 ()

Когда в шутерах npc научатся тактике

Уже научились в 2004 в Counter-Strike

в Immersive sim npc смогут сами на равных с игроком бродить по миру

Уже научились в Сталкере

xDShot ★★★★★ ()
Ответ на: комментарий от AKonia

Тебе же не нужен настоящий сильный ИИ, достаточно набора правил и хорошо подобранные параметры, а играть ты будешь не на сеге, а на каком-нибудь i7 или Ryzen 7. Вопроса производительности попросту не стоит. Обозначение «ИИ» в случае игр используется в переносном смысле, и хороший ИИ был в играх и лет 20 назад, прекрасно работавший на железе тех лет.

WitcherGeralt ★★ ()

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

t184256 ★★★★★ ()
Ответ на: комментарий от peregrine

Т.е. бежишь ты в шутане на пачку мобов,

А они штык в землю и разбежались. Или перешли на сторону игрока. Бо у человека бесконечное количество жизней, а у моба — одна. Словил башкой выстрел и всё, посмертия для неписей не предусмотрено. А ему жену надо кормить, дети малые. У старшего всего 3HP, а уже из хаты сбежать норовит. А тут игрок бежит, глаза злющие, сразу видно отморозок. Лучше сдаться или откупиться как-нибудь.

ugoday ★★★★★ ()

Если среднестатистическому геймеру будет нужен умный ии - будет ему умный ии, лишь бы геймер заплатил за затраты на создание.

RTS/TBS простора для развития интеллекта оппонентов немного

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

Pups ()
Ответ на: комментарий от AKonia

на расчёт кадра есть 16-30 мс и вы должны понимать, что чем то придётся жертвовать

Уэво дуро. Зачем принимать решения в каждом кадре? Интеллект - вещь асинхронная, в кадрах только бипед крутит ногами по векторам

TooPar ()
Ответ на: комментарий от anonymous

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

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

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

KivApple ★★★★★ ()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от KivApple

То есть в условном шутере может мгновенно навестись на противника, учтя любые переменные (например, отдачу оружия, скорость движения снаряда и противника) и не медля ни миллисекунды произвести выстрел.

Это не ИИ, это решение уравнений

или выбрать правильные ветки развития в стратегии

Это не ИИ, это решение задачи оптимизации

Harald ★★★★★ ()
Ответ на: комментарий от no-such-file

Есть два варианта увеличения сложности:

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

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

KivApple ★★★★★ ()
Ответ на: комментарий от Harald

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

А всё что сверх этого в играх развивается очень слабо.

KivApple ★★★★★ ()

Самый охрененный ИИ видел у роботов-животных в Horizen. Просто жесть. Но зато у обычных врагов-людей он довольно средненький. Хотя основные враги там конечно роботы, и долбить их на максимальной сложности это то еще зверство. Не потому что убить можно только меткими прицелами в уязвимые места (а у каждого животного куча собственных движений, орудий и свои уязвимости), а потому что они реально используют хитрый ИИ, порой очень интересным образом. Я за всю игру такого насмотрелся, ни в одной игре такого не видел. Круто сделали роботов, которые с одной стороны роботы, а с другой стороны реально подобие животных, и действуют соответственно… ну очень круто.

anonymous ()
Ответ на: комментарий от KivApple

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

Harald ★★★★★ ()

Когда в шутерах npc научатся тактике

Ох уж эта молодежь. :))

Ставь Full Spectrum Warrior и готовь вазелин. На играх этой серии обучались даже военные США, а современная школота просто бьется в истерике в попытках ее пройти.

https://www.gog.com/game/full_spectrum_warrior

https://www.gog.com/game/full_spectrum_warrior_ten_hammers

anonymous ()

Как вы думаете, когда следует ждать появления игр, в которых npc смогут составить конкуренцию игроку? Когда в шутерах npc научатся тактике, а в Immersive sim npc смогут сами на равных с игроком бродить по миру, собирать ресурсы, отстраивать убежища, отправляться в опасные локации и конкурировать за квесты?

Когда напишут реализацию. По сути, та же тактика – это алгоритм ведения боевых действий, если правильно перевести это в код, всё будет как надо. То же касается и небоевого поведения: куда «непись» пойдёт бродить, что будет делать, если в кустах кто-то крикнет «ПАМПАААААТ!» и т.д. Это, в принципе, несложно.

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

Korchevatel ★★★★★ ()