Платформа NyxtaleСтруктура истории
Переходы между сценами
scene_transition, известные сцены и почему граф проверяется целиком.
Внутри сцены переход -> label идёт к метке. Если такого имени в сцене нет, движок ищет сцену с
этим именем — и переход становится переходом между сценами.
narrator: За поворотом коридор кончался дверью.
-> basement
Синтаксис перехода один и тот же в обоих случаях, поэтому при разбиении сцены на файлы переходы переписывать не нужно.
Что происходит на границе
| Переезжает | Не переезжает |
|---|---|
| флаги | фон |
| зерно случайности (детерминизм) | петля звука |
| прогресс главы | активные эффекты |
Новая сцена начинается с чистого кадра, поэтому сцена читается одинаково независимо от того, откуда в неё пришли. Ставьте обстановку первыми строками:
@scene basement
@bg basement_dark
@ambient drip loop
narrator: Внизу пахло мокрым камнем.
Известные сцены
Компилятор видит один файл, поэтому -> basement при компиляции отдельной сцены он не проверяет.
Проверяет сборка истории: ей известен полный список имён, и ссылка в никуда даёт NSX_BROKEN_REF —
как и битая метка внутри сцены.
Граф проверяется целиком
Достижимость считается по всей истории, а не по каждому файлу отдельно. Сцена, в которую не ведёт ни один переход из всей истории, недостижима — даже если внутри себя она безупречна.
Иначе проверка была бы бесполезной именно там, где нужнее всего. Разбиение на файлы происходит, когда история выросла; а именно в выросшей истории и заводятся забытые сцены, оставшиеся от переписанной третьей главы.
По той же причине концовки считаются на всю историю. «Найдено 12 из 17» — это про историю, а не про файл.
Как делить
Делите по месту и времени, а не по объёму. Сцена — это эпизод: одна локация, один разговор, один отрезок ночи. Файл, разрезанный посередине сцены ради размера, читается хуже целого.
Точка возврата — хороший шов. Если несколько веток сходятся в одно место, это место просится отдельной сценой: тогда её обстановка ставится один раз, а не в конце каждой ветки.
Не делайте сцену ради одного узла. Переход между сценами — это граница, на которой сбрасывается кадр. Сцена из трёх строк заставляет читателя пережить эту границу ради ничего.
Что дальше
- Метрики главы — как считается длина того, что получилось.
- Бот-обход — проход по всем путям, включая межсценовые.