Remove off-queue.md and add new design documentation files including README.md, defs.md, near-term.md, projects.md, runtime.md, people.md, staffing.md, and schedule.md to outline the structure and agreements for the game's design phases.
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
# Фаза 21. Выбор действия
|
||||
|
||||
## Зависимости
|
||||
|
||||
- [Фаза 20](20-needs-actions.md)
|
||||
|
||||
## Зачем
|
||||
|
||||
Последний кусок среза: обязанность перестаёт быть приказом. Ученик с критической нуждой уходит с
|
||||
урока и возвращается, и это видно в кабинете и в его карточке.
|
||||
|
||||
## Задачи
|
||||
|
||||
- [x] Цели, веса и планирование — целиком в `HSchool.Ai`: на вход значения, на выход решение.
|
||||
В `HSchool.Simulation` — только сбор входов и запись ответа
|
||||
- [x] Цели и их вес: обязанность — постоянный высокий, нужда — тем больше, чем ближе к нулю,
|
||||
досуг — низкий и только при отсутствии обязанности
|
||||
- [x] Побеждает наибольший вес. Уход с урока получается из сравнения, а не из отдельного правила
|
||||
- [x] Планирование «дойти → сделать»: цель выбирает действие, планировщик достраивает дорогу до
|
||||
подходящей комнаты
|
||||
- [x] Начатое доводится до конца: переключение только при заметном перевесе новой цели
|
||||
- [x] Решения по событиям — звонок, конец действия, приход в назначенный узел, пересечение
|
||||
нуждой порога, — а не каждый тик
|
||||
- [x] Очередь решений с потолком за тик: отложенное принимается следующим тиком, а не пропадает
|
||||
- [x] Возвращение к обязанности после закрытия нужды, если урок ещё идёт
|
||||
- [x] Навык растёт на уроке: от предмета, с поправкой на черты и на состояние нужд
|
||||
- [x] Опоздание и отсутствие видны: в панели локации на уроке не весь класс, в карточке написано,
|
||||
где человек
|
||||
- [x] Строки через `t(...)`, обе локали
|
||||
|
||||
## Тесты, без которых фаза не закрыта
|
||||
|
||||
- [x] Ученик с нулевым «туалетом» уходит с урока, доходит до санузла и возвращается в кабинет
|
||||
- [x] Нужда чуть ниже порога урок не срывает
|
||||
- [x] Две почти равные нужды не заставляют метаться: действие доводится до конца
|
||||
- [x] На перемене выбирается досуг, на уроке — нет
|
||||
- [x] Навык после учебного дня вырос, у голодного — меньше
|
||||
- [x] Потолок решений за тик не теряет решения, а сдвигает их
|
||||
- [x] Тот же сид и те же действия игрока дают ту же школу через игровую неделю
|
||||
- [x] Разбор решения таблицей входов и выходов, без мира и без хоста
|
||||
|
||||
## Критерий готовности
|
||||
|
||||
- Прогнать школу на ×4 через учебный день и увидеть осмысленную картину: уроки, перемены с
|
||||
коридором и столовой, редкие отлучки посреди урока
|
||||
- `dotnet test`, `npm test` и `npm run build` проходят
|
||||
|
||||
## Стоп
|
||||
|
||||
Не добавлять оценки, настроение, конфликты и дружбу. Не давать игроку приказы. Не углублять
|
||||
планировщик до полного GOAP.
|
||||
Reference in New Issue
Block a user