Сюжет, который вы выберете для своего проекта, не должен быть слишком сложным, чтобы быть захватывающим и произвести впечатление на игроков. На игровой процесс могут существенно повлиять даже простые взаимодействия.
В этом документе представлен краткий курс по написанию диалогов и структурированию различных типов диалогов. Вы также получите несколько советов по использованию графа диалога, представленного в Шаблоне диалога в UEFN.
Подробнее о самом устройстве: Устройство «Диалог».
Написание кода для диалогов
Прежде чем связать сюжет с игровым процессом с помощью устройства «Диалог», убедитесь, что ваш диалог будет развиваться логично, иметь смысл и соответствовать характеру создаваемой игры. Если вы никогда не занимались написанием творческих сюжетов, советуем вам:
Поиграйте в игры, в которых есть сюжет и диалоги. Пример удачного (или неудачного) написания диалога поможет вам в творческом процессе.
Подумайте о неигровых говорящих персонажах. Имея представление о том, откуда персонажи, какой образ жизни они ведут и кто они такие, вы сможете обдуманно написать для них диалоги и избежать повторения.
Подумайте о том, как разговаривают люди из вашего окружения. Это поможет вам подобрать тон или способ выражения мысли для разных персонажей.
Подумайте о том, что будет происходить во время диалога. Жизнь не стоит на месте, когда вы с кем-то разговариваете. Решите, где будет происходить диалог и должно ли что-то происходить на заднем плане.
Игровой диалог
Диалоги в видеоигре во многом схожи с диалогами в кино, за исключением того, что игроки могут изменять сюжетную линию, просто взаимодействуя с неигровыми персонажами. В играх диалог используется для выполнения ряда функций:
Предоставление справочной информации.
Объяснение игрового процесса или предоставление подсказок.
Обмен товарами и услугами в игре.
Направление игрока на определённый путь или изменение его пути в зависимости от сделанного им выбора.
Очень важна вступительная часть, а знакомство с неигровыми персонажами является неотъемлемой частью игрового процесса, которая помогает игрокам погрузиться в игру. Игрокам необходимо ознакомиться с неигровыми персонажами, чтобы:
Понимание, кто такие неигровые персонажи и зачем они нужны.
Получение базовой информации, на основе которой можно действовать.
Ориентация в игре.
Игровой диалог должен быть максимально похож на разговор в реальной жизни, и да, для большей естественности он может включать сленг и различную терминологию.
Задания
Можно использовать определённого персонажа, чтобы передать информацию, известную только ему, или разъяснить игроку какой-то технический момент. Неигровой персонаж может также хранить подсказку или знать секрет, которым можно поделиться с игроком.
Ниже приведена таблица, в которой описано, как может выглядеть простой обмен информацией с NPC. NPC предоставляет игроку выбор, выполнять ли его задание или нет.
За каждым ответом закреплено событие, которое активируется, когда игрок выбирает, принять ему задание или нет. Если игрок примет задание, он получит оплату и сможет использовать этого NPC в следующем задании. Если он откажется от задания, будет создана новая сюжетная линия и неигровой персонаж не будет помогать игроку в выполнении следующего задания, что изменит игровой процесс и сюжет.
| Игрок | Speech (Речь) | Response (Ответ) | Результат | неигровой персонаж |
|---|---|---|---|---|
NPC: «Эй! Мне нужно сдать это эссе, но я лучше поиграю в сокс. Сдашь за меня эссе?» | -- | -- | ||
-- | -- | ВЫ: «Да, за 5 золотых». | Да: NPC платит вам 5 золотых и идёт в направлении поля. | -- |
-- | -- | Вы: «Нет. С чего бы? | Нет: NPC запомнит это и не будет помогать вам в следующем задании. | -- |
-- | NPC: «Эх, сложно найти хорошего помощника!» | -- | -- | -- |
Создание базового графа диалога
Дерево диалога может быть кратким или расширенным в зависимости от того, зачем вам нужен диалог. Создайте хранилище диалогов и откройте Редактор диалогов, чтобы приступить к созданию графа:
Нажмите правой кнопкой мыши на область графа и выберите узел Default Entry Point (Стандартная точка входа) в меню «Выбор узлов».
Нажмите левой кнопкой мыши на нижней панели узла Default Entry Point (Стандартная точка входа) и перетащите стрелку в новое место. Новый узел можно выбрать, отпустив кнопку мыши. Выберите узел Speech (Речь) в меню «Выбор узлов». На панели Сведения откроются параметры узла Speech (Речь).
Также можно нажать правой кнопкой мыши на графе и создать нужный узел, прежде чем связать два узла с помощью стрелки. Чтобы подключить узлы друг к другу, наведите курсор на нижнюю часть узла, пока он не станет жёлтым, а затем потяните. Остановитесь, когда верхняя панель принимающего узла станет жёлтой.
Добавьте вступительный текст в поле Сообщение.
Если NPC играет важную роль в игре, в этом месте можно настроить, как он описывает собственную роль в этой игре.
Нажмите правой кнопкой мыши в области графа и выберите узел Response (Ответ). На панели Сведения напишите желаемый ответ игрока, который он даст NPC.
Вы можете создать несколько узлов Response (Ответ) и подключить их к одному вступительному узлу Speech (Речь), благодаря чему появятся несколько путей к диалогу.
Узлы Speech (Речь) всегда содержат текст, который NPC говорит игроку. Первый узел Speech (Речь) представляет собой вступительную часть между NPC и игроком. Дополнительные узлы Speech (Речь) выступают в качестве ориентиров для ответов и событий.
Используйте узлы Reroute (Перенаправить), чтобы лучше организовать диалоги. Создайте стрелку между двумя узлами, которые вы хотите соединить, а затем дважды нажмите на стрелку в том месте, где вам нужен узел Reroute (Перенаправить). Если нажать на узел левой кнопкой мыши, вокруг него появится граница, которую можно перетаскивать по графу.
Создайте столько узлов Speech (Речь), сколько потребуется. Игроки могут отходить от NPC, чтобы закончить диалог во время взаимодействия.
Узлы одного типа нельзя подключать друг к другу с помощью стрелки. Если вы попытаетесь сделать это, операция не будет завершена.
Вот список допустимых подключений узлов. Ячейки, перед которыми стоит НЕТ, указывают на недопустимые подключения:
| -- | Default Entry Point (Точка входа по умолчанию) | Conversation Event (Событие диалога) | Repeat (Повторить) | Response (Ответ) | Restart Conversation (Перезапуск диалога) | Speech (Речь) | Случайный выбор |
|---|---|---|---|---|---|---|---|
Default Entry Point (Точка входа по умолчанию) | Точка входа > Событие | НЕТ Точка входа > Повторить | НЕТ Точка входа > Ответ | НЕТ Точка входа > Перезапуск | Точка входа > Речь | Точка входа > Случайный выбор | |
Conversation Event (Событие диалога) | Н/Д | Событие > Повторить | Событие > Ответ | Событие > Перезапуск | Событие > Речь | Событие > Случайный выбор | |
Repeat (Повторить) | Н/Д | Повторить > Событие | Повторить > Ответ | Повторить > Перезапуск | Повторить > Речь | Повторить > Случайный выбор | |
Response (Ответ) | Н/Д | Ответ > Событие | Ответ > Повторить | Ответ > Перезапуск | Ответ > Речь | Ответ > Случайный выбор | |
Restart Conversation (Перезапуск диалога) | Н/Д | НЕТ Перезапуск > Событие | НЕТ Перезапуск > Повторить | НЕТ Перезапуск > Ответ | НЕТ Перезапуск > Речь | НЕТ Перезапуск > Случайный выбор | |
Speech (Речь) | Н/Д | Речь > Событие | Речь > Повторить | Речь > Ответ | Речь > Перезапуск | Речь > Случайный выбор | |
Случайный выбор | Н/Д | Случайный выбор > Событие | Случайный выбор > Повторить | НЕТ Случайный выбор > Ответ | НЕТ Случайный выбор > Перезапуск | Случайный выбор > Речь |
Создание диалога с двумя говорящими
Создать диалог с двумя говорящими в одном графе диалога можно с помощью узла Set Conversation Material (Задать материал диалога). Добавьте свой первый узел Set Conversation Material (Задать материал диалога) под узел Default Entry Point (Точка входа по умолчанию) а затем настройте его для первого говорящего на панели «Сведения».
Продолжайте создавать диалог до представления второго говорящего. Далее создайте второй узел Set Conversation Material (Задать материал диалога) и настройте его для второго говорящего на панели Сведения.
Создание пользовательского интерфейса диалога позволяет лучше контролировать размер материала.
Добавить события
Узлы событий могут запускать события или предлагать игроку варианты выбора. Событие может быть базовым, например неигровой персонаж может реагировать на выбор, который делает игрок, с помощью устройства Последовательность внутриигрового видео или активировать битву с боссом.
Создайте узел события, нажав левой кнопкой мыши и перетащив его с нижней части существующего узла, а затем выбрав Событие диалога из выпадающего меню. Вы можете подключить один диалог не более чем к 10 событиям. Подробнее: Устройство «Диалог».
Добавление материалов интерфейса
Создайте материал интерфейса и добавьте его к своему устройству «Диалог» в параметре Материал диалога. Нажмите на значок массива (+), чтобы добавить материал в список индексов.
Добавьте узел Set Conversation Material (Задать материал диалога) под узел Default Entry Point (Точка входа по умолчанию). Так устройство «Диалог» задаст материал интерфейса диалога с помощью настройки «Материал диалога» и этого хранилища диалогов.
Скрытие и отображение диалогов
Временное скрытие и отображение диалогов для создания кинематографического эффекта. Это можно сделать с помощью узла Hide Conversation (Скрыть диалог), а также с помощью функций Скрыть диалог и Показать диалог в устройстве «Диалог».
Функция Скрыть диалог скрывает интерфейс диалога персонажа от игрока и не позволяет ему выбрать вариант ответа до тех пор, пока интерфейс не отобразится повторно. При использовании узла Hide Conversation (Скрыть диалог) и одноимённой функции интерфейс диалога игрока становится невидимым, т. е.:
Игроки не могут выбирать, просматривать или перебирать ответы, пока диалог скрыт.
Для повторного отображения диалога и его продолжения необходимо активировать функцию «Показать диалог» с помощью кода Verse или устройства.
Функция Показать диалог показывает игроку интерфейс диалога. Как только диалог будет вновь отображён, игрок сможет продолжить его и снова выбирать варианты ответов.
Продуманное размещение видео
В этом разделе будут представлены рекомендации по созданию более сложных диалогов. Все эти советы можно найти в Шаблоне диалога в UEFN в разделе Демонстрация возможностей.
Комментарии
Комментарии позволяют легко отслеживать сложные графы диалогов. Комментарий может состоять из одной буквы, чтобы вы могли различать между собой множество путей ответвления, либо представлять собой более подробное описание того, что происходит в определённом фрагменте диалога.
Чтобы создать новый комментарий, выберите любые узлы на графе и нажмите C. Будет сгенерировано текстовое поле с заголовком.
На панели «Сведения» для комментария можно выбрать цвет области, отображение выноски при уменьшении масштаба, её цвет, а также перемещение комментария вместе с узлами, содержащиеся в нём, или без них.
Узлы Reroute (Перенаправить)
Узлы Reroute (Перенаправить) делают именно то, о чем говорит их название, — перенаправляют. Их можно использовать для логической организации ответвления диалога в нескольких направлениях. Без них стрелки между узлами будут пересекаться на экране, из-за чего граф будет визуально затенён.
Использование узлов переадресации для поддержания организации диалогов позволит вам целенаправленно настраивать диалоги и гибко вносить изменения в существующие пути.
Рассмотрим пример сложного диалога. В нём узлы переадресации используются для упорядочивания различных путей для игрока в зависимости от сделанного выбора. Теперь сдвиньте ползунок влево и увидите тот же диалог без узлов переадресации. Всё зависит от ваших предпочтений, но чем сложнее диалог, тем выше вероятность того, что можно запутаться!