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

Nightfall StoriesРемесло

Текст на экране

Кегль, дыхание, скорость, голос строки и мысль персонажа: как читается сама реплика.

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

Директивы этой страницы делятся на две группы, и путать их дорого:

Директива из второй группы, под которой нет реплики, не делает ничего — одевать нечего.

Кегль и дыхание

@textsize <1..6> задаёт размер, @lineheight <0.5..3> — расстояние между строками. Оба держатся, пока их не сменят, и оба — про режим чтения, а не про эмоцию: длинный внутренний монолог просит воздуха, протокол допроса — плотности.

@textsize 4
@lineheight 1.6
narrator: Он писал это письмо четыре ночи и не отправил ни одного.

@textsize 3
@lineheight 1.0
narrator: ПРОТОКОЛ 14-Б. Опрошенный отвечал односложно.
движок принял line×2effect×4

Читатель может увеличить шрифт в своих настройках — ваш уровень складывается с его выбором, а не отменяет его. Поэтому не стройте смысл на том, что строка «мелкая»: у кого-то она будет крупной.

Скорость и подача

@textspeed <знаков в секунду> — скорость набора. Обычное чтение 30–60, медленное 10. Держится.

@instant — следующая реплика появляется целиком, без набора. Это удар: строка уже здесь, читатель не успел её ждать.

@stagger <мс между словами> — противоположность: слова проступают по одному. Речь, которая даётся говорящему тяжело.

@textspeed 20
narrator: Он подбирал слова.
@stagger 400
Марк: Я. Не. Заходил. Туда.
@instant
narrator: Свет погас.
движок принял line×3effect×3

Голос строки

@whisper делает следующую реплику мелкой и приглушённой, @shout — крупной и жёсткой. Это вес, а не громкость: шёпот на весь экран так же неверен, как крик петитом.

@font <serif|mono|sans> меняет гарнитуру и держится: serif — чтение, mono — терминал, документ, машинописный лист, sans — интерфейс, вывеска, экран телефона. Гарнитура сообщает носитель, и работает она только пока остаётся исключением: история целиком в mono — это просто другая история в другом шрифте.

Мысль персонажа

@thought <кто> "<мысль>" — то, что персонаж думает и не говорит. Мысль обязательно в кавычках, иначе она кончится на первом пробеле.

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

@sprite marina left
Марина: Конечно, я тебе верю.
@thought marina "Ни одному слову." tone cold
движок принял effect×2line

tone берёт цвет из палитры вашей истории, поэтому cold в двух разных историях — два разных холодных.

Испорченная строка

@text_shake, @text_corrupt, @text_fade in|out, @text_erase — четыре способа сказать, что со строкой что-то не так: она дрожит, буквы подменяются, она проступает или растворяется, она стирает себя после прочтения.

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

@redact включает вымарывание для следующих строк, @unredact снимает. Вымаранная строка сообщает больше написанной — читатель видит, что здесь что-то было. @unredact без предшествующего @redact не делает ничего.

Кто держит темп

@autoadvance on переводит чтение в самоход: строки сменяются сами, читатель не нажимает. Это забирает темп из его рук, поэтому включайте на короткий отрезок и выключайте явно@autoadvance off. Сцена, оставленная в самоходе до конца главы, читается как потеря управления, а не как приём.

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

Практика

Один слой за раз. Строка, которая одновременно дрожит, портится и шепчет, читается как сбой интерфейса, а не как испуг.

Возвращайте норму. Всё, что «держится», держится и через три сцены. Сменили кегль ради монолога — верните его после.

Не делайте текст нечитаемым ради приёма. @text_corrupt 1.0 — это не строка, а шум; смысл пропадает вместе с буквами. Порог, за которым читатель перестаёт разбирать слова, наступает сильно раньше единицы.

Проверьте на своём телефоне. Кегль, дыхание и скорость выглядят иначе на экране, который держат в руке, чем в предпросмотре на большом мониторе.

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

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

  • @autoadvance Авто-адванс vs тап — темп чтения
  • @font Смена гарнитуры (serif/mono/sans)
  • @instant Мгновенный вывод реплики
  • @lineheight Межстрочный ритм (дыхание строк)
  • @redact Редакция: [ДАННЫЕ УДАЛЕНЫ]
  • @shout Крик — крупный резкий текст
  • @stagger Стаггер: слова проступают по одному
  • @text_corrupt Порча текста — буквы искажаются
  • @text_erase Самостирающийся текст
  • @text_fade Проявление/растворение строки
  • @text_shake Дрожь текста — нестабильная реплика
  • @textsize Размер текста — уровень 1–6
  • @textspeed Скорость печати текста
  • @thought Мысль персонажа — бабл рядом с ним
  • @unredact Снять редакцию — раскрыть скрытый текст
  • @whisper Шёпот — мелкий тусклый текст