[enhancement] Именованные сценарии с сохранением расстановки, налёта и seed #17

Closed
opened 2026-10-29 11:59:48 +00:00 by chexit · 1 comment
Owner

Проверка исходников на 90379f6. Полный Horizon/GPU на Mac не запускался; оценки сложности и ресурсов ниже не являются замерами FPS.

Сейчас есть presets состава налёта и автосохранение мира, но для повторения одной и той же игровой/нагрузочной ситуации удобен отдельный снимок сценария.

Предложение: сохранить/загрузить именованный сценарий: комплексы, позиции/ориентации/роли, объекты, складские запасы и выбранный стартовый боезапас, конфигурация налёта, seed RNG; явно выбрать, включать ли повреждения. При загрузке сбрасывать старые ракеты/эффекты/cook-off/задания и пересоздавать связи по ID. Мир/измерение и версию формата хранить в метаданных; изменение блоков/рельефа не подразумевать без отдельной функции.

Полезно игроку: повторно защищать одну расстановку, сравнивать варианты и делиться маленьким JSON-сценарием. Полезно разработке: прогонять одинаковый бой для FPS, багов и image regressions (для последних также фиксировать камеру, время суток и погоду).

Критерий: round-trip состояния сценария; одинаковые seed/inputs дают одинаковый sim trace; явная ошибка несовместимого формата/мира. Связано с #8/#9, но это пользовательский интерфейс и переносимый сценарий, а не только headless test runner.

Проверка исходников на `90379f6`. Полный Horizon/GPU на Mac не запускался; оценки сложности и ресурсов ниже не являются замерами FPS. Сейчас есть presets состава налёта и автосохранение мира, но для повторения одной и той же игровой/нагрузочной ситуации удобен отдельный снимок сценария. Предложение: сохранить/загрузить именованный сценарий: комплексы, позиции/ориентации/роли, объекты, складские запасы и выбранный стартовый боезапас, конфигурация налёта, seed RNG; явно выбрать, включать ли повреждения. При загрузке сбрасывать старые ракеты/эффекты/cook-off/задания и пересоздавать связи по ID. Мир/измерение и версию формата хранить в метаданных; изменение блоков/рельефа не подразумевать без отдельной функции. Полезно игроку: повторно защищать одну расстановку, сравнивать варианты и делиться маленьким JSON-сценарием. Полезно разработке: прогонять одинаковый бой для FPS, багов и image regressions (для последних также фиксировать камеру, время суток и погоду). Критерий: round-trip состояния сценария; одинаковые seed/inputs дают одинаковый sim trace; явная ошибка несовместимого формата/мира. Связано с #8/#9, но это пользовательский интерфейс и переносимый сценарий, а не только headless test runner.
chexit added the area:persistencearea:simulationpriority:P3type:enhancement labels 2026-10-29 13:09:59 +00:00
Author
Owner

🤖 Agent: сделано в https://gitea.maoniao.team/chexit/airdef/commit/ed2db85 (запушено в main, CI зелёный).

🤖 Agent: сделано в https://gitea.maoniao.team/chexit/airdef/commit/ed2db85 (запушено в main, CI зелёный).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chexit/airdef#17