VNLEWIKIСоздавайте истории. Соединяйте миры.
Русский
Руководство VNLE

Знакомство с редактором

Точки входа

Начало сцены — её обычная отправная точка. Именованные точки входа позволяют перейти в другие места сцены. Стрелка рядом с кнопкой «Запустить историю» позволяет начать проверку с нужной точки.

  • Задать начало сцены
  • Добавить точку входа
  • Удалить точку входа
  • Играть с точки входа

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

В Characters, Variables и Game actions слева находится список с поиском, справа — подробности. Выберите элемент для редактирования. Поиск персонажей находит также группы и родительские группы. Три значка переключают порядок по алфавиту, родительским группам (по умолчанию) или группам персонажей. Общее число указано под списком.

Создавайте историю шаг за шагом. Для каждого инструмента сначала описана простая ситуация, затем приведён практический пример из проекта. Меню позволяет сразу перейти к нужному инструменту.

Названия элементов управления соответствуют английскому интерфейсу. Welcome и Received — названия из проекта примера. «Ключ от гавани»: скачайте и повторите шаги

Перемещайте главы и сцены

Перетащите главу на новое место в боковой панели. Сцену можно перетащить перед другой сценой или после неё; яркая линия показывает место вставки. Бросьте сцену на главу, чтобы добавить её в конец, даже если глава свёрнута. Другой способ — нажать на маркер перемещения главы или сцены и выбрать место назначения. Undo отменяет перемещение, Save сохраняет порядок. Это меняет организацию проекта, но не связи и игровую логику.

Переименовать или удалить главы и сцены

Выберите сцену на боковой панели или нажмите название главы. Три точки и маркер перемещения появляются у активной строки и при наведении. Три точки сразу открывают редактирование: здесь можно поменять название или изображение главы, а также удалить элемент. Delete scene удаляет сцену, её узлы и точки входа. Delete chapter удаляет и все сцены внутри главы. Перед каждым удалением запрашивается подтверждение с названием, а для главы — также с точным числом сцен. Cancel ничего не меняет.

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

Главы и сцены

Главы помогают организовать историю. Сцена содержит связную последовательность диалога.

Простой пример

История описывает путешествие. Нажмите плюс рядом с Chapters, чтобы создать Arrival, затем через Add scene создайте At the gate и At the inn. Откройте сцену и составьте разговор. Порядок списка не связывает диалоги: вы сами определяете переходы между ними.

Холст и поиск

Пошаговое руководство

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

Простой пример

Создайте два диалога: «Привет!» и «Рад тебя видеть». Нажмите Next справа у первого, затем вход слева у второго. Связь показывает, что вторая реплика идёт после первой. Перетаскивайте фон для перемещения по холсту.

Попробуйте: «Ключ от гавани»

Откройте Harbour и нажмите лупу на панели узлов, чтобы найти Welcome. Выберите результат — VNLE поместит приветствие в центр холста. Проследите связи, чтобы понять разговор с Мирой.

Открыть проект примера и пошаговое руководство →

Диалог

Диалог показывает реплику или повествование. Можно назначить персонажа и выражение лица.

Простой пример

Пусть стражник скажет: «Ворота закрываются на закате». Выберите диалог, введите реплику и укажите говорящего персонажа. Соедините следующий шаг с концом. Для узла диалога выберите «Задать начало сцены», затем «Запустить историю», чтобы прочитать первую реплику.

Попробуйте: «Ключ от гавани»

В Welcome говорит Mira. Позже Your remaining gold показывает деньги через подстановочное поле, связанное с Gold. После покупки оно выводит 5 вместо 10. Если просто вписать число в реплику, автоматически оно не изменится.

Открыть проект примера и пошаговое руководство →

Выбор

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

Простой пример

Стражник спрашивает: «Куда вы хотите пойти?» Создайте Choice с ответами «На рынок» и «В таверну». Соедините каждый ответ со своим диалогом. Во время игры маршрут выбирает игрок. Ответ без связи не позволит продолжить.

Попробуйте: «Ключ от гавани»

Откройте Choose a reply. Один ответ ведёт к покупке, другой — к прощанию. Проверьте оба пути. У ответов также могут быть условия; задайте поведение на случай, если ни один не доступен.

Открыть проект примера и пошаговое руководство →

Условие

