25 мая 2004
Обновлено 17.05.2023

Максимум от MAXимума. Создание уровней для Max Payne 2

Максимум от MAXимума. Создание уровней для Max Payne 2 - изображение обложка

Парень по имени Макс убивает всех своих врагов. Никакой сортир не спрячет. Мы любим Mакса за то, что он делает, и за то, как он это делает. Но игра проходится всего за три-четыре вечера. Неужели придется еще несколько лет ждать третьей части? На наше счастье, парни из Remedy Entertainment выпустили пакет инструментов к игре. В него входят редактор уровней MaxEd2 , распаковщик игровых ресурсов RASMaker2 , редактор системы частиц ParticleFX и конвертер 3D-файлов из 3DS Max (5-й версии) в формат Max Payne 2. Что еще нужно для счастья? С помощью этого набора можно создавать свои собственные миссии, действие которых происходит хоть в Бронксе, хоть на планете Осирис. Было бы желание. Что? Желание есть? Тогда — оставайтесь с нами. На протяжении нескольких номеров мы будем рассказывать вам, как работать в одном из самых мощных редакторов для 3D-игр — MaxEd2. Изменять оригинальные уровни в утилите нельзя, поэтому мы будем строить виртуальный мир, что называется, с чистого листа. Подготовка инструментов Пакет инструментов для редактирования Max Payne 2 доступен для скачивания по адресу www.rockstargames.com/maxpayne2/mods/MaxPayne2Tools.exe , но значительно проще взять его с нашего CD- или DVD-диска прошлого номера журнала (где, кстати, был краткий обзор MaxEd2). После того как инструменты будут установлены, в папке с игрой появится новая директория — MaxPayne2Dev. Теперь это ваша MODная инструментальная база. Разработчики утверждают, что инструменты для редактирования Max Payne 2 предназначены для операционных систем Windows 2000/XP. Тем не менее они будут работать и под Windows 98SE , и в Windows 98/МЕ. Есть некоторая разница при установке редактора в разные операционки и во время работы в редакторе. Там, где это необходимо, я буду давать дополнительные указания по этому поводу. В каталоге MaxPayne2Dev вы обнаружите много папок. Но прежде чем сломя голову бросаться на них с мышкой наперевес в поисках редактора, загляните в директорию Games. Довольно примечательная папочка. В ней должна была быть “специальная редакция” Max Payne 2, предназначенная для работы с редактором. Но там пусто! Что же делать? Обманули? Нет. Просто перед первым запуском редактора нужно немного потрудиться. Найдите утилиту RASMaker2.exe. Это распаковщик игровых ресурсов. Лежит она в одноименной папке RASMaker2 , которая проживает все в той же директории MaxPayne2Dev (которая дальше по тексту именуется базовой ). RASMaker2 — это инструмент без графического интерфейса. Он запускается из командной строки и работает в черном экране “под DOS”.

Максимум от MAXимума. Создание уровней для Max Payne 2 - фото 1

