# Глубь — прототип v0.14

С версии 0.10 все изменения ведутся в CHANGELOG_RU.txt (в игре — кнопка «Что нового» в главном меню).

Кооперативный (1–4 игрока) мрачный фэнтези-рогалик с выносом добычи. Godot 4.7, вид сверху, 2D-свет и тени.

## Как играть
- `builds/windows/Glub.exe` (Windows) или `builds/linux/Glub.x86_64` (Linux). Установка не нужна.
- «Играть» → создайте **мир** (кнопка «Миры»), затем героя в нём. Герой начинает голым: ни оружия, ни брони, только 3 факела.
- В мире хранятся герои всех, кто в нём играл, история лагеря и поручения жителей. Друг, подключившийся к вам, выбирает или создаёт героя в вашем мире; его герой хранится у вас (у друга — резервная копия). Сохранения: `%APPDATA%/Godot/app_userdata/Глубь/worlds/` (Linux: `~/.local/share/godot/app_userdata/Глубь/worlds/`).
- Лагерь «Последний приют»: сундук-хранилище, торговец, алтарь талантов, шатёр (смена героя), колодец — спуск.
- В подземелье всё, что на вас и в рюкзаке, **можно потерять**. Добыча сохраняется, только если выбраться через колодец с верёвкой (синий свет).
- Лестница ведёт глубже: спуск начинается, когда все живые игроки стоят у лестницы. Каждая 10-я глубина — логово босса; выход из логова открывается после победы.
- Выход с глубины 11+ открывает точку старта после соответствующего босса. Сложность N+1 открывается прохождением 100-й глубины на сложности N.

### Управление
| Клавиша | Действие |
|---|---|
| WASD | движение |
| Мышь | прицел |
| ЛКМ / ПКМ / Q / R | 4 умения текущего оружия (Q открывается на 3-м уровне, R — на 6-м) |
| Пробел | перекат (неуязвимость) |
| E | действие / поднять / открыть; удерживать — выбраться наверх, поднять союзника |
| F | зажечь / погасить факел (в темноте без факела вас хуже видно) |
| G | воткнуть факел в пол (так можно освещать путь с двуручным оружием) |
| 1 / 2 / 3 | зелье / бинт / бросить горючее масло (огонь светит и жжёт) |
| I или Tab | персонаж, снаряжение, рюкзак |
| T | древо талантов |
| M | карта (запоминает только то, что вы видели) |
| Alt | показать подписи добычи |
| Esc | меню / закрыть окно |

### Мультиплеер
**Через Steam (рекомендуется).** Steam должен быть запущен у всех игроков. Игра использует тестовый App ID 480 (Spacewar): в профиле Steam она будет отображаться как «Spacewar».
- Играть → «Группа для друзей» или «Открытая группа». Друзья заходят через «Присоединиться» в Steam или по приглашению: в меню паузы лагеря есть кнопка «Пригласить друзей». Открытые группы видны по кнопке «Найти группы».
- Порты и VPN не нужны. Рядом с exe должен лежать файл `steam_appid.txt`; не удаляйте его.

**По IP (если Steam не запущен):**
- Хост: «Создать группу» (UDP-порт 24565). Остальные: «Присоединиться», ввести IP хоста (можно `ip:порт`).
- Через интернет: пробросить порт 24565/UDP или использовать Radmin VPN / ZeroTier / Hamachi.
- До 4 игроков. Подключиться можно, пока группа в лагере. Спуск выбирает хост.
- Сложность растёт с отрядом: за каждого игрока сверх первого враги получают +45% здоровья и +12% урона, их на 25% больше, чаще встречаются матёрые. Добыча от размера отряда не зависит — её приходится делить.
- Упавшего союзника можно поднять (удерживать E) в течение 30 секунд. Погибший теряет снаряжение, но оно падает на пол, и друзья могут его вынести.

## Новое в v0.9: новое оружие, твари, вещи и кейсы

