Издательский дом КОМПЬЮТЕРРА Компьютерра онлайн Компьюлента Домашний компьютер Инфо-Бизнес Game.exe TERRALAB Софтерра
Региональная Компьютерра
Компьютерра+




Расширенный поиск...

Сегодня

Из геймера в мэперы

Компьютерра+, ctr@computerra.ru, 02.09.2002

Наверное, у каждого геймера рано или поздно возникает желание создать карту для той или иной игры или даже создать свою игру... Второе чаще всего надоедает с первых же часов труда; создать же карту или мод для игры гораздо проще, т.к. это не требует знания программирования и позволяет полностью погрузиться в творческую часть замысла, что, согласитесь, и является главным в любом проекте. И ведь почти для каждой серьезной игры имеется редактор. Другое дело, степень сложности  и конечный результат создания проекта...
Из всей массы жанров легче всего создавать карты для стратегий, сложнее для 3d-экшенов. На данный момент, пожалуй, самой интересной и продвинутой игрой для создания модов является всеми любимый "Half-Life"; далеко ходить не надо - сам "Counter-Strike" был сделан именно на его движке, и это не удивительно, ведь в игре заложено все для полного ее переделывания на свой вкус и цвет ;-). В этой статье рассказывается о создании карт для "Counter-Strike" и собственных модов для "Half-life".

Вооружаемся
Обычно с игрой редактор не поставляется, поэтому первое, что нужно сделать, это скачать его из Интернета или у кого-нибудь позаимствовать. Имя ему - WorldCraft, последняя версия, по-моему, была 3.3. Для создания нестандартных карт или модов понадобятся следующие программы:  Wally - для рисования текстур и упаковки их в формат "wad", SpriteViewer - для просмотра или создания интерфейса и эффектов в игре, MilkShape3d - для создания моделей, "Half-Life model viewer" -  для их просмотра, Pak Explorer - для создания архивов в формате "Pak". Это и есть стандартный набор мапера. Ну и конечно, понадобится сам "Half-Life" любой версии.

Настройка
Для начала устанавливаем WorldCraft и переходим к его настройке. После запуска программы заходим в меню "Tools", затем в "Options". В первом окне ничего трогать не надо, сразу переходим на вкладку "Game configurations":  вверху нажимаем кнопку "edit", затем "add" и пишем название настройки, дальше все понятно. Затем, когда настройка создана, нужно вставить файл конфигурации для карты, то есть если карта для "Counter-Strike" это будет "halflife-cs.fgd", если для "TeamFortes", то "halflife-tfc. fgd". В стандартном наборе WorldCraft есть файлы только для "Half-Life" и "TeamFortes". В поле "Default PointEntity class" ставим "info_player_start", в "Default SolidEntity class" -  "func_wall". В следующее поле вписываем путь к папке с "Half-Life", в следующее - путь к моду, затем путь к папке "Valve" в директории "Half-Life" и путь к папке, где будут сохраняться карты перед запуском.
Нажимаем "OK", опять заходим в опции, но уже на вкладку "Build programs". В списке настроек выбираем свою. В первом поле нужно указать путь и имя файла hl.exe, затем указываем файлы, которые находятся в папке WorldCraft с их путями: "qcsg.exe, qbsp2.exe, vis.exe, qrad.exe". В последнем поле указываем папку с картами для мода, например, "cstrike/maps" или "valve/maps". И наконец, последнее: переходим на вкладку "Textures" и вставляем в список файлы с текстурами, которые находятся в папке "valve" или "cstrike", стандартный набор - "halflife.wad, cstrike.wad, decals. wad". Вот и все, настройка остается в прошлом ;).

Первые шаги
После создания настроек заходим в меню "File"->"New", чтобы сделать новую карту. Появится окно, поделенное на 4 части, в верхней левой нажимаем на кнопку "camera"->"3d textured" - здесь карта будет отображаться в трехмерном варианте, в остальных трех она отображается в 2-х мерном варианте по трем осям.  Слева расположена панель для создания и редактирования объектов на карте, первые три сверху  нам не нужны, а вот следующие и есть самые главные. Первая кнопка предназначена для создания "Entity" объектов - это места расположения игроков, взрывы, свет и т.п., в общем, эффекты и все, что с ними связано. Вторая кнопка предназначена для создания "Brush" объектов - это стены, машины, лифты, мебель, коробки и т.п. 
Для начала создадим небольшую комнату с дверью и окнами. Для этого нажимаем на вторую кнопку, затем на плане по осям x/y наносим квадрат (чтобы увеличить или уменьшить сетку, нужно нажимать на "[" или "]"); когда квадрат появится, нажимаем на него правой кнопкой мыши и в появившемся меню жмем "Create". Теперь квадрат должен появиться на 3-х мерном плане. Чтобы он стал внутри пустым, нажимаем на него правой кнопкой мыши и затем "Hollow", здесь указывается толщина стенок - обычно я беру 15.
У нас получилась комната. Но как ее закрасить в нужную текстуру? На левой панели жмем на кнопку "Toggle textured application", появится новое окно, в котором в списке выбираем нужную текстуру (удобнее всего это делать через кнопку "Browse"). Затем на 3-х мерном плане мышью нажимаем на нужную фигуру  (чтобы перемещаться по плану жмем на кнопки "a,w,s,d" и стрелки, также можно нажать на "z" для перемещения мышью), теперь нажимаем на кнопку "Apply" - и готово. Чтобы растянуть текстуру, жмем на "Fit". В остальном разобраться нетрудно... Чтобы закрасить только одну какую-нибудь часть комнаты, нужно перейти в режим "разбиения" - это кнопка "ig" (ignore toggle group) на верхней панели; после не забудьте перейти обратно, иначе могут возникнуть излишние проблемы. Вот и все, теперь у нас есть абсолютно пустая комната.

