Техническое написание сценариев и диалоговых древ для игр

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

От иммерсивных приложений до игровых миров и 3D-сцен

Наша выделенная команда для VR/AR/MR-разработки, Unity-продакшна и 3D-моделирования и анимации с собственными кейсами и презентациями.

Посетить персонализированный сайт
Показано 1 из 1Все 242 услуг
Техническое написание сценариев и диалоговых древ для игр
Сложный
от 1 недели до 2 месяцев
Часто задаваемые вопросы

Наши компетенции

Какие этапы разработки игры?

Последние работы

  • image_games_mortal_motors_495_0.webp
    Разработка игры для компании Mortal Motors
    1434
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    972
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    586
  • image_games_phoenix_ii_606_0.webp
    3D-анимация — тизер для игры phoenix 2.
    651
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Обучающая викторина для детей «Покупки в магазине»
    13

Мы пишем сценарии и диалоговые деревья для игр — не киносценарии с пробелами под реплики. Это технический документ с состояниями, условиями и ветвлениями, который одновременно читает нарратив-дизайнер и парсит движок диалогов. В типичной инди-студии нарратив-дизайнер пишет текст в гуглодоке, программист переносит в код с флагами — и после 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 с включёнными логами
Тестирование Полный проход всех ветвей, отчёт об ошибках и исправления

Процесс работы: этапы

  1. Нарративный документ — описание персонажей, мотиваций, ключевых точек.
  2. Структура узлов в инструменте (Yarn Spinner Visual Editor или Articy:Draft).
  3. Черновик диалога — текст реплик и вариантов ответов.
  4. Техническое ревью на выполнимость условий и actions.
  5. Правки и финальный текст.
  6. Тестирование всех ветвей вручную с логами (выявление мёртвых веток и узлов без выхода).

Типичные ошибки и как их избежать

  • Отсутствие 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 дня.

Проектирование механик: с чего начинается отзывчивое управление

Прежде чем говорить о геймдизайне, зафиксируем разграничение: геймдизайн — это не «придумать идею». Придумать может любой. Задача — спроектировать систему правил, которая производит конкретный эмоциональный и поведенческий результат. Это инженерная дисциплина, только вместо компилятора — человеческий мозг.

Первая боль: вам кажется, что управление «дубовое», а почему — непонятно. Чаще всего проблема не в коде, а в отсутствии coyote time и jump buffering. Или в линейном ускорении, которое не даёт ощущения веса. Мы это чиним на этапе прототипа.

Какие услуги геймдизайна мы предлагаем

Полный цикл: от концепта до выверенного билда. Под ключ — вы получаете геймдизайн-документ (GDD), таблицы баланса, прототип ключевых механик на Unity/Unreal, и сопровождение вплоть до релиза.

Что входит в работу:

  • Документация: GDD, спецификации механик, нарративные деревья, API для разработчиков
  • Таблицы баланса: прогрессия, экономика, DPS-калькуляторы
  • Прототипы: интерактивные сцены с core loop (движение, бой, инвентарь)
  • Конфигурация в движке: ScriptableObject, DataTable, анимационные событий
  • Проведение плейтестов и итераций по метрикам (удержание, монетизация, retention)

Оцените ваш проект — свяжитесь для расчёта сроков. Подход основан на методологии MDA и опыте 50+ реализованных проектов с 2012 года.

Как проектировать боевую систему: глубокий разбор

Боевая система — самая дорогая ошибка: на первый взгляд простая, на деле — ад из edge cases. Разберём melee combat.

1. Выбор метода hit detection

Hitbox — коллайдеры на оружии. Просто, но при быстрых атаках возникает tunneling: оружие пролетает сквозь противника за кадр. Решение — Physics.CCD (Continuous Collision Detection), но это дорого. Raycast/spherecast — кастуем лучи вдоль траектории оружия. Точнее, меньше зависит от fps. Мы предпочитаем spherecast для action-игр. Подробнее о методах — в Wikipedia.

2. Настройка окон атаки

Каждая атака — три фазы: Startup, Active, Recovery. Длинный startup создаёт «тяжёлые» удары. Короткий recovery даёт агрессивный стиль. В Unity аниматор кидает событие через AnimationEvent, код включает/выключает hitbox. Типичные тайминги для рукопашного боя: startup 200–400 мс, active 100–150 мс, recovery 300–500 мс.

3. Построение state machine

Персонаж — конечный автомат. Базовые состояния: Idle, Moving, Jumping, Attacking, Hurt, Dead. Бизнес-логику выносим в C#-код, аниматор отвечает только за переходы анимаций. Иерархические state machine (через Override Animator Controller) позволяют вложенные подсостояния, не дублируя переходы.

Почему математическая модель экономики критична?

Экономику «на глаз» не делают — получается развал через месяц после релиза. Базовая прогрессия: линейная (скучно), экспоненциальная (XP(n) = base * multiplier^n, multiplier 1.5–2.0), полиномиальная (a * n^b, b 1.5–2.5). Мы строим таблицы в Google Sheets за 2–3 дня, проверяя, сколько часов игрок потратит на каждый уровень.

Потоки валют

Принцип: каждая валюта — явный источник (tap) и сток (sink). Пример двухвалютной системы:

Мягкая валюта (золото) Твёрдая валюта (кристаллы)
Источник Квесты, враги, ежедневные награды Покупка, редкие достижения
Сток Расходники, улучшения, здания Пропуск времени, редкие предметы
Конвертация → кристаллы: нет → золото: да (однонаправленно)

Однонаправленная конвертация защищает монетизацию. Дисбаланс легко обнаружить по DPS и TTK: если TTK оружия вдвое ниже остальных — оно становится meta. Мы выявляем это на этапе прототипа, сокращая последующие правки на 40%.

Нарратив и левел-дизайн: как обучать без текста

Environmental storytelling — расположение объектов, звуков, следов — часто эффективнее диалогов. Для диалогов используем Ink (интеграция с Unity). Ink-скрипты читает нарративный дизайнер без программиста. Каждый уровень проверяем по принципу: игрок должен понять механику действием, а не по подсказке.

Инструменты в процессе

Задача Инструмент
GDD Notion, Confluence
Баланс Google Sheets (формулы, сводные)
Прототипы Unity 2022 LTS, Godot 4
State machine Miro, draw.io
Нарратив Ink, Twine
Конфиги ScriptableObject (Unity)
Аналитика Firebase, GameAnalytics

Итерация и плейтестинг: 2-недельный цикл

Первый прототип всегда неудобен — это норма. Наш цикл: плейтест каждые 2 недели. После — список изменений с числами: «startup 400 мс → 250 мс». Мнения без цифр не принимаются. Фиксируем ощущения, меняем цифры, повторяем.

Свяжитесь для консультации — мы оценим сроки и бюджет вашего проекта. Наши заказчики экономят от 2 до 3 недель на итерациях за счёт чёткого процесса.