Рис. 1. Формат командной строки утилиты RASMaker2
Если у вас имеется DOS-менеджер файлов (вроде Volkov Commander или FAR ) — можете запускать ее оттуда. В этом случае после пуска RASMaker2 отключите отображение окон оболочки. Тогда вы увидите на экране полный список используемых утилитой параметров. Те, кто работает в Windows 98SE (далее Win98), перед запуском RASMaker2 должны скопировать динамическую библиотеку rl.dll из папки …\Max Payne 2\MaxPayne2Dev\RasMaker2 в папку C:\Windows\System. Если этого не сделать, то утилита не запустится. Пока любопытные исследуют черное окно DOS в поисках откровений, остальные читают, как обойтись без него. Max Payne 2 хранит свои “ценности” (файлы с ресурсами) в архивах. Это файлы с расширением ras. Их семь. Находятся они в корневой папке игры ( …\Max Payne 2 ). Распаковка ресурсов — процесс вроде бы нехитрый. Но практика показывает, что засада встречает там, где ее не ждешь. Утилите RASMaker2 надо указывать конкретный путь до каждого отдельно взятого архива. Для указания пути используется параметр —p. Но чтобы не заморачиваться с путями, можно поступить проще. Вы создаете на любом диске (где есть достаточно свободного места) папку TempMP (название может быть любым). Копируете туда утилиту RASMaker2, и туда же — первый вскрываемый архив (например, MP2_Init.ras — он самый маленький и поэтому удобен для экспериментов). Архивы Max Payne 2 “весят” сотни мегабайт. Позаботьтесь о достаточном количестве свободного места на диске. Приступаем к распаковке. Нажимаете кнопку Пуск/Выполнить на рабочем столе. Щелкаете по кнопке Обзор диалогового окна Запуск программы и находите утилиту RASMaker2. В поле Открыть появляется полный путь до распаковщика. Устанавливаете курсор в конец строки (после …\RASMaker2.exe ), вставляете один пробел и печатаете параметр -x. Вводите имя архива (в нашем случае — MP2_Init.ras ) и нажимаете ОК (рис. 1). Поскольку архив очень маленький, процесс распаковки пойдет быстро. Вы можете и не заметить мелькнувшее на экране окно с информацией о ходе работы RASMaker2. Чтобы увидеть результаты, нужно вернуться в каталог TempMP. Теперь там появилась папка Data. В ней — файлы из обработанного архива. Копируете целиком папку Data , где должны находится распакованные файлы Max Payne 2, в папку Game базового каталога ( …\Max Payne 2\MaxPayne2Dev\Game ). Там уже есть папка с таким названием. На вопросы Windows по поводу замещения одноименных файлов отвечаете утвердительно. Таким же образом поступаете со всеми архивами. Рекомендую очищать папку Data перед распаковкой очередного архива. Иначе при переносе распакованного в базовый каталог вы будете неоднократно копировать одинаковые файлы от предыдущего архива.

Максимум от MAXимума. Создание уровней для Max Payne 2 - фото 2

Рис. 2. Пропала загадочная папка DB.
Счастливым обладателям Win98 советую не копировать архивы, а “перемещать”. Для этого открываете рядом два окна. Одно с содержанием папки Max Payne 2, другое — с открытой папкой TempMP и утилитой RASMaker2. Щелкаете на нужном вам архиве и, не отпуская левой кнопки мыши, перетаскиваете его в папку TempMP. Обратите внимание, что архив из каталога игры — исчез. В этом и был смысл операции. Файл перемещался не физически, а “виртуально”. В результате вы сэкономили несколько минут драгоценного времени. Да и место на диске под дубликат архива не потребовалось. Не забудьте после распаковки вернуть архив на место! Иначе игра не запустится. На этом подготовительный этап закончен. Переходим к более интересным вещам — запускаем редактор. Первый старт Редактор находится в базовом каталоге, в папке MaxEd2 ( …\Max Payne 2\MaxPayne2Dev\MaxEd2 ). Открываете ее и щелкаете по файлу MaxED2.exe. Запустится редактор с пустыми окнами. Загружаете базовый уровень, который входит в состав пакета инструментов. Выбираете пункт меню File/Open и находите в базовой папке каталог Levels. Там один-единственный файл — ExampleLevel.lv2. Загружаете его. Вернее, пытаетесь загрузить. Попытка прерывается появлением предупреждения о том, что MaxEd2 не может найти каталог DB (рис. 2).

Максимум от MAXимума. Создание уровней для Max Payne 2 - фото 3

