ДокументацияУстройство квеста: главы, ноды и контент

Устройство квеста: главы, ноды и контент

Разберёмся, из чего состоит квест в Meander — как данные хранятся и как связаны между собой.

3 апреля 2026*6 мин чтения

Устройство квеста: главы, ноды и контент

Разберёмся, из чего состоит квест в Meander — как данные хранятся и как связаны между собой.

Общая архитектура

Квест в Meander — это иерархия вложенных элементов:

Квест
  ├── Главы (теги)          → разделы сценария
  │     └── Ноды             → блоки с контентом
  │           └── Контент    → текст, кнопки, изображения и т.д.
  ├── Связи                  → переходы между нодами
  ├── Переменные             → состояние квеста
  └── Ресурсы                → изображения, аудио

Всё хранится в JSON-файлах внутри папки квеста. Формат открытый — можно править вручную.


Главы (теги)

Главы — это разделы вашего сценария. Каждая глава имеет уникальный ID, название и может содержать собственное фоновое изображение или аудио.

Зачем нужны главы

  • Организация — разбейте квест на акты, локации или сюжетные арки
  • Общий фон — задайте одну фоновую картинку для всех нод в главе
  • Фильтрация на канвасе — работайте только с нодами выбранной главы

Как создаются

На экране деталей квеста откройте «Сценарий и Главы» → нажмите «+» → введите название главы.

Главы хранятся в config.json в массиве tags. Каждая глава содержит поля:

json
{
  "id": "tag_uuid",
  "name": "Пролог",
  "questId": "quest_uuid",
  "backgroundAssetId": null,
  "backgroundAudioId": null,
  "folderPath": "/"
}

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


Ноды

Нода — это блок с контентом, одна «сцена» вашего квеста. Когда игрок проходит квест, он перемещается от ноды к ноде через связи (переходы).

Модель ноды

Каждая нода обладает следующими свойствами:

ПолеОписание
idУникальный идентификатор ноды
chapterIdID главы, к которой принадлежит нода
positionПозиция на канвасе (x, y)
labelЗаголовок ноды
descriptionОписание (видно только в редакторе)
backgroundAssetIdФоновое изображение (переопределяет фон главы)
backgroundAudioIdФоновый звук
scriptAssetIdПривязанный скрипт (выполняется при входе)
timerDurationТаймер — автопереход через N секунд
defaultActionNodeIdЦелевая нода для автоперехода по таймеру
isStartNodeЯвляется ли стартовой нодой квеста

Типы связей между нодами

ТипЦветНазначение
Content🟢 ЗелёныйОбычные переходы (кнопка → следующая нода)
Timer🟡 ЖёлтыйАвтопереход по таймеру (виртуальная связь)
Script🟣 ФиолетовыйПереходы из скриптов через go_to_node (виртуальная связь)

Связи создаются на канвасе: включите режим связей (иконка цепочки), кликните на исходную ноду, перетащите к целевой.


Контент ноды

Каждая нода содержит массив элементов контента (content.items). Это то, что видит игрок при прохождении.

Типы контента

ТипЧто делает
textТекст с поддержкой Markdown и переменных ({здоровье})
buttonКнопка выбора — ведёт к другой ноде или запускает скрипт
inputПоле ввода — сохраняет ответ игрока в переменную
wait_inputПауза — ждёт клика игрока для продолжения
imageИзображение из ресурсов квеста
audioАудиофайл из ресурсов квеста
scriptВыполнение визуального скрипта
modalВсплывающее окно с кнопками и Markdown-содержимым
chatСообщение в стиле мессенджера (имя, аватар, входящее/исходящее)
rowГоризонтальный контейнер — группирует элементы в строку
columnВертикальный контейнер — группирует элементы в столбец

Скрипт-триггеры

У элементов контента (кнопки, инпуты) есть триггеры — скрипты, которые выполняются при определённых событиях:

