Платформа NyxtaleСтруктура истории
Сцены и главы
story-project.json поверх неизменного scene.json: из чего собирается история.
Сцена — один файл .nsx и один граф узлов. Пока история помещается в сцену, больше знать нечего.
Дальше появляются два уровня над ней.
история
└── глава ← то, что читатель открывает и закрывает
└── сцена ← один .nsx, один граф
└── узлы ← реплики, выборы, эффектыСцена
У сцены три вещи: вечный идентификатор, имя и текст.
Идентификатор выдаётся один раз и не меняется никогда — на него ссылаются сохранения читателей,
аналитика, отчёты проверки. Имя — это то, чем сцену зовут в тексте: -> forest_night ищет сцену по
имени. Имя можно переименовать, идентификатор нельзя.
Отсюда правило: имена сцен уникальны на всю историю, а не внутри главы. Переход -> forest_night
не спрашивает, в какой вы главе, — он должен приводить в одно место всегда.
Глава
Глава — единица, которую читатель начинает и заканчивает: она появляется в списке, у неё есть заголовок и краткое описание, по ней считается прогресс.
Заголовок и описание переводятся вместе с историей: на двух языках оглавление выходит на обоих.
У главы есть личные заметки автора. Они не публикуются и не попадают ни на одну поверхность для читателя — это ваш рабочий текст, длина не ограничена.
Проект истории
Над главами — файл проекта: идентификатор истории, версия языка, точка входа, список глав, метаданные для каталога, ориентация экрана, диалект.
Точка входа — сцена, с которой начинается свежее прохождение. Она называется явно, а не берётся первой по списку: порядок глав можно переставить, точка входа при этом не поедет.
Файл проекта лежит поверх формата сцены и ничего в нём не меняет: сцена компилируется в тот же
scene.json, приложение читает её тем же интерпретатором.
Чего в главе нет
В главе нет ни одного выведенного числа: ни длительности чтения, ни количества выборов, ни количества концовок. Они считаются из рукописи — метрики главы.
Число, которое можно вписать руками, рано или поздно разойдётся с текстом, и читатель, открывший «сорок минут», получит десять.
Что дальше
- Переходы между сценами — как сцены связываются и почему граф проверяется целиком.
- Метрики главы — что считает движок и почему это его работа.