Опыт создания нарративной системы, реагирующей на каждое действие игрока

Эмергентное повествование, которое учитывает черты характера персонажей, их предпочтения и эмоции.

Геймдизайнер Ферди Озгюрел опубликовал на сайте Gamasutra текст, в котором рассказал о создании повествовательной эмергентной системы. Благодаря ей могут возникать уникальные ситуации, которые заранее не были прописаны разработчиками. Мы выбрали из текста главное.

Прототип повествовательной системы называется Fabula Persona
Прототип повествовательной системы называется Fabula Persona

В God of War (2018) нередко происходит бесшовный переход между катсценами и геймплейными эпизодами. Несмотря на то, что игры прошли долгий путь, чтобы добиться этого, в таком подходе существует несоответствие — игрок постоянно переключается между позицией актора и стороннего наблюдателя.

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

Одно из решений этой проблемы — эмергентные повествовательные системы, которые позволяют создавать динамичные истории, не зависящие от видения сценаристов.

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

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

По мнению Озгюрела, один из наиболее удачных примеров эмергентного повествования можно найти в Dungeons and Dragons. Там у каждой игровой сессии сюжет развивается по-разному. Это становится возможно благодаря тому, что сами игроки определяют развитие истории, и каждый по-своему реагирует на одну и ту же ситуацию.

Озгюрел решил создать прототип эмергентной системы Fabula Persona, которая частично имитирует динамическое повествование D&D.

Опыт создания нарративной системы, реагирующей на каждое действие игрока

Чтобы разобраться в её устройстве, нужно понять, какие типы нарратива вообще бывают.

Нарратив сильно зависит от того, каким способом он доносится до игрока. Он может быть прямым, как диалог или текст, или более контекстуальным, как повествование через окружение. Такое деление можно представить как противопоставление неявного и явного. А ещё повествование зависит от того, как человек воспринимает его — переживает ли он это внутри себя или ощущает как некое внешнее событие. Это противопоставление внутреннего и внешнего.

Внутреннее и внешнее (intrinsic, extrinsic), неявное и явное (implicit, explicit). Любое событие можно поместить в эту структуру. И это применимо как к интерактивным историям, так и к линейному повествованию
Внутреннее и внешнее (intrinsic, extrinsic), неявное и явное (implicit, explicit). Любое событие можно поместить в эту структуру. И это применимо как к интерактивным историям, так и к линейному повествованию

Внешне-явное событие происходит каждый раз, когда персонажи что-то говорят, или когда происходит какое-то действие. Это может быть диалог из The Last of Us, битва с Баузером или уличная перестрелка в GTA.

Внешне-неявные события — более контекстуальные внешние стимулы. Например, к ним относится повествование через окружение, которое можно по-разному интерпретировать, додумывая историю.

Внутренне-явные события — это то, как игрок переживает события, которые с ним происходят. К примеру, сюда относится его опыт победы в Pong и эмоции, которые он проявлял во время матча.

Для внутренне-неявных событий подходит тот же пример с Pong. Только отличие заключается в том, что здесь учитываются реакции, которые происходят на подсознательном и эмоциональном уровнях. Эта форма повествования кажется расплывчатой и непонятной, но это также часть пользовательского опыта.

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

Dwarf Fortress — игра, в которой пользователи наблюдают за происходящим и дают этому собственную интерпретацию. Это отличный пример внутренне-явного повествования
Dwarf Fortress — игра, в которой пользователи наблюдают за происходящим и дают этому собственную интерпретацию. Это отличный пример внутренне-явного повествования

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

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

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

Чтобы персонажи испытывали страх или гнев, у них есть личное пространство. Если другой NPC подойдёт слишком близко, персонаж либо агрессивно отреагирует, либо убежит в страхе, либо ничего не сделает. Реакция зависит от личного уровня стресса.

Также NPC реагируют, если находятся рядом с вещами, которые приносят им радость или заставляют грустить. Ещё персонажи замечают эмоции окружающих.