- **Четыре новых оружия**, у каждого 4 умения, 12 улучшений, 4 модификации и свой кластер в древе талантов:
  - **Арбалет**: пронзающие болты, бронебойный болт, картечь, быстрый ворот.
  - **Коса**: почти круговой взмах, скользящий разрез с кровотечением, вихрь жнеца, «Жатва душ» (вампиризм и скорость).
  - **Боевой молот**: оглушающие удары, землетряс, бросок молота, стальная стойка.
  - **Посох целителя** (поддержка):
    - луч света;
    - исцеляющий круг (лечит отряд);
    - благословение отряда;
    - «Святилище» (лечение, оглушение врагов, вспышка света).
- **Новые твари**:
  - утопленник (нежить, живучий);
  - костяной рыцарь (бронированный, бьёт по площади);
  - огненный жук (умирая, оставляет лужу огня);
  - кровопийца (лечится укусами).
- **Броня и украшения**:
  - доспехи и шлемы: бригантина, плащ теней, костяной шлем, капюшон охотника;
  - украшения: перстень-печатка, волчий оберег, святой знак, флакон крови.
- **Артефакты.** Особые амулеты с сильными свойствами, всегда эпические или легендарные. У каждого босса свой артефакт (шанс 18%), ещё есть «Песочные часы Ардана». Изредка встречаются в сундуках и у элиток.
- **Ценности**: чёрная жемчужина, древняя монета, золотой слиток, мощи святого, скипетр Ардвены, серебряное зеркало, огненный хитин.
- **Кейсы у Странника**: потёртый ларец (700 з.), окованный сундучок (2400 з.) и реликварий (7500 з.).
  - Шансы показаны на карточке. ПКМ по кейсу в рюкзаке открывает его: лента предметов крутится и останавливается на выпавшем.
  - Остальные игроки видят ту же анимацию над вашей головой и получают сообщение о находке.
- **Звуки жезла некроманта**: новые тёмные заклинания для выстрела, призыва слуг и «Воли хозяина».

## Новое в v0.8: новый интерфейс

Все основные экраны переделаны по макетам редизайна:

- **Меню.** Карточки героев с портретом и меню «…». Крупная кнопка «Играть».
  - Создание героя: четыре одинаковые строки облика и кнопка случайного облика.
  - Лобби разбито на три группы: «Играть одному», Steam и «По IP».
  - Герой у костра теперь одного масштаба с остальными.
- **HUD.**
  - Слева сверху компактный трекер поручений.
  - Справа сверху три значка: золото, уровень, таланты (в подземелье: место, добыча, убийства).
  - Внизу сфера здоровья с блоком параметров, боевые слоты и отдельная группа расходников.
- **Персонаж.** Три колонки: экипировка вокруг героя и параметры с иконками, рюкзак, умения и мастерство с полосками.
- **Древо талантов.** Цветные ветви с табличками.
  - Узлы: купленный (цвет ветви), доступный (золото), закрытый (тёмный).
  - Карточка узла справа с кнопкой «Вложить 1 очко». Двойной клик тоже вкладывает очко.
- **Умения оружия.** Четыре карточки с крупными иконками и апгрейдами. Все цифры во всплывающей подсказке иконки.
- **Кодекс.** Карточки достижений с датой, прогрессом или замком. Панель выбранного достижения, фильтры и сортировка.
  - Бестиарий: силуэты неизвестных тварей и подробная карточка справа.
- **Доска поручений.** Карточки с картинкой, полосой прогресса и наградой на одном и том же месте.

v0.7.1: исправлена камера (в 0.7 она застревала у края карты, и героя не было видно).

## Новое в v0.7
- **Новое древо талантов в духе Path of Exile.** 247 узлов в 6 секторах: Воитель, Дуэлянт, Следопыт, Странник, Мистик, Заклинатель крови.
  - В основном это мелкие узлы («+1,5% здоровья», «+2,5% урона вблизи»), есть кластеры с особыми узлами и краеугольный камень на краю каждого сектора. Сектора связаны кольцами, можно собирать гибриды.
  - **Кластеры оружия:** у каждого из 9 видов оружия есть урон и перезарядка его умений, а особый узел меняет все умения этого оружия. Например, «Палач»: все умения топора вызывают кровотечение.
  - Древо можно двигать (перетаскивание, правый стик) и масштабировать (колесо, курки геймпада).
  - Старые таланты сброшены, очки возвращены.
