Создание уровней в GzDoom builder

Здесь я попробую описать, как создавать уровни в редакторе Gzdoom bulder для игры Heretic под ванильный формат. Есть еще Eureka DOOM Editor, но он посложнее чем Gzdoom bulder да и привык я к нему. Сам редактор уровней качать отсюда, также понадобится source port, для промера возьмём Chocolate heretic, качать тут. Также понадобится Heretic.


1. Настройка редактора, порта для классики.

После запуска редактора открываем окно Game configurations (сверху Tools > Game configurations или быстрой клавишей F6). В списке слева выбираем конфигурацию Heretic: Heretic (Doom format). Справа в закладке Resources указывается где лежит Основной Iwad игры (Heretic.wad).


В закладке Testing указывается порт для теста карты, жмем на зеленый плюсик и выбираем chocolate-heretic.exe и жмем Ok.


В редакторе есть несколько режимов редактирования которые будут полезны для построения карт. О некоторых я напишу ниже:


- Vertices Mode (Клавиша V): Режим редактирования вершин. Позволяет создавать новые вершины для секторов, перемещать, копировать и пр.
- Linedefs Mode (Клавиша L): Режим редактирования Линий. Позволяет создавать, перемещать, копировать, удалять прямые линии секторов, также меняет текстуры на стенах, давать им специальные экшены, сдвигать текстуры.
- Sectors Mode (Клавиша S): Режим редактирования секторов. Позволяет создавать, перемещать, копировать, удалять различные секторы. Также можно изменять текстуры пола, потолка, менять освещение, давать Tag'и, применять эффекты на сектор.
- Things Mode (Клавиша T): Режим редактирования Thing'ов. В нем раставляются точки старта для игроков, оружие, амуниция, монстры, светильники, декорации, артефакты и пр. Также как и с вершинами, линиями, секторами можно их перещать, копирова, менять угол направления.
- Visual Mode (Клавиша Q): Переход в 3D режим.
- Map Analysis Mode (Клавиша F4): Позволяет находить ошибки на карте ввиде отсутствующих текстур, застрявших Thing'ов и пр.

~ показывает / скрывает нижюю панель информации.

2. Навигация в редакторе.

Выбираем в меню File > New Map (или комбинацию клавиш Ctrl + N) для создания нового уровня. В появившимся окне выбираем формат Heretic: Heretic (Doom format), в Level name оставляем E1M1 и нажимаем ок.

Для передвижения по полю используем стрелки на клавиатуре, либо зажимая [Spacebar] передвигаем мышкой. Для масштабирования используем колёсико мышки.

3. Создание секторов / комнат.

Для создания первого сектора есть несколько способов. Самый простой и легче запомнить это начать использовать Draw Lines Mode который расположен в левой панели редактора в самом верху либо используя комбинацию клавиш Ctrl + D.

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

Если хотите посмотреть на сектор в 3D, то указываем курсором где будет камера в Visual Mode и нажимаем клаишу Q. Для перемещения в Visual Mode используются клавиши E,S,D,F, вернуться в 2Д режим - Q

Чаще всего Draw Lines Mode используется мною для создание разных фигур (пещер, кастомных секторов) а для создания простых фигур рекомендую использовать следующие режимы помимо Draw Lines Mode на левой панели:
- Draw Curve Mode: создает кривые линии (Комбинация клавиш Ctrl + Alt + D)
- Draw Rectangle Mode: создание прямоугольных либо элписов (Комбинация клавиш Ctrl + Shift + D)
- Draw Ellipse mode: создает круглые сектора (Комбинация клавиш Shift + Alt + D)

Есть также немного неудобные способы создание секторов:
- Выбираем Linedefs Mode или Sectors Mode и нажимаем Insert для начала рисования сектора

Если хотите побегать в игре нужно поставить Player start, переходим в Things Mode указываем курсором где будет расположен старт игрока и нажимаем insert. Появится окно со списком всяких вещей, находим слева Player Starts > Player 1 start, нажимаем ок и player старт появится в секторе в виде зеленого квадрата. Сохраняем уровень и нажимаем F9, запустится соурпорт который вы указали ранее с нашим уровнем. Побегали? Выходим и изучаем далее.

4. Манипуляции с секторами и прочим.

4.1. Перемещение всякого.

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

4.2. Выделение всякого.