Специальная система определяет для NPC цели, которые они стараются выполнить. Например, «поговорить с NPC №5», «дойти до объекта №2», «походить по уровню». Но реакции, связанные с конкретными эмоциями, имеют более высокий приоритет. Это значит, что в первую очередь будут выполняться следующие действия: «разозлиться на NPC №4» или «уйти от спора». Когда уровень стресса снизится, NPC возобновит процесс достижения цели.

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

Пять факторов личности: экстраверсия, способность прийти к согласию, сознательность, эмоциональность (её часто заменяют на «невротичность»), открытость опыту
Пять факторов личности: экстраверсия, способность прийти к согласию, сознательность, эмоциональность (её часто заменяют на «невротичность»), открытость опыту

Каждому NPC Озгюрел рандомно назначил степень проявления этих качеств по пятибалльной шкале.

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

В такой системе может происходить множество интересных ситуаций.

Here you can see some trouble arising at the cube in the bottom right. It's a popular spot (by chance) and the more introverted NPC's don't really like it when it becomes too crowded.
while in contrast, another introvert chilling at the cube on the left is doing perfectly fine https://t.co/aWmkKAMhcS
Опыт создания нарративной системы, реагирующей на каждое действие игрока
Рядом с кубом в нижнем правом углу постоянно возникают какие-то проблемы. Это место случайно стало популярным, и NPC-интровертам не нравится, когда здесь скапливается много персонажей. Хотя у NPC-интроверта в левой части локации всё отлично
Another interesting case is the NPC on the middle right. It ONLY liked talking about the weather, causing it to be THE weather topic starter. The NPC didn't like other topics so it didn't approach them.

The middle right became a weather topic "corner". https://t.co/B4akxVy0e8
Опыт создания нарративной системы, реагирующей на каждое действие игрока
Ещё один интересный случай — NPC справа посередине. Ему нравилось говорить только о погоде, поэтому он начал рассказывать о ней. Персонажу не нравились другие темы, поэтому он не подходил к другим NPC. Это место превратилось в «угол» для обсуждения погоды
On the left you see a money topic "corner", but one of the NPC's is trapped between others. It tries to run away, but for a short while it looks like it is panicking.

This is a simplified version of real behavior where people get so overwhelmed they don't know what to do. https://t.co/gOMigykJC5
Опыт создания нарративной системы, реагирующей на каждое действие игрока
Слева в нижнем углу обсуждают деньги, но один из NPC оказывается в ловушке между другими персонажами. Он пытается убежать, поэтому кажется, что он в панике. Это упрощённая версия реальной ситуации, в которой люди настолько ошеломлены, что не знают, что делать
An example of jerk behavior. The NPC on the bottom right wants to talk about money, but from the top another approaches to take over the conversation.

One was way more neurotic and introverted than the other causing it to walk away sooner, suggesting a dominance hierarchy. https://t.co/5vxIQA0Rpb
Опыт создания нарративной системы, реагирующей на каждое действие игрока
Пример неприятного поведения персонажа. NPC внизу справа хотят поговорить о деньгах, но к ним прибегает другой персонаж, чтобы «завладеть» разговором. Один из них интроверт, поэтому он поскорее уходит. Это показывает иерархию с доминированием

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

Альтернативный способ создания таких систем — нейросети. По словам разработчика, AI Dungeon — это хороший пример качественной внешне-явной эмергентной повествовательной системы.

Опыт создания нарративной системы, реагирующей на каждое действие игрока

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

7676
4 комментария

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

А прямой приказ игрока может быть и проигнорирован, если персонаж, например, грустит из-за смерти своей кошки и хочет вместо копания тоннеля убить виноватого.

Но, в остальном, статья хорошая, да, спасибо.

6
Ответить

Системы, генерирующие нарратив - очень интересная и перспективная тема. 
Кен Левин 4 года назад проводил лекцию, где концептил систему, подобную описанной в статье.

*ушёл играть в RimWorld*

6
Ответить

Gif-ки в примерах напомнили чем-то, что происходило в Симс, когда ты выходил в ресторан или ночной клуб :)

1
Ответить

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

Ответить