act1: аутентичная страна Р — комната, HUD, канон
Some checks failed
Godot CI / Import + smoke test (push) Failing after 13s

КАНОН (3 новых файла, ресёрч-агент):
- APARTMENT.md: брежневка Купчино 9-эт, комната 10-12м², обои бежевые
  виниловые с растительным узором (наследие маминого ремонта 2010),
  линолеум жёлто-коричневый, ковёр бордовый персидский над кроватью
  (наследство от бабушки), батарея чугунная МС-140 белая с подтёками,
  пластиковый стеклопакет с алоэ+чашкой на подоконнике, кровать с тёмно-
  синим верблюжьим одеялом, стол ИКЕА MICKE, старый офисный «Бюрократ»,
  стеллаж ИКЕА BILLY с учебниками + Гарри Поттер + УК РФ (засев #8),
  постеры CS:GO + Моргенштерн на синей изоленте, банка Adrenaline +
  обёртка Lay's на столе, носки на полу. Все цвета по hex.

- STREET.md: парадная с домофоном Eltis DP-400 (питерский производитель),
  фасад керамической плитки бежевой, балконы остеклены лоскутно, на 1
  этаже Пятёрочка+К&Б, двор с тополями+ракушками-гаражами+советской
  площадкой (горка-«ракета»), лавочки бабушек/подростков, метро жетон 55₽
  август 2020, шаверма 120-180₽ (источник прямой не подтверждён, оценка
  по контексту), сети Pita's/Вкусная шаверма/КручуВерчу.

- HUD.md: pixel-art минимализм с акцентом #F0B419 Steam-inventory,
  Pathologic-2 правило (статы только при пороге), диалог-окно в стиле
  Шиндовс-окна (засев бренда), квест-маркер через ТГ-телефон героя,
  без мини-карты и постоянных таймеров.

КОД:
- act1_room.tscn полностью переписан: 73 sub_resources placeholder-кубов
  с канон-цветами hex. Добавлены: радиатор под окном, оконная рама из 5
  планок + подоконник с алоэ+чашкой, ковёр-на-стене над кроватью
  (бордовый), 2 постера (CS:GO жёлтый + Моргенштерн красный), стеллаж
  ИКЕА BILLY на западной стене с 5 книгами, старый Pentium 4 в углу
  северо-востока, банка Adrenaline + обёртка Lay's + клавиатура на столе,
  2 носка на полу. Спавн игрока сдвинут с z=1.2 на z=0.5 (был внутри
  кровати).

- dialog_manager.gd: новый HUD-API set_date_time / set_objective /
  set_money / set_weather / set_stat_alert + set_controls_hint.

- dialog_ui.tscn: 5 новых HUD-лейблов (DateTime, Objective с жёлтым
  акцентом, Money, Weather, StatsAlert) + ControlsHint всегда видимый
  тусклый.

- act1.gd: HUD теперь показывает «21 АВГ 2020 · ПТ · 10:30» вверху-слева
  и квест «◆ Распакуй подарок от бати» → «◆ Прочитай записку» →
  «◆ Возьми флешку с Шиндовс» вверху-справа.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dmitrii Bykov 2026-05-24 17:38:07 +03:00
parent 3975a28ed1
commit b833127bcc
8 changed files with 826 additions and 33 deletions

143
canon/HUD.md Normal file
View file

@ -0,0 +1,143 @@
# HUD.md — Дизайн интерфейса игры
> **Канон-роль:** правила HUD/UI для всех сцен. Pixel-art минимализм с одним акцентом. Не перегружать экран.
---
## ФИЛОСОФИЯ
Игра — нарративный быт-сим про подростка. HUD должен:
1. **Не загромождать pixel-art** — он должен дышать.
2. **Показывать чувствительные к времени данные** — дата/время критичны (фарм привязан к датам в каноне).
3. **Уйти в стиль школьной тетрадки + Шиндовс-окна** — отсылка к атмосфере 2020 и игровому миру.
4. **Pathologic-2 правило:** статы появляются ТОЛЬКО при пороге (усталость > 70% → икона; деньги > 0 → виджет; погода → только на улице).
---
## РАСКЛАДКА HUD
### Постоянные элементы (всегда видны)
- **Верхний левый угол:** дата + день недели + время.
- Формат: `21 АВГ 2020 · ПТ · 10:30`
- Шрифт: pixel-font моноширинный.
- Цвет: белый, modulate 0.85.
### Контекстные элементы
- **Верхний правый угол:** активный квест.
- Формат: `◆ Распакуй подарок от бати`
- Цвет: жёлтый Steam-inventory **#F0B419**.
- Меняется при смене состояния акта.
- **Под квестом (если деньги > 0):** валюты.
- Формат: `₽ 4 250 | $ 12.40 | € 0.00`
- Криптовалюты — НЕ в HUD, только в FSM Panel.
- Цвет: белый, modulate 0.75.
- **Нижний правый (только на улице):** погода + температура.
- Формат: `☁ +18°C, мокрый асфальт`
- Цвет: белый, modulate 0.7.
- **Нижний левый (только при пороге):** статы.
- Усталость > 70%: 🌙 + жёлтый текст «УСТАЛ»
- Голод > 70%: 🍴 + жёлтый текст «ГОЛОДЕН»
- Скука > 70%: 💭 + жёлтый текст «СКУЧНО»
- Деньги критически мало (< 100): + красный текст
- По умолчанию — невидимы (как Pathologic 2).
---
## ИНТЕРАКТИВНЫЕ ЭЛЕМЕНТЫ
### Prompt (при наведении на интерактив)
- **Центр экрана**, чуть ниже середины: `[ЛКМ] открыть коробку`
- Жёлтый акцент **#F0B419**, modulate 0.9.
### Subtitle / Dialog
- **Нижняя 1/3 экрана**: панель в стиле **Шиндовс-9 окна** (засев бренда).
- Серый фон (#2A2A2E, 80% opacity).
- Тонкая рамка 1px тёмно-серая.
- Заголовок (имя говорящего) — жёлтый акцент.
- Текст реплики — белый.
- Подсказка справа внизу — серая «ЛКМ или ПРОБЕЛ — дальше».
### Полнокран. оверлей (записки, документы)
- Затемнённый фон 75% чёрного.
- Центральная панель ~420×180 px в стиле бумажки/листа A5.
- Текст центрирован, моноширинный шрифт.
- Заголовок «Записка» / «Файл» / «SMS» — жёлтый акцент.
- Подсказка снизу: «ЛКМ — закрыть».
---
## КВЕСТ-МАРКЕРЫ (диегетика)
В отличие от стрелок на экране, **квесты в основном через телефон героя**:
- Клавиша **T** открывает Тегерлам (с 1 сен 2020).
- В Тегерламе — каналы и личные диалоги.
- Иконка непрочитанного сообщения внизу экрана (как в реале) — мигает при новом TG.
**Текущий квест-маркер в HUD** — это только подсказка «следующий шаг», не GPS-стрелка.
---
## ЦВЕТОВАЯ ПАЛИТРА HUD
| Элемент | Цвет | Hex |
|---|---|---|
| **Акцент (Steam-inventory жёлтый)** | (0.94, 0.71, 0.1) | **#F0B419** |
| Основной текст | (0.92, 0.92, 0.92) | #EBEBEB |
| Вторичный текст | (0.65, 0.65, 0.65) | #A6A6A6 |
| Фон панели | (0.16, 0.16, 0.18) | #2A2A2E |
| Рамка панели | (0.4, 0.4, 0.42) | #66666B |
| Алерт (мало денег / критстат) | (0.85, 0.16, 0.16) | #D92929 |
| Успех (дроп получен) | (0.27, 0.83, 0.27) | #45D445 |
---
## ШРИФТЫ
- **Основной:** pixel-font моноширинный с **кириллицей**.
- Кандидаты: «Press Start 2P» (моно, но без кириллицы из коробки — нужно расширение), «PixelMplus», «PressStart2P-vaOO» (с кириллицей), своя сборка через BMFont.
- **TBD:** найти бесплатный CC0 pixel-font с кириллицей или собрать свой через bitmap font tools.
- **Размер кегля при 640×360 viewport:**
- HUD-элементы: 8-10 px.
- Subtitle: 10-12 px.
- Note overlay: 10-14 px (зависит от длины).
---
## АНИМАЦИИ HUD
- **Появление prompt при наведении:** fade-in 100ms.
- **Исчезновение prompt:** fade-out 80ms.
- **Появление subtitle:** slide-up + fade 200ms.
- **Смена квеста:** старый текст fade-out, новый fade-in с 400ms задержкой.
- **Алерт «мало денег»:** мигание modulate 1.0 → 0.4 → 1.0, цикл 800ms, **остановить когда деньги > 100**.
---
## РЕФЕРЕНСЫ-ИГРЫ
- **Pathologic 2:** статы только при пороге, никаких постоянных шкал.
- **Disco Elysium:** портрет + 2 бара (здоровье + мораль) внизу, мысли всплывают сферами над головой.
- **OMORI / Yume Nikki:** HUD скрыт в overworld, появляется через меню.
---
## ЧТО НЕ ДЕЛАТЬ
- **Никакой мини-карты** на экране постоянно.
- **Никаких пост. таймеров** кд-механик в шапке.
- **Никаких криптокурсов** на HUD (они в FSM Panel).
- **Никаких лишних иконок** в углах (батарея ноутбука, FPS-каунтер для альфа-теста — выключить в финале).
- **Не сделать UI слишком «современным»** — он должен ощущаться как часть Шиндовс-9 / TG из 2020, не Material Design.
---
## TBD
- Точный pixel-font с кириллицей (или сборка своего).
- Анимация открытия TG-канала / SMS — нужна mockup-сцена.
- Mockup экрана покупки в стеме (Акт 9 пролога) — стилизация под реальный Steam UI 2020.
- Иконки для статов (🌙/🍴/💭) — нужно сделать pixel-art версии (CC0).
- Жадная гамма (если нужно делиться режимом — high-contrast / colorblind-friendly).