30 июля 2007
Обновлено 17.05.2023

Уровни для S.T.A.L.K.E.R., часть 1

Уровни для S.T.A.L.K.E.R., часть 1 - изображение обложка

На протяжении двух месяцев с момента выхода S.T.A.L.K.E.R. разработчики в поте лица трудились над SDK. Совсем недавно в Сети появилась бета-версия официального «чернобыльского» инструментария для создания мультиплеерных карт. Конечно, модмейкеры тут же принялись за сборку уровней и дополнений. По ходу дела выявились различные баги и недочеты, но на то она и бета. Главное, что принципы работы в ней точно такие же, как будут в релизе.

Мы одними из первых получили доступ к SDK, внимательно его изучили и прямо сейчас можем представить детальный рассказ о том, как делать мультиплеерные карты для игры. Редактор для сингловых уровней появится чуть позже.

Подготовка к моделированию

Установив бета-версию MP-SDK , мы первым делом заглянули в главный каталог и обнаружили там редактор карт (главная программа из набора), компилятор уровней, редактор персонажей и частиц и небольшой официальный файл справки (HTML-документ).

Подробно описывать каждую утилиту набора мы не будем: многие из них очень сырые, часто глючат, интерфейсы далеко не всегда удобные — словом, есть еще над чем работать. Мы же заострим внимание лишь на редакторе карт, который позволяет создавать новые уровни для многопользовательского режима, — переделывать оригинальные локации, увы, не разрешается (возможно, это временное явление).

Запустите редактор карт ( LevelEditor.exe ). Перед вами появятся две инструментальные панели, на них вынесены компоненты для переключения между режимами отображения объектов. А также кнопки для работы с объектами, строка состояния (занимает нижнюю часть приложения) и окно 3D-вида, под которое отведена большая часть программы.

Главное меню, содержащее основные команды для открытия, сохранения, импорта файлов, располагается не в самом верху (как во многих других редакторах), а на панели справа. Насколько мы поняли, сделано это было умышленно, чтобы увеличить главное окно. При необходимости вы можете свернуть панель справа, кликнув по кнопке с изображением черной стрелочки в самом верху панельки. При этом окно перспективы заметно растянется и займет всю рабочую область редактора. Еще одна особенность — наличие технической информации в левом верхнем углу окна перспективы (FPS, общее число источников освещения, игровое время).

С устройством редактора разобрались. Давайте посмотрим, как обстоят дела с навигацией в окне 3D-вида. Для изменения положения камеры в горизонтальном/вертикальном направлении достаточно зажать клавишу Shift на клавиатуре и передвинуть мышь с зажатой левой/правой кнопкой. Чтобы изменить угол наклона камеры, зажмите клавишу Shift и переместите мышь на новое место с зажатыми левой и правой кнопкой. Управление очень напоминает навигацию в графическом пакете Maya , так что если вы знакомы с этим моделлером, то без труда разберетесь и с редактором «Сталкера».

Создавать карты не очень удобно. Сначала необходимо смоделировать игровой уровень в Maya 8.5 , затем — экспортировать текстуры и модели в формат, понятный движку «Сталкера» (специальные экспортеры для Maya включены в SDK), подгрузить все объекты (ландшафт и элементы окружения) в редактор, собрать на основе всего этого полноценную локацию, добавить на карту монстров, NPC и скомпилировать уровень. Схема, мягко говоря, непростая, особенно для тех, кто никогда в жизни не занимался 3D-моделированием.

В настоящей статье мы не будем затрагивать этапы разработки карты, связанные с моделированием и текстурированием в Maya, а расскажем лишь о том, как можно собрать уровень на основе уже имеющихся в редакторе объектов, скомпилировать его и опробовать в игре.

Работа с объектами

Научимся добавлять на карту различные элементы. Активируйте режим работы с объектами на панели в правой части редактора. Для этого в поле Edit Mode кликните по кнопке Object. Затем в поле Commands щелкните по кнопке Multiple Append для вызова библиотеки 3D-моделей. В появившемся окне Select Library Object раскройте каталог levels\mp_atp_test и поставьте флажки напротив элементов mp_atp_buildings (набор зданий в виде одной тестовой модели), mp_atp_terrain (тестовый ландшафт местности) и щелкните по кнопке Ok. Вы увидите, что выбранные из библиотеки объекты появятся на карте.

Прежде чем двигаться дальше, выберите пункт меню File\Save на панели в правой части редактора и сохраните уровень: приложение имеет нехорошую привычку выпадать в Windows , особенно если у вас установлена Vista , с XP проблем меньше.

Описанный выше метод добавления объектов отлично работает, если речь идет об импорте на уровень большого числа элементов, и совершенно не годится для поштучного добавления элементов. Чтобы поместить на уровень одну модель, достаточно активировать режим работы с объектами ( Edit Mode\Objects ), щелкнуть по кнопке Add (добавить) на панели инструментов (четвертая от начала) в верхней части редактора, выбрать из списка Objects на панели в правой части приложения нужный элемент и щелкнуть левой кнопкой мышки по любому месту на карте.

Чтобы переместить объект, необходимо кликнуть по нему левой кнопкой мышки (для выделения) и задействовать режим перемещения элементов Move (5-й инструмент на панели в верхней части редактора). Далее для передвижения элемента в направлении одной из координатных осей — X , Y или Z — нужно кликнуть по кнопке с изображением соответствующей оси на панели инструментов (располагаются сверху) и передвинуть мышь с зажатой левой кнопкой. Обратите внимание, система координат в редакторе отличается от стандартной. При перемещении объекта по оси Z вы будете передвигать элемент по X, двигая его по оси Y — смещать модель вверх (Z), наконец, передвигая конструкцию по X, вы на самом деле сдвинете модельку по оси Y. Поначалу это кажется жутко неудобным, но привыкаешь буквально за 10-15 минут.