Во всех режимах выделять просто: достаточно щёлкнуть левой кнопкой мыши на нужном и то что мы хотим выделить станет красным.
Зажимая Shift мы можем к выделенному добавлять новые объекты.
Чтобы выделить область нужного зажимаем левую кнопку мыши и перемещаем курсор - появиться красная область в которой все что попадёт под неё станет красным когда отпустим кнопку на мышке.
Чтобы снять выделение с конкретного объекта - нажимаем на него снова левой кнопкой мыши.
Чтобы снять выделение с группы объектов зажимаем Ctrl и левую кнопку мыши и перемещаем курсор - появится синяя область, все что под нее попадет - то перестанет быть выделеным.
Для снятие выделения со ВСЕХ объектов - нажимем кнопку C

4.3. Вращение и растягивания всякого.

Еслм при наведении курсора или выделении чего-либо нажать клавишу E то мы переключимся в режим Edit Selection Mode. В этом режиме можем растягивать или скуживать зажимая квадраты на середине линий жёлтой области. А зажимая квадраты на углах мы можем разворачивать нужное в любую сторону( для более точного вращения зажимаем Shift).
Чтобы отменить то что мы делали в этом режиме, то просто нажимаем Esc, а если хотите сохранить то что сделали, нажимаем Enter.

4.4. Копирование всякого.

Для копирования достаточно навести курсор либо выделить нужное красным и нажать комбинацию Ctrl + C. После чего указываем курсором куда вставляем и нажимаем Ctrl + V - Скопированное появится в режиме Edit Selection Mode, нажимаем Enter дабы скопированное окончательно добавилось на уровень.

4.5. Отображение секторов.

Очень полезная функция, позволяет отображать текстуры секторов в 2Д режиме. Переключать отображение секторов можно в верхней панели редактора, либо через верхнее меню View

Wireframe - Отображает сектора без текстур, стандарт.
Brightness Levels - Отображает освещённость секторов, чем светлее сектор, тем белее. А чем темнее - сектора будут более чернее.
Floor Textures - В секторах будет отображаться текстуры полов.
Celling Textures - В секторах будет отображаться текстуры потолков.

4.6. Добавление вершин в сектора.

Допустим у нас есть прямоугольный сектор, но мы хотим превратить его в более сложную фигуру. Для этого выбираем Vertices Mode указываем курсором где будет новый вертекс сектора и нажимаем Insert, в указанном месте нас появится новый вертекс сектора который мы можем переместить. Таким образом можно превратить простой прямоугольный сектор в более сложный по архитектуре.

4.7. Добавление новых секторов к существующим.

Довольно таки не сложно, Например у нас уже есть один сектор, с помощью рисования линий (Ctrl + D) на границе с существующим рисум новый.

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

Внутренние сектора делаются по такому же принципу и после создание одного в белом секторе он станет серым. Чтобы превратить его например коллонну, достаточно его удалить кнопкой Delete, серые линии станут белыми.

4.8. Освещённость секторов.

Как вы заметили при создании секторов освещённость равна 192. Чтобы узнать значение освещённости переходим в режим Sectors Mode и наведите курсор на нужный вам сектор и внизу на панели (если её не видно, нажмите ~) рядом с Brightness указано текущее освещение сектора.

Чтобы поменять уровень освещения в секторе в режиме Sectors Mode нажимаем правой кнопку мыши на нужном секторе и появится окно Edit Sector. В графе Brightness указываем нужное нужное нам значение, закрываем

Также для изменения освещения не необязательно открывать Edit Sector, а достаточно зажать Ctrl и повертеть колёсико мыши

4.8. Изменение высоты секторов.

у нас уже есть несколько секторов, у них уже разное освещение, теперь изменим высоту пола и потолка. Для этого в режиме Sectors Mode заходим в любом секторе в Edit Sector. В графе Celling height указывается высота потолка сектора, а в графе Floor height указывается высота пола сектора.

Также не заходя в Edit Sector можно изменить высоту пола и потолка сектора комбинациями клавиш:
Зажать Shift и колёсико мыши - Изменить высоту потолка сектора.
Зажать Shift + Alt и колёсико мыши - Изменить высоту пола сектора.

4.9. Текстурирование.

Теперь научимся изменять текстуры в 2Д режиме. Как вы можете заметить в режиме Linedefs Mode или в Sectors Mode в нижней панели отображаются текстуры того что вы выбрали, либо отсутствуют (Если видите жёлтый треугольник с восклицательным знаком, то тут нужна текстура ибо в игре будут ошибки)

Чтобы поменять текстуры стен, выбираем Linedefs Mode, наводим на курсором на нужную линию (или несколько) и жмём правой кнопкой мыши, появится окно Edit linedef. В правой чати окона расположены текстуры на линиях (стен).