squad-proto/docs
z.kirill ece906cbb3 Отряд растёт с одного оперативника до пяти (M24)
Игра начинается ОДНИМ человеком: тактический нож, слабый фонарь, куртка.
Остальные четверо нанимаются за опыт по кривой 600/2400/9600/38400 —
самая дорогая покупка в игре и намеренно. Одиночка с ножом это первое
впечатление, и продать второго бойца за одну вылазку значило бы выбросить
весь хоррор начала: вдвоём уже не страшно.

NUM_AGENTS осталась величиной времени сборки и означает теперь ВМЕСТИМОСТЬ,
а не размер отряда: делать её динамической это сотня мест ради числа,
которое всё равно упирается в пять. Занятость слота это Agent::present, и
он отличается от alive. Правила боя читают только alive — для них пустой
слот и павший одно, и это верно. Разница нужна там, где показывают
человека: у павшего есть тело на полу и перечёркнутая карточка, у пустого
слота нет ни того, ни другого.

Проверка в --descend меряет цепочку «в профиле -> на этаже» и потолок, а
главное — переживает ли одиночка первую схватку:

  отряд: в профиле 1 -> на этаже 1, после найма 2, цена 600, сверх потолка отказ
         одиночка с ножом на первом этаже: выжил, 100 -> 41, подошло 2, убил 2

Первая версия этой проверки не измеряла ничего: боец стоял минуту, к нему
не подошёл никто, и «выжил» было пустым словом. Теперь отряд ставится
рядом с тварью.

Попутно найдено и исправлено: Profile::Save три вехи не писала ни версию
формата, ни улучшения. Купленный запас патронов действовал до конца
запуска и молча пропадал при чтении, а профиль без версии читался как
формат 1. Круговой прогон этого не видел, потому что сверял три поля из
десяти и делал это на пустом профиле, где всё сходится само. Теперь он
сверяет поля списком и на набитом профиле.

Формат профиля 3: добавлена строка squad. Старый профиль играл впятером и
получает пятерых при миграции — отобрать их значило бы съесть отряд,
которого игрок не терял.

--accept PASS без изменений: без профиля отряд по-прежнему впятером.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-15 22:29:19 +03:00
..
00-overview.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
01-build-and-run.md Свет как расходник: заряд тратится за путь, а не за время (M23) 2026-08-15 22:12:05 +03:00
02-architecture.md Статусы стихий и реакции (M22) 2026-08-15 05:45:17 +03:00
03-rendering.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
04-world.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
05-squad-ai.md Прототип боевого ядра: отряд, хоррор-слой, ближний бой 2026-08-03 13:00:49 +03:00
06-debug-and-tuning.md Прототип боевого ядра: отряд, хоррор-слой, ближний бой 2026-08-03 13:00:49 +03:00
07-milestones.md Отряд растёт с одного оперативника до пяти (M24) 2026-08-15 22:29:19 +03:00
08-decisions.md Прототип боевого ядра: отряд, хоррор-слой, ближний бой 2026-08-03 13:00:49 +03:00
09-acceptance.md Прототип боевого ядра: отряд, хоррор-слой, ближний бой 2026-08-03 13:00:49 +03:00
10-atmosphere.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
11-melee.md Прототип боевого ядра: отряд, хоррор-слой, ближний бой 2026-08-03 13:00:49 +03:00
12-assets.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
13-combat.md Отряд растёт с одного оперативника до пяти (M24) 2026-08-15 22:29:19 +03:00
14-monsters.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
15-engine-and-editor.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
16-descent.md Свет как расходник: заряд тратится за путь, а не за время (M23) 2026-08-15 22:12:05 +03:00
17-extraction.md Отряд растёт с одного оперативника до пяти (M24) 2026-08-15 22:29:19 +03:00
18-engine.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
19-agent.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
20-gdd.md Отряд растёт с одного оперативника до пяти (M24) 2026-08-15 22:29:19 +03:00
21-damage.md Свет как расходник: заряд тратится за путь, а не за время (M23) 2026-08-15 22:12:05 +03:00
22-loot.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
23-endgame.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
agent_attack.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
agent-v2-attack.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
agent-v2-rifle-attack.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
agent-v3-rifle-attack.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
agent-v4-rifle-attack.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
agent-v5-rifle-attack.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
agent-v6-rifle-attack.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
art-target-alien-shooter.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
brute_attack.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
combat.png Прототип боевого ядра: отряд, хоррор-слой, ближний бой 2026-08-03 13:00:49 +03:00
descent-d12.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
editor-hollow-topdown.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
editor-level.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
editor-room.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
editor-spawn.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
editor-terminal-tools.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
editor-terminal.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
level-rooms-seed42.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
lod-fitted-operative-idle-v2.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
lod-fitted-operative-idle.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
lod-quaternius-body-walk.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
lod-source-body-idle-v3.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
lod-source-body-walk-v2.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
lod-source-body-walk.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
menu.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
raid.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
runtime-alien-shooter-clean.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
runtime-alien-shooter-pass.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
runtime-spriteforge-blender-agent.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
runtime-spriteforge-scale-fixed.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
runtime-spriteforge.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
rusher-direct-gate-v2.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
rusher-direct-gate.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
sample-walk-topdown.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
sample-walk.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
spriteforge-contact-sheet.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
squad.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
ui-depth.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
ui-squad-stash.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
ui-summary.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
ui-upgrades.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
view-topdown-hollow.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00