Маппинг для DOOM: Часть 3 - через ад и через реку

Мы наконец-то заканчиваем нашу карту! А заодно учимся делать подъемные мосты, телепорты, секретки... И, конечно, населяем мир монстрами!

Маппинг для DOOM: Часть 3 - через ад и через реку

Доброго времени суток! Мы продолжаем изучать GZDoom Builder - мощный редактор карт, способный работать с кучей форматов думовских уровней. О последнем и самом навороченном из них - UDMF - мы поговорим позже, а пока вернемся к нашей карте, исполненной в классическом ("ванильном") формате Doom/Doom 2.

Перед прочтением рекомендую ознакомиться с предыдущими частями цикла:

Часть 1 - установка редактора, создание простейшей геометрии

Часть 2 - работа с освещением, текстурами, триггерами и открытыми пространствами

Итак, на чём остановились? Ах да, у нас есть комната, дверь, коридор и кусок внешнего мира. Выглядит всё это дело так:

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

Ты неси меня, река

Первое, что мы сделаем - превратим нашу лужайку в берег реки. Для этого

  • удлиняем сектор лужайки и примыкающий, с утопленным небом
  • рисуем посередине еще сектор, понижаем высоту пола, наносим на стены текстуры
  • на пол этого сектора вешаем любую из текстур FWATER

Что получаем:

И в игре:

Водная гладь пришла в движение! Нам для этого не потребовалось ничего писать - анимации некоторых текстур, включая жидкости, зашиты в движок Дума. В PrBoom и GZDoom можно назначать и свои собственные анимации, но об этом я расскажу позже.

На повестке дня стоит более насущный вопрос: если гг упадёт в реку, то, пусть и не утонет, но обратно точно не выкарабкается. Так что давайте-ка сделаем лесенку из каких-нибудь камней, и продолжим терраформирование.

Удлиним реку вверх (т.е. на север), а вместе с ней и оба берега. Для этого можно тянуть за вершины, при необходимости добавляя новые.

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

Теперь нарисуем мост на ту сторону реки:

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

Маппинг для DOOM: Часть 3 - через ад и через реку

И потом не забыть утопить пол сектора обратно, до уровня реки.

Теперь нарисуем будку, в которой будем жать на рубильник и поднимать мост. Рисуем рядом с мостом сектор будущей комнатки:

Маппинг для DOOM: Часть 3 - через ад и через реку

Выбираем его в Sectors Mode, жмём Del, и получаем:

Удаленные секторы оставляют за собой пустоту, межсекторное пространство. В 3д режиме это выглядит, как колонна с пустой средней текстурой. Если мы сейчас её как-нибудь покрасим, то она будет торчать до самого потолка - нам это не нужно, будка должна быть невысокой. А значит рисуем вокруг её еще один сектор, назначаем ему текстуру потолка F_SKY1, и опускаем его:

Будка получилась, что надо. Теперь нарисуем внутреннее убранство, а еще окно, благодаря которому будет виден мост:

На внешние и внутренние лайндефы окна вешаем Upper и Lower Unpegged, чтобы текстурка встала нормально. Всё, как всегда.

На одну из внутренних стен комнаты вешаем текстуру переключателя, а на лайндеф с ней - экшн S1 Floor Raise to Next Higher Floor (changes texture). И экшону, и полотну моста устанавливаем тег 2, чтобы они связались:

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

Отличненько, теперь можно перейти на другую сторону. Но нам этого пока не надо - там будет протекать финальная часть уровня, и у нас еще есть дела на этом берегу реки. Более того - у нас пока не должно быть возможности попасть в эту будку! Она будет заперта на синий ключ, который нам еще нужно будет найти.

Когда мы чертили будку, мы заложили дверную коробку - опускаем центральный сектор, вешаем какую-нибудь дверную текстуру, и назначаем экшон D1 Door (Blue) Open Stay. На стены рядом с дверью лучше поставить специальную текстурку DOORBLU, чтобы было понятно, какой ключ здесь нужен:

Нет бы под ковриком дубликат оставили, ей-богу
Нет бы под ковриком дубликат оставили, ей-богу

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

А вот так будет выглядеть северная оконечность:

Предполагается, что синяя лента реки тянется в далекие дали, не имеющие отношения к нашему приключению. Игроку туда ходить не следует, даже если очень хочется. Так что сделаем линию между ближайшими двумя секторами реки непроходимой - для этого в Linedefs Mode выберем её, зайдем в её свойства, и выставим флажок Impassable:

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

Кстати, оставшиеся три сектора реки имеют одну текстуру и высоту - так почему бы не объединить их в один? Делается это так - выделяем их все, и жмём Shift + J:

Река готова! Есть, впрочем, шанс свалиться с моста в правую сторону, где нет лесенки, но в следующем разделе мы исправим и это тоже.