- **Прокачка медленнее:** опыта до уровня нужно в 1,8 раза больше, мастерства оружия — вдвое больше.
- **Отдельное окно настроек** (из меню и из паузы) с вкладками:
  - «Звук», «Графика», «Игра»;
  - «Управление»: любое действие можно переназначить на клавишу или кнопку мыши, подписи в игре меняются вместе с ним;
  - «Геймпад»: схема контроллера с подписями всех кнопок;
  - «Вопросы»: ответы на частые вопросы и авторы.
  Кодекс теперь только про достижения, бестиарий и коллекцию.
- **Нормальное управление геймпадом в окнах:**
  - стик и крестовина переходят по кнопкам и ячейкам, выделение обведено латунной рамкой;
  - A — выбрать, X — второе действие (надеть, продать), B — назад, LB/RB — вкладки, правый стик — прокрутка;
  - в древе талантов стик прыгает по узлам.
- Маркер направления у героя убран.
- Камера двигается вместе с интерполяцией физики: на мониторах 120/144 Гц ничего не дёргается.

## Новое в v0.6.2
- **Звуки.** Настоящий выстрел и попадание стрел. Новые взмахи кинжала, меча и тяжёлого оружия. Огненный шар, лёд, молния, щит, лечение, телепорт теневого шага. Новый призыв слуг. Атаки, тревогу и способности монстров теперь слышат все игроки в кооперативе. Монстры чаще и громче вскрикивают от ран.
- **Плавное движение** на мониторах 120/144 Гц (интерполяция физики): модель больше не дёргается.
- **Без бесплатного лечения:** повышение уровня и спуск на следующий этаж больше не восстанавливают здоровье. Факел при спуске остаётся в руке, сколько бы он ни горел.
- Подсказка предмета на полу больше не зависает после подбора.
- **Подробные описания умений** с цифрами: урон в числах и в процентах от оружия, радиус, длительность, перезарядка. Эффекты выделены цветом. Показываются на панели, в окне «Умения оружия» и в инвентаре.
- **Свет у стен:** стена освещается факелом ровной полосой, соседние плитки больше не отбрасывают на неё странные тени.
- **11 видов матёрых тварей:** Быстрый, Бронированный, Кровожадный, Огненный, Ледяной, Взрывной, Призрачный, Живучий, Бешеный, Ядовитый и обычный Матёрый. Описания — в Кодексе, в Бестиарии.
- За сам факт выхода из подземелья золото больше не дают: из поручений «выбраться с глубины N» убраны денежные награды, а выносите вы только то золото, что собрали.

## Новое в v0.6
- **6 редкостей:** Обычный (серый), Необычный (зелёный), Магический (синий), Редкий (жёлтый), Эпический (фиолетовый), Легендарный (оранжевый, с собственным именем).
  - Серые вещи иногда тоже получают одно свойство, но вдвое слабее. Чем выше редкость, тем больше свойств и тем они сильнее.
  - **Эпик и легендарка — особые.** С обычных монстров и из деревянных сундуков они не падают. Источники: матёрые враги (редко), сундуки на ключах (железный, золотой, хрустальный), мимики и боссы.
  - С босса и из золотого сундука выпадает минимум синее, из хрустального — минимум жёлтое.
  - Такие вещи на полу светятся столбом света, при выпадении звучит сигнал.
  - Кузнец улучшает вещи до эпика (с «эпической ковкой» по его поручению). Легендарки не куются.
  - Старые сохранения переведены: прежние магические стали синими, редкие — жёлтыми, легендарные — легендарными.
