# Ветвящиеся диалоги, которые можно написать, проиграть и проверить до сборки.

Пишите разговор как реплики, которые произносят персонажи. Дайте реплике выборы, и каждый выбор перейдёт к реплике, которую он называет. Проиграйте разговор так, как это сделает игрок, посмотрите его графом и экспортируйте файл Yarn Spinner, когда всё сходится.

![Диалог первой встречи с Утонувшей Архивисткой в виде графа в Nodary: каждая реплика в рамке со своим говорящим, выборы игрока подписаны на стрелках, включая те, что требуют кристалла памяти или маяка 3-го уровня, а также переходы назад и к концу.](https://nodary.ai/marketing/dialogue-graph.webp)

_Saltmarrow это демонстрационный проект: его студия, команда и игра вымышлены._

## Пишите разговор как сценарий

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

- Направьте каждый выбор на реплику или на конец разговора
- Добавьте ниже реплику того же говорящего в один клик
- У каждого говорящего свой цвет, в порядке первого появления
- Начните с шаблона Quest Dialogue

Чего это не делает: Условия и переменные не моделируются. Впишите условие в текст выбора, как Saltmarrow делает с [С кристаллом памяти]: его прочтёт каждый, но Nodary никогда не вычисляет его и не скрывает выбор.

![Диалог Утонувшей Архивистки в режиме сценария Nodary: каждая реплика со своим id, Архивистка как говорящая и её текст, выборы, каждый из которых ведёт к названной реплике, выборы, начинающиеся с условия в квадратных скобках, например [С кристаллом памяти] или [Маяк 3-го уровня или выше], и реплики, которые завершают разговор.](https://nodary.ai/marketing/dialogue-script.webp)

## Ловите битые ветки, затем экспортируйте в Yarn Spinner

Nodary отмечает выбор или поле «Затем», которые указывают на уже несуществующую реплику, реплику, до которой не доходит ни один путь от начала, и пустую реплику, прямо на самой реплике и в счётчике над диалогом. Когда всё сходится, кнопка «Файл Yarn» создаёт скрипт Yarn Spinner 2: один узел на реплику, выборы как опции, переходы между узлами и первая реплика с тегом start.

- Проблемы названы на самой реплике и подсчитаны над диалогом
- Имена узлов становятся уникальными и допустимыми для Yarn
- Переход к отсутствующей реплике превращается в остановку, поэтому файл всё равно компилируется
- Импортируйте файл .yarn через Yarn Spinner в Unity, Godot или Unreal

Чего это не делает: Yarn Spinner работает только на экспорт: Nodary не импортирует файлы .yarn или Ink, а условие, вписанное в текст выбора, остаётся в файле Yarn простым текстом.

![Диалог Архивистки в режиме графа Nodary, над ним переключатель «Сценарий», «Играть» и «Граф» и кнопка «Файл Yarn», и каждая стрелка идёт от реплики к реплике, которую называет её выбор, или к концу.](https://nodary.ai/marketing/dialogue-graph.webp)

_Граф рисует каждый переход, и именно по ним идут проверки._

## Диалоги и сценарии рядом с персонажами, к которым они относятся

Диалог это блок внутри любого документа, поэтому первая встреча с Архивисткой лежит на странице её персонажа. В Saltmarrow эта страница связана с затонувшим архивом, где она живёт, а таблица перевода отмечена как зависящая от неё. Сценарий тоже блок: пишите в Fountain и читайте его отформатированным, с заголовками сцен, действиями, именами персонажей, ремарками и переходами.

- Подписывайте связи между персонажами, квестами и местами, чтобы объяснить, как они связаны
- Fountain для катсцен и трейлеров, отформатированный при чтении
- Диалоги и сценарии печатаются, открываются по ссылке и экспортируются в Markdown вместе со своим документом
- Поиск находит слова каждой реплики

Чего это не делает: Говорящие это имена, которые вы вводите, а не ссылки на документы персонажей. Отображение Fountain покрывает распространённые элементы; титульные страницы и двойные диалоги не вёрстаются.

![Saltmarrow на карте констелляции Nodary: документы проекта вокруг хабов, таких как Персонажи, Мир и история, Системы и Локализация, соединённые линиями иерархии и подписанными связями, с курсорами двух коллег на карте.](https://nodary.ai/marketing/map-constellation.webp)

## Агенты проверяют диалог, прежде чем кто-то в него сыграет

check_dialogue читает диалог так же, как редактор: битые переходы, недостижимые и пустые реплики, говорящих и число концовок. С format yarn он также возвращает скрипт Yarn Spinner. Агент пишет новый диалог через write_document, меняет реплики через edit_document, а get_document читает диалог обратно как сценарий, где у каждого выбора указано, куда он ведёт.

> Проверь диалог первой встречи с Утонувшей Архивисткой на битые переходы и недостижимые реплики, исправь найденное, затем дай мне файл Yarn Spinner.

Вызываемые инструменты: `search_documents`, `check_dialogue`, `edit_document`

## Вопросы

### Можно ли экспортировать диалог в Yarn Spinner?

Да. Кнопка «Файл Yarn» у каждого диалога скачивает скрипт Yarn Spinner 2: один узел на реплику, выборы как опции, переходы между узлами и первая реплика с тегом start. Агент получает тот же скрипт из check_dialogue с format yarn.

### Можно ли импортировать файлы Yarn, Ink или Twine?

Нет. Диалоги пишутся в Nodary, а Yarn Spinner работает только на экспорт. Агент, подключённый через MCP, может превратить вставленный вами сценарий в блок диалога, где каждый выбор указывает на свою реплику.

### Поддерживает ли Nodary условия и переменные в диалогах?

Не как логику. Условие можно вписать в текст выбора, например [Маяк 3-го уровня или выше], и его увидит каждый, кто читает диалог, но Nodary не хранит переменных и никогда не скрывает выбор. Настоящие условия добавьте в вашу систему диалогов после экспорта.

### Находит ли он тупики в ветвящемся диалоге?

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

### Можно ли писать сценарий в Fountain?

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

### Какой длины может быть диалог?

До 300 реплик, у каждой до 8 выборов. Более длинный разговор делится на несколько блоков диалога, и переход не может вести из одного блока в другой.

## Читать дальше

- [Локализация игр](https://nodary.ai/ru/game-localization): Таблицы перевода со статусом каждого перевода, проверкой длины и плейсхолдеров и экспортом для Unity, Unreal и Godot.
- [Геймдизайн-документы](https://nodary.ai/ru/game-design-document): Пишите геймдизайн-документ связанными страницами, которые ваша команда и ИИ-агенты держат в актуальном состоянии.
- [Продакшен игры](https://nodary.ai/ru/game-production): Исполнители, рецензии и блокеры на каждом документе, живые доски и хронологии и диаграмма выполнения, которая показывает, успеет ли веха.

## Пишите следующий разговор там, где живёт история.

Начните бесплатно, наберите / и выберите «Диалог» или начните с шаблона Quest Dialogue. Без карты, без установки. Бесплатно для двух участников и десяти документов. Без карты.

Страница: https://nodary.ai/ru/game-dialogue