Поворот объектов осуществляется аналогичным образом, единственное отличие состоит в том, что вместо инструмента Move придется активировать модификатор Rotate (6-й от начала). Если вам нужно удалить какой-либо элемент со сцены, выделите его и нажмите клавишу Delete.

Чтобы создать точную копию элемента, снова выделите объект, поместите его в буфер обмена с помощью комбинации клавиш Ctrl+C , а затем подгрузите клон на карту ( Crtl+V ).

В редактор встроена возможность масштабировать любые объекты. Да здравствуют деревья 10-метровой высоты, гигантские кустики и крохотные постройки (надеемся, что в финальной версии SDK нам и монстров разрешат масштабировать, вот тогда по-настоящему повеселимся). Чтобы изменить габариты моделей, активируйте инструмент Uniform Scale на панели в верхней части редактора (7-й от начала), выберите ось, относительно которой собираетесь растянуть объект (кнопки X, Y и Z), и переместите мышь с зажатой левой кнопкой.

Прежде чем приступать к следующему этапу работы, добавьте на уровень различные строения, растительность, при необходимости задайте им новое местоположение и угол поворота.

Да будет свет

Любая карта для «Сталкера» должна содержать источники света и специальные объекты свечения. Если их не будет, то карту не удастся скомпилировать и опробовать в игре — редактор просто выдаст ошибку при компиляции. Чтобы поместить на уровень объект свечения, щелкните по кнопке Glow в поле Edit Mode для активации соответствующего режима работы, кликните по кнопке Add на панели инструментов (четвертая по счету) в верхней части редактора и щелкните левой кнопкой мышки по карте.

Вы увидите, что на карте появился какой-то непонятный плоский объект белого цвета. Это и есть элемент свечения. Чтобы компилятор уровней корректно его воспринял, необходимо покрыть его текстурой. Выделите созданный компонент на карте, щелкните по нему правой кнопкой мышки и в контекстном меню выберите пункт Properties. В появившемся окне свойств элемента отыщите параметр Texture и щелкните по кнопке с изображением многоточия. В окне браузера текстур выберите любое изображение, например glow\glow_anamorphic , нажмите Ok и закройте окно инспектора свойств объекта. Активируйте режим работы с источниками освещения — Light в поле Edit Mode и поместите на карту два-три источника освещения (так же, как добавляли одиночные элементы).

Компиляция и тестирование

Чтобы завершить создание новой карты, нужно поместить на уровень стартовые позиции для игроков. Достаточно кликнуть по кнопке Spawn Elements в поле Edit Mode на панели в правой части редактора, выбрать из списка Spawns стартовую позицию нужного типа (в нашем случае это элемент типа $rpoint ), нажать клавишу A на клавиатуре для активации режима размещения объектов и кликнуть по произвольному месту на карте. Перемещение и поворот стартовых позиций производится так же, как и с простыми статическими объектами.

Ландшафт местности сформирован, декорации установлены, источники освещения, а также стартовые позиции добавлены. Самое время скомпилировать уровень и опробовать его в игре.

На панели справа в поле Scene выберите пункт меню Scene\Options. В появившемся окне свойств найдите атрибут Level Path и впишите в поле название уровня, которое вы задали карте при сохранении. После этого кликните по кнопке Draft напротив комментария Quality. Закройте окно свойств и на панели в правой части приложения кликните по кнопке Compile\Build.

Подготовительный этап закончен, осталось скомпилировать полученные файлы карты в формат, понятный игре. Выберите пункт меню Пуск\Выполнить и в окне пропишите команду [Path] [level_name]. Здесь [Path] — полный путь к компилятору xrLC.bat , который находится в директории \level_editor установленного SDK, например: E:\X-Ray SDK\level_editor\xrLC.bat. [level_name] — название компилируемого уровня.

При работе с длинными путями используйте командную строку (активируется командой cmd в окне Выполнить ).

Последний шаг — импорт скомпилированного уровня в игру. Зайдите в корневой каталог «Сталкера» и создайте в нем папку \ Gamedata. После этого скопируйте файл level_editor\gamedata\config\mp\map_list.ltx , располагающийся в директории с SDK, в каталог gamedata\config\mp установленной игры. Скопируйте папку с названием вашего уровня из директории level_editor\gamedata\levels SDK в папку gamedata\levels «Сталкера», файл user_floor_dirty_gr.dds из каталога level_editor\gamedata\textures\user — с SDK в папку gamedata\textures\user с установленной игрой, а textures.ltx из evel_editor\gamedata\textures\textures.ltx — в игровую папку gamedata\config\mp. Наконец, проследуйте в каталог gamedata\config\mp установленной игры, откройте «Блокнотом» файл map_list.ltx и добавьте в конец блока [deathmatch] название вашей карты без расширения:

[deathmatch]

;fog_net

testers_mp_pool

mp_igroprom

Где mp_igroprom — название мультиплеерной карты.

* * *

Мы разобрали основные принципы создания новых карт для «Сталкера». Но тема, конечно же, не закрыта. В одном из ближайших номеров журнала мы продолжим делать рассказ о создании уровней для «Сталкера».

Комментарии
Чтобы оставить комментарий,Войдите или Зарегистрируйтесь