Статус: 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), текст регенерируем на лету. Это:
- держит сейв маленьким (та же дисциплина
RunStatevsRuntimeUnit, Тех: 7 §4); - через loc-ключи даёт EN/RU автоматически.
Локализация — seam, который кладём сразу
Все фрагменты — loc-ключи EN+RU с первого дня, никогда не хардкод-строки. Это дёшево заложить сейчас и дорого ретрофитить потом (см. 0.4. Локализация и принцип «i18n рано»). Грамматика шаблонов должна учитывать, что порядок слов и склонения в RU/EN разные — фрагменты пишем как самодостаточные фразы, а не склеиваем куски слов.
«Тайна» в конце забега
Раскрытие Тайны на финале (победа/поражение) — крючок реиграбельности:
- на поражении — трагично/иронично («так и не признался, что боялся темноты»);
- на победе — триумф/искупление («вернулся домой героем, как и мечтал»).
Маленький, но запоминающийся момент, ради которого хочется доиграть до конца.
Кооп-грань
Общий состав с общими тайнами → разговор за столом («стоп, у ТВОЕГО чувака тайна в том, что он…?»). Личность «Сосудов» превращает кооп-забег в общую байку, а не в набор чисел.
Дисциплина скоупа (без оверинжиниринга)
MVP: статический пул фрагментов + сборка по шаблону + раскрытие Тайны на финале.
Явно НЕ делаем: LLM-генерация текста, ветвящийся нарратив, диалоговые деревья, отношения между «Сосудами». Это отдельные большие системы — не сейчас.
Открытые вопросы
- Размер пула фрагментов на релиз (сколько нужно, чтобы не приедалось за N забегов).
- Баланс «флавор vs отражение механики»: какая доля фрагментов читает реальные данные.
- Портреты: генерация/сборка из частей vs готовый набор (арт-вопрос).
- Имена «Сосудов»: генерируются или выбираются игроком.
- Стыковка с режимом «Истинный герой» (рандом перков) — досье это обыгрывает?