Poligon ©

  навигация по сайту 
  
  Аллея Славы 
  
  все о Valve Hammer Editor 
  
  Все о UnrealEd 
  
  Все о CS:Source 
  
  Все о Doom 3 
  
  все о Heightmap Editor 
  
  сайтовые заметки 
  
» L i P k I y написал для нас интересный тутор по редактору карт для известной игры Unreal 2003. Он находится тут.

» LAM - rulezzz написал для нас статью про то, как сделать дождь на вашей карте. Читайте.

» Вы видели курицу на cs_italy? Знаете как ее сделать? Deadman рассказывает об этом в новой статье

» Эксперементальная карта от Akella. Карта-учебник. В архиве вы найдете исходные файлы карты poligon.bsp, саму карту, файлы текстур к этой карте.
Подробнее?

» Учебник по редактированию карт для Counter-Strike - лучшее, что есть на Русском языке. Помощь начинающему маперу. От настроек WorldCraft до создания света!

» Каждый мапер знает что такое entities! А вы? Справочник по объектам (entities) Counter-Strike поможет вам!

» Сам себе громовержец! Как сделать гром и молнию на карте читайте в этой статье

» Это не глюки! Это помощь в создании иллюзии бесконечного движения на примере самых поездатых поездов.

статьи

Компиляция карты


by deadman

Итак, Вы скачали Worldcraft и создали свою первую карту, которая, по существу, состоит из одной комнаты и точками появления 10 террористов, 10 спецназовцев и 2-3 заложников. В окне просмотра в режиме 3D Worldcraft'а Вы ознакомились с внешним видом карты, однако Вам не терпится попробовать, будет ли она работать в игре. С чего же начать?

Самый простой способ - использовать Worldcraft и идущие в комплекте с ним компиляторы. О том, как настроить Worldcraft на инструменты можно узнать здесь, а о том, как изменять параметры компиляции можно прочитать здесь. Однако я хочу предложить Вам более надежный способ компиляции карт. Хотя, на первый взгляд, он может показаться Вам более сложным, он имеет ряд преимуществ по сравнению с компиляцией с помощью Worldcraft'а или другой программной оболочки для компиляторов.

