Документация Nyxtale

Платформа NyxtaleСтруктура истории

Сцены и главы

story-project.json поверх неизменного scene.json: из чего собирается история.

Сцена — один файл .nsx и один граф узлов. Пока история помещается в сцену, больше знать нечего. Дальше появляются два уровня над ней.

история
└── глава            ← то, что читатель открывает и закрывает
    └── сцена        ← один .nsx, один граф
        └── узлы     ← реплики, выборы, эффекты

Сцена

У сцены три вещи: вечный идентификатор, имя и текст.

Идентификатор выдаётся один раз и не меняется никогда — на него ссылаются сохранения читателей, аналитика, отчёты проверки. Имя — это то, чем сцену зовут в тексте: -> forest_night ищет сцену по имени. Имя можно переименовать, идентификатор нельзя.

Отсюда правило: имена сцен уникальны на всю историю, а не внутри главы. Переход -> forest_night не спрашивает, в какой вы главе, — он должен приводить в одно место всегда.

Глава

Глава — единица, которую читатель начинает и заканчивает: она появляется в списке, у неё есть заголовок и краткое описание, по ней считается прогресс.

Заголовок и описание переводятся вместе с историей: на двух языках оглавление выходит на обоих.

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

Проект истории

Над главами — файл проекта: идентификатор истории, версия языка, точка входа, список глав, метаданные для каталога, ориентация экрана, диалект.

Точка входа — сцена, с которой начинается свежее прохождение. Она называется явно, а не берётся первой по списку: порядок глав можно переставить, точка входа при этом не поедет.

Файл проекта лежит поверх формата сцены и ничего в нём не меняет: сцена компилируется в тот же scene.json, приложение читает её тем же интерпретатором.

Чего в главе нет

В главе нет ни одного выведенного числа: ни длительности чтения, ни количества выборов, ни количества концовок. Они считаются из рукописи — метрики главы.

Число, которое можно вписать руками, рано или поздно разойдётся с текстом, и читатель, открывший «сорок минут», получит десять.

Что дальше