Введение
Индустрия компьютерных игр – одна из самых быстро развивающихся отраслей компьютерных технологий на сегодняшний день. За сорок с лишним лет своего существования она развилась настолько, что во многом уже опережает своих главных конкурентов: киноиндустрию, музыкальную индустрию и шоу-бизнес. За прошлый год одна только российская игровая индустрия заработала 35.4 млрд. рублей [1].
Продукция индустрии характеризуется выражением конкурентной способности в многомерном показателе качества. Компьютерная игра оценивается по широкому спектру параметров: от графической составляющей до сюжета и постановки. Одной из фундаментальных составляющих успеха игры является система искусственного интеллекта (ИИ). В компьютерных играх искусственный интеллект применяется для управления объектами, которые образуют игровую среду и олицетворяют противников и союзников игрока.
Искусственный интеллект в игровых приложениях
С момента появления игровой индустрии стоит задача повышения правдоподобности игрового мира. Уровень реализации искусственного интеллекта наибольшим образом влияет на реалистичность игрового процесса, соревнуясь даже с графической составляющей, однако требует дополнительных затрат на разработку.
Таким образом, перед современным разработчиком поставлен вопрос: является ли перспективным направлением несение дополнительных затрат на создание более совершенных и правдоподобных систем игрового искусственного интеллекта? На этот вопрос можно дать однозначно положительный ответ, проанализировав их возможное применение на практике.
Применение искусственного интеллекта для коммерческих игровых приложений
Своё основное применение высокоэффективная система искусственного интеллекта найдёт в области разработки коммерческих компьютерных игр, предназначенных для широкой аудитории. Сегодняшнее положение дел в индустрии таково, что принят некоторый уровень структурной сложности и правдоподобности игрового ИИ, который считается достаточным для игры того или иного жанра. По этой причине разработке ИИ, как правило, не уделяется достаточного внимания. Конечно, эффективность игровых ИИ неизбежно увеличивается с ростом вычислительной мощности игровых платформ, однако качественные изменения происходят крайне редко. В то же время, можно легко привести преимущества внесения дополнительных средств в этот аспект разработки.
Главным образом, повышение интеллектуальности компьютерных персонажей позволит достичь нового уровня агрегирования задач, стоящих перед игроком, что существенно изменит суть игрового процесса. Объекты управления в игре больше не придётся «водить за руку», поскольку повысится уровень сложности решений, которые они будут способны принимать самостоятельно. Данный фактор, в свою очередь, может создать новые ниши на рынке компьютерных игр и обеспечить разработчику конкурентное преимущество.
Средства искусственного интеллекта
Основным препятствием на пути развития игрового искусственного интеллекта является недостаточная развитость методологии практического применения средств искусственного интеллекта. К этим средствам относятся:
1. Искусственные нейронные сети (ИНС). ИНС построены таким образом, чтобы имитировать работку клеток головного мозга человека и, таким образом, быть способными принимать сложные решения и обучаться на основе получаемого опыта (при помощи специализированных алгоритмов). ИНС могут иметь самое широчайшее применение для реализации сложного поведения объектов.
2. Эволюционные алгоритмы, которые можно использовать для обучения и адаптации искусственного интеллекта.
3. Использование специализированных архитектур построения системы искусственного интеллекта.
4. Подход к реализации ИИ в форме воплощённого анимата. Анимат – это автономное виртуальное существо. Его отличие от классического искусственного интеллекта заключается в его воплощении в виртуальном теле и соответственном ограничении его знаний и способов получения информации, что значительно влияет на правдоподобность поведения [2].
Использование в полном объёме этих средств для разработки игрового искусственного интеллекта позволит преодолеть барьер сложности искусственного интеллекта в современной разработке компьютерных игр.
Практическое применение средств искусственного интеллекта
Часть вышеописанных средств ИИ была использована авторами данной статьи при проектировании системы игрового ИИ. В качестве правил игровой среды для разрабатываемой системы ИИ были выбраны условия классической стратегической игры с видом сверху и возможностью отдачи команд отдельным боевым единицам.
Спроектированная система была реализована на языке C# в форме отдельных скриптовых файлов с формализованными интерфейсами для получения входных данных и отправки реализуемых решений. Модель окружающей среды была создана при помощи инструмента кроссплатформенной разработки Unity3D, часто применяемого для прототипирования программных игровых разработок. В рамках модели были созданы виртуальные объекты, олицетворяющие боевые единицы, каждому объекту был приписан набор соответствующих параметров и методы, реализующие такие простейшие действия, как передвижение и атаку. После этого скрипты, реализующие систему ИИ, были присоединены к объектам для управления ими в процессе работы модели.
Рис. 1. Модель окружающей среды
Главная задача, которая должна выполняться системой ИИ заключается в минимизации урона, полученного единицей, и, с другой стороны, максимизации урона, который единица наносит противнику.
Боевая единица реализована в виде воплощённого анимата, в связи с чем она не располагает полной информацией об обстановке на виртуальном поле боя, но получает информацию в реальном времени при помощи виртуальных сенсоров, ограниченных физически.
Главный модуль системы ИИ, определяющий общее направление поведения, основан на ИНС, состоящей из 3 слоёв, содержащих в совокупности 59 нейронов. В качестве входных параметров входного слоя ИНС используются данные, собираемые виртуальными сенсорами боевой единицы, такие как параметры всех союзных и враждебных боевых единиц. Выходной слой на соревновательной основе выдаёт решение о том, какой линии поведения (на текущий момент их 11) должна придерживаться боевая единица.
Использование на практике современных методов обучения ИНС позволяет боевым единицам, находящимся под управлением ИИ, иметь преимущество над боевыми единицами, управляемыми классическими, менее гибкими алгоритмами. В частности, в ходе многократных сеансов работы модели, в которых варьировалось количество и положение боевых единиц каждой команды, было выяснено, что более интеллектуальные единицы, находящиеся под управлением обученной реализованной системы ИИ, способны выиграть бой при численном преимуществе противника до двух единиц (при составе команд более десяти единиц).
Рис. 2. Обобщённая схема ИНС, составляющей главный поведенческий модуль системы ИИ
Применение искусственного интеллекта для узкоспециализированных военных симуляторов
Заслуживает упоминания и другое практическое применение развитой системы игрового ИИ, которое лежит в области создания узкоспециализированных военных симуляторов. Компьютерные симуляторы широко применяются в Вооруженных силах США для обучения стрелков, водителей, летчиков, танкистов, механиков, моряков и других служащих национальной армии. [3]. При их разработке особую значимость имеет правдоподобное поведение виртуальных солдат на поле боя. Повышение затрат на разработку и применение средств игрового ИИ позволит обойти большинство ограничений, стоящих сегодня перед данным классом игровых симуляторов, и предоставить беспрецедентные возможности для обучения солдат тактике ведения боя.
Заключение
Таким образом, уже исходя из приведённых преимуществ и практической работы, можно утверждать, что вложение дополнительных средств в область разработки игрового искусственного интеллекта и методологии применения теоретических средств искусственного интеллекта в практической разработке финансово оправданы и имеют значительные перспективы.
Библиографическая ссылка
Казиев А.Б., Прокопюк С.Ю. ПРИКЛАДНОЕ ПРИМЕНЕНИЕ СРЕДСТВ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА В РАЗРАБОТКЕ КОМПЬЮТЕРНЫХ ИГР // Международный студенческий научный вестник. – 2015. – № 3-2. ;URL: https://eduherald.ru/ru/article/view?id=12412 (дата обращения: 14.11.2024).