Условие проверяет значение и автоматически выбирает путь Yes или No. Например: хватает ли игроку золота?

Простой пример

Паромщик берёт три монеты. В Variables создайте числовую переменную Coins. Добавьте Condition, проверяющий, что Coins не меньше 3. Соедините Yes с репликой «Проходите на борт!», а No — с «Вам не хватает денег». Путь выбирается автоматически. Сама проверка монеты не списывает.

Изменить переменную

Этот блок меняет сохраненное значение. Например, вычтите золото или запомните, что квест был принят.

Простой пример

Игрок уговорил стражника. В Variables создайте логическую переменную GateOpen с начальным значением false. Выберите More blocks → Change variable, укажите GateOpen и задайте true. Соедините Next со следующим диалогом. Позже Condition сможет проверить эту переменную. Само изменение значения не выводит дополнительную реплику.

Попробуйте: «Ключ от гавани»

Pay five gold вычитает 5 из Gold и отмечает принятие задания через QuestAccepted. Позже Remember the key задаёт HasKey значение true. Если передать ключ не удалось, Refund the payment возвращает деньги. Покупка считается успешной только после передачи ключа.

Открыть проект примера и пошаговое руководство →

Команда

Пошаговое руководство

Игровое действие просит вашу игру что-либо сделать, например выдать предмет. Диалог ждёт ответа игры. При проверке в редакторе тестовый ответ выбираете вы сами.

Простой пример

Сундук должен добавить меч в инвентарь. В Game actions создайте Give item с входным параметром предмета и исходами Received и No room. Выберите действие в блоке Game action и соедините оба выхода. В редакторе вы сами выбираете тестовый ответ. В готовой игре действие нужно связать с инвентарём: VNLE не создаёт его автоматически.

Попробуйте: «Ключ от гавани»

Receive the key вызывает Give item с предметом Warehouse key. В проекте заданы исходы Received и Declined. Проверьте оба. В прилагаемой демоигре предмет передаётся по-настоящему; при отказе деньги возвращаются.

Открыть проект примера и пошаговое руководство →

Переход

Переход продолжает диалог с другой точки входа. Она может находиться в другой сцене.

Простой пример

После разговора у ворот история должна продолжиться на рынке. Создайте точку входа в сцене рынка. Через More blocks добавьте Jump и выберите эту точку как цель. История продолжится там без автоматического возврата к воротам.

Вызвать подысторию

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

Простой пример

В нескольких разговорах нужно одинаково объяснить дорогу. Создайте эти реплики в отдельной сцене. Выберите More blocks → Call substory и укажите её точку входа. Соедините After returning с продолжением исходного разговора. Завершите объяснение блоком Return, чтобы его можно было использовать повторно.

Попробуйте: «Ключ от гавани»

Ask Mira вызывает Mira’s request через mira_request. Мира рассказывает о складе, затем история возвращается к Already have the key?. Начните со сцены Harbour, чтобы пройти весь путь с вызовом и возвратом.

Открыть проект примера и пошаговое руководство →

Возврат

Return завершает вызванную последовательность и возвращает к диалогу, из которого её вызвали. Место продолжения запоминается при вызове.

Простой пример

Объяснение дороги закончено. Добавьте Return в конце и соедините с ним последнюю реплику. Исходный разговор продолжится после вызова. Если вызова не было, возвращаться некуда. Для обычного завершения разговора используйте End.

Попробуйте: «Ключ от гавани»

В Mira’s request блок Return to the question завершает вызванную последовательность. Запускайте историю с начала Harbour, а не непосредственно из подыстории, чтобы было известно, куда вернуться.

Открыть проект примера и пошаговое руководство →

Конец

End завершает текущую последовательность диалога. После этого игра может закрыть диалоговое окно.

Простой пример

Торговец говорит: «До завтра!» Создайте End и соедините с ним выход Next прощальной реплики. Разговор завершится. Вся игра при этом не обязана заканчиваться: например, можно снова разрешить игроку двигаться.

Персонажи

Пошаговое руководство

Здесь задаются имя персонажа, портрет и выражения лица. Затем персонажа можно выбрать в диалоге.

Простой пример

Стражнице нужны имя и портрет. Откройте Characters, создайте Ada и добавьте портрет. В диалоге выберите Ada в поле Speaker. Можно добавить отдельное изображение с удивлённым выражением лица и выбрать его для нужной реплики.

