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

Nightfall StoriesМеханики

Расследование

Улики, версии, допрос: как собрать дело, которое можно провалить.

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

Три слоя

Улики — то, что читатель собрал. @clue_add кладёт улику в набор; @examine открывает точку осмотра, за которой она может обнаружиться.

Версия — то, что читатель из улик составил. @board_link связывает две улики на доске: это и есть момент, когда факты превращаются в гипотезу.

Обвинение@accuse. Момент, когда версия становится действием.

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

Дело, которое можно провалить

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

Гораздо сильнее, когда неполная версия ведёт к другой концовке, а не к худшей. Читатель, обвинивший не того, получает историю, в которой виновен не тот, — со своей развязкой, своей ценой и своей правдой, которую он узнаёт слишком поздно.

Технически это ровно то же ветвление: набор улик — флаг типа set, обвинение — @if по его содержимому. Разница только в том, как написаны исходы.

@set clues = 0
@clue_add "letter"
@if clues -> knows_about_letter
-> unaware
движок принял brancheffectsetjump×2

Допрос

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

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

Отсюда практическое правило: каждая ложь должна иметь улику-опровержение где-то в истории. Если опровержения нет, ложь превращается в шум.

Шифры и замки

@cipher — головоломка как гейт. Работает, когда решение лежит в тексте, а не в изобретательности: код на бумажке, дата на надгробии, порядок из считалки.

Загадка, требующая сообразительности, — риск. Часть читателей застрянет, а история встанет, и в хорроре это особенно обидно: напряжение уходит, пока человек подбирает цифры.

Если гейт всё-таки нужен, оставьте обходной путь: медленнее, дороже, хуже — но проходимо.

Карта

@map_move — перемещение по локациям. Хорошо работает как петля с накоплением: читатель ходит по местам, каждое посещение что-то добавляет, и в какой-то момент набранного хватает, чтобы двинуться дальше.

Осторожно с ловушкой-циклом: если из круга локаций не ведёт ни одна дорога наружу при текущих флагах, это ошибка, а не свободное перемещение.

Практика

Улик меньше, чем кажется нужным. Семь запоминаемых лучше двадцати, из которых читатель помнит три.

Каждая улика должна быть слышна в тексте. Не «получена улика: письмо», а сцена, в которой письмо прочитано.

Проверьте достижимость всех обвинений. Обвинение, до которого нельзя дойти, — недостижимая концовка, и находится она бот-обходом.

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

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

  • @accuse Обвинение/дедукция по собранному
  • @board_link Связать улики на доске расследования
  • @cipher Шифр/головоломка/замок как гейт
  • @clue_add Добавить улику/доказательство
  • @examine Осмотр точки интереса (hotspot)
  • @interrogate Допрос с детекцией лжи/правды
  • @map_move Переход по локации на карте