Все IT-сферы сделали огромный скачок в развитии, та же самая тенденция наблюдается и в игровой индустрии. Вначале создания были простейшие игры наподобие
Для многих остаётся загадкой, какую роль в развитии игр имеет искусственный интеллект. Сегодня постараемся понять, за что он отвечает именно в играх.
Чтобы было всем понятно, искусственный интеллект отвечает за модуляцию или имитацию естественного поведения игроков или отдельных объектов. В играх их называют ботами. Принцип сводится к имитации поведения, объектами управляет не человек. Иначе говоря, ИИ является искусственной заменой человеческого интеллекта.
В некоторых играх используется простейший ИИ, включающий лишь небольшой набор правил. Нередко ИИ является сложным алгоритмом действий, который отвечает за работу целой команды или армии противников
В традиционном представлении ИИ, его основная цель - создание полноценного интеллекта, но искусственными средствами. Такой ИИ может самостоятельно обучаться, давать ответы на вопросы, в общем – он развивается без программирования алгоритмов со стороны человека. Сегодня уже делаются попытки создания полноценного ИИ, одним из перспективных проектов является Kismet, проводящийся в
В сфере игровой индустрии ИИ имеет практичную роль, а не развлекательную. Игры не представляют высоких требований к мощности ИИ и дополнительным свойствам. Здесь не требуется наличие эмоциональности, самосознания, самостоятельной обучаемости. Всё необходимое находится в пределах одной системы, поэтому круг знаний сужается. Главная задача ИИ состоит в правдоподобной и убедительной имитации поведения игроков.
ИИ может выполнять всевозможные задачи: от обработки общего набора правил, отвечающих за поведение базовых объектов, до управления персонажами. К работе ИИ принято относить представление заранее описанных событий. Иллюстрация: в игре в игре
Говоря об ИИ, в голову у большинства игроков сразу приходят мысли о ботах, управляемых компьютером. Все перечисленные роли исполняет один единственный актёр – ИИ.
Требовательность к системным ресурсам напрямую зависит от предназначения и требований, предъявляемых к ИИ. Чем сложнее разработана система, тем большее количество ресурсов тратится на обработку ИИ. На простейшем уровне для понимания – потребуется мощность и время работы процессора для расчёта следующих действий в мире. В сложных играх потребуются различные средства, способствующие анализу окружающей среды ИИ, фиксации пользовательских действий и оценки предыдущих достижений.
Самая простая форма ИИ – это система, построенная на наборе правил. Можно даже поспорить, является ли данная система ИИ. В любом случае она далека от традиционного представления об искусственном интеллекте. Поведение игровых объектов происходит за счёт уже установленных алгоритмов, учитывающими определённые факторы игры. Из-за разнообразных действий может отличаться конечный результат. Подобную систему нельзя назвать интеллектуальной.
Самым известным приложением, работающим по аналогичной системе, является Pac-Man. За игроком гонятся 4 приведения, каждое действует на основании заложенного простейшего набора правил. Одно из них постоянно поворачивает влево, второе всегда идёт вправо, третье может поворачиваться в любую сторону, а четвертое преследует игрока.
Если разделить приведения, их алгоритм действий легко определить и предугадывать. Пользователю оказалось бы слишком просто спасаться от приведений.
Подразумевается машина, имеющая конечное количество состояний. Она является методом проработки и преобразования состояния отдельных объектов или их групп. Используется в отношении объектов, которые изменяются в зависимости от определённых условий. Для представления каждого состояния могут использоваться физические условия: одежда, погода, эмоциональное состояние и т. п.
Есть несколько простых способов реализовать конечный автомат при использовании системы объектов:
способ 1
. Представить все состояния в качестве переменных, которые легко проверить в функции. Преимущественно проверка реализуется при помощи громоздких конструкций переключения;способ 2
. Применить указатели функций – это основа игр на языке C. В объектно-ориентированных языках, наподобие C++ используется понятие виртуальная функция.В многочисленных современных играх необходимы сильные противник, действия которых сложно или невозможно предсказать. Динамическое поведение и адаптация к текущим условиям требует использование полноценного ИИ.
Подстраиваемый ИИ преимущественно используется в стратегиях и шутерах, имеющих сложную механику игры и многочисленное разнообразие вооружения, и бесчисленное количество возможностей. Такой искусственный интеллект применяется в играх, которые необходимо сделать сложными и непредсказуемыми. Если заменить его набором алгоритмов, игрок за какое-то время определит оптимальную стратегию, обеспечивающую победу.
В ИИ системе регистрируется выбор, осуществлённый игроком в ходе переломных событий. Все переменные (решения) должны оцениваться и на их основании строится будущее поведение. Проиллюстрировать ситуацию помогут: состояние здоровья, количество времени, наличие преимуществ и т. д. в боевых играх. При нанесении урона противнику учитывается: показатель защиты, наличие одежды, урон от оружия, дополнительные бонусы.
В играх, построенных на тактике, ИИ может учитывать способы победы игрока в предыдущих играх и изменять поведение, переходя от нападения в оборону или наоборот. ИИ может «экономно» вести бои с минимальными потерями, выбирать сбалансированную трату войска на победу или идти в наступление не учитывая потери. В играх, где игроку предоставляется помощник, ИИ обеспечивает приспособление персонажа к стилю игры игрока.
Многие действия и события в играх происходят за счёт ИИ, который принимает самые разнообразные формы: от простейших наборов правил до адаптивной системы самосовершенствования.