- **Разрешение 1920×1080** по умолчанию. В «Кодекс → Настройки» есть выбор размера окна: 1280×720, 1600×900, 1920×1080, 2560×1440. Если окно не помещается на экран, оно разворачивается на весь экран.
- **Steam-профиль в меню** (справа сверху): аватар, имя, уровень. Ниже друзья, которые сейчас в «Глуби», с их статусом; если у друга открыта группа, есть кнопка «Войти». Клик по имени открывает профиль в Steam.
- **Иконки всех 36 умений и переката.**

## Новое в v0.5.3
- Цветные иконки умений (первый набор — кулаки). Умения без новой иконки пока показывают старый глиф.

## Новое в v0.5.2
- Новая графика интерфейса (UI-патчи 01–02): панель окон, 4 состояния кнопок, нижняя подложка HUD, ячейки умений, бейджи клавиш, свечение готовности, латунная рамка полосы опыта.

## Новое в v0.5.1
- Исправлен статус в Discord на Windows: плагину не хватало трёх системных библиотек (libstdc++-6, libgcc_s_seh-1, libwinpthread-1), теперь они лежат рядом с игрой. Если Discord запустить после игры, статус подключится сам (проверка каждые 15 с). Состояние подключения видно в «Кодекс → Настройки».

## Новое в v0.5
- **Дерево умений оружия** (клавиша K, кнопка в окне талантов и в меню паузы). У каждого из 4 умений оружия есть узлы «Сила» (3 ранга), «Темп» (2 ранга) и уникальная «Модификация». Примеры модификаций: «Кровавая рубка» — обычные удары топором вызывают кровотечение; «Веер ножей»; «Падающая звезда».
  Очки даёт мастерство именно этого оружия: 1 за каждые 2 уровня, максимум 15. Всё дерево стоит 24, поэтому придётся выбирать. В лагере сброс бесплатный.
- **Звук исправлен.** Начиная с v0.3 почти все новые звуки (свисты оружия, удары, заклинания, монстры, монеты) по ошибке импортировались почти беззвучными. Теперь всё слышно.
- **Голоса монстров.** У каждого монстра свои звуки тревоги, атаки, ранения и смерти. Новые CC0-звуки: крысы, летучие мыши, скелеты, гули (зомби), призраки и смех культистов.
- **Звуки умений.** У каждой способности свой звук, его слышит весь отряд.
- **Геймпад.**
  - Работает на любом номере устройства.
  - Игра сообщает о подключении и отключении.
  - В «Кодекс → Настройки» видно, какие геймпады игра нашла.
  - Если геймпад не виден, скорее всего его перехватывает Steam Input: для Steam игра — «Spacewar». Решения: отключить Steam Input для Spacewar или выключить «Steam при запуске».
- Discord-статус включён (приложение «Глубь»).

## Новое в v0.4.1: статус в Discord
- Пока Discord запущен, в профиле видно: меню, лагерь или биом с глубиной и сложностью; убийства и золото забега; бой с боссом; размер отряда; время забега.
- В Steam-группе, пока она в лагере и есть место, у друзей в Discord появляется кнопка «Присоединиться». Она ведёт прямо в ваше лобби (Steam должен быть запущен).
- Отключается в «Кодекс → Настройки → Статус в Discord».
- ID Discord-приложения можно задать файлом `discord_app_id.txt` рядом с exe (одна строка с числом).

## Новое в v0.4
- **Геймпад** (Xbox/PlayStation). Левый стик — ходить, правый — целиться; если правый стик не трогать, прицел сам наводится на ближайшего врага. RT/LT/RB/LB — умения, B — перекат, A — действие, X — факел, Y — зелье. Крестовина: ↑ бинт, ↓ воткнуть факел, ← масло, → метка. View — персонаж, L3 — карта, R3 — таланты, Menu — пауза.
  В окнах левый стик водит курсор: A — клик, X — правый клик, правый стик — прокрутка, B — назад. Подписи кнопок в HUD и подсказках сами переключаются между клавиатурой и геймпадом. Есть вибрация, её можно выключить в настройках.
