Основной игровой процесс шаблона Повествование и ролевая игра строится вокруг взаимодействий игрока с неигровыми персонажами — такие взаимодействия реализуются с помощью устройства Диалог и кода Verse.
Когда игроку будет предложено поговорить с персонажами «Норы», он сможет взаимодействовать с несколькими NPC. Чтобы начать основной квест, игрок может поговорить либо с дроидом-диджеем, либо с Карис (персонажем за барной стойкой).
На этой странице вы узнаете, как в шаблоне реализованы взаимодействия с неигровыми персонажами и как настроены устройства «Диалог» для каждого персонажа. Кроме того, в этом разделе указан принцип работы устройства Verse для управления диалогами каждого персонажа и представлены примеры кода Verse.
Вы получите общее представление о том, как использовать диалоги с NPC для создания и развития сюжета вашей игры и как проработать игровой мир с помощью взаимодействий с персонажами.
Диалоги с неигровыми персонажами
В этом шаблоне диалоги с неигровыми персонажами являются ключевой механикой. Мы использовали диалоги, чтобы:
направлять игрока к другим NPC для взаимодействия;
объяснять игроку цели задания;
увеличивать или уменьшать значения пользовательских показателей, таких как репутация фракции и отношение персонажей.
В разделах ниже показано, как настраиваются устройства «Диалог» и какие особенности демонстрируют диалоги каждого неигрового персонажа. Мы также привели общие рекомендации по использованию диалогов персонажей для усиления повествования и проработки мира.
Дополнительную информацию об устройстве «Диалог» и его использовании см. в нижеследующих разделах.
Создание NPC дроида-диджея
Хотя большинство неигровых персонажей в вашей игре будут «живыми», на практике неигровым персонажем может быть любой объект. NPC дроид-диджей (DJ R0-B0) на самом деле является ресурсом Junk Droid Head, рядом с которым настроены невидимые устройства «Диалог». Этот ресурс можно найти в Каталоге ресурсов Материалы Звёздных войн™ > Объекты окружения > Аванпост «Анклав» под названием IcedTea Junk DroidHead C B. В той же папке можно найти круглый объект клавиатуры под названием WH Keyboard 01 C (на котором размещена голова дроида).
Настройка устройств «Диалог» для дроида-диджея
У DJ R0-B0 есть семь различных устройств «Диалог», и у каждого устройства есть свой ресурс хранилища диалогов. Эти диалоги представляют реплики DJ R0-B0 на разных этапах основного задания.
Ресурсы хранилища диалогов можно найти в папке вашего проекта в разделе Диалог > DJDroid. Вы можете нажать правой кнопкой мыши на хранилище диалогов и выбрать Редактировать, чтобы открыть граф хранилища диалогов в Редакторе диалогов.
DJ R0-B0 — это неигровой персонаж, который выдаёт игрокам основное задание. В этом шаблоне есть только одна основная сюжетная линия. При создании собственного острова вы можете добавить больше NPC и заданий.
Диалоги с DJ R0-B0 не только представляют цели задания и вознаграждают за их выполнение. Определённые ответы также повышают показатель репутации игрока у повстанцев и показатель отношения DJ R0-B0. Когда игрок достигает определённого этапа задания, он сможет поговорить с мусорщиком Вексом.
Параметры устройства
Все устройства «Диалог» для DJ R0-B0 имеют одинаковые параметры, поэтому приведённая ниже таблица применима ко всем из них. Задайте следующие параметры, если они ещё не заданы. Для всех настроек, не указанных в списке, можно оставить значения по умолчанию.
Настройка | Значение | Пояснение |
Тип диалога | Польз. | Указывает, что для диалога используется пользовательский виджет интерфейса. |
Кол-во символов в секунду | 50,0 | Скорость отображения текста на экране. |
Пропустить бегущий текст | Пропустить | Текст, отображаемый на кнопке, с помощью которой игрок может пропустить анимацию набора текста и сразу показать весь текст. |
Имя говорящего | DJ R0-B0 | Имя NPC, с которым разговаривает игрок. |
Отображать имя, если игрок поблизости | Истина | Отображает имя NPC на экране, когда игрок находится рядом с говорящим (примерно 5 метров). |
Отображать облачко-индикатор | Истина | Отображает выноску игроку, когда он находится в пределах расстояния, заданного параметром «Расстояние видимости облачка-индикатора». |
Расстояние видимости облачка-индикатора | 15,0 метров | Расстояние в метрах, на котором игрок видит индикатор выноски для NPC. |
Параметры диалога
Раздел Диалоги в опциях на панели «Сведения» имеет одинаковые параметры для всех семи устройств «Диалог» DJ R0-B0, за исключением самого параметра «Диалог», который ссылается на разные ресурсы хранилища диалогов для каждого устройства.
Настройка | Значение | Пояснение |
Диалог | DJDroid_Conversation_1 | Это ресурс хранилища диалогов, связанный с устройством «Диалог диджея 1». Если вы смотрите на другое устройство «Диалог», число в названии будет соответствовать числу в названии устройства. |
Материалы диалога — индекс 0 | M_Character_DJDroid | Это пользовательский материал персонажа для DJ R0-B0. Этот материал и материал персонажа игрока используются в узле «Задать материал диалога» в графе диалога. Материал можно найти в папке проекта: Интерфейс > Материалы. Чтобы добавить материал в «Материалы диалога», нажмите на знак «плюс» (+), чтобы добавить элемент массива, затем выберите нужный материал. |
Материалы диалога — индекс 1 | M_Character_Player | Это пользовательский материал персонажа игрока. Этот материал используется в узле «Задать материал диалога» в графе диалога. Материал можно найти в папке проекта: Интерфейс > Материалы. Чтобы добавить материал в «Материалы диалога», нажмите на знак «плюс» (+), чтобы добавить элемент массива, затем выберите нужный материал. |
Параметр «Модальный виджет»
В разделе Модальный виджет на панели «Сведения» есть параметр Пользовательский виджет. Он указывает на пользовательский виджет интерфейса, используемый для данного устройства «Диалог». В этом шаблоне все устройства «Диалог» используют один и тот же пользовательский виджет интерфейса. Однако при создании собственного проекта вы можете разработать и использовать разные пользовательские виджеты для каждого NPC.
Настройка | Значение | Пояснение |
Пользовательский виджет | UW_UI_Conversation_Lightside | Это пользовательский виджет интерфейса, используемый для окон диалога. Этот виджет находится в папке проекта по пути Интерфейс > Виджеты > Диалог. Этот виджет можно редактировать. |
Использование устройства Verse «Диалог-сценарии DJ»
Диалоги с DJ R0-B0 управляются устройством Verse Диалог-сценарии DJ, а также устройством Verse Сценарии-диспетчер заданий. Сценарии dialog_device.verse и quest_manager_device.verse определяют, какие устройства «Диалог» активны или отключены на каждом этапе задания DJ R0-B0. Код Verse содержит подробные комментарии, которые поясняют, что делает каждая часть кода. Ниже приведена полная копия кода Verse для dialog_device.verse для вашего удобства.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# See https://dev.epicgames.com/documentation/en-us/uefn/create-your-own-device-in-verse for how to create a verse device.
sub_dialog<public>:=enum:
Start,
SubDialog_A,
Настройка устройств «Диалог» для Карис
Игроки могут начать основное задание, обратившись к DJ R0-B0, как упоминалось ранее, либо поговорив с персонажем за стойкой — Карис. В этом шаблоне Карис перенаправит игрока к диджею R0-B0, сообщив, что этому неигровому персонажу нужна помощь. Линейка заданий не изменится от того, с кем игрок поговорит в первую очередь: с Карис или с DJ R0-B0. Карис играет важную роль ближе к концу задания, так как именно она направляет игрока поговорить с капитаном Джорном.
Как и у всех именованных NPC в этом шаблоне, у Карис есть показатель отношения, который может увеличиваться или уменьшаться в зависимости от того, как игрок отвечает ей в диалоге. Более подробную информацию о создании показателей отношения см. в разделе Репутация фракции и отношение NPC.
У Карис есть пять устройств «Диалог», четыре из которых представляют вариации начального дерева диалогов. Это отражает разные порядки, в которых игроки могут проходить неповторяющиеся ветки диалога. Подробнее см. в разделе Использование узла «Речь со случайными вариантами» ниже.
Параметры устройства, диалога и модального виджета
Все параметры устройств «Диалог» для Карис идентичны параметрам устройств «Диалог» для дроида-диджея, за исключением следующих.
Настройка | Значение | Пояснение |
Расстояние видимости облачка-индикатора | 10,0 метров | Поскольку Карис находится за стойкой, игроку нужно подойти ближе, чтобы увидеть индикатор диалога. |
Параметр Диалог (в разделе Диалог на панели «Сведения») должен ссылаться на ресурс хранилища диалогов для каждого устройства «Диалог».
Параметр Пользовательский виджет настроен на тот же пользовательский виджет интерфейса, что и у устройств «Диалог» дроида-диджея.
Использование узла «Речь со случайными вариантами»
Графы хранилища диалогов Карис используют узел Речь со случайными вариантами. При добавлении этого узла в граф хранилища диалогов можно задать несколько реплик с разным весом и приоритетом, чтобы они выбирались случайным образом. Это делает диалоги NPC более динамичными и интересными, а взаимодействия — более реалистичными.
Узел «Речь со случайными вариантами» в диалогах Карис содержит пять различных приветствий, которые Карис может адресовать игроку. Большинство приветствий будут иметь вес 1,0, но одно из них будет иметь вес 5,0 в зависимости от устройства «Диалог». Приветствие с более высоким весом с большей вероятностью будет выбрано устройством.
Использование устройства Verse «Диалог-сценарии Карис»
Диалоги с Карис управляются устройством Verse «Диалог-сценарии DJ», а также устройством Verse «Сценарии-диспетчер заданий». Сценарии dialog_device.verse и quest_manager_device.verse определяют, какие устройства «Диалог» активны или отключены на каждом соответствующем этапе основного задания. Код сценария dialog_device.verse можно найти в разделе Использование устройства Verse «Диалог-сценарии DJ».
Настройка устройств «Диалог» мусорщика
Мусорщик Векс — это неигровой персонаж, который даёт деталь для починки DJ R0-B0. У Векса есть три устройства «Диалог», каждое со своим ресурсом хранилища диалогов. Они представляют реплики Векса на более поздних этапах основного задания.
Параметры устройства, диалога и модального виджета
Все параметры устройств «Диалог» для мусорщика идентичны параметрам устройств «Диалог» для дроида-диджея, за исключением следующих.
Настройка | Значение | Пояснение |
Расстояние видимости облачка-индикатора | 5,0 метров | Поскольку Векс находится в небольшом помещении, игроку нужно подойти ближе, чтобы увидеть индикатор диалога. |
Параметр Диалог (в разделе Диалог на панели «Сведения») должен ссылаться на ресурс хранилища диалогов для каждого устройства «Диалог» мусорщика.
Параметр Пользовательский виджет настроен на тот же пользовательский виджет интерфейса, что и у устройств «Диалог» дроида-диджея.
Различия начального отношения NPC
У мусорщика Векса начальное значение показателя отношения ниже, чем у Карис или DJ R0-B0. Поэтому диалоги Векса менее дружелюбны, чем у Карис или DJ R0-B0. Он вообще не будет разговаривать с игроком, пока тот не выполнит определённые цели задания для DJ R0-B0, и даже после возможности диалога он будет вести себя несколько недружелюбно. Ответы, повышающие показатель отношения Векса, сильно отличаются от ответов, повышающих показатель отношения Карис или DJ R0-B0.
Более подробную информацию о показателях отношения см. в разделе Репутация фракции и отношение NPC.
Блокировка диалогов NPC по прогрессу задания
Если игрок взаимодействует с мусорщиком Вексом до разговора с дроидом-диджеем или барменом, Векс будет настроен враждебно и не станет разговаривать с игроком. После прохождения определённого этапа задания Векс будет готов разговаривать.
Это пример того, как можно использовать прогресс задания для блокировки и разблокировки доступа к определённым NPC. Другие примеры использования:
предоставление игроку доступа к разным уровням заданий или зонам разного уровня;
требование выполнить задачи, прежде чем определённый NPC даст игроку ценную добычу;
блокировка доступа к другим зонам или картам по взаимодействию с NPC, с которым нельзя поговорить, пока не выполнены определённые задания.
Другим примером блокировки доступа к NPC по завершению задания является капитан повстанцев. Дополнительную информацию о капитане и заданиях см. в разделе Диалоги и задания.
Устройство Verse «Диалог-сценарии мусорщика»
Диалоги с мусорщиком управляются устройством Verse «Диалог-сценарии DJ», а также устройством Verse «Сценарии-диспетчер заданий». Сценарии dialog_device.verse и quest_manager_device.verse определяют, какие устройства «Диалог» активны или отключены на каждом соответствующем этапе основного задания. Код сценария dialog_device.verse можно найти в разделе Использование устройства Verse «Диалог-сценарии DJ».
Работа с капитаном повстанцев
Капитан повстанцев находится в закрытой комнате. Дверь открывается только после выполнения следующих условий:
игрок починил DJ R0-B0,
игрок получил 100 ед. репутации у повстанцев,
игрок поговорил с барменом Карис и воспользовался комнатой для переодевания.
Капитан Джорн выступает в роли награды за задание. С этим NPC трудно встретиться, поэтому игрок не может поговорить с ним, пока не наберёт 100 ед. репутации у повстанцев. В этом шаблоне основное задание завершается разговором с капитаном Джорном. Однако в вашей игре капитан Джорн может выдать игроку одно или нескольких новых заданий или вручать предметы в качестве более значимой награды за помощь DJ R0-B0.
Игрок также может сыграть в сабакк с капитаном Джорном — это пример альтернативной награды за задание и демонстрация того, как взаимодействие с NPC может открывать доступ к мини-играм на вашем острове.
Настройка устройства «Диалог» капитана повстанцев
Все параметры устройств «Диалог» для капитана идентичны параметрам устройств «Диалог» для дроида-диджея, за исключением следующих.
Настройка | Значение | Пояснение |
Расстояние видимости облачка-индикатора | 5,0 метров | Поскольку капитан находится в небольшом помещении, игроку нужно подойти ближе, чтобы увидеть индикатор диалога. |
Параметр Диалог (в разделе Диалог на панели «Сведения») должен ссылаться на ресурс хранилища диалогов для каждого устройства «Диалог» капитана.
Параметр Пользовательский виджет настроен на тот же пользовательский виджет интерфейса, что и у устройств «Диалог» дроида-диджея.
Устройство Verse «Диалог-сценарии капитана»
Диалоги с капитаном Джорном управляются устройством Verse «Диалог-сценарии капитана», а также устройством Verse «Сценарии-диспетчер заданий». Сценарии dialog_device.verse и quest_manager_device.verse определяют, какие устройства «Диалог» активны или отключены на каждом соответствующем этапе основного задания. Код сценария dialog_device.verse можно найти в разделе Использование устройства Verse «Диалог-сценарии DJ».
Построение повествования через диалоги
Диалоги и взаимодействие с неигровыми персонажами есть в большинстве игр, однако в RPG и визуальных новеллах они представляют собой часть механики. Общение с неигровыми персонажами в игре выполняет множество нижеследующих функций.
Проработка мира: персонажи обладают уникальными голосами, мнениями и опытом, которые являются неотъемлемой частью мира игры. Это справедливо как для вымышленных миров, так и для версий нашего реального мира. В диалогах персонажи раскрывают свой характер и рассказывают игроку о мире, в котором живут.
Миссии или задания: распространённая функция неигровых персонажей — выдача игроку заданий или миссий. Многие игроки знают, что за основными сюжетными заданиями или мелкими побочными задачками нужно обращаться к неигровым персонажам.
Сюжет и тема: каким бы сложным ни был сюжет в игре, персонажи могут выражать ключевые темы и участвовать в развитии истории. Иногда взаимодействие с одним персонажем может закрывать доступ к другому NPC, что может привести игрока к другой сюжетной линии или концовке. Предыстории неигровых персонажей, личные истории, секреты и цели помогают раскрыть общие темы вашей игры — и лучше всего их передать через диалоги.
В разделах ниже вы найдёте конкретные способы, которые помогут усилить проработку мира и повествование с помощью диалогов.
Усиление ролевого взаимодействия
Когда игроки взаимодействуют с неигровыми персонажами, у них появляется возможность войти в роль. Слияние с главным героем игры становится проще, когда игрок может понять, с каким типом персонажа он общается через строки диалога. Это помогает игрокам сделать выбор: хочется ли им быть похожим на того или иного персонажа или нет.
Кроме того, многим игрокам важно, чтобы их выбор имел значимое влияние на сюжет и мир игры. Например, системы, которые повышают или понижают репутацию, дают игрокам возможность решать, хотят ли они поддерживать хорошие отношения с теми или иными персонажами или нет. Благодаря этому погрузиться в мир и войти в роль главного героя становится намного проще.
Косметические варианты диалогов
Хотя чаще всего диалоги напрямую связаны с игровым процессом, обычные реплики неигровых персонажей или ответы игрока, которые просто раскрывают характер, делают игру интереснее. Предложите игрокам два или три варианта ответа с разным оттенком — доброжелательным, дерзким, саркастичным и так далее.
Не каждое решение должно влиять на сюжет или отношение неигровых персонажей: простая возможность съязвить или выразить сочувствие уже вызовет у игроков положительные эмоции.
Игрок как участник диалога
Во многих играх игроку предлагаются конкретные варианты ответов на вопросы или утверждения неигровых персонажей. Но вы сможете усилить эффект погружения в игру, если игрок станет участником диалога.
Вам необязательно нужны озвученные реплики. Ответная фраза героя после выбора краткого ответа помогает закрепить его роль как участника сцены. В редакторе графа диалогов можно использовать узлы «Речь» как для игрока, так и для неигровых персонажей. Вы также можете задать разные материалы для неигровых персонажей и игрока, чтобы различать, кто произносит ту или иную реплику.
Этот шаблон демонстрирует, как с помощью простого интерфейса диалогов можно создать полноценный разговор персонажей, включив в него игрока. Краткие ответы позволят игроку сделать простой выбор с понятными последствиями, а полное окно диалога поможет перевести выбор игрока в полноценную и реалистичную речь.
Подробнее об использовании редактора диалогов и его узлов см. в разделе Создание диалогов.