January 17, 2020

Создание игрового опыта - состояния игровой системы

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

  1. Как создать игровой опыт - Управление
  2. Как создавать игровой опыт - Отзывчивость

Определение

Состояниями игровой системы мы будем называть свойства, характерные только для текущего дискретного, то есть отдельно взятого, промежутка времени. То есть у каждого состояния есть как минимум одна отличительная черта, которая не встречается в других состояниях.

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

Как видно, состояния могут изменяться под действиями внешних (игрок) и внутренних (игровые правила и логика) сил. Это приводит к тому, что игровая система является динамично изменяющейся системой.

Зачем нужно знать про состояния?

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

Например, существует игра жанра stealth, в которой существуют следующие правила:

  1. Изначально враги знают местоположение игрока и направляются в его сторону. Состояние врагов - "Поиск";
  2. Враги знают о маршруте игрока и следуют за ним, находясь в состоянии "Поиска";
  3. Изначально игрок находится в состоянии "Не обнаружен" вне поля зрения врага;
  4. Условие успешного выполнения игрово цели - остаться незамеченным.

Как видно, в игре только два состояния, и только из одного можно одержать победу. У игрока нет возможности остаться незамеченным в случае бездействия. Переход состояний линейный. Насколько такой геймплей будет интересным и весёлым?

Итак, состояния и их правильная последовательность определяют, насколько интересной будет игра.

Как описать переходы между состояниями?

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

Конечный автомат можно изобразить графически как направленный граф. Такой граф будет называться диаграммой переходов:

Конечный автомат поведения искусственного интеллекта в stealth играх - верхнеуровневое описание

На примере диаграммы изменения состояния искусственного интеллекта в stealth вы видите точки входа, выхода, состояния и переходы между состояниями.

Конечный автомат можно описывать на разных уровнях абстракции. В дизайн документе я рекомендую описывать конечный автомат по принципу нотации IDEF0:

  1. Первая диаграмма переходов описывает верхнеуровневые, общие, состояния игры (покой, исследование, бой и так далее);
  2. Каждое из верхнеуровневых состояний декомпозируется на частные состояния игровых объектов, сумма которых образуют состояние системы. Например, состояние "Покой" можно декомпозировать на состояния игрового автара и NPC "Передвижение по уровню", "Открытие ящиков", "Чтение записей" и так далее;
  3. Состояния декомпозируются до необходимого для разработки уровня в виде отдельных диаграмм. Например, для состояния "Передвижение по уровню" достаточно будет описать состояния "Ходьба", "Бег", "Лёжа" без дальнейшей декомпозиции этих состояний.

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

  1. Что такое конечные автоматы и как их использовать в разработке игр;
  2. Игровые агенты, управляемые состояниями;
  3. Игровая механика, динамика и машина состояний;
  4. Знакомство с нотацией IDEF0 и пример использования.

Особые состояния

Видеоигра - это система, а значит она обладает всеми её свойствами. Кроме динамичности и устойчивости важным свойством видеоигры является её стремление к равновесному состоянию.

Равновесное состояние - состояние, которое приобретает видеоигра без воздействия внешних сил и сохраняется сколь угодно долго. Так как внешняя сила для игры - это игрок, то равновесное состояние можно назвать состоянием бездействия игрока. Как только игрок при помощи устройства управления посылает сигналы в игру, то она немедленно выходит из состояния равновесия.

Равновесное состояние может быть начальным и и результирующим.

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

Результирующее состояние - состояние, при котором система, или её подсистема, прекращает свою работу после выполнения определённого порядка действий. Игра не может самостоятельно выйти из этого состояния. Например, это завершение уровня или Game Over.

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

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

Равновесное состояние каждого жанра зависит от разных вещей. Например:

  1. Action - система выходит из равновесия при любой активности игрока с окружением: убийства, подбора оружия, изменения ландшафта, активирование триггера и так далее. Поведение ИИ не зависит от действий игрока.
  2. Quest - система выходит из равновесия только при взаимодействии игрока с активным элементом. Передвижение игрока по миру происходит в равновесном состоянии, так как оно не изменяет игровой мир.
  3. Strategy - равновесное состояние достигается только в случае победы одной враждующей стороны над другими.

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

Взаимозависимость состояний

Как мы уже знаем, состояния зависят от внешних и внутренних сил. В зависимости от их параметров, одно состояние может переходить в одно из множества других.

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

И, наконец, переход в новое состояние может влиять на поведение игрока, что приводит к его изменению.

Заключение

Состояния - важный атрибут игрового процесса. Если последовательность состояний игровой системы нелогичное, то играть в игру будет неинтересно.

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

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

Результирующее состояние - состояние, при котором игра прекращает активный игровой процесс.

При попомщи конечного автомата можно описать переходы между состояниями игры.


Статья написана специально для telegram-канала "Кодзима Гений".