Кодзима Гений - канал про геймдизайн
7.33K subscribers
456 photos
31 videos
20 files
1.26K links
Здесь рассказывают про геймдизайн и индустрию разработки видеоигр, делятся полезными материалами
Чат: @kojima_talks

Сотрудничество, реклама: @tkoff
Download Telegram
Обучение искусственного интеллекта игре в Sonic the Hedgehog

Ещё одна статья про обучение нейронной сети (на сей раз использующую эволюционную модель) проходить видеоигру. С подробным описанием алгоритма и настроек:

https://prglb.ru/30sb1

#ИскусственныйИнтеллект
Создание искусственного интеллекта в играх

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

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

Для плавного погружения в тему создания ИИ в играх я хочу поделиться статьей Intel, в которой подробным и популярным языком описываются базовые принципы проектирования:
https://software.intel.com/ru-ru/articles/designing-artificial-intelligence-for-games-part-1 (~8 минут)

Статья будет полезна новичкам, которые хотят научиться созданию ИИ, специалистам для закрепления своих знаний и обычному читателю как приятное чтиво 😊

#ИскусственныйИнтеллект
​​Определение игрового искусственного интеллекта

Продолжая изучать тему создания ИИ в видеоигрх я задался вопросом: что считать искусственным интеллектом? Более того не понятно, какие функции являются необходимыми и достаточными для того, чтобы поведение виртуального персонажа было похоже на поведение человека?

Для начала следует разобраться, что такое искусственный интеллект. Приведу два определения, которые не являются избыточными, но достаточно формальными:
1. Форма интеллектуальности, искусственно воспроизводимая при помощи машин.
2. Набор методов исследования и задач, которыми занимается отдельное научное направление.

Применительно к играм, нам более интересно первое определение.

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

Получается, что игровой искусственный интеллект - это виртуальная симуляция ожидаемого игроком поведения в контексте игры и игровой динамики?

Ключевое слово - "ожидаемое". Под ним я подразумеваю, что игрок будет ожидать от вирутального персонажа поведение, способное принести удовольствие и веселье в игровой процесс. Это означает, что ИИ должен демонстрировать определённый уровень интеллектуальности в угоду игроку. Например, в Batman: Arkham Asylum некоторые противники никогда не поворачиваются к Бетмену лицом - лишь для того, чтобы игрок в полной мере мог почувствовать себя Тёмным Рыцарем.

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

#ИскусственныйИнтеллект
Черты «умного» искусственного интеллекта в играх

Текстовая версия видеоролика Марка Брауна об игровом ИИ, способного создавать интересные геймплейные ситуации:
https://dtf.ru/gamedev/8747-cherty-umnogo-iskusstvennogo-intellekta-v-igrah

Оригинальный ролик:
https://www.youtube.com/watch?v=9bbhJi0NBkk&t=24s

#ИскусственныйИнтеллект
Как работает AI в stealth-играх

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

В статье ниже описано устройство ИИ в играх серии Hitman:
https://dtf.ru/gamedev/63195-kak-ustroen-iskusstvennyy-intellekt-personazhey-v-stels-igrah-na-primere-hitman

Оригинальное видео:
https://m.youtube.com/watch?v=km_DYozYh54

#ИскусственныйИнтеллект
Глубокое обучение для разработчиков видеоигр

А вот видео с конференции GDC с моей любимой темой - искусственный интеллект. Алекс Чампандард рассказывает о математических основах глубокого обучения и о том, как это семейство технологий можно применить в разработке игр. Очень интересно, посмотрите сегодня:
https://www.gamasutra.com/view/news/351656/Video_A_game_programmers_guide_to_the_math_of_deep_learning.php

#ИскусственныйИнтеллект
#Разработка
Создание искусственного интеллекта: свойства и состояния

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

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

Статья большая, рекомендую разбить на несколько подходов:
https://habr.com/ru/company/pixonic/blog/428892/

Другие записи на канале про искусственный интеллект можно найти по соответствующему тегу.