Во-первых, всегда пользуйтесь компиляторами от Зонера (Zoner's Halflife Tools - ZHLT). Сходите в раздел ИНСТРУМЕНТЫ и скачайте набор компиляторов ZHLT последней версии. Эти компиляторы, в отличие от стандартных, могут компилировать объекты с тенями, имеют более информативные сообщения об ошибках, сохраняют "логи" компиляции, имеют больше возможностей для настройки и содержат меньше ошибок. После того, как скачаете компиляторы, распакуйте содержимое архива в папку с Worldcraft'ом или в любую другую, где Вы будете компилировать свои карты. Единственным условием является то, что файлы с текстурами (.wad) должны находиться на том же логическом диске, что и файл с картой, иначе компиляторы могут не найти текстуры и прервать процесс компиляции.

Во-вторых, запускайте компиляторы непосредственно из операционной системы, миную программы-оболочки, такие как Wolrdcraft и другие. Основной аргумент в пользу этого высказывания - экономия памяти и сокращение времени компиляции. Так, WC загружает в память всю Вашу карту, а также текстуры, указанные в его настройках. Плюс сам WC требует определенный объем памяти. Все бы ничего, да сами компиляторы требуют огромного количества памяти (особенно RAD-компилятор, для которого потребность в памяти может достигать 200-300 Мб, и даже > 1Гб для сложных детализированных карт).

Кроме вопроса о памяти есть еще одна загвоздка: WC и другие оболочки используют т.н. Process window (Окно выполнения компиляции), в котором показывают текущее состояние работы компиляторов. К сожалению, такое окно выполнения не приспособлено для отражения большого объема информации, так что приходится ограничивать выдаваемую компиляторами информацию до минимума. При этом теряется одно из основных преимуществ компиляторов Зонера - информативность. Ошибку или предупреждение можно не заметить, и, впоследствии, лишь догадываться о причинах неправильной работы или "зависания" Halflife.

Итак, мы договорились использовать ZHLT и запускать их непосредственно в ОС. Следующим этапом является экспорт исходников карты в формат .map. А как же тогда Worldcraft компилирует карты, сохраненные в формате .rmf? На самом деле, WC автоматически экспортирует карту в .map - единственный формат, понятный для компиляторов, а формат .rmf - внутренний для WC и содержит более подробную информацию, например, о группировке объектов и т.д. Для экспорта выберите в меню File пункт Export to .MAP, укажите имя файла и все. Теперь начинается самое интересное - сама компиляция.

Всего компиляторов 4, каждый отвечает за свой этап создания готового файла-карты. CSG отвечает за создание общей геометрии на карте (файл hlcsg.exe); BSP создает дерево BSP карты и готовый запускаемый .bsp файл (файл hlbsp.exe); VIS анализирует видимые участки для карты для увеличения скорости отрисовки кадра (файл hlvis.exe); RAD добавляет в готовый файл информацию об освещении на карте (файл hlrad.exe). Для того, чтобы автоматизировать процесс компиляции карты, рекомендуется создать несколько пакетных файлов (.bat), в которых прописать последовательность запуска компиляторов и параметры к ним. Несколько таких файлов необходимо для того, чтобы реализовать, например, полную и частичную (быструю) компиляцию. Создайте текстовый файл, запишите в нем названия программ-компиляторов и параметры к ним, а затем измените расширение файла с .txt на .bat. Можно начинать компиляцию.

Для полной окончательной компиляции необходимо запустить все 4 компилятора со следующими параметрами:

hlcsg.exe <имя_карты>
hlbsp.exe <имя_карты>
hlvis.exe -full <имя_карты>
hlrad.exe -dscale 1 -extra <имя_карты>


Если Вы проверяете геометрию, то можно пропустить выполнение RAD-компилятора и заменить параметр -full компилятора VIS на -fast, а если карта совсем небольшая (1-2 комнаты без деталей), то, для проверки работоспособности, можно пропустить и VIS. Однако по мере увеличения размеров карты, компиляция без VIS'а приведет к потере производительно при запуске игры ниже приемлемого уровня (скажем 3-5 кадров в секунду даже на GeForce). Компиляция же без RAD'а приведет к тому, что карта будет абсолютно светлой, без теней. Полный перечень параметров компиляторов находится здесь.

Таким образом, для полной компиляции Вам потребуется пакетный файл следующего содержания:

@echo off
rem Диск должен совпадать с диском, где установлен Halflife, чтобы ZHLT мог найти файлы с текстурами (.wad)
c:
rem Или используйте переменную WADROOT для указания пути к файлам с текстурами (.wad)
set WADROOT=c:\games\halflife
rem Укажите имя карты в следующей строке (без расширения)
rem myfirstmap замените на название своей карты
set mapname=myfirstmap
hlcsg "%mapname%"
hlbsp "%mapname%"
hlvis -full "%mapname%"
hlrad -dscale 1 -extra "%mapname%"

Для ускоренной компиляции, с сохранением освещения (невысокого качества) создайте еще один пакетный файл следующего содержания:

@echo off
rem Диск должен совпадать с диском, где установлен Halflife, чтобы ZHLT мог найти файлы с текстурами (.wad)
c:
rem Или используйте переменную WADROOT для указания пути к файлам с текстурами (.wad)
set WADROOT=c:\games\halflife
rem Укажите имя карты в следующей строке (без расширения)
rem myfirstmap замените на название своей карты
set mapname=myfirstmap
hlcsg "%mapname%"
hlbsp "%mapname%"
hlvis -fast "%mapname%"
hlrad "%mapname%"

Назовите первый файл full_compile.bat, а второй - fast_compile.bat. Теперь, для компиляции своих карт только меняйте название карты в пакетном файле, а также, при необходимости, параметры компиляторов. Если компиляция прошла без ошибок, Вы получите готовый .bsp файл с картой, который необходимо скопировать в папку Halflife\cstrike\maps, создать сетевую игру и насладиться результатами своего труда.

На последок предлагаю вам универсальный .bat файл от ТнТ, с помощью которого, легко меняя настройку, можно откомпилировать любую карту, будь то частичная промежуточная компиляция карты с одной комнатой или финальная компиляция русского dust'а.

begin of fcomptnt.bat after the line :

-------------------------------------

@echo off
rem Valve map .bat compiller (c) 1998
rem Mod'ed by TnT
rem Задаем имя компилируемой карты. Измените слово yourmapname на имя
rem компилируемой карты (пример de_booooom)
set mapname=yourmapname.map
rem Variable Construction
rem Задаём путь к компиляторам (в данном случае ZHLT)
set csg=c:\program files\worldcraft\zhlt\hlcsg.exe
set bsp=c:\program files\worldcraft\zhlt\hlbsp.exe
set vis=c:\program files\worldcraft\zhlt\hlvis.exe
set rad=c:\program files\worldcraft\zhlt\hlrad.exe
rem Папка с картами к Worldcraft
set wcmaps=c:\program files\worldcraft\maps
rem Насчёт путей ! надеюсь вы уже знаете что все компиляторы , карты да
rem и сама халфа должны быть на одном диске . C: к примеру. (Если у вас
rem всё добро находится , ну на D: то измените пути ВСЕГО в этом файле
rem с C: на D:
rem Папка с картами (можете изменить путь на подходящий .
rem Пример c:\hl\cstrike\maps
set hlbsps=c:\games\half-life\valve\maps
rem Half-Life drive
set hldrive=c:
rem change to half-life maps directory (to ensure being on the right drive)
%hldrive%
cd %hlbsps%
rem Сам процесс компиляции (параметры , такие как -estimate , -full
rem расписаны и описаны в Ридмешнике к zhlt)
%csg% -estimate -nowadtextures %wcmaps%\%mapname%
%bsp% %wcmaps%\%mapname%
%vis% -estimate -full %wcmaps%\%mapname%
%rad% -estimate -extra %wcmaps%\%mapname%
rem Выше приведён пример простенькой компиляции класса final\full
rem Хотите усложнить другими параметрами ? Бога ради ! Приписывайте
rem наздоровье и компильте.
rem copy compiled map from wc maps directory to hl bsp directory
copy %wcmaps%\%mapname%.bsp %hlbsps%\%mapname%.bsp
rem Variable Deconstruction
set csg=
set bsp=
set vis=
set rad=
set wcmaps=
set hlbsps=

----------------------------------

end of fcomptnt.bat



Удачной компиляции!

З.Ы. Как всегда, если что-то не работает или что-то неправильно (на Ваш взгляд), звоните! :)


  форум 
  10 последних сообщений в форуме:
(найти все новые)

» (0) ВОПРОС - GeMaR0y
» (276) Дятлы и все о них... - goodoldpunk
» (20) de_pripyat [FinaL] - -SpawN-
» (40) Как же мне стыдно.... но я обещал... - Terrorist-punk
» (7) Давайте все вместе, или развитие поли... - Terrorist-punk
» (51) Кфрта мая первая - -=F@t@!1ty=-
» (3) Моды хл - Jaga
» (5) Лучшие карты для CS1.6 - Spark
» (86) Статус в подарок - SWAT
» (43) Да обьяснит мне кто-нить, наконец, ил... - Terrorist-punk
  Пользователи в форуме 
  
  Обратная связь 
  WebMaster:
Basilio Cat

Администраторы:
Basilio Cat
MeHT
yxo
SWAT

Модераторы:
Big Gun
TnT
  счетчики 
  


Rambler's Top100

Данный веб-сайт является некоммерческим (noncommercial) проектом