farming-simulator/canon/HUD.md
Dmitrii Bykov b833127bcc
Some checks failed
Godot CI / Import + smoke test (push) Failing after 13s
act1: аутентичная страна Р — комната, HUD, канон
КАНОН (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>
2026-05-24 17:38:07 +03:00

143 lines
7.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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).