Архивы: по дате | по разделам | по авторам

Фанатские развлечения: трёхмерное картостроительство

АрхивВ фокусе
автор : Роман Георгиев   22.10.2004

Естественный порыв любых поклонников трёхмерных шутеров с открытой архитектурой (иначе говоря, возможностью создания собственных уровней) - попытаться нарисовать собственную карту.

Пожалуй, это естественный порыв любых поклонников трёхмерных шутеров с открытой архитектурой (иначе говоря, возможностью создания собственных уровней) - попытаться нарисовать собственную карту. В своё время игры серии Doom приобрели колоссальную популярность именно благодаря тому, что широкая общественность получила в своё распоряжение инструментарий для создания собственных карт. То же самое касается Quake/Quake II и других игр, построенных на движках id Software.

Heretic II является как раз такой игрой.

Казалось бы, пытаться сейчас рисовать карты для этой допотопной игрушки на допотопном, опять же, движке Quake II возьмётся только какой-нибудь чумовой фанат (вроде автора данного опуса), однако следует отметить (выставив руки вперёд и пытаясь защититься от летящих в лицо тухлых помидоров и дохлых кошек), что принципы картостроительства со времён появления Quake не слишком меняются (по крайней мере, не настолько, как в случае с переходом от плоских шутеров типа Doom, где многоуровневость лишь имитируется, к действительно трёхмерному игровому пространству).

Необходимые пояснения

1. Heretic II

Эта игра является последней - по времени выхода - частью знаменитого сериала компании Raven Software - Heretic/Hexen. Причём частью наиболее совершенной в технологическом плане: в ней использован модифицированный движок Quake II.

При этом Heretic II является шутером от третьего лица, и главный герой обладает не только незаурядными тушеразделочными талантами, но и впечатляющими акробатическими навыками в духе бессмертного "тамбовского вол...рейдера" - Лары Крофт.

2. Pro et Contra

Не буду скрывать: на изучение картостроительства для трёхмерных игр меня в изрядной степени подвигло то обстоятельство, что на компакт-диске с Heretic II поставлялся SDK, включавший конструктор уровней HereticEd. У него есть свои плюсы и минусы, причём вторых, если сравнивать с конструктором QuArK, о котором будет рассказано позднее, существенно больше.

Кроме того, Heretic II - старая игра. Движки Quake III и более поздние (например, пресловутый Far Cry) способны на куда большее, нежели "старичок-еретик", однако в данном случае нас, как уже сказано, интересует принцип построения уровней. Кроме того, старые игры менее требовательны к системным ресурсам, а стало быть, для опытов подходят больше, нежели всякие новоделы, да простят меня фанаты Doom III и Far Cry.

Итак

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

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

Но тут следует помнить, что, во-первых, у игры есть ограничения по игровому пространству, и очень серьёзные. Во-вторых, полная компиляция крупной карты займёт уйму времени; визуализатор Radiosity выжрет столько памяти, сколько старому алкоголику пива не снилось (готовьтесь раздувать swap-файл до двух-трёх гигабайт) и напряжёт процессор так, что все прочие приложения можно будет смело закрывать.

От этого всего, увы, никуда не денешься, так что лучше вообще пойти погулять, пока карта компилируется, или даже спать завалиться, ибо процесс длительный (до нескольких часов даже на Pentium 4 3,4 ГГц при оперативной памяти номиналом в 256 Мб и файлом подкачки на 4096 Мб).

Кроме того, если вы планируете поупражняться в архитектурных изысках, неплохо было бы составить себе хотя бы примерный план, как это всё будет выглядеть. Например, нарисовать на бумаге и призадуматься: а стоит ли?

Картостроительство в целом держится на трёх китах: многогранниках, формирующих структуру, текстурах, определяющих облик карты, и света, без которого ни черта видно не будет. Есть ещё и четвёртый "китёнок" - заранее сгенерированные миниатюрные объекты, как правило, со сложной геометрией и текстурным покрытием, например, стулья, статуи, светильники и т.д. Они украшают игровое пространство, придавая ему более "натуральный" вид. Но если их слишком много, жди беды.

Автор статьи изначально использовал HereticEd - специально под Heretic II "заточенную" версию конструктора уровней QuakeEd. Название говорит само за себя.

Это не самый лучший редактор, но зато у него довольно простой интерфейс, к тому же, вместе с ним поставляется жирный документ HereticEd Help (в форматах .doc и .pdf).

Для работы с HereticEd потребуется следующее:

  1. Трёхкнопочная мышь
  2. Не менее 3 Гб свободного места на жёстких дисках для файла подкачки
  3. Развитое пространственное мышление
  4. Уйма терпения
  5. Опционально: губозакатывательная машина, потому что, когда нагрянет разочарование в возможностях как редактора уровней, так и движка, придётся приложить массу усилий, чтобы не сотрясти все концы вселенной нецензурной конструкцией в нескольких семантических измерениях

В начале Help буквально на пальцах, пошагово разъясняется, как и что делать (но, как уже сказано, по каким-то очень странным, одним авторам документа понятным и очевидным принципам). В частности, следует, нажав левую кнопку мыши, растянуть в окне проекции XY геометрическую фигуру, затем в окне проекции оси Z изменить его высоту нужным образом. Получаем, скорей всего, куб или параллелепипед, покрытый одной текстурой, произвольно выбранной программой из набора general (в папке Heretic II\base\textures\ наличествуют ещё несколько папок, названные в соответствии с локациями игры, в которых собраны использующиеся в этих локациях текстуры. В папке general - текстуры общего назначения).

Теперь из этого "слепого" куба нам надлежит сделать нечто более оригинальное. Поскольку это пока что единый brush-блок, можно разом поменять его форму. Выбираем в меню раздел Brush, в нём выбираем себе форму, которую хотим придать своему "кубику", и не обманывайтесь: девятью гранями дело не ограничивается (простите за невольный каламбур). Можно задать произвольное количество граней, и, кстати, при значении 20 ваша геометрическая фигура будет выглядеть вполне цилиндроподобной.

Стоит отметить, что HereticEd позволяет отрисовывать Brush только в плоскости XY, Z служит лишь для коррекции высоты. Соответственно, торцы у ваших "брашей" будут плоскими. В редакторе QuArK дело обстоит иначе, к счастью.

Далее мы всё-таки позволим себе придать нашей геометрической фигуре подобие некоего строения. Для этого помечаем нашу подопытную фигуру (Shift + Left Click в HereticEd) и выбираем Selection->Make Hollow.

Voila - вместо цельной фигуры мы получаем полую. Но вот тут-то нас и ждёт засада номер один...

Продолжение следует.
© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.