Original size 914x1280

NodeTale

PROTECT STATUS: not protected
The project is taking part in the competition

NodeTale это Unity-плагин для быстрого создания ветвящихся диалогов и сюжетных сцен без ручной сборки логики в коде.

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

big
Original size 1280x853

NodeTale

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

Целевая аудитория — инди-разработчики, геймджем-команды, нарративные дизайнеры и Unity-команды, которым нужен понятный инструмент для создания интерактивных диалогов.

big
Original size 1280x853

NodeTale

Loading...

Архитектура решения

Проект оформлен как Unity UPM-пакет, который можно подключить к любому Unity  6.x проекту как локальный или embedded package.

Структура разделена на несколько ключевых частей:

Runtime  — ядро плагина. Здесь находятся сериализуемая модель данных диалогов, NPC, реплик, выборов, условий, переменных и связей между узлами. Также реализован DialoguePlayer  — runtime-компонент для прохождения диалога, выбора веток и проверки условий.

Используемые технологии

Основная технология — Unity  6.x и C#. Для визуального графового редактора используется UnityEditor.Experimental.GraphView, а интерфейс редактора построен на UI  Toolkit. Данные диалогов хранятся в ScriptableObject, что делает их нативными Unity-ассетами и удобными для сохранения, версионирования и использования в игре.

Плагин поддерживает CSV/TSV-импорт и экспорт для работы с локализацией через Google Sheets или похожие таблицы. Для проверки поведения используются Unity Test Runner и EditMode-тесты.

Original size 1280x600

Scene node

Архитектура сделана расширяемой: игровая логика не зашита внутрь плагина. Проекты могут подключать собственные исполнители функций, сцен, условий и внешних ссылок через интерфейсы. Благодаря этому NodeTale остается универсальным редактором диалогов, а конкретная игра сама решает, как именно выполнять игровые события.

Original size 1491x728

Function node

Editor  — визуальный редактор внутри Unity. В этой части находятся окна редактора, графовая поверхность, инспекторы узлов, предпросмотр диалога, импорт/экспорт локализации, autosave, диагностика связей и настройки интерфейса.

Samples~ — демонстрационный пример, который создает готовую базу диалогов с NPC, ветвлениями, условиями и комментариями.

Tests/Editor  — EditMode-тесты, проверяющие поведение runtime-логики, графа, предпросмотра, локализации, autosave и редакторских сценариев.

История разработки

Разработка NodeTale началась с MVP: был создан Unity UPM-пакет, базовая модель данных на ScriptableObject, графовый редактор, узлы реплик, варианты ответа, связи и простой предпросмотр диалога.

После этого основной фокус сместился на удобство редактора. Были доработаны создание и перемещение узлов, удаление, сохранение, autosave, предпросмотр и поддержка Unity Undo/Redo. На этом этапе главной проблемой была стабильность графа: связи между узлами, выделение, удаление и отмена действий должны были работать предсказуемо.

Следующая итерация добавила инструменты для реального нарративного пайплайна: условия, переменные, комментарии, диагностику ошибок в ветвлениях и систему speaker-ов. Это решало проблему сложных диалогов, где автору важно видеть ошибки до запуска игры.

0

История общения с агентом Codex

Отдельным этапом стала локализация. Были добавлены импорт и экспорт CSV/TSV для работы с таблицами. Основная сложность была в повторном импорте: нужно было обновлять текст, но не ломать уже собранный граф. Для этого использованы стабильные ключи локализации.

Затем появилась архитектура для production-интеграции: executable nodes, voice keys и расширяемые интерфейсы для условий, переменных, сцен и функций. Главная проблема здесь была в разделении ответственности: плагин должен оставаться универсальным, а логика конкретной игры, аудио, боев и сцен должна подключаться через project-side адаптеры.

Финальные итерации были посвящены polish и стабильности: rich text, палитра цветов, WASD-навигация по графу, горячие клавиши, русско-английский интерфейс, sample-контент, тесты и документация.

0

Agent.md и Readme.md проекта

Оценка вклада

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

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

Original size 1280x600

Debug node

NodeTale
Project created at 26.04.2026
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more