[enhancement] Именованные сценарии с сохранением расстановки, налёта и seed #17
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Проверка исходников на
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.
🤖 Agent: сделано в https://gitea.maoniao.team/chexit/airdef/commit/ed2db85 (запушено в main, CI зелёный).