Окна
Чтобы в комнате "вырезать" окно, создаем браш (кроме квадрата на правой панели в поле "Objects" выбираем нужный; параметр "Faces" - это количество граней фигуры, если в поле "Categories" просмотреть другие категории, то можно найти уже готовые фигуры - это диваны, столы, компьютеры, шкафы и т.п.). Затем перетаскиваем его в стенку насквозь. Теперь правой кнопкой мыши вызываем меню на созданной фигуре и жмем "Carve", затем удаляем браш. Теперь у нас есть половина окна, осталось вставить стекло, для этого создаем Браш с текстурой "Glass" и вставляем его в созданный проем. Затем на правой панели нажимаем на кнопку "To Entity" и в списке выбираем "func_breakable" (это тип объекта, который ломается). В списке "Render mode" ставим на "Texture", "FXAmount" - это степень прозрачности объекта, и чем меньше число, тем стекло прозрачнее. "Strength" - это "сила" объекта, то есть чем число больше, тем дольше его  надо лупить, чтобы он разбился.  Все, окно готово.

Двери
Чтобы сделать дверь, нужно проделать то же, что и с окном, только вставить фигуру в дверной проем. Затем в свойствах "to Entity", в списке выбираем "func_door": "Speed" - скорость выезжания двери, "Move Sound" - звук при перемещении двери, "Delay before close..." - время в секундах перед автозакрыванием двери ("-1" - дверь не будет закрываться автоматически), "Damage inflicted when blocked" - это самое веселое: жизни которые будут отниматься, когда кого-нибудь прищемит дверью (так ведь и убить может :)). На вкладке "flags" можно установить первоначальное состояние двери, также нужно установить свойство "name", например, в "door", в остальном, зная английский, разобраться легко...
Теперь нужно создать кнопку для открывания/закрывания двери: создаем браш и располагаем его вертикально рядом с дверью, закрашиваем его в текстуру кнопки. Затем отправляем его "to Entity", "func_button". В свойствах "Targeted object" пишем имя двери и на вкладке "Flags" ставим галочку на "Don't move". Дверь готова, но карту запускать еще рано, нужно расположить место появления игрока.

Entity объекты
Как уже говорилось выше, Entity - это данные на карте или эффекты.
Создадим место расположения игрока при старте. Нажимаем на кнопку и ставим на карту объект, аналогично брашам, нужно чтобы он был над полом комнаты чуть выше, чтобы не возникло "глюков" при запуске. Если залезть в свойства объекта, то вы обнаружите, что в списке совершенно другие объекты, нежели у брашов, например, место расположения каунтеров - это "info_player_ start", террористов - "info_ player_deathmatch".

Взрывы
Чтобы приукрасить обстановку, можно вставить в карту взрывы. Это Entity с именем "env_explosion"; свойство "magnitude" - это мощность взрыва. Инициализировать взрыв можно, например, кнопкой, как простую дверь...

Решетки
Создаем браш с текстурой решетки (обычно их имена начинаются на символ "{", задний фон синего цвета). Затем отправляем его в "func_door_ rotating", "render mode" ставим "solid", остальные функции, как у простой двери; на вкладке "flags" ставим "x axis", чтобы люк открывался горизонтально, и соответственно "y axis", чтобы люк открывался по вертикали. Свойство "use only" позволяет открывать дверь не автоматически, а только с помощью кнопки "use", обычно это "e". Осталось создать ось, по которой люк будет вращаться. Для этого делаем браш с текстурой "origin" и располагаем его вдоль стороны, по которой люк будет открываться.

Свет и эффекты
Для запуска карты осталось создать свет: делаем Entity и располагаем его, как обычную лампочку, в комнате. В свойствах ставим "light", Brightness - это цвет света, 4-й ряд чисел - это яркость; с помощью "Appearance" можно сделать мигающий свет или свет с искрами. Также можно сразу создать взрывающийся ящик, для этого можно воспользоваться готовыми макетами с правой панели, затем нужно отправить его в "func_breakable" и в свойствах "explode magnitude" поставить число примерно на 50, это отнимет половину жизней; в свойствах "material  type" нужно указать, из чего сделан ящик (wood - дерево, metal - металл). В общем, главное, чтобы фантазия была, а в остальном все просто - куча объектов, каждый из которых имеет свои свойства...

