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

Nightfall StoriesРемесло

Слом четвёртой стены

Прямое обращение, поддельный сбой, уведомление, терминал, ARG-код — и цена каждого.

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

Есть и цена, которую надо назвать сразу: часть читателей решит, что приложение сломалось. Это не гипотеза, это то, что происходит. Поэтому у каждого приёма ниже есть условие, при котором он остаётся приёмом.

Прямое обращение

@meta_break — история обращается к читателю. Не к персонажу, не к «вам» внутри вымысла, а к человеку с телефоном в руках.

@meta_break
narrator: Ты ведь уже читал это однажды.
движок принял lineeffect

Условие: один раз. Сделанное дважды это перестаёт быть событием и становится манерой — а манера не пугает, она утомляет.

История знает про вас

@persona <name|time|device|date> подставляет в текст данные читателя: имя, текущее время, устройство, дату.

@persona time
narrator: Сейчас ровно столько. Посмотри сам.
движок принял lineeffect

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

Второй раз приём не работает вовсе: читатель уже понял, откуда цифра.

Сегодня это пометка, а не подстановка. Директива объявляет поле, но приложение пока ничего не подставляет — читатель увидит вашу строку как есть. Пишите её так, чтобы она работала и без подстановки, и не стройте на ней бит, который должен ударить.

Поддельный сбой

@fake_crash — имитация падения приложения. Самый сильный и самый опасный из всех.

Условия сразу три:

Сегодня этот приём не нарисован. Директива есть в языке, история с ней валидна, но экран не меняется — «Проверить историю» скажет вам об этом отдельной строкой. Когда он появится, он будет мигать и подчиняться общим ограничениям по фоточувствительности (интенсивность); писать сцену стоит уже сейчас так, чтобы она читалась и без него.

Уведомление не из истории

@notify "<текст>" — поддельное системное уведомление: плашка, которая выглядит так, будто пришла не из истории.

@notify "Кто-то вошёл в аккаунт"
narrator: Он не поднял глаз от экрана.
движок принял lineeffect

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

Несколько уведомлений подряд читатель увидит по очереди, в том порядке, как они написаны, а не стопкой друг на друге.

Терминал

@terminal переводит экран в вид консоли: текст выходит как вывод терминала. В отличие от @font mono, который меняет только гарнитуру, это меняет всю поверхность — читатель смотрит не на страницу, а на систему.

Терминал хорошо держит длинные куски: протокол, лог, переписку с чем-то, что отвечает не по-человечески.

Код наружу

@arg_code <КОД> — код внешней загадки: строка, которую читатель ищет за пределами истории (на сайте, в описании, в чужом посте).

Сам по себе он ничего не закрывает — гейт вы строите условием на флаге.

@arg_code SEVEN_DOORS
narrator: На обороте снимка было семь букв.
движок принял lineeffect

Условие: код должен вести куда-то, что существует на момент, когда читатель его найдёт. Обещание, за которым ничего нет, читается как недоделанная история, а не как загадка.

Практика

Один приём на историю. Не один на главу — один на историю. Все они питаются от одного и того же: от того, что этого не бывает.

Готовьте почву. Слом стены работает, если до него полчаса было честное повествование. Без разгона это просто странная строка.

Скажите читателю, что всё в порядке, — потом. После @fake_crash и @notify следующая же реплика должна вернуть его в историю. Пауза здесь читается как «оно и правда сломалось».

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

Директивы этой темы

Собрано из реестра движка: каждая директива этих категорий ведёт сюда из справочника.

  • @arg_code ARG-код: внешняя загадка/гейт
  • @fake_crash Поддельный краш
  • @meta_break Слом 4-й стены
  • @notify Поддельное системное уведомление
  • @persona Персонализация: имя/время/устройство/дата
  • @terminal Диегетический терминал/консольный ввод