Ресурсы

Пошаговое руководство

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

Простой пример

В игре есть старый ключ. В Resources создайте предмет Old key с названием и описанием. Позже выберите его как входной параметр игрового действия. Запись лишь описывает ключ; добавлять его в инвентарь должно действие в вашей игре.

Попробуйте: «Ключ от гавани»

Здесь есть предмет Warehouse key, задание Open the warehouse и место Old warehouse. Receive the key ссылается на тот же ключ, поэтому предмет можно однозначно определить и после перевода его названия.

Открыть проект примера и пошаговое руководство →

Переменные

Пошаговое руководство

Переменная — это именованное значение, которое запоминает число, текст или да/нет. Например, Gold запоминает деньги, а HasKey запоминает, есть ли у игрока ключ.

Простой пример

История должна помнить, помогли ли вы стражнику? В Variables создайте логическую переменную HelpedGuard с начальным значением false. После помощи задайте true через Change variable. Позже Condition сможет выбрать более дружелюбное приветствие. Для монет используйте число, а для прозвища — текст.

Попробуйте: «Ключ от гавани»

Начальное значение Gold — 10. HasKey, QuestAccepted и QuestComplete начинают со значения false. Проследите путь Gold от проверки перед покупкой до Your remaining gold: проверка, изменение и вывод используют одну и ту же переменную.

Открыть проект примера и пошаговое руководство →

Запуск и проверка истории

Пошаговое руководство

Предпросмотр позволяет пройти историю прямо в редакторе. Project check помогает найти отсутствующие связи и другие проблемы.

Простой пример

Чтобы проверить оба ответа, выберите Play story. Инструменты тестирования позволяют поставить закладку перед выбором и вернуться к ней для проверки другого ответа. Тестовые значения не меняют проект. Если вы отредактировали диалог, перезапустите проверку, чтобы увидеть изменения. Project check помогает найти, например, отсутствующие связи.

Попробуйте: «Ключ от гавани»

Запустите Harbour с точки harbour_start. Попробуйте купить ключ с достаточным количеством золота и с недостаточным. В игровом действии проверьте Received и Declined. Правильно ли списываются и возвращаются деньги? Получает ли игрок ключ только после успешной передачи?

Открыть проект примера и пошаговое руководство →

Сохранение и обмен

Пошаговое руководство

Save сохраняет работу на вашем компьютере. Экспорт создаёт пакет для передачи. Обмен изменениями через GitHub выполняется в окне команды, доступном из меню проекта.

Простой пример

Save сохраняет изменения в локальном проекте. Чтобы передать копию, откройте меню проекта вверху слева и выберите Export entire project as ZIP. Ни сохранение, ни экспорт не отправляют изменения команде. Для GitHub используйте окно команды: сначала сравните изменения, затем отправьте их.

Попробуйте: «Ключ от гавани»

Скачайте пример, распакуйте его и откройте папку проекта из архива. Измените Welcome, сохраните и снова откройте проект: текст останется. ZIP-экспорт включает редактируемую копию и, если история прошла проверку, файлы для игры.

Открыть проект примера и пошаговое руководство →

Локализация

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

Простой пример

Диалог должен показывать «Good morning!» на английском и «Guten Morgen!» на немецком. Откройте Localization, добавьте язык перевода, выберите строку и введите перевод. Проверьте оба языка. Вы переводите текст, не создавая разговор заново.

Попробуйте: «Ключ от гавани»

В примере есть английский и немецкий. Сравните приветствие Миры. Сохраните подстановочное поле оставшегося золота, чтобы в обеих версиях выводилось актуальное число. Translation package позволяет передать тексты переводчику в Excel-файле.

Открыть проект примера и пошаговое руководство →

Управлять персонажами и ресурсами

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

В Resources выберите вверху Quests, Items или Locations. Переключатель из трёх частей показывает все, используемые или неиспользуемые записи. Выберите запись слева, чтобы справа изменить её тексты и посмотреть, где она используется. В Characters переключатель задаёт алфавитный порядок, верхние группы или группы персонажей; поиск учитывает и названия групп.

Вернитесь к истории через Story в левом меню или Story editor вверху. Project check внизу левого меню открывает конкретные проблемы в истории.