Рис. 3. Искомая база данных найдена.
Без паники. Ни к чему лихорадочно создавать отсутствующий каталог. На самом деле никакие папки DB редактору не нужны. Под сокращением DB скрывается имя Database (база данных). Вам просто надо указать путь до этой папки. Закрываете окно предупреждения кнопкой ОК. В появившемся диалоговом окне открываете папку …\MaxPayne2Dev\Game\data. В ней выделяете искомую Database и закрываете диалоговое окно (рис. 3). Если на подготовительном этапе все сделано правильно, то пробный уровень успешно загрузится. А если вы пропустили какой-то архив или поместили распакованное куда-то не туда, то появится предупреждение о невозможности загрузить какие-либо файлы (см. рис. 4). Загрузка уровня на этом прекратится, а в окне сообщений редактора (в самом низу экрана) появится надпись ERROR: Database loading failed (рис. 5). Придется вспомнить, что “повторение — мать мучения”. Все операции по распаковке архивов предстоит проделать заново. Причем на этот раз обработать все правильно. Те, с первого раза все сделал правильно, увидят в редакторе загруженный уровень (рис. 6). Интерфейс

Максимум от MAXимума. Создание уровней для Max Payne 2 - фото 4

Рис. 4. Загрузка не удалась: не все архивы были распакованы правильно.
Основное поле MaxEd2 занимают четыре окна. В самом низу находится окно сообщений — Output. В нем комментируется ход выполнения запущенных процессов. Двоечники уже успели прочитать в нем сообщения об ошибках. Выше находится горизонтально расположенное окно Material. В нем показаны доступные для выбора текстуры. Слева прицеплено окно Hierarchy. Оно служит для управления объектами игрового мира. Любое из этих окон отключается/включается в меню View. Центральная часть экрана занята окном, в котором отображается загруженный уровень. Есть одна неприятность. Видовое окно показывает не весь уровень, а только его часть. Другая часть залита глубоким, чистым и абсолютно бесполезным черным цветом. Растянуть изображение, чтобы весь уровень занимал всю полезную площадь, можно. Только брать окно придется хитростью. Попытки нормальными способами убрать черное поле не проходят. Изменение масштаба окна происходит вместе с изменением изображения внутри его. И все остается на своих местах. Закройте окна Hierarchy ,

Максимум от MAXимума. Создание уровней для Max Payne 2 - фото 5

Рис. 5. Сообщение об ошибке при попытке загрузить уровень
Material , Output. Оставшись один на один с дефектным видовым окном, перетащите его в правый верхний угол. Подведите курсор к нижней части видового окна и, когда он примет вид стрелок для изменения размеров, тащите нижнюю рамку вниз. Вместе с рамкой на чнет увеличиваться изображение уровня. Когда правый край картинки дойдет до правого края рамки окна, отпускайте кнопку мыши. Переходите к правой стороне окошка и растягивайте его вправо. Опять появится черное поле. Чтобы его ликвидировать, опять тяните вниз нижнюю рамку. И так далее, пока изображение уровня не займет всю полезную площадь, а размер видового окна вас не устроит. Операцию достаточно выполнить один раз. Потом все будет загружаться нормально. Вернуть закрытые окна можно через меню View. Тонкости управления Как только вы наводите курсор на видовое окно, в котором показан загруженный уровень, курсор изменяет свою форму и становится похожим на прицел. Обратите внимание на две детали. Во-первых, за курсором следует небольшой белый квадратик. Это выделяются невидимые на экране узлы сетки (находятся на пересечениях линий). По этим узлам строится геометрия уровня, о чем чуть позже. Во-вторых, под курсором имеется надпись: F3. Это показатель режима, который включен в данный момент. Всего возможных режимов семь. Почти все они переключаются функциональными клавишами (которые начинаются с буквы F и находятся в верхней части клавиатуры). **_

Максимум от MAXимума. Создание уровней для Max Payne 2 - фото 6

