aboutsummaryrefslogtreecommitdiff
path: root/docs/index.md
blob: b6e62f4ade55dcf89c202ef2b59a08489d285b4b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# FParkan

Эта книга рассказывает, как устроен движок *Паркан: Железная стратегия* и как
FParkan воспроизводит его работу на Rust и Vulkan. Начнём с простого вопроса:
что должно произойти между выбором миссии и появлением первого кадра?
Ответ связывает архивы, модели, поверхность карты, камеру, свет и поведение
объектов в одну программу.

Главы читаются последовательно. Для знакомства с игровой разработкой
подойдут первые две; подробные структуры файлов можно искать в справочнике.

1. [Путеводитель](tomes/01-guide.md): основные понятия и чтение бинарных структур.
2. [Архитектура и игровой цикл](tomes/02-architecture.md): запуск, мир и кадр.
3. [Ресурсы](tomes/03-resources.md): архивы, имена и связи файлов.
4. [Миссии и ландшафт](tomes/04-world.md): размещение объектов и поверхность.
5. [Геометрия и рендер](tomes/05-render.md): путь от вершины до пикселя.
6. [Поведение, управление и звук](tomes/06-behavior.md): интерактивный мир.
7. [Работа над движком](tomes/07-implementation.md): код, тесты и проверка результата.
8. [Устройство оригинальной программы](tomes/08-evidence.md): DLL, адреса и конфигурация.

В справочнике можно быстро сверить [NRes](reference/nres.md),
[RsLi](reference/rsli.md), [TMA](reference/tma.md), [MSH](reference/msh.md),
[материалы](reference/materials.md), [Texm](reference/texm.md),
[кадр рендера](reference/render-frame.md), [атмосферу и небо](reference/atmosphere.md)
и [эффекты окружения](reference/environment-effects.md). Таблица DLL находится
в [описании оригинальных модулей](reference/original-binaries.md).

В [глоссарии](appendices/glossary.md) собраны термины, а в
[открытых вопросах](appendices/knowledge-boundaries.md) — ещё не восстановленное
поведение. Описание алгоритма оригинала и возможности текущего приложения
различаются явно. Предположение остаётся предположением, пока его не
подтверждают игровые файлы или код оригинала.

Команды запуска и проверки приведены в [README](../README.md).