ТриггерКогда срабатывает
onAppearПри появлении элемента на экране
onPressПри нажатии на элемент
onSubmitПри отправке поля ввода

Переменные

Переменные хранят состояние квеста: здоровье, инвентарь, флаги, репутацию.

Инициализация

Переменные задаются в настройках квеста (config.json → массив variables). Каждая переменная имеет имя, тип и начальное значение.

Использование в тексте

В любом текстовом поле можно вставить переменную через фигурные скобки:

У вас {здоровье} HP и {золото} монет.

При отображении Meander автоматически подставит текущие значения.


Визуальные скрипты

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

Типы блоков

БлокЧто делает
EventТочка входа: onContentAppear, onPress, function
ConditionУсловие if/else (сравнение переменных)
Go To NodeПереход к указанной ноде
Assign VariableПрисваивание значения переменной
Call ScriptВызов другого скрипта
DelayЗадержка выполнения
Set Volume / Set BlurУправление эффектами
Table OperationРабота с таблицами данных
Content ItemВыбор элемента контента

Скрипт привязывается к ноде (scriptAssetId) или к элементу контента через триггеры.


Файловая структура квеста

Каждый квест хранится на устройстве в папке quests/<ID_КВЕСТА>/. Формат открытый — файлы можно править вручную:

quests/<quest_id>/
├── config.json        # Метаданные, главы, связи, переменные
├── preview.png        # Обложка квеста
├── nodes/             # Файлы нод (сценарий)
├── scripts/           # Визуальные скрипты
└── res/
    ├── images/        # Изображения
    └── audio/         # Аудиофайлы

Файл config.json — главный файл квеста. Он содержит название, автора, описание, список глав, связи, переменные и все настройки проекта. Файлы нод и скриптов хранятся отдельно — каждый в своей директории.

Примечание: Обычному пользователю не нужно лазать в эти файлы вручную. Всё редактируется через интерфейс приложения. Но формат открытый — при желании можно править JSON руками.


Настройки квеста

Помимо базовых полей, квест имеет дополнительные параметры:

ПолеОписание
startNodeIdID ноды, с которой начинается прохождение
backgroundAssetIdФоновое изображение по умолчанию
customFontFileNameКастомный шрифт для всего квеста
dimBackgroundЗатемнение фона для читаемости
hideNodeTitlesСкрывать заголовки нод при игре
wrapButtonTextПереносить текст кнопок
defaultTextFitРежим подгонки текста: auto, scale, wrap
nodeTransitionModeАнимация переходов: none, page, fade
genresЖанры квеста (для маркета)
buttonStylePresetsПресеты стилей кнопок

Все эти параметры можно изменить на экране «Основные настройки» в деталях квеста.


Экран деталей квеста

Отсюда начинается вся работа. Экран разделён на разделы:

Конструктор

  • Основные настройки — редактирование метаданных квеста
  • Сценарий и Главы → экран глав и канвас-редактор
  • Ресурсы → управление изображениями и аудио
  • Стартовая точка → выбор ноды для начала игры

Управление

  • История версий — снимки проекта с возможностью отката
  • Экспорт в .mnd — сохранение в файл для обмена
  • Экспорт в .txt — выгрузка текста для ИИ
  • Экспорт в APK — сборка Android-приложения
  • Опубликовать → публикация на маркете
  • Сбросить прогресс — очистка сохранений
  • Удалить квест

Итог

Квест в Meander — это иерархия:

  1. Квест — контейнер с метаданными и настройками
  2. Главы — разделы сценария с общими стилями
  3. Ноды — блоки контента на канвасе
  4. Контент — текст, кнопки, изображения, скрипты
  5. Связи — переходы между нодами
  6. Переменные — состояние, которое меняется при прохождении

Понимание этой структуры поможет вам эффективно работать с редактором и создавать сложные, разветвлённые сюжеты.

Последнее обновление: 3 апреля 2026