_Рис. 6. Корректно загружающийся уровень.Режимы 3D-редактирования F3**— работа по созданию каркасов новых объектов (напоминает режимыEditable Mesh/Polyв 3D Max). Установлен по умолчанию.F4— выделение отдельных полигонов на каркасах и работа с ними (напоминает режим подобъектаPolygonв 3D Max).F5— выделение отдельных объектов уровня и работа с ними (напоминает режимElementв 3D Max).Режим работы с материалами F6— установка текстур на объекты (местный аналог редактора материалов из 3D Max).Особые режимы F7— работа с переходами**(portals).F12— работа с сеткой.Режим камеры Пробел**— предназначен для изменения положения или угла точки обзора в видовом окне. Режим камеры неспроста установлен отдельно от остальных. Причем на самую большую и доступную клавишу клавиатуры. Переключаться в этот режим придется очень часто. Используйте уровень разработчиков как полигон для отработки управлением камерой. Управление и соответствующие действия камеры приведены на врезке. После включения режима камеры курсор изменяет свой вид (становится похожим на кинокамеру). Есть одна особенность — в этом режиме невозможно переместить курсор мыши за пределы видового окна редактора. Даже если поверх него находятся другие окна — сделать что-либо в них нельзя. Чтобы сбросить режим, просто щелкните еще раз по клавишепробел. Обратите внимание: в левом верхнем углу показана тройка направляющих координатных осей (XYZ). Ее вид и назначение такие же, как и в 3D Max. Помогает не потерять ориентацию в пространстве. Как только вы сможете перемещаться по уровню без того, чтобы подсматривать на врезку в журнале, выходите из режима камеры. Пора переходить к процессу созидания.** Управление камерой 1.**Перемещение мыши с нажатой левой кнопкой — обзор по сторонам из одной точки.**2.**Перемещение мыши с нажатой правой кнопкой — приблизить, удалить (имитирует “наезд камеры”).3.Перемещение мыши с нажатой средней кнопкой илиShift— перемещение точки обзора вправо/влево/вверх/вниз.4. Ctrl и перемещение мыши с нажатой левой кнопкой — вращение камеры в горизонтальной плоскости.

Максимум от MAXимума. Создание уровней для Max Payne 2 - фото 7

Рис. 7. Построение первого ребра каркаса
Строительство Закройте видовое окно, щелкнув по кнопочке с крестиком в его правом верхнем углу (или через меню File/Close ). Если окно было развернуто, то кнопка находится в правой части панели инструментов самого редактора. Строительство нового уровня начинаем с выбора пункта меню File/New. В окне вида появится изометрическая проекция черного поля, покрытого разметочной сеткой. Точка отсчета и центр уровня (0, 0) — пересечение координатных осей сетки (линии синего и красного цвета со стрелками). Перейдите в режим построения каркаса (F3). Произвольно выберите участок сетки. Когда следующий за курсором белый квадратик находится в нужном, на ваш взгляд, положении — щелкните левой кнопкой мыши (ЛКМ). Будет зафиксирована первая вершина каркаса в узле разметочной сетки, в которой был в этот момент белый маркер. Теперь за курсором двигается следующий маркер. За ним от первого маркера тянется белая линия. Она определяет ребро будущего каркаса (одну из стен) комнаты (рис. 7). Щелкнув ЛКМ , фиксируете положение второго маркера. Первая стена определена. Но чтобы построить комнату, необходимо выстроить на сетке замкнутый контур. Двигаете курсор дальше. Белая линия теперь тянется и от второго, и от первого маркера. Щелкнув в подходящем месте ЛКМ , фиксируете положение второй стены (и третьего маркера). Если вам нужно отменить установку только что поставленной точки, нажимаете клавишу Esc. Удалить предыдущий маркер можно клавишей Delete.

Максимум от MAXимума. Создание уровней для Max Payne 2 - фото 8

Рис. 8. Вершины в красной зоне ставить нельзя.
Продолжая в том же духе, создаете на сетке план (вид сверху) комнаты. После того как будут определены несколько стен, положение каждой последующей перестает быть произвольным: появляются зоны, где нельзя ставить новый маркер. В случае, если вы перемещаете курсор в такую “мертвую” зону, вся линия плана становится красной. Попытка создать там новую вершину каркаса приводит к звуковому сигналу Ошибка (рис. 8). Замыкаете контур, ставя последний маркер поверх первого.

Максимум от MAXимума. Создание уровней для Max Payne 2 - фото 9

