Опыт создания нарративной системы, реагирующей на каждое действие игрока
Эмергентное повествование, которое учитывает черты характера персонажей, их предпочтения и эмоции.
Геймдизайнер Ферди Озгюрел опубликовал на сайте Gamasutra текст, в котором рассказал о создании повествовательной эмергентной системы. Благодаря ей могут возникать уникальные ситуации, которые заранее не были прописаны разработчиками. Мы выбрали из текста главное.
В God of War (2018) нередко происходит бесшовный переход между катсценами и геймплейными эпизодами. Несмотря на то, что игры прошли долгий путь, чтобы добиться этого, в таком подходе существует несоответствие — игрок постоянно переключается между позицией актора и стороннего наблюдателя.
В киноиндустрии уже давно известно, что мысли не обязательно изображать буквально как в книгах. Например, чтобы передать чувства персонажа, достаточно показать эмоции, а не проговаривать их вслух. Наверняка, можно добиться того, чтобы игры тоже существовали только по своим правилам, а не по законам кинематографа.
Одно из решений этой проблемы — эмергентные повествовательные системы, которые позволяют создавать динамичные истории, не зависящие от видения сценаристов.
Эмергентность — свойство системы, в которой все элементы взаимосвязаны и взаимозависимы. Это значит, что при воздействии на одну подсистему, отреагируют и другие.
Соответственно, эмергентное повествование формируется из компонентов сюжета. В реальной жизни по такому принципу строятся обычные разговоры между людьми. В играх заранее чётко прописанное повествование может быть великолепно и драматично, но эмергентное повествование лучше соответствует интерактивной природе игрового медиума.
По мнению Озгюрела, один из наиболее удачных примеров эмергентного повествования можно найти в Dungeons and Dragons. Там у каждой игровой сессии сюжет развивается по-разному. Это становится возможно благодаря тому, что сами игроки определяют развитие истории, и каждый по-своему реагирует на одну и ту же ситуацию.
Озгюрел решил создать прототип эмергентной системы Fabula Persona, которая частично имитирует динамическое повествование D&D.
Чтобы разобраться в её устройстве, нужно понять, какие типы нарратива вообще бывают.
Нарратив сильно зависит от того, каким способом он доносится до игрока. Он может быть прямым, как диалог или текст, или более контекстуальным, как повествование через окружение. Такое деление можно представить как противопоставление неявного и явного. А ещё повествование зависит от того, как человек воспринимает его — переживает ли он это внутри себя или ощущает как некое внешнее событие. Это противопоставление внутреннего и внешнего.
Внешне-явное событие происходит каждый раз, когда персонажи что-то говорят, или когда происходит какое-то действие. Это может быть диалог из The Last of Us, битва с Баузером или уличная перестрелка в GTA.
Внешне-неявные события — более контекстуальные внешние стимулы. Например, к ним относится повествование через окружение, которое можно по-разному интерпретировать, додумывая историю.
Внутренне-явные события — это то, как игрок переживает события, которые с ним происходят. К примеру, сюда относится его опыт победы в Pong и эмоции, которые он проявлял во время матча.
Для внутренне-неявных событий подходит тот же пример с Pong. Только отличие заключается в том, что здесь учитываются реакции, которые происходят на подсознательном и эмоциональном уровнях. Эта форма повествования кажется расплывчатой и непонятной, но это также часть пользовательского опыта.
Важно понимать, что практически невозможно сделать так, чтобы внутреннее повествование у разных людей полностью совпадало. Также повествовательные формы не взаимоисключают друг друга в нарративе.
Повествовательный тип Fabula Persona можно определить как внешне-явный. Идея эмергентного повествования в этом прототипе заключается в том, чтобы истории возникали через динамическое взаимодействие между уникальными NPC.
Чтобы вся система работала, она должна соответствовать двум критериям. Во-первых, любое взаимодействие должно вызывать цепную реакцию. Например, если NPC заходит в личное пространство другого персонажа, то это вызывает определённую эмоциональную реакцию. Во-вторых, результаты этих взаимодействий должны иметь какой-то смысл. Например, отдельный персонаж может разозлиться из-за спора о еде.
Один из самых простых способ отразить состояние NPC — показать их эмоции: радость, грусть, гнев и страх. Чтобы они могли испытывать радость или грусть, им нужны были вещи, которые им нравятся или нет. Так появились темы для разговоров — деньги, музыка, искусство, игры, напитки, еда, любовь и погода. В каждой сессии предпочтения распределялись случайно.
Чтобы персонажи испытывали страх или гнев, у них есть личное пространство. Если другой NPC подойдёт слишком близко, персонаж либо агрессивно отреагирует, либо убежит в страхе, либо ничего не сделает. Реакция зависит от личного уровня стресса.
Также NPC реагируют, если находятся рядом с вещами, которые приносят им радость или заставляют грустить. Ещё персонажи замечают эмоции окружающих.
Специальная система определяет для NPC цели, которые они стараются выполнить. Например, «поговорить с NPC №5», «дойти до объекта №2», «походить по уровню». Но реакции, связанные с конкретными эмоциями, имеют более высокий приоритет. Это значит, что в первую очередь будут выполняться следующие действия: «разозлиться на NPC №4» или «уйти от спора». Когда уровень стресса снизится, NPC возобновит процесс достижения цели.
Чтобы сделать игровые сессии более разнообразными, разработчик добавил систему личностей для NPC, которая базируется на пяти общих чертах характера.
Каждому NPC Озгюрел рандомно назначил степень проявления этих качеств по пятибалльной шкале.
- У экстравертов больше шансов подойти к другому NPC, чем к объекту. Они много и долго говорят, и у них маленькое личное пространство. Интроверты скорее подходят к объектам, чем к другим персонажам. Чем меньше социальное взаимодействие, тем больше радости они испытывают.
- Способность прийти к согласию определяет, насколько легко NPC начинают злиться. Они склонны выбирать более покорную позицию и легко поддаются влиянию окружающих. Из-за спора у них легко увеличивается стресс.
- У сознательных NPC выше шанс найти себе цель. Соответственно, они с меньшей вероятностью будут блуждать бесцельно.
- Невротичные NPC склонны к негативным эмоциям. Их шкала стресса заполняется намного быстрее, а снижается медленнее.
- Персонажам, открытым к новому опыту, нравится большее количество вещей, но они могут легко заскучать.
В такой системе может происходить множество интересных ситуаций.
Озгюрел посоветовал всем разработчикам, которые хотят создать подобную эмергентную систему, решать все ошибки и проблемы до расширения системы. Чем больше компонентов задействовано, тем больше шансов, что вся структура превратится в запутанный клубок ошибок.
Альтернативный способ создания таких систем — нейросети. По словам разработчика, AI Dungeon — это хороший пример качественной внешне-явной эмергентной повествовательной системы.
Сейчас Озгюрел думает о расширении своего прототипа. Он бы хотел добавить антисоциальных персонажей, которые используют оружие, заботливых героев, которые помогают раненым NPC. Также разработчик думает о создании механики, которая корректирует словарный запас и позволяет персонажам лгать об определённых событиях.
Не понимаю, почему Dwarf Fortress выведен в пример исключительно внутреней системы, когда в нём абсолютно идентично реализованы характеры персонажей, их мечты, желания, любимые темы для обсуждения и реакции на события / других персонажей.
А прямой приказ игрока может быть и проигнорирован, если персонаж, например, грустит из-за смерти своей кошки и хочет вместо копания тоннеля убить виноватого.
Но, в остальном, статья хорошая, да, спасибо.
Системы, генерирующие нарратив - очень интересная и перспективная тема.
Кен Левин 4 года назад проводил лекцию, где концептил систему, подобную описанной в статье.
*ушёл играть в RimWorld*
Gif-ки в примерах напомнили чем-то, что происходило в Симс, когда ты выходил в ресторан или ночной клуб :)
Интересный ход мыслей. Пока читал понял что очень сильно напоминает систему из энимал кроссинг. Там огромная часть игры держится на взаимодействии персонажей их характеров и интересов