Highway to Hell

Куда же запропастился синий ключ, без которого никак не перейти реку? Его украли демоны из соседней пещеры - причем не просто спрятали где-то посреди камней, а утащили в Ад через портал! Выбора у нас нет - придется искать пропажу в преисподней.

Рисуем простенькую систему пещер:

К сектору реки, граничащим с непроходимой линией, достраиваем вот такую конструкцию:

Если мы вдруг упадём с правой стороны от моста, то сможем воспользоваться лифтом, который выведет нас в пещеры. Сектор лифта поднимаем на уровень пола, на лицевую сторону лифта вешаем экшн SR Lift Lower Wait Raise с каким-нибудь новым тегом (пусть будет 3), тот же тег вешаем на сектор лифта.

Нам вряд ли понадобится возвращаться вниз, но на всякий случай предусмотрим и такую возможность - для этого на линии сектора лифта со стороны комнаты вешаем WR Lift Lower Wait Raise. Вуаля - теперь со стороны реки лифт активируется нажатием, а со стороны комнаты - пересечением границы сектора лифта.

Что касается сектора, разделяющего проход и пещеру - на одну из его сторон мы повесили текстуру двери со львом - то со стороны прохода вешаем экшн D1 Door Open Stay - чтобы проход в пещеры открывался изнутри, и больше не запирался.

Это место не то, что бы тянет на секретку, но какой хороший геймдизайнер не льстит самолюбию игрока? Самое время нам познакомиться с эффектами секторов. В Sectors Mode заходим в свойства сектора рядом с сектором лифта, и в разделе Effect and Identification выбираем Special 9 - Secret:

Маппинг для DOOM: Часть 3 - через ад и через реку

Теперь, когда мы будем попадать в этот сектор, игра будет радовать нас сообщением о том, что мы нашли секрет:

Маппинг для DOOM: Часть 3 - через ад и через реку

Ну и, раз такая пьянка, давайте разместим в этой секретке бензопилу (Things Mode - Weapons - Chainsaw). Вознаградим любителей прыгать с мостов.

Теперь наш взор устремляется к северному концу пещеры, где у нас будет портал. Рисуем нечто демоническое:

Т.к. текстуры пола не могут быть больше 64x64, сатанинская морда собирается из 4 кусков
Т.к. текстуры пола не могут быть больше 64x64, сатанинская морда собирается из 4 кусков

Ступив на пентаграмму, игрок должен перенестись в иной мир, где его дожидается украденный ключ. Рисуем новый сектор за пределами нашей карты, на границы секторов морды вешаем WR Teleport с тегом 4. Важно, чтобы лайндефы были повернуты передней стороной наружу, иначе игрок телепортируется при попытке сойти с морды, а не вступить на неё.

Новому сектору назначаем тот же тег.

Теперь самое главное - точка, в которую будет телепортироваться игрок. Идём в Things Mode, и устанавливаем Teleports - Teleport Destination:

Маппинг для DOOM: Часть 3 - через ад и через реку

Тестируем наш телепорт:

Отлично! Теперь можно нарисовать комнату с карточкой, но вместо этого предлагаю отвлечься, и начать расставлять то, ради чего и существует DOOM - монстров.

Монстры и то, что они слышат

Первые экземпляры сил зла встретятся нам на берегу реки. Расставляем зомби-пистолетчиков (в редакторе они называются Former Human):

Эти трое набросятся на нас сразу же - им достаточно будет увидеть нас или услышать звуки выстрелов. А вот четвертый не так прост - он спрятался за будкой и попытается напасть на нас из засады. Для этого надо зайти в его свойства, и выбрать флажок Ambush Players:

Маппинг для DOOM: Часть 3 - через ад и через реку

Тогда он не услышит выстрелов, и пойдет в атаку, только увидев пробегающего игрока.

Как видно, свойств у объектов немного - по крайней мере, в ванили. Флажок Multiplayer only отвечает и за кооп, и за дм - эта странность свойственна только ванили, уже в формате Boom можно выставлять отдельно для каждого режима.

С пунктами Easy, Medium и Hard все еще очевиднее - они отвечают за сложность.

Кстати, почему сложностей всего 3, хотя в DOOM их 5 штук? Дело в том, что на первых двух и последних двух уровнях сложности одинаковое количество монстров. Отличаются они геймплейно - например, на простейшей I'm too young to die монстры наносят игроку в 2 раза меньше урона, а патронов в ящичках в 2 раза больше, чем обычно. Или взять Nightmare - монстров там столько же, сколько и Ultra-Violence, но они быстро бегают и спустя какое-то время респавнятся. Патронов, кстати, снова в два раза больше.

