18-engine.md границы Tile2D, проекции 2D, формат проекта, второй проект 19-agent.md инструменты --tool, скиллы, терминал в редакторе 20-gdd.md акты, петли, рост отряда, закон масштаба, бюджет 200 часов 21-damage.md семь стихий, статусы, десять реакций, формулы, триггеры 22-loot.md редкости, аффиксы, артефакты, зачарования, материалы 23-endgame.md Бездна, мутации, лидерборды, 262 ачивки Плюс правки 01/02/07/15/16/17 под переехавшие пути и новые правила забега. Дизайнерская часть держится на одном законе: угроза растёт квадратично, сила отряда — линейно с затуханием, разрыв закрывается ЗНАНИЕМ, а не числами. Из него выведены и экономика опыта (41 млн против 44 млн дохода), и то, почему реакции считаются от глубины, а не от урона оружия, и почему в Бездне множитель HP разрешён, а во всём авторском контенте запрещён. .claude/commands: скиллы /tile2d, /room, /floor — правила этого движка, которые нельзя вывести из кода. Главное записано первым: не отчитываться об успехе без прохода --tool validate. Числа в этих документах — вход для инструментов, а не украшение. Расхождение между таблицей и выводом инструмента означает, что неправ документ. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
183 lines
12 KiB
Markdown
183 lines
12 KiB
Markdown
# 23 — Лейтгейм: Бездна, лидерборды, ачивки
|
||
|
||
Продолжение [20-gdd.md](20-gdd.md). Здесь то, что начинается после сотого этажа
|
||
и не кончается.
|
||
|
||
## 1. Что такое лейтгейм этой игры
|
||
|
||
Не «ещё контент». После акта VI у игрока собран отряд из пяти, три гнезда
|
||
артефактов и сборка, которую он строил восемьдесят часов. Дальше игра меняет
|
||
вопрос: не «пройду ли я», а **«как глубоко»**.
|
||
|
||
Это переход от прохождения к соревнованию, и он должен быть заметным: на D101
|
||
меняются правила, а не только цифры.
|
||
|
||
## 2. Бездна: честная беговая дорожка
|
||
|
||
Ниже сотого этажа авторского содержимого больше нет — и притворяться, что есть,
|
||
нельзя. Поэтому здесь включается то, что до сих пор было запрещено.
|
||
|
||
### 2.1. Отмена правила о множителях
|
||
|
||
В [16-descent.md](16-descent.md) записано: **глубина меняет, КТО выходит, а не
|
||
сколько у него HP**. Это правило держало весь авторский контент, и оно верное:
|
||
«тот же бредущий, но втрое толще» — не страшнее, а дольше.
|
||
|
||
С D101 оно снимается:
|
||
|
||
```
|
||
HP,урон тварей ×= 1 + 0.045·(d − 100)
|
||
```
|
||
|
||
Почему это допустимо здесь и нигде больше: в Бездне игрок не проходит контент, а
|
||
**меряет сборку**. Он уже видел всё, что игра хотела показать; дальше ему нужна
|
||
не новизна, а линейка. Множитель — это и есть линейка, и он честно назван
|
||
беговой дорожкой, а не «новым уровнем сложности».
|
||
|
||
Умножение линейное, а не экспоненциальное: экспонента обрывает лестницу на
|
||
конкретном этаже одинаково для всех, и лидерборд превращается в проверку, у кого
|
||
чуть больше урона. Линейный рост против затухающей силы отряда даёт лестницу
|
||
длиной в сотни этажей, где каждый следующий шаг стоит заметно дороже
|
||
предыдущего.
|
||
|
||
### 2.2. Мутации — то, что делает Бездну не только дорожкой
|
||
|
||
Каждая тварь глубже D101 получает `floor((d − 100) / 25) + 1` мутаций из пула.
|
||
Мутация меняет ПОВЕДЕНИЕ, а не число.
|
||
|
||
| Мутация | Что делает |
|
||
|---|---|
|
||
| Зеркальная | отражает 25% полученной стихии в атакующего |
|
||
| Роящаяся | при смерти делится на двух вдвое слабее (до 3 поколений) |
|
||
| Голодная | лечится на 30% нанесённого урона |
|
||
| Слепая | не видит свет, но слышит стрельбу вдвое дальше |
|
||
| Якорная | не отбрасывается, KIN по ней даёт −50% |
|
||
| Заражённая | на смерти оставляет облако RAD |
|
||
| Стеклянная | −60% HP, +150% урона |
|
||
| Тихая | не издаёт звука и не подсвечивается в тумане |
|
||
| Насыщенная | иммунна к первому наложенному статусу |
|
||
|
||
Мутации стоят места в бюджете опасности этажа: мутировавшая тварь стоит
|
||
`danger × (1 + 0.35 · мутаций)`. Поэтому глубокий этаж — это не «те же сорок
|
||
тварей, но злее», а **меньше тварей, каждая из которых задача**. Потолок тел
|
||
(`MAX_LEVEL_SPAWNS = 64`) остаётся нетронутым, и это не совпадение: именно бюджет
|
||
опасности переводит рост угрозы в качество, когда мест больше нет.
|
||
|
||
### 2.3. Пороги Бездны
|
||
|
||
Каждые 25 этажей — **Порог**: этаж-аномалия с фиксированными правилами.
|
||
|
||
| Порог | D | Правило этажа |
|
||
|---|---|---|
|
||
| Первый | 125 | света нет вообще; работает только фонарь |
|
||
| Второй | 150 | эвакуация закрыта до убийства всех элит |
|
||
| Третий | 175 | стихии инвертированы: сопротивления становятся уязвимостями |
|
||
| Четвёртый | 200 | отряд входит без сумки |
|
||
| Дальше | +25 | правила смешиваются по два |
|
||
|
||
Порог — единственное место, где игра прямо проверяет знание, а не сборку.
|
||
|
||
## 3. Лидерборды
|
||
|
||
### 3.1. Три доски, а не одна
|
||
|
||
| Доска | Что мерит | Зачем отдельно |
|
||
|---|---|---|
|
||
| **Глубина** | максимальный этаж за сезон | главная, ради неё всё |
|
||
| **Скорость** | время до D100 с нуля профиля | другой навык, другие сборки |
|
||
| **Голыми руками** | глубина без артефактов | иначе доска — это лотерея дропа |
|
||
|
||
### 3.2. Счёт
|
||
|
||
```
|
||
score = 1000·D + 40·E + 12·A − 250·W
|
||
```
|
||
|
||
| Символ | Что |
|
||
|---|---|
|
||
| `D` | достигнутая глубина |
|
||
| `E` | число успешных эвакуаций в сезоне |
|
||
| `A` | убитые элиты на глубинах ниже рекорда |
|
||
| `W` | вайпы |
|
||
|
||
Штраф за вайп — четверть этажа. Достаточно, чтобы «просто прыгнуть вниз и
|
||
посмотреть» имело цену, и слишком мало, чтобы делать доску страховкой от риска.
|
||
|
||
### 3.3. Сезоны
|
||
|
||
Сезон — 8 недель, общий сид генерации на всех. Один и тот же набор этажей у
|
||
всех игроков: без этого доска сравнивает удачу, а не игру. Профиль в сезонном
|
||
режиме отдельный и стартует с нуля — иначе первое место занимает тот, кто начал
|
||
раньше.
|
||
|
||
По окончании: рекорды в вечную таблицу, сезонный профиль сливается в основной
|
||
(материалы — половина, артефакты — все, опыт — весь).
|
||
|
||
## 4. Ачивки: 262 штуки
|
||
|
||
Ачивки — это не список задач, а **карта того, что игра считает достойным**.
|
||
Поэтому они собраны по категориям, и почти каждая формулируется правилом, а не
|
||
вручную.
|
||
|
||
| Категория | Кол-во | Как строятся |
|
||
|---|---|---|
|
||
| Глубина | 24 | D5, D10, …, D100 (20) + D125/150/175/200 (4) |
|
||
| Экстракшен | 22 | вынести N предметов; уйти на 1 HP; эвакуация без выстрела; 10 подряд без потерь |
|
||
| Отряд | 26 | набрать 2/3/4/5; довести оперативника до D50 без смертей; вылазка соло на D40 |
|
||
| Бой | 34 | убийства по видам (9×2), убийство залпом, TTK-рекорды, бой без урона |
|
||
| Стихии | 30 | по 3 на каждую из 7 (наложить/добить/сборка) + 9 на реакции |
|
||
| Реакции | 20 | каждая из 10 по разу + каждая 1000 раз |
|
||
| Предметы | 28 | редкости, тиры, полный комплект тира, конверсия 85% |
|
||
| Артефакты | 24 | найти N, собрать 3 гнезда, пройти D80 с одним, с самым дорогим |
|
||
| Крафт | 18 | операции, залом успешный, залом неудачный (да, за провал тоже) |
|
||
| Экономика | 16 | материалы, полное дерево ветви, все 200 уровней узлов |
|
||
| Хоррор | 12 | пройти этаж без света; без единого выстрела; не потревожив никого |
|
||
| Мета | 8 | сезонные места, три доски, вечная таблица |
|
||
|
||
**Итого 262.**
|
||
|
||
### 4.1. Правила, по которым ачивки не превращаются в мусор
|
||
|
||
1. **Ни одной за время.** «Играйте 100 часов» — это не достижение, а счётчик.
|
||
2. **Ни одной невозможной без удачи.** Всё, что зависит от дропа, имеет пити.
|
||
3. **Каждая пятая — за необычный способ, а не за повторение.** «Пройти этаж, не
|
||
потревожив никого» стоит рядом с «убить 10 000 тварей», и вторая нужна только
|
||
как фон для первой.
|
||
4. **За провал тоже.** Неудачный залом, вайп на D1, потеря артефакта — это
|
||
истории, а истории и есть то, что люди рассказывают о такой игре.
|
||
|
||
### 4.2. Примеры именованных
|
||
|
||
| Имя | Условие |
|
||
|---|---|
|
||
| «Первый свет» | пройти D1 |
|
||
| «Тише воды» | этаж без единого выстрела на D20+ |
|
||
| «Экономный» | эвакуация с полной сумкой и полным боезапасом |
|
||
| «Пирокинетик» | 1000 Растрескиваний |
|
||
| «Не мой день» | залом рассыпал реликт тира 9 |
|
||
| «Он был хорошим» | потерять оперативника, дошедшего до D50 |
|
||
| «Голыми руками» | D60 без единого артефакта |
|
||
| «Кто там?» | пройти Порог 125 без фонаря |
|
||
| «Полный набор» | все 200 уровней узлов |
|
||
| «Ниже некуда» | D200 |
|
||
|
||
## 5. Почему это удержит игрока после сотого этажа
|
||
|
||
Три независимых причины возвращаться, и ни одна не завязана на новый контент:
|
||
|
||
1. **Число.** Рекорд глубины — это одна цифра, которую можно улучшить сегодня.
|
||
2. **Сборка.** Материалы и залом дают потолок, до которого почти никто не
|
||
доходит: идеальная вещь всегда на один рискованный шаг впереди.
|
||
3. **Сезон.** Раз в восемь недель поле выравнивается, и лучший результат снова
|
||
решается игрой, а не тем, кто дольше играл.
|
||
|
||
## 6. Проверки
|
||
|
||
| Утверждение | Чем меряется |
|
||
|---|---|
|
||
| множитель Бездны даёт лестницу, а не обрыв | `--tool wall 100 300` (новый): где стена при сборке N |
|
||
| мутации не разносят потолок тел | `--tool floor <d>` — `spawnsDropped` обязан быть 0 |
|
||
| счёт лидерборда не выигрывается вайп-фармом | симуляция стратегий в `--tool score` (новый) |
|
||
| ачивки достижимы | `--tool achievements` (новый): для каждой — глубина и условия |
|
||
| сезонный сид даёт всем один набор этажей | `--tool map <d> <seed>` на двух машинах |
|