Nightfall StoriesРемесло
Текст на экране
Кегль, дыхание, скорость, голос строки и мысль персонажа: как читается сама реплика.
Реплика — единственное, что есть в истории всегда. Фон может не загрузиться, музыки может не быть, персонажа может не быть на сцене; строка будет. Поэтому как она появляется, каким кеглем, с какой скоростью и с каким дыханием между строками — это не украшение, а сама читаемость.
Директивы этой страницы делятся на две группы, и путать их дорого:
- держатся до следующей смены:
@textsize,@lineheight,@textspeed,@font,@autoadvance; - одевают следующую реплику и одну её:
@whisper,@shout,@instant,@stagger,@text_shake,@text_corrupt,@text_fade,@text_erase.
Директива из второй группы, под которой нет реплики, не делает ничего — одевать нечего.
Кегль и дыхание
@textsize <1..6> задаёт размер, @lineheight <0.5..3> — расстояние между строками. Оба держатся,
пока их не сменят, и оба — про режим чтения, а не про эмоцию: длинный внутренний монолог просит
воздуха, протокол допроса — плотности.
@textsize 4
@lineheight 1.6
narrator: Он писал это письмо четыре ночи и не отправил ни одного.
@textsize 3
@lineheight 1.0
narrator: ПРОТОКОЛ 14-Б. Опрошенный отвечал односложно.
Читатель может увеличить шрифт в своих настройках — ваш уровень складывается с его выбором, а не отменяет его. Поэтому не стройте смысл на том, что строка «мелкая»: у кого-то она будет крупной.
Скорость и подача
@textspeed <знаков в секунду> — скорость набора. Обычное чтение 30–60, медленное 10. Держится.
@instant — следующая реплика появляется целиком, без набора. Это удар: строка уже здесь, читатель
не успел её ждать.
@stagger <мс между словами> — противоположность: слова проступают по одному. Речь, которая даётся
говорящему тяжело.
@textspeed 20
narrator: Он подбирал слова.
@stagger 400
Марк: Я. Не. Заходил. Туда.
@instant
narrator: Свет погас.
Голос строки
@whisper делает следующую реплику мелкой и приглушённой, @shout — крупной и жёсткой. Это вес,
а не громкость: шёпот на весь экран так же неверен, как крик петитом.
@font <serif|mono|sans> меняет гарнитуру и держится: serif — чтение, mono — терминал, документ,
машинописный лист, sans — интерфейс, вывеска, экран телефона. Гарнитура сообщает носитель, и
работает она только пока остаётся исключением: история целиком в mono — это просто другая история
в другом шрифте.
Мысль персонажа
@thought <кто> "<мысль>" — то, что персонаж думает и не говорит. Мысль обязательно в кавычках,
иначе она кончится на первом пробеле.
Пузырь встаёт с той стороны, где персонажа нет: персонаж слева — пузырь справа, справа — слева, в центре — сверху. Пока мысль на экране, панель диалога уходит в тень: читается что-то одно — сначала реплика, потом мысль.
@sprite marina left
Марина: Конечно, я тебе верю.
@thought marina "Ни одному слову." tone cold
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Шёпот — мелкий тусклый текст