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

Сотрудничество, реклама: @tkoff
Download Telegram
Глубокое обучение для разработчиков видеоигр

А вот видео с конференции 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/

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

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

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

#ИскусственныйИнтеллект
​​Про ИИ в 007: Golden Eye

Накануне выхода очередной части бондианы на большие экраны рекомендую прочитать статью про создание искусственного интеллекта в самой лучшей, по мнению большинства, игре во франшизе - 007: Golden Eye.

Первая, по-настоящему революционная игра, познакомившая жанр First Person Shooter с домашними консолями аж в 1997 году. Криповатые модели, вырезанные топором, в наличии ;)

Статья:
https://www.gamedeveloper.com/design/the-ai-of-goldeneye-007

#ИскусственныйИнтеллект
Кодзима Гений - канал про геймдизайн
​​А что там с нейронными сетями? Цветут, пахнут, пожирают белые точки и уклоняются от цветных привидений. К сорокалетию Пакмана компания NVIDIA при помощи искусственного интеллекта сгенерировала игровой процесс знаменитой игры. Для этого 50 000 игровых…
А что там с нейронными сетями?

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

Вот тут - овервью:
https://www.securitylab.ru/news/534931.php

Вот тут - то же самое, но подробнее и на английском:
https://ai.facebook.com/blog/cicero-ai-negotiates-persuades-and-cooperates-with-people/

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

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

Лучшие представители игр с процедурной генерацией: Minecraft, Diablo, No man's sky.

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

https://habr.com/ru/post/468957/

https://habr.com/ru/post/418685/

https://johnnycode.com/2016/11/08/procedural-generation-101-for-games/

https://scaleyourapp.com/procedural-generation-a-comprehensive-guide-in-simple-words/

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

#Ссылки
#ПроцедурнаяГенерация
#ИскусственныйИнтеллект
Аккурат после выпуска ИИ ChatGPT люди сгенерировали тысячи вариантов его применения. Один из них - внедрение бота в диалоговую систему в видеоиграх. Действительно, на первый взгляд это кажется инновационной идеей: вместо выбора из заранее готовых сценаристами реакций вы сами его пишете, и NPC реагирует на него в поставленном игрой контексте.

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

В статье ниже подробно разбираются позитивные и негативные ожидания от работы ИИ в диалоговой системе видеоигр. Также там можно найти примеры попытки внедрения ChatGPT в Mount & Blade II.

https://polydin.com/ai-dialogue-is-here-can-we-use-it-in-cool-ways/

#ИскусственныйИнтеллект
#Геймдизайн