#ИскусственныйИнтеллект
​​Определение игрового искусственного интеллекта

Продолжая изучать тему создания ИИ в видеоигрх я задался вопросом: что считать искусственным интеллектом? Более того не понятно, какие функции являются необходимыми и достаточными для того, чтобы поведение виртуального персонажа было похоже на поведение человека?

Для начала следует разобраться, что такое искусственный интеллект. Приведу два определения, которые не являются избыточными, но достаточно формальными:
1. Форма интеллектуальности, искусственно воспроизводимая при помощи машин.
2. Набор методов исследования и задач, которыми занимается отдельное научное направление.

Применительно к играм, нам более интересно первое определение.

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

Получается, что игровой искусственный интеллект - это виртуальная симуляция ожидаемого игроком поведения в контексте игры и игровой динамики?

Ключевое слово - "ожидаемое". Под ним я подразумеваю, что игрок будет ожидать от вирутального персонажа поведение, способное принести удовольствие и веселье в игровой процесс. Это означает, что ИИ должен демонстрировать определённый уровень интеллектуальности в угоду игроку. Например, в Batman: Arkham Asylum некоторые противники никогда не поворачиваются к Бетмену лицом - лишь для того, чтобы игрок в полной мере мог почувствовать себя Тёмным Рыцарем.

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

#ИскусственныйИнтеллект
​​Ограничения по использованию машинного обучения для улучшения искусственного интеллекта NPC

Если вы играли в The Black and White 2, то вы помните Существо, которое было активным участником прохождения. Существо было похоже на тамагочи - вы должны были ухаживать за ним, кормить, развлекать и, самое важное, учить. В зависимости от вашего отношения к нему и задач, которые вы ставили, поведение Существа менялось. Искусственный интеллект закреплял алгоритм поведения, и стечением времени самостоятельно выполнял действия, подходящие под ваш стиль игры. Было забавно наблюдать, как милая мартышка превращается в злобного Кинг Конга, крущащего всё на своём пути.

За процесс обучения в The Black and White 2 отвечала система машинного обучения - ныне популярная технология. С её помощью NPC учился последовательностям действий, которые от него ожидает игрок. Такое обучение называется обучением с подкреплением, то есть на основе реакций игрока на действия Существа (его можно было похвалить или наказать) алгоритм распределял приоритеты в расписании его заданий.

Возникает закономерный вопрос - почему система обучения NPC в процессе игры не распространено в видеоиграх? Есть три причины, которые мешают этому.

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

Самообучающийся ИИ склонен к развитию неожиданного поведения. Без активного человеческого контроля процесса обучения, алгоритмы могут создать совершенно непредсказуемое поведение. Алгоритмы направлены на максимизацию выгоды. Поэтому поведение NPC будет улучшаться до тех пор, пока он либо не начнёт обыгрывать игрока в 100% случаев, либо пока для прохождения действия игрока не понадобится совсем. Как вы понимаете, в это будет неинтересно играть. Это можно решить ограничением множества вероятных исходов, если бы не предыдущий пункт.

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

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

#ИскусственныйИнтеллект
Черты «умного» искусственного интеллекта в играх

Текстовая версия видеоролика Марка Брауна об игровом ИИ, способного создавать интересные геймплейные ситуации:
https://dtf.ru/gamedev/8747-cherty-umnogo-iskusstvennogo-intellekta-v-igrah

Оригинальный ролик:
https://www.youtube.com/watch?v=9bbhJi0NBkk&t=24s

#ИскусственныйИнтеллект
Поведение искусственного интеллекта в Mafia III

Пока вы качаете Mafia Trilogy, предлагаю почитать детальный разбор функционирования искусственного интеллекта в третьей части. Много написано про архетипы NPC и деревья поведения:
https://gamasutra.com/blogs/JiriHolba/20200518/363119/Openworld_Enemy_AI_in_Mafia_III.php (~18 минут, ENG)

