Files
fparkan/README.md
T
Valentin Popov aa51f3574d chore: simplify project to engine docs and tests
Remove planning and acceptance scaffolding while retaining the native Vulkan mission preview, format readers, runtime algorithms, and ordinary Rust tests. Keep the book aligned with the runnable project and validate checked-in shaders without generated tool metadata.
2026-09-06 05:22:12 +04:00

3.1 KiB

FParkan

Открытый движок Паркан: Железная стратегия на Rust и Vulkan. Он читает ресурсы установленной оригинальной игры. Сейчас приложение загружает миссию и показывает её ландшафт и модели в статическом окне Vulkan.

Запуск

Нужны Rust и драйвер видеокарты с поддержкой Vulkan. Игровые файлы в репозиторий не входят.

cargo run -p fparkan-game -- `
  --root 'C:\GOG Games\Parkan - Iron Strategy' `
  --mission 'MISSIONS\Autodemo.00\data.tma' --frames 240

--frames задаёт число кадров. --preview-roots N ограничивает число объектов, --legacy-camera-capture читает сохранённую матрицу камеры, --static-animation-frame и --static-material-phase выбирают позу и фазу материала. --readback-out target/frame.raw сохраняет последний кадр GPU. Без сохранённой камеры используется вид карты сверху.

Разработка

cargo fmt --all -- --check
cargo test --workspace
cargo check --workspace

Алгоритмы и форматы проверяются обычными Rust-тестами рядом с кодом. Тесты с оригинальными ресурсами помечены #[ignore]; пути к двум частям установки задаются через FPARKAN_CORPUS_PART1_ROOT и FPARKAN_CORPUS_PART2_ROOT. Зависимости разрешает Cargo, локальный Cargo.lock не хранится в Git.

Готовые SPIR-V шейдеры находятся рядом с исходниками GLSL. Vulkan SDK нужен только для их пересборки и проверки с --validation. При доступных в PATH инструментах SDK:

glslangValidator -V adapters/fparkan-render-vulkan/shaders/triangle.vert -o adapters/fparkan-render-vulkan/shaders/triangle.vert.spv
glslangValidator -V adapters/fparkan-render-vulkan/shaders/triangle.frag -o adapters/fparkan-render-vulkan/shaders/triangle.frag.spv
spirv-val adapters/fparkan-render-vulkan/shaders/triangle.vert.spv
spirv-val adapters/fparkan-render-vulkan/shaders/triangle.frag.spv

Книга и исходники

Книга об устройстве движка объясняет форматы, математику, загрузку мира и связь подсистем. Её можно читать прямо в репозитории; mkdocs.yml задаёт представление на сайте проекта.

crates/ содержит форматы и игровые алгоритмы, adapters/ — окно и Vulkan, apps/fparkan-game — исполняемое приложение.

Лицензия

GNU GPL v2.