В общем, улицу мы заселили, теперь можно расставить монстриков в пещере. Я бы поставил импа в квадратной комнате, где смыкаются два прохода, и еще двоих - в комнате с порталом:

Маппинг для DOOM: Часть 3 - через ад и через реку

Есть, правда, одна загвоздка - как только на улице начнется стрельба, импы тоже побегут участвовать в заварушке. Можно поставить им флажок Ambush Players, но что, если мы хотим, чтобы улица и пещера были двумя разными звуковыми пространствами? Тут на помощь приходит свойство лайндефов Block Sound. Если звук проходит через два лайндефа с этим флагом, то в следующих секторах монстры его не услышат. Устанавливаем это свойство лайндефам у входа в пещеру:

Маппинг для DOOM: Часть 3 - через ад и через реку

Теперь монстры в пещере не услышал пальбы на улице и не порушат нам всю тщательно выстроенную режиссуру.

Можно прямо в редакторе посмотреть, как будет распространяться звук. Для этого в левой части экрана нужно активировать Sound Propagation Mode:

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

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

Все, с монстрами и звуком разобрались. Теперь наконец-то вернемся к аду и к затерявшемуся там синему ключу. Да и вообще закончим уже эту карту.

Рисуем остаток совы

Комнату красного кирпича я продолжил вот таким образом:

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

Лава, кстати, дамажит, причем довольно сильно - я повесил на сектор с ней эффект Damage -10 or -20% health
Лава, кстати, дамажит, причем довольно сильно - я повесил на сектор с ней эффект Damage -10 or -20% health

Как только он наступит на плиту с ключом, стена моментально откроется, и на игрока набросится злая толпа с криками "моя прелесссть!".

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

Главное - не забыть воткнуть еще один Teleport Destination.

Теперь, когда мы можем вернуться и поднять мост, самое время заканчивать карту. Вот, что у меня получилось:

Казалось бы - вот он, выход. Достаточно лишь открыть дверь и нажать на рубильник...

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

Во второй комнате подвала притаились еще солдаты...

Маппинг для DOOM: Часть 3 - через ад и через реку

И лишь за следующим коридором будет лифт с выходом - на этот раз с настоящим (S1 Exit Level).

Лбы стерегут бункер
Лбы стерегут бункер

Кстати, многих из этих монстров на средней сложности нет - я добавил их специально для Ultra-Violence и Nightmare. А настраивать лёгкие сложности не стал - лень. Да и кто вообще играет в DOOM на изи?)

Ну вот и все, дамы и господа. Уровень готов. Что, кстати, мы увидим, когда нажмём на рубильник и посмотрим статистику?

Маппинг для DOOM: Часть 3 - через ад и через реку

Что-то знакомое... А, ну да. Это же вторая карта DOOM2.wad. В нашем pwad'е (так думеры называют моды) существует одна карта - MAP01 - и при запуске порта с iwad'ом (игровым ресурсником) DOOM2.wad она заместит его первую карту. MAP02 в pwad'е нет, а значит запустится MAP02 из iwad'а. А запустится потому, что распознав DOOM2.wad, порт поймет, что запущена игра Doom 2: Hell on Earth, и будет запускать карты с MAP01 по MAP30.

pwad'ы, в которых замещены все 32 карты, называются мегавадами.

Вот такие пироги с думгаями. Я еще немного повозился с уровнем - расставил объекты вроде деревьев и адских колонн, дорисовал деталей, в пещере поигрался с яркостью. Ну и секретов добавил, куда ж без них, родимых? Попробуйте найти их все без помощи редактора)

Прохождение карты (играл на клавиатуре, как труъ-трактористы):

А вот ссылка на сам вадник:

Fin.

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

Держите награду:

Это Cacoward. Правда, не настоящий, и даже не NFT - так, картинка. Настоящие дают на Doomworld'е за монументальные труды вроде <a href="https://www.moddb.com/mods/lost-civilization" rel="nofollow noreferrer noopener" target="_blank">этого</a>
Это Cacoward. Правда, не настоящий, и даже не NFT - так, картинка. Настоящие дают на Doomworld'е за монументальные труды вроде этого

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

Всем спасибо за внимание!

2222 показа
1.7K1.7K открытий
8 комментариев

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

Ответить

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

Ответить

По зову сердца тут. Держи лукас за попытку нагнать свежей крови в дум-коммюнити))

Ответить

Было интересно почитать, спасибо. Однажды смотрел 16 бит тому назад, так там ведущий рассказывал про то, как работает движок перового дума и прочих игр на нем, казалось что делать на нем что-то нереально. Хех.

Ответить

Спасибо за статью. Засяду за редактор на НГ праздниках. )

Ответить

Удачи!

Ответить

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

Есть ли какой-то нормальный гайд на ютубе или в текстовых форматах, который бы как-то доступно это мог объяснить?

Ответить