Из данного материала вы узнаете как компилировать карту BAT-файлом, в
редакторе Хаммер и при помощи графической оболочки для ZHLT — программе
Batch Compiler. Также вы узнаете о двух типах компиляции: тестовой и
полной.
В виду того, что компиляция процесс весьма продолжительный, а
результат сделанных изменений в уровне лучше смотреть как можно чаще
(чтобы вовремя суметь что-то исправить), то появляется потребность в
уменьшении времени компиляции. А как ускорить компиляцию? Можно купить
помощнее компьютер, а можно изменить параметры компиляции. Во втором
случае уровень значительно потеряет в качестве (хуже просчитается
освещение, будет ниже FPS и пр.), но для тестовой (неокончательной)
компиляции это отлично подходит.
При тестовом режиме компиляции указываются параметры, существенно
сокращающие время компиляции, но при этом ухудшается качество готового
уровня. Также при неокончательной компиляции возможно использование
всего 2-х компиляторов из 4-х.
Итак, существует ДВА типа компиляции:
Полная компиляция
(наилучшее качество карты, но большее время компиляции);
Тестовая компиляция
(качество уровня хуже, но время компиляции значительно меньше).
1.1 Полная (окончательная) компиляция
Для того, чтобы получить наилучшую по качеству карту (финальную
версию) или, если продолжительность компиляции не имеет значения, мы
будем использовать полный режим компиляции. Мы советуем проводить полную
компиляцию уровня не только для финального ее варианта, но также для
проверки качества освещённости и определения скорости отрисовки карты
движком HL (параметр R_Speeds; FPS, Frames Per Second).
При окончательной компиляции задействуются все четыре программы-компилятора: HLCSG.EXE, HLBSP.EXE, HLVIS.EXE, HLRAD.EXE.
Самый ресурсосберегающий способ компиляции — компиляция посредством BAT-файла. При этом создается *.BAT файл (по сути простой текстовый), в котором прописывается запуск компиляторов и их параметры.
Ниже мы приводим строки для BAT-файла для полной, окончательной
окмпиляции с максимальным качеством итоговой карты. Скопируйте эти
строки в Блокнот и сохраните файл как full.bat (можно использовать любое другое название, но расширение должно быть именно *.bat). Затем этот BAT-файл необходимо поместить в папку с компиляторами, туда же скопировать карту в формате MAP и запустить full.bat для начала компиляции.
Полная компиляция (наилучшее качество карты)
@echo off set WADROOT=c:\games\half-life set mapname=karta.map
Первая строчка: убирает сообщения с экрана (к компиляции не относится); Вторая строчка: сюда пропишите путь к папке HL (компиляторы и Half-Life должны быть на одном диске); Третья строчка: название вашего уровня (не забудьте расширение .map на конце);
Четвёртая строчка: запуск компилятора HLCSG.EXE и его параметры; Пятая строчка: запуск компилятора HLBSP.EXE и его параметры; Шестая строчка: запуск компилятора HLVIS.EXE с параметром -full (полная оптимизация карты); Седьмая строчка: запуск компилятора HLRAD.EXE с параметром -extra (наилучший просчет освещённости).
Более подробно о параметрах компиляции вы можете узнать в соответствующем материале из этой главы Учебника.
1.2 Тестовая компиляция
Тестовая (неокончательная) компиляция применяется, когда не хочется
тратить немало времени, чтобы всего лишь, проверить, скажем, все ли
двери правильно открываются и закрываются, ездиет ли автомобиль,
поднимается ли лифт и пр.) — то есть правильно ли работают
энтити-объекты, или же просто с целью побегать по карте, потестировать
геймплей — в данном случае качество освещённости и оптимизации уходят не
так важныа.
При неполной компиляции возможно запускать лишь два компилятора из четырёх: HLCSG и HLBSP, то есть вполне можно не оптимизировать карту компилятором HLVIS и не просчитывать освещённость компилятором HLRAD.
Но мы все-таки советуем запускать все 4 программы-компилятора,
установив при этом для последних 2-х «быстрые» параметры (смотрите
ниже).
Скопируйте строки ниже в Блокнот и сохраните файл как fast.bat (можно использовать любое другое название, но расширение должно быть именно *.bat). Затем этот BAT-файл необходимо поместить в папку с компиляторами, туда же скопировать карту в формате MAP и запустить fast.bat для начала компиляции.
Тестовая компиляция (наименьшее время компиляции, но качество хуже)
@echo off set WADROOT=c:\games\half-life set mapname=karta.map
Отличие от окончательной компиляции наблюдается лишь в последних 2-х строках.
Первая строчка: убирает сообщения с экрана (к компиляции не относится); Вторая строчка: сюда пропишите путь к папке HL (компиляторы и Half-Life должны быть на одном диске); Третья строчка: название вашего уровня (не забудьте расширение .map на конце);
Четвёртая строчка: запуск компилятора HLCSG.EXE; Пятая строчка: запуск компилятора HLBSP.EXE; Шестая строчка: запуск компилятора HLVIS.EXE с параметром -fast (быстрая оптимизация карты); Седьмая строчка: запуск компилятора HLRAD.EXE с параметром -chop 128 (быстрый и более грубый просчет освещённости).
ЧАСТЬ 2. Способы компиляции
Чтож, уровни, как мы уже знаем, можно компилировать с помощью
BAT-файла или программами-оболочками для утилит Зонера (редактор карт
Hammer, также можно назвать оболочкой для Zoner's Half-Life Tools).
2.1 Компиляция BAT-файлом
О компиляции BAT-файлом мы рассказали в первой части публикации.
Теперь вы умеете создавать два пакетных файла: для тестовой и
окончательной компиляции. Однако, остановимся на этом способе еще
немного.
BAT-файл — это файл текстового формата. Когда мы запускаем BAT-файл,
то выполняются записанные в нём команды, к примеру, удаление файлов. Для
того, чтобы создать BAT-файл надо перенести в Блокнот команды запуска
программ-компиляторов и их параметры и сохранить файл под любым именем,
но обязательно с расширением *.BAT.
Чтобы использовать BAT-файл, поместите его в папку с компиляторами
ZHLT, например, «D:\Hammer\ZHLT». Туда же необходимо перенести исходник
своей карты в формате *.MAP.
Мы советуем создать 2 BAT-файла для 2-х разных типов компиляции
(окончательной и быстрой тестовой). Для удобства эти файлы можно назвать
full.bat и fast.bat.
Удаление лишних файлов после компиляции
После компиляции в директории с программами-компиляторами остается
много лишних файлов, которые можно удалить. Рассмотрим, какие файлы
можно безболезненно удалить, а какие могут ещё послужить.
*.BSP — откомпилированная карта (нужно скопировать в каталог «cstrike/maps»)
*.MAP — исходник карты в формате *.MAP (если есть резервная копия, то можно удалить)
*.ERR — файл создастся, если на карте будут найдены ошибки
*.LOG — файл с информацией о ходе компиляции (так же в него записываются ошибки)
*.LIN — файл нужен для нахождения ошибки LEAK (дырка), если таковая имеется на карте
*.PTS — то же, что и выше
*.P0 — файл не нужен, можно удалить
*.P1 — файл не нужен, можно удалить
*.P2 — файл не нужен, можно удалить
*.P3 — файл не нужен, можно удалить
*.PRT — файл не нужен, можно удалить
*.WIC — файл не нужен, можно удалить
2.2 Компиляция в редакторе Хаммер
Редактор Хаммер позволяет проводить как неокончательную, так и полную
компиляцию уровня. Чтобы компилировать карты из Хаммера, нужно
подключить к нему компиляторы Зонера. Как это делается, мы рассказываем в
материале: «Компиляторы ZHLT».
Мы бы не сказали, что компилировать уровни в редакторе легче и
удобнее, чем BAT-файлом. Но многие начинающие создатели карт с упорством
вопрошают, как компилировать уровни именно в редакторе :-) К счастью,
все они впоследствии переходят на компиляцию при помощи BAT-файла,
потому что это проще, удобнее и расходует меньше cистемных ресурсов.
Итак. Компиляторы ZHLT подключены к редактору Hammer. Можно начинать.
Нажимаем F9 в редакторе. Появится маленькое окно с параметрами компиляции.
Это режим «Normal», в котором нам представлено минимум параметров.
Run CSG
No — не запускать HLCSG.EXE Normal — обрабатывает все объекты на карте Entities only — обновляет информацию о параметрах энтити-объектов
Run BSP
No — не запускать HLBSP.EXE Normal — обычный режим
Run VIS
No — не запускать HLVIS.EXE (для тестовой компиляции) Normal — обычный режим Fast — быстрая оптимизация карты (для тестовой компиляции)
Run RAD
No — не запускать HLRAD.EXE (для тестовой компиляции) Normal — обычный режим Extra — включает наиболее качественный просчет освещённости (рекомендуется)
Don't run the game — не запускать карту сразу же после компиляции Save visible objects only — обрабатывает только видимые объекты Expert — переключение в расширенный режим компиляции, где параметры задаются вручную.
2. Режим Expert
Давай те рассмотрим компиляцию в расширенном режиме «Expert» для этого нажмём кнопку Expert внизу окошка.
Появится следующее окно (смотрите ниже). Сначала кажется, что тут
разобраться если не невозможно, то очень сложно. Вы все еще хотите
компилировать в редакторе? :-) Объясняем всё популярно.
В этом окне используются настройки, указанные нами при установке редактора, а именно из меню «Tools/Options...» закладки «Game Configurations» и «Build Programs». Только здесь вместо путей к программам-компиляторам и папкам HL используются переменные, начинающиеся со знака доллара «$».
В списке «Configurations» выберем «Counterstrike (full)». Рассмотрим каждую строку в поле «Compile/run commands».
Change Directory $exedir — здесь указывается каталог, в котором находится файл hl.exe $csg_exe $path\$file — эта строка запускает 1-й компилятор HLCSG.EXE $bsp_exe $path\$file — эта строка запускает 2-й компилятор HLBSP.EXE $vis_exe $path\$file — эта строка запускает 3-й компилятор HLVIS.EXE $light_exe $path\$file — эта строка запускает 4-й компилятор HLRAD.EXE Copy File $path\$file.bsp $bspdir\$file.bsp — переносит итоговый уровень в папку с игрой (она указывается в «Tools/Options.../Build Programs/Place compiled maps...») Copy File $path\$file.pts $bspdir\$file.pts — переносит PTS-файл в вышеуказанный каталог (можно не делать) $game_exe +map $file -game cstrike -dev -console +deathmatch 1 — авто-запуск готовый уровень с параметрами: -dev -console +deathmatch 1 Run with visible objects only — обрабатывать только видимые объекты (если на карте есть скрытые объекты, то они обработаны не будут)
Можно добавить и другие параметры компиляции, рассмотрим пример для окончательной компиляции:
Слева выберем строку $light_exe. В окошках справа мы увидим параметры запуска этой программы-компилятора (это HLRAD.EXE, просто он так назван). По умолчанию в параметрах записано лишь $path\$file, что указывает компилятору путь к вашему уровню.
Добавим в поле «Parameters» через пробел следующие параметры: -extra -dscale 1 -smooth 100.
Теперь программа-компилятор HLRAD.EXE просчитает освещённость карты
наилучшим способом. Также в окошках устанавливаются параметры и для
остальных компиляторов. Просто смотрите в материале: «Параметры
компиляторов» нужные параметры и вписывайте их в строчки запуска
программ-компиляторов.
Компиляцию в редакторе Хаммер отнести к самому удачному решению. При
данном типе компиляции требуется больше системных ресурсов компьютера,
так как Хаммер загружает в память как уровень, так и все используемые
текстурные библиотеки, да и сам он требует определенного количества
системных ресурсов.
Компиляция в программе Batch Compiler
Batch Compiler — это графическая оболочка для утилит Зонера. При
помощи всевозможных менюшек мы выставляем параметры и запускаем
компиляцию.
Batch Compiler — что-то среднее между компиляцией BAT-файлом и
компиляцией в Хаммере. Системных ресурсов потребляется значительно
меньше, чем при компиляции в Хаммере, но больше, чем при использовании
BAT-файла. Ещё одно плохо — данные программы необходимо постоянно
обновлять.
А вот как выглядит интерфейс Batch Compiler:
В верхней строке флажками отмечаются те операции, которые необходимо выполнить. Для окончательной компиляции нужно отметить:
CSG
BSP
Visibility
Radiosity
Флажок у букв HL запустит Counter-Strike на готовом уровне сразу же после окончания компиляции.
При первом запуске Batch Compiler нужно указать пути к компиляторам, а
также, при необходимости, путь к HL. Делается это через меню Options/Setup.
Также нужно указать путь к исходнику вашей карты в формате MAP:
отметьте флажок внизу окна программы напротив надписи «MAP File Path».
Теперь выставим параметры компиляции в закладках: CSG, BSP, Visibility и Radiosity.
Для запуска компиляции остаётся лишь нажать кнопку Compile.
В заключении
Мы рекомендуем компилировать свои карты BAT-файлом. Это наиболее быстрый и простой способ. Глава III.
Компиляция (ZHLT).