Мы пишем сценарии и диалоговые деревья для игр — не киносценарии с пробелами под реплики. Это технический документ с состояниями, условиями и ветвлениями, который одновременно читает нарратив-дизайнер и парсит движок диалогов. В типичной инди-студии нарратив-дизайнер пишет текст в гуглодоке, программист переносит в код с флагами — и после 10 ветвей логика ломается. Мы решаем эту проблему, создавая сценарии под ключ: от нарративного документа до протестированного диалогового древа в Unity или Unreal Engine. Опыт — 8 лет в геймдеве, 20+ проектов с диалоговыми системами. Гарантируем логическую целостность ветвлений.
Как устроено диалоговое древо?
Диалоговое древо — это ориентированный граф, где один узел может иметь несколько входящих связей. Каждый DialogueNode хранит speaker ID, текст реплики, список исходящих рёбер (DialogueEdge[]), опциональные условия входа и actions (триггеры игрового мира). Условия проверяют игровое состояние: QuestFlag("rescued_merchant") == true, PlayerLevel >= 5, Reputation("thieves_guild") > 30. Если ни одно условие не выполнено — ветка скрыта или заменяется fallback-репликой. Actions воздействуют на мир: выдать квест, добавить предмет, изменить репутацию. Это разделение на conditions и actions — основа любой нарративной системы, будь то Yarn Spinner, Ink или кастомный редактор.
Какой инструмент выбрать: Yarn Spinner или Ink?
Yarn Spinner — текстовый формат с синтаксисом, близким к Twine. Условия пишутся прямо в скрипте: <<if $player_level >= 5>>. Команды: <<jump NodeName>>, <<set $flag = true>>. Он прост в освоении: новичок разберётся за день. Отлично подходит для линейных диалогов с ветвлениями. Подробнее об инструменте можно узнать в Yarn Spinner.
Ink — более мощный язык с концепцией knots и diverts, поддержкой счётчиков посещений (visited, visit_count) и weave-структурой для параллельных нарративных потоков. Используется в Disco Elysium, 80 Days, Heaven's Vault. Ink обрабатывает сложные нарративы в 2 раза быстрее, чем кастомные C#-системы, но требует больше времени на освоение (около недели).
Для 200 строк диалога в action-RPG достаточно Yarn Spinner; для нарративной игры с 100k+ слов и ветвящейся историей — Ink. Мы помогаем выбрать правильный инструмент под ваш проект.
Как писать реплики, которые не ломаются технически?
Каждая реплика должна работать без предыдущего контекста. Проверка: прочитать реплику в изоляции — если непонятно, о чём речь, нужен fallback-контекст. Варианты ответов не должны быть пустыми: «Да», «Нет», «Расскажи больше» — плохие варианты. Вместо них используйте «Я уже слышал об этом», «Продолжай, мне интересно», «Некогда — что нужно?». Эти варианты передают характер персонажа.
Локализационные метки: каждая строка получает уникальный ID вроде NPC_MERCHANT_GREETING_01, а не порядковый номер. Так переводчик видит контекст в ID. Это стандарт при работе с LocalizationTable в Unity.
Как диалоги встраиваются в квесты?
Один NPC может иметь разные реплики в зависимости от QuestState: NotStarted, InProgress, ObjectiveComplete, Turned In, Failed. Минимум 5 версий диалогового древа на квест, или одно древо с условными ветвями. Типичная ошибка: забыть про Turned In — игрок после сдачи квеста слышит выдачу задания повторно. Мы проверяем все состояния и добавляем fallback-реплики. Экономия на правках — до 40% времени QA.
Что входит в работу?
| Deliverable | Описание |
|---|---|
| Нарративный документ | Описание персонажей, структуры квестов, ключевых реплик |
| Диалоговые скрипты | Готовые файлы в формате Yarn Spinner или Ink, совместимые с вашим проектом |
| Локализационные таблицы | CSV/JSON с уникальными ID строк для переводчиков |
| Интеграция в движок | Проверка работы в редакторе Unity/Unreal с включёнными логами |
| Тестирование | Полный проход всех ветвей, отчёт об ошибках и исправления |
Процесс работы: этапы
- Нарративный документ — описание персонажей, мотиваций, ключевых точек.
- Структура узлов в инструменте (Yarn Spinner Visual Editor или Articy:Draft).
- Черновик диалога — текст реплик и вариантов ответов.
- Техническое ревью на выполнимость условий и actions.
- Правки и финальный текст.
- Тестирование всех ветвей вручную с логами (выявление мёртвых веток и узлов без выхода).
Типичные ошибки и как их избежать
- Отсутствие fallback-реплик при невыполненных условиях — игрок видит пустые ветки.
- Использование порядковых номеров строк вместо осмысленных ID — путаница при локализации.
- Слишком длинные «ветки-однодневки», не подумав о возвращении NPC в исходное состояние.
- Игнорирование состояний квеста — забывают про Turned In.
Например, в проекте с 10 квестами и 2000 строк диалога мы находим до 15 мёртвых веток и 8 узлов без выхода. Наше тестирование устраняет их до передачи в продакшен.
Как происходит оценка проекта?
Мы анализируем нарративную структуру, количество персонажей, ветвлений и целевой движок. Оценка занимает 1 день. Результат — точные сроки и стоимость, рассчитанная индивидуально. Экономия на тестировании за счёт тщательного логического анализа составляет до 40%.
Ориентировочные сроки
| Масштаб | Объём | Срок |
|---|---|---|
| Малый | 1–3 квеста, ~500 строк диалога | 1–2 недели |
| Средний | Основной сюжет + побочки, ~3000–5000 строк | 1–2 месяца |
| Крупный | Полная нарративная система, 20k+ строк | 3–6 месяцев |
Мы имеем 8+ лет опыта в геймдеве и 20+ реализованных проектов. Гарантируем логическую целостность диалогов. Свяжитесь с нами для бесплатной оценки вашего проекта. Получите прототип диалогового древа уже через 2 дня.






