После завершения этапа построения геометрии игровых локаций наступает один из наиболее трудоемких и подверженных ошибкам этапов разработки игрового окружения – построение глобального игрового графа.
Традиционный подход, заключающийся в использовании консольной утилиты для генерации графа, характеризуется высокой ресурсоемкостью. Данный метод требует многократного (не менее 18 раз, по числу локаций в текущей реализации проекта) повторения процесса для каждой локации, что не учитывает необходимость интеграции планируемых, но еще не разработанных уровней. Подобная монотонность операций потенциально ведет к увеличению числа ошибок и снижает общую эффективность процесса разработки.
В целях оптимизации и упрощения построения игрового графа предлагается альтернативный метод, основанный на автоматизации запуска утилиты xrAI.exe посредством пакетной обработки:
- Создайте пакетный файл с расширением .bat в папке level_editor (например, build_all_graph.bat).
- Внесите в него следующий код:
@Echo off
:00
@start level_editor\bins\xrAI.exe -g l01_escape
echo l01_escape
pause
@start level_editor\bins\xrAI.exe -g l02_garbage
echo l02_garbage
pause
@start level_editor\bins\xrAI.exe -g l03_agroprom
echo l03_agroprom
pause
@start level_editor-e\bins\xrAI.exe -g l03u_agr_underground
echo l03u_agr_underground
pause
@start level_editor-e\bins\xrAI.exe -g l04_darkvalley
echo l04_darkvalley
pause
@start level_editor\bins\xrAI.exe -g l04u_labx18
echo l04u_labx18
pause
@start level_editor-e\bins\xrAI.exe -g l05_bar
echo l05_bar
pause
@start level_editor-e\bins\xrAI.exe -g l06_rostok
echo l06_rostok
pause
@start level_editor-e\bins\xrAI.exe -g l07_military
echo l07_military
pause
@start level_editor\bins\xrAI.exe -g l08_yantar
echo l08_yantar
pause
@start level_editor-e\bins\xrAI.exe -g l08u_brainlab
echo l08u_brainlab
pause
@start level_editor-e\bins\xrAI.exe -g l10_radar
echo l10_radar
pause
@start level_editor\bins\xrAI.exe -g l10u_bunker
echo l10u_bunker
pause
@start level_editor\bins\xrAI.exe -g l11_pripyat
echo l11_pripyat
pause
@start level_editor-e\bins\xrAI.exe -g l12_stancia
echo l12_stancia
pause
@start level_editor\bins\xrAI.exe -g l12_stancia_2
echo l12_stancia_2
pause
@start level_editor\bins\xrAI.exe -g l12u_control_monolith
echo l12u_control_monolith
pause
@start level_editor\bins\xrAI.exe -g l12u_sarcofag
echo l12u_sarcofag
pause
@start level_editor\bins\xrAI.exe -m
echo game.graph
pause
goto 00
Выглядеть готовый скрипт будет следующим образом.
При необходимости в скрипт можно дописать:
@start level_editor\bins\xrAI.exe -no_separator_check -s echo all.spawn