- **Музыка.** Своя тема в меню и в лагере, отдельные плейлисты для каждого биома (между треками — тишина), музыка босса, фоновые звуки подземелья. Громкость музыки настраивается отдельно.
- **Звуки оружия.** Клинки свистят и режут, дробящее оружие бьёт глухо, по скелетам — костяной звук, криты звенят металлом.
- **Интерфейс.** Активная вкладка теперь подсвечена, а не выглядит отключённой. Уровни заточки и сумок показаны ромбами. Новые чекбоксы, слайдеры и полосы прокрутки, кнопки откликаются на наведение, окна плавно появляются. В меню — карточки героев со статистикой, при наведении герой появляется у костра.
- Авторы музыки и звуков перечислены в «Кодекс → Настройки» и в CREDITS.md.

## Новое в v0.3
- **Заточка слотов у Гаврилы** вместо заточки предметов. Уровень слота (до +10) остаётся навсегда, даже после смерти, и усиливает всё, что в него надето. Перековка свойств по-прежнему доступна.
- Переделан интерфейс кузницы и квартирмейстера: он больше не растягивается.
- Звуки заменены на новые, без «питчёвой» каши.
- Запертые сундуки (железный, золотой, хрустальный) и ключи к ним. Иногда сундук оказывается мимиком.
- В подземельях: колодцы, пьедесталы со стражем, призраки и пленники с микрозаданиями.
- Новые враги: слизень, некромант, бес, голем. Боссы стали жёстче: у них есть фаза ярости.
- Оружие призывателя — жезл: скелеты-миньоны, их число зависит от свойств.
- Кодекс: 30 достижений, бестиарий, коллекция, настройки.
- Отметка на карте средней кнопкой мыши, сводка забега после смерти или выхода.

## Системы
- **Уровень персонажа** (до 100): здоровье, 1 очко таланта за уровень.
- **Мастерство оружия** (до 30 для каждого оружия): растёт только от урона, нанесённого этим оружием (и слугами жезла), плюс бонус за добивание. Даёт урон, скорость атаки и ранг умений этого оружия (+1 каждые 3 уровня мастерства).
- **Умения от оружия**: кулаки, кинжал, меч, топор, булава, копьё, лук, посох. У каждого 4 умения. Лук, копьё и посох двуручные: факел не удержать, но посох немного светится сам.
- **Древо талантов**: 3 ветви (Воитель, Следопыт, Мистик), 34 узла, краеугольные таланты с компромиссами. Сброс у алтаря за золото.
- **Предметы**: 4 редкости, случайные свойства с цветными префиксами и суффиксами («Кровавая булава вихря»), у легендарных — собственное имя («Слеза Лича»). Уровень предмета растёт с глубиной и сложностью.
- **Генератор уровней**: комнаты, пещерные гроты, 11 заготовок-структур (склеп, библиотека, алтарь, сокровищница, оссуарий, грибная роща и т. д.), двери, ловушки, светильники, сундуки, разрушаемые бочки и ящики.
- **5 биомов** по 20 глубин: Катакомбы, Сырые пещеры, Храм культа, Грибные глубины, Бездна. 7 видов врагов плюс матёрые (элитные) версии и 5 боссов.
- **Тьма**: настоящий 2D-свет с тенями. Стены, колонны и двери отбрасывают тень. Глаза монстров светятся во тьме, добыча поблёскивает.

## Ассеты
- Вся графика нарисована процедурно в стиле RimWorld (`tools/artgen/*.py`, Python + numpy + Pillow): пересобирается командой `python3 tools/artgen/tiles.py game/assets/gen/tiles` и т. д.
- Звуки: Kenney (CC0) + синтезированные (`tools/synth_sfx.py`).
- Шрифт: Alegreya / Alegreya SC (SIL OFL).
- Готовые бесплатные наборы в духе RimWorld найти не удалось: свободные (CC0) почти все пиксельные. Поэтому стиль сделан своим генератором и его легко перерисовывать.

## Тесты (для разработки)
`godot -- --autotest --scenario=tour|combat|death|boss|skills|ui|light|gencheck|net_host|net_client [--shots=папка]`
