squad-proto/.claude/commands/floor.md
z.kirill 4382af2322 Документация: границы движка, работа через модель, дизайн игры до лейтгейма
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>
2026-08-13 21:07:45 +03:00

49 lines
2.3 KiB
Markdown

# Tune the difficulty curve
Request: `$ARGUMENTS`
The whole slope of the game lives in one place: `projects/<project>/project.txt`. The shape
of the curve is code (`engine/progression.cpp`), its coefficients are data. Read
`docs/16-descent.md` for what each number means and why it is shaped that way.
## Measure before changing
```bash
tile2d_editor --tool curve 1 20 # what depth means today, floor by floor
tile2d_editor --tool floor <depth> 1 # one floor: budget spent, population, loot
tile2d_editor --tool floor <depth> 42 # same depth, another seed — variance matters
```
Change one line of `project.txt`, run the same commands, and compare. A tuning change with
no before/after numbers is an opinion.
## What the numbers are for
| key | meaning | the trap |
|---|---|---|
| `danger` | base, linear growth, quadratic tail | pure linear reads as "same, but more"; pure exponential ends the run where the player just started understanding the rules |
| `density` | how often spawn points fire, and the cap | above the cap every point always fires, so floors stop differing |
| `loot` | drops and how fast tier climbs | tier must lag danger, or the squad is dressed for the rest of the game by floor ten |
| `sight` | how fast vision shrinks, and the floor | below the floor it stops being frightening and becomes "can't see where to go" |
| `xp` | experience multiplier per floor | must grow slower than danger, or skipping floors becomes the only sane play |
| `themes` | where each finish band starts | must ascend; the last band is open-ended on purpose |
Do **not** add creature HP or damage multipliers to make depth harder. "The same shambler
with triple HP" is not scarier, it is longer. Depth changes *who* comes out and how many.
## Verify
```bash
tile2d_editor --tool validate # set still covers the depths you moved
squad_proto --project <name> --descend 8 # the curve survives an actual run
```
Watch for `ЗАМЕЧАНИЕ` in validate: the floor assembled correctly but the room set no longer
keeps up with the curve. That means "draw more rooms", not "lower the curve" — unless the
curve is what you were asked to change.
## Report
The exact lines you changed, and the `curve` table before and after for the depths that
matter. Name the floors where behaviour changed most.