Статус: Draft


Как сделать «Сосудов» запоминающимися персонажами, а не сменными пилотами. Дёшево по производству, высоко по эмоциональной отдаче. Это презентационный слой, генерируемый из сида — НЕ система механик. Опирается на сид-детерминизм из Тех: 3. Рандомизация, дисциплину RunState из Тех: 7. Флоу забега и локализацию из 0.4. Локализация.


Идея

Референсы: профессии/годы в Clone Danger Zone, судьбы бойцов в Darkest Dungeon, интро солдат в XCOM, коты в Meowkat. Общий приём: у случайного персонажа есть чуть-чуть личности, и это цепляет — при том что на геймплей влияет минимально или никак.

«Сосуд» сейчас — обычный человек без статов (вся сила из Реликвии, см. 5. Реликвии). Значит именно личность, а не цифры, делает его «своим». Досье — способ дать эту личность почти бесплатно.


Досье «Сосуда» (Vessel Dossier)

На старте забега (в RunSetup, после создания «Сосудов») — небольшое промо-превью на каждого «Сосуда»: имя, портрет и набор лор-фрагментов.

ФрагментENЧто это
МечтаDreamЧего хочет: «умереть героем», «вернуться к семье», «превзойти учителя»
ХарактерTraitТемперамент: «вспыльчивый», «молчун», «хвастун»
ИсторияAnecdoteЦветная байка: «однажды продал доспехи за пиво»
ТайнаSecretСкрыта. Раскрывается только в конце забега (победа/поражение)

Ключевой принцип: лор — кожа поверх того, что уже есть

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

  • «Сосуд» с отрицательным перком «трусость» + Судьбой «Элита» получает фрагменты, консистентные с этим.
  • Ветеран с высокой Закалкой / шрамами (см. 9. Травмы и Закалка («Сосуд» в забеге)) — досье это отражает: «шрам через всё лицо», «не сломался ни разу».

Часть фрагментов — чистый флавор, часть — отражение реальных данных RunState. Так лор «живой», но не требует новой системы.


Модель генерации: пул фрагментов + шаблон-грамматика

Mad-libs: [Характер] + [Мечта] + [История] + [Тайна], каждый фрагмент — авторская заготовка (loc-ключ), собирается через IRngService из сид забега + id «Сосуда».

Следствия детерминизма:

  • Воспроизводимо и шарится по сиду — один сид даёт тот же состав гильдии с теми же историями.
  • Кооп без рассинхрона — host-authoritative, все игроки видят идентичные досье (см. Тех: 7 §10).

Хранение (дисциплина сейва)

Досье не пишется в RunState запечённым текстом. Храним сид + id «Сосуда» + индексы фрагментов (мелкие int), текст регенерируем на лету. Это:

  • держит сейв маленьким (та же дисциплина RunState vs RuntimeUnit, Тех: 7 §4);
  • через loc-ключи даёт EN/RU автоматически.

Локализация — seam, который кладём сразу

Все фрагменты — loc-ключи EN+RU с первого дня, никогда не хардкод-строки. Это дёшево заложить сейчас и дорого ретрофитить потом (см. 0.4. Локализация и принцип «i18n рано»). Грамматика шаблонов должна учитывать, что порядок слов и склонения в RU/EN разные — фрагменты пишем как самодостаточные фразы, а не склеиваем куски слов.


«Тайна» в конце забега

Раскрытие Тайны на финале (победа/поражение) — крючок реиграбельности:

  • на поражении — трагично/иронично («так и не признался, что боялся темноты»);
  • на победе — триумф/искупление («вернулся домой героем, как и мечтал»).

Маленький, но запоминающийся момент, ради которого хочется доиграть до конца.

Кооп-грань

Общий состав с общими тайнами → разговор за столом («стоп, у ТВОЕГО чувака тайна в том, что он…?»). Личность «Сосудов» превращает кооп-забег в общую байку, а не в набор чисел.


Дисциплина скоупа (без оверинжиниринга)

MVP: статический пул фрагментов + сборка по шаблону + раскрытие Тайны на финале.

Явно НЕ делаем: LLM-генерация текста, ветвящийся нарратив, диалоговые деревья, отношения между «Сосудами». Это отдельные большие системы — не сейчас.

Открытые вопросы

  • Размер пула фрагментов на релиз (сколько нужно, чтобы не приедалось за N забегов).
  • Баланс «флавор vs отражение механики»: какая доля фрагментов читает реальные данные.
  • Портреты: генерация/сборка из частей vs готовый набор (арт-вопрос).
  • Имена «Сосудов»: генерируются или выбираются игроком.
  • Стыковка с режимом «Истинный герой» (рандом перков) — досье это обыгрывает?