Небо
Чуть не забыл о самом главном, о небе. Создаем "офигенный" браш вокруг карты с текстурой "sky" и отправляем его в "hollow". По умолчанию небо будет отображаться на фоне гор, чтобы поставить другой фон, нужно зайти в свойства карты (в меню map->map properties-> "environment...").

Компиляция
Теперь можно приступать к компиляции карты. Нажимаем F9 или кнопку "Run map!" на верхней панели. В появившемся окне ставим все параметры на "Normal". Вообще здесь указываются параметры запуска карты, для более продвинутой настройки лучше разобраться в окне "Expert". Если в настройках WorldCraft все нормально, то после нажатия на кнопку "OK" карта запустится.
При создании карт нужно не забывать, что на ней будут воевать, а не играть в догонялки (кстати, есть мод для HL, в котором не надо стрелять, он сделан как большая головоломка), так что не забывайте ставить побольше ящиков, за которые можно спрятаться. Также не забывайте, что движок "Half-Life" имеет один большой недостаток, он не может отображать большие пространства, и если поставить игрока на пространство длиной где-то в 100 метров и на конце разместить ящик, то он не будет виден. Старайтесь не оставлять больших открытых пространств,  закрывайте вид любыми способами (например, простыми ящиками, как это сделано  в de_dust'е).

Что делать?
Наверное, первый вопрос перед созданием карты - что сделать? Это просто: что фантазия позволяет, то и делай, как говорится, возможно все. Можно сотворить карты, начиная от космических портов и заканчивая подводными станциями... Однако, по моему мнению, самое интересное - это создание карты, например, своего дома, школы или какого-нибудь здания в твоем городе. Самое лучшее, что получалось у меня, это здание Торгового комплекса в Иркутске - интересно заложить бомбу прямо на крыше магазинчика  или носиться по элеваторам безо всяких предупреждений...
Но если все-таки ничего не приходит на ум, можно воспользоваться утилитой WinBSP для просмотра в WorldCraft'е уже сделанных карт, правда изменять их можно только с согласия автора.

Мода на моды
Когда вы овладеете всеми принципами создания карт, для вас уже не будет проблемы сделать карту, например, "cs_assault". Можно попытаться сделать свой мод для "Half-Life", ведь это не так уж и сложно, как кажется на первый взгляд, для примера можете просмотреть директорию "cstrike".  В папке "gfx/shell" есть файл "btns_main.bmp", в нем находятся кнопки меню, в файле "splash.bmp" находится задний фон меню, в общем, просмотрите все файлы - там все есть.  Вообще первое, что должно быть при создании мода, это хорошая сюжетная линия, если игра на прохождение, и конечно сама обстановка игры, продуманная от начала до конца. Также не малого стоит создание моделей, т.к. это требует навыков работы хотя бы с 3Dstudio Max. Если  же нет желания создавать свои модели в Milk Shape3d, можно просто изменить текстуры уже созданных моделей с помощью "Half-Life model viewеr", как это сделал народ с несчастным калашниковым (по Интернету гуляют сотни копий). Также можно скопировать модели из других игр, если знать как (например, через MilkShape3d). Еще при создании модов большую роль играет ".fgd" файлы, ведь в них и написаны все правила и условия игры. Если разобраться в них с помощью notepad'а, то затем можно создать свой. Ну, а самое главное - это желание.

Эпилог
В принципе, все, что не было описано в этой статье, легко найти в Интернете, т. к. мэперов там довольно-таки много, и долго искать не придется. В общем, могу пожелать удачи, остальное зависит только от вас.

Сергей Королев


Компьютерра+
ctr@computerra.ru
 



Региональное представительство

Красноярск


Сегодня

2 сентября - 8 сентября
 Из геймера в мэперы

Архив
материалов
Следующая неделя

Свежий номер

Ищущий да обрящет "КомпьюТерра+" №32
22 августа 2005

Тема номера:
Ищущий да обрящет

 Архив номеров

Региональные представительства




Реклама


Региональный проект

Региональный проект КТ охватывает уже около 40 регионов! Газета «Компьютерра+» издается в 34 городах
 
 О газете «Компьютерра+»
 Территория распространения и периодичность выхода
 Контакты
 Региональные партнеры проекта «Компьютерра+»
Книга гостей
 Регистрация
 Реклама на сайте

Информация о сервере
Copyright (c) 2000 ИД "Компьютерра"
Email: ctr@computerra.ru
Телефон: (095) 232-22-63
Создание сервера (с) 2000 Individ
Работает на Saitistika
Карта сервера
Главная страница