Другое

Нейронные сети в играх: как и, главное, зачем они используются?

Lorem ipsum dolor

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

 

Нейронные сети в играх

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

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

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

 

Как нейронные сети применяются в играх уже сегодня

На сегодняшний день можно различить несколько способов применения нейронных сетей в играх:

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

  2. Адаптивная нейронная сеть. Это уже более сложная система для сложных игр. Она применяется, когда в игру нужно внести «каплю» непредсказуемости. Такие боты в играх также запрограммированы алгоритмами поведения. Но алгоритмы активируются с разной интенсивностью и разной силой, так как их применение зависит не просто от игрового сценария, а еще и от других индикаторов, например: оставшееся игровое время, наличие преимуществ у соперника, состояние здоровья игрового объекта, наличие дополнительных бонусов, достижения игрока в предыдущих боях и т. д. Таким образом, бот способен максимально адаптироваться под каждого отдельного «живого» игрока, учитывая даже его стиль игры.

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

 

Косвенное применение нейронных сетей в играх

Чуть выше мы описали моменты, когда нейронная сеть применяется непосредственно для управления ботами в игре. Но есть случаи, когда ее применение в играх является косвенным. Например:

  1. Нейронные сети для оптимизации игр. Требования к играм постоянно меняются,поэтому игры становятся все сложнее и тяжелее. Хоть сейчас и существует множество технологий для быстрой разработки игр, все равно сам процесс остается очень муторным и долгим, как и в 90-х или 80-х годах. «Тяжесть» современных игр накладывает свои отпечатки на характеристики компьютеров пользователей — нужны устройства мощнее. Нейронная сеть дает возможность использовать мощные и тяжелые игры на слабых компьютерах. Например, в игре вы устанавливаете настройки вашего компьютера или задаете числовое значение fps, а нейронная сеть самостоятельно оптимизирует игру под ваш компьютер или под ваши настройки, естественно, урезая ее визуальное качество. Второй метод оптимизации — это когда объекты из игры, сцены, карты и т. д. пропускают через нейронную сеть, чтобы придать им максимальную реалистичность.

  2. Генерация квестов. Такое применение нейронной сети становится доступным в играх с открытым миром, где ИИ может самостоятельно генерировать кусочки карт, квесты, задания игрокам и т. д.

  3. Генерация уровней. Такое применение нейронных сетей можно увидеть в играх-симуляторах, когда в симулятор переносится реальный город со всеми зданиями, дорогами, инфраструктурой и т. д. Реальная карта в игре — вот результат работы ИИ. Если все это делать «руками», то понадобится огромное количество времени.

  4. Нейронная сеть для дорисовки. В момент дизайна внешнего вида карт игры часто применяется нейронная сеть. Суть ее работы в том, чтобы «дорисовывать» за дизайнером. Например, дизайнер рисует карту в общих чертах, а нейронная сеть прорабатывает все мелкие детали.

  5. Нейронная сеть — модератор. Нейронные сети учат контролировать поведение игроков в играх и общих чатах, чтобы снять такую рутинную работу с живых людей.

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

 

Заключение 

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

Схожие статьи

Обучение Java с трудоустройством: курсы с гарантией получить работу
Другое

Обучение Java с трудоустройством: курсы с гарантией получить работу

Распознавание речи офлайн. Обзор программ, их преимущества, их отличия
Другое

Распознавание речи офлайн. Обзор программ, их преимущества, их отличия

Как узнать, на каком языке написана программа? Инструкция для чайников
Другое

Как узнать, на каком языке написана программа? Инструкция для чайников

Как победить прокрастинацию и начать действовать, а не отдыхать
Другое

Как победить прокрастинацию и начать действовать, а не отдыхать