Рис. 9. Из плоского плана получили объем.
Пришло время увидеть результаты своего труда. Щелкаете правой кнопкой мыши (ПКМ) , и каркас на экране преобразуется в 3D-объект — комнату. Пол, стены и потолок покрывает текстура, установленная для новых уровней по умолчанию (рис. 9). Поговорим о размерах. Ячейки сетки в MaxEd2 измеряются в метрах. Не реальных, конечно, а виртуальных. Наверное, этими виртуальными метрами измеряют рост полицейских в игре во время медосмотра… Нам важно то, что в слишком низкое помещение наш герой попасть никак не сможет. По умолчанию размер одной ячейки разметочной сетки равен одному метру. Эта информация отображается на панели инструментов редактора (рис. 10). Размер ячейки можно изменять клавишами +/— на дополнительной клавиатуре (Numpad).

Максимум от MAXимума. Создание уровней для Max Payne 2 - фото 10

Рис. 10. Информационная строка с размером сетки
При создании из “плана” полноценного 3D-объекта его высота по умолчанию равна одному метру, то есть одной ячейке. А ведь предполагается, что ходить в комнате будут полицейские нормального роста, а не карлики-мутанты. Высоту помещения необходимо увеличить. Чем мы сейчас и займемся. Переходите в режим F4 (щелкнув по этой клавише). В этом режиме можно выделять полигоны, составляющие отдельные стены комнаты (в том числе пол и потолок). Нам нужно выделить потолок. Тут есть одна небольшая проблема. Поскольку лицевая часть поли

Максимум от MAXимума. Создание уровней для Max Payne 2 - фото 11

Рис. 11. Кнопка Culled позволяет выделять невидимые полигоны.
гонов направлена внутрь комнаты, то вы видите только стены, которые смотрят на вас своей внутренней стороной. Те, которые повернуты к вам наружной стороной, становятся прозрачными. На потолок в изометрическом виде вы смотрите сверху. Он для вас прозрачен, поэтому вы хорошо видите внутреннюю часть комнаты. Для выделения таких “прозрачных” стен необходимо нажать на панели инструментов кнопку Culled (рис. 11).

Максимум от MAXимума. Создание уровней для Max Payne 2 - фото 12

Общий вид на уровень. Желтым контуром выделена пристройка, созданием которой мы займемся в следующей статье.
**__**Можно обойтись и без этой кнопки. Но для этого вам придется поместить точку обзора в центр комнаты. Тогда все стены, пол и потолок будут смотреть на вас лицевыми сторонами. Разворачивайтесь на общем виде в сторону потолка и выделяйте его простым щелчком ЛКМ. Пользуйтесь любым способом, но потолок должен быть выделен. Как же изменить высоту выделенных полигонов? Эту операцию тоже можно проделать двумя способами. У каждого есть свои плюсы и минусы. Удобно поднимать стены, щелкая по клавишам стрелка вверх / стрелка вниз. Этот способ хорош тем, что каждое нажатие увеличивает/уменьшает высоту комнаты на размер ячейки — ровно на один метр. Можно делать то же самое с помощью мыши. Наводите курсор в район потолка, глядя на него сверху. Нажимаете ЛКМ и (для увеличения высоты стен) двигаете курсор вниз. При этом следите за тем, как изменяется высота. Преимущество этого способа: слева внизу главного окна редактора отображается текущая информация об изменяемой высоте в метрах. Доводите высоту комнаты до необходимой. Трех метров будет вполне достаточно. Геометрия комнаты создана. *** Мы сделали простенькую комнату-коробку. По аналогии можно создавать и большие помещения, “сливая” комнаты в залы, залы — в целые здания. Но просто набор комнат-коробок — это еще не играбельный уровень. В следующем номере журнала мы разберем, как создавать переходы между несколькими помещениями с помощью дверей и порталов, как определять на уровне точку старта игрока и как, наконец, правильно скомпилировать уровень для его установки в игру.

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