#ИскусственныйИнтеллект
​​А что там с нейронными сетями?

Цветут, пахнут, пожирают белые точки и уклоняются от цветных привидений.

К сорокалетию Пакмана компания NVIDIA при помощи искусственного интеллекта сгенерировала игровой процесс знаменитой игры.

Для этого 50 000 игровых сессий скормил алгоритму GameGAN. На основании полученных данных о геймплее алгоритм сгенерировал полнофункциональную игру - её правила, уровень, границы и визуальный стиль.

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

Оригинальная статья:
https://blogs.nvidia.com/blog/2020/05/22/gamegan-research-pacman-anniversary/

#ИскусственныйИнтеллект
#НейронныеСети
Про "нечестный" искусственный интеллект

Все из нас во время игры сталкивались с ситуацией, когда NPC необяснимым образом брал над нами преимущество или начинал действовать чересчур агрессивно. Вспомните систему catch up, помогающую соперникам в гонках сокращать дистанцию до игрока.

"Нечестное" поведение обусловлено одной-единственной целью - вызвать выброс адреналина у игрока и заставить его думать, что он перестаёт контролировать ситуацию.

В статье ниже - подробный разбор поведения ИИ в видеоиграх, его особенности по считыванию информации о состоянии игровой системы и восприятие игроков "нечестного" противника:
https://dtf.ru/gamedev/139091-po-obrazu-i-podobiyu-pochemu-ii-v-igrah-chiterit

#ИскусственныйИнтеллект
​​Искусственный интеллект: естественная реакция на игрока

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

Под реакцией я понимаю свойства пути перехода между состояниями ИИ или решениями, которые он принимает, узнав об изменении окружения. Например:
1. Время реакции;
2. Адекватность поиска наилучшего решения в новой ситуации;
3. Использование анимаций, озвучки и других эффектов.

Прорабатывая эти свойства, необходимо помнить о том, что она будет направлена целиком и полностью на игрока. А это значит, что:
1. Поведение ИИ должно быть интересным и понятным игроку;
2. У игрока не должно быть 100% вероятности предсказания поведения;
3. Решения, принимаемые ИИ, не должны быть через чур комплексными и совпадать с реальностью. должна быть создана иллюзия естественного поведения.

В колонке "Важность реакций ИИ в играх" Серджио Оцио Барриале пишет о том, как можно разнообразить реакции NPC для соблюдения пунктов из списка выше. он предлагает:
1. Увеличить количество реплик и звуковых эффектов для однотипных ситуаций. Так, если NPC кричит "Игрок за стеной", то эта реплика должна быть реализована в разной форме.
2. Если на экране несколько NPC, то их реакция на ситуацию должны выглядеть разной. Это достигается как за счёт различия в выбранных состояниях, маршрутах, так и в анимациях и звуках;
3. NPC должны по-разному реагировать на попадания, взрывы. Здесь опять на помощь приходят звуки, анимации и время реагирования;
4. Если можно просчитать, что игрок получает преимущество над врагом, то ИИ должен менять тактику поведения.

Подробнее о создании естественных реакций можно почитать в оригинальной статье:
https://gamecareerguide.com/features/1925/the_importance_of_reactions_in_.php?print=1

#ИскусственныйИнтеллект
Про устройство ИИ в Command & Conquer

Разбор функционирования искусственного интеллекта в классической RTS. В статье описаны глобальные и локальные шаблоны поведения, команды (миссии) и их приоритезация в зависимости от состояния игры. Всё тут:
https://gamasutra.com/blogs/TommyThompson/20200730/367192/Exploring_the_AI_of_Command__Conquer.php

#ИскусственныйИнтеллект
Создание искусственного интеллекта: свойства и состояния

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

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

Статья большая, рекомендую разбить на несколько подходов:
https://habr.com/ru/company/pixonic/blog/428892/

Другие записи на канале про искусственный интеллект можно найти по соответствующему тегу.

#ИскусственныйИнтеллект