Поделки‎ > ‎BLOOD - Game‎ > ‎

MAPEDIT: редактор карт BLOOD - главное.

Редактор карт для игры BLOOD небольшая документация по работе.

(пишу сам для себя, чтобы не позабыть, за 15+ лет как оказалось кое что подзабылось)


BLOOD у нас уже современный, после появления порта BloodGDX созданного на основе реверс инжиниринга, проблемы того что эта игрушка древняя и работает только в Досбокс отпала и появились новые горизонты для творчества. Однако в Досбоксе продолжает работать его редактор карт и с этим придется как-то жить дальше, хотя конечно за результат можно не переживать, требования к редактору как к инструменту не такие критичные как к самой игре где всё должно быть ровно и красиво.


В ДОСБоксе для того чтобы не глючила версия редактора 1.21 в режиме выбора артов-текстур нужно установить тип машины "vesa_nolfb" (machine=vesa_nolfb в конфиге досбокса), разрешение 3Д режима и настройки звука редактор берет из конфига игры BLOOD.CFG. Для звука IRQ и DMA в досбоксе соответственно должны совпадать с таковыми из настроек игры. (можно всё отредактировать вручную в блокноте например).


Чтобы у нас не было дурацкое мелкое окошко 800х600 в реально таком мелком размере на нашем HD/2k/4k современном мониторе, в досбоксе имеет смысл задать разрешение, а так же растягивание под него нашей эмулируемой программы. Это разумеется если мы не запускаем на полный экран. (а как правило не запускаем)


В секции [sdl]

fullscreen=false (запускать в окне)

windowresolution=1600x900 (нужное нем разрешение)

output=opengl (рендер, любой кроме surface, surface не умеет такие фокусы)


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


Кнопки управления:

Договоримся на будущее, “gr Alt” или “gr Ctrl” означают что нужно нажимать Алт или Контрол которые справа от пробела, “num 1-2-3 Enter” значит кнопки на выносной цифровой части вашей клавиатуры, это важно.


3Д режим

Общее

ESC

Выйти из редактора (совсем), перед выходом спросит сохранить ли карту.

num ENTER

Переключить между режимами 2Д и 3Д.

Caps Lock

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

Стрелки

Перемещать "точку"-стрелку камеру (типа игрока в редакторе) в 3Д режиме редактирования.

A

Взлететь вверх/приподняться (на цыпочки) в зависимости от режима свободный полет/ гравитация.

Z

Опустится вниз/пригнуться в зависимости от режима свободный полет/гравитация.

PGUP/DN - PGUP/UP

Поднимать опускать объекты, пол, потолок, спрайт, с Shift по 1 юниту.

Ctrl+PGUP/UP-DN

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

V

Выбрать текстуру/спрайт, повторное нажатие в выборе откроет все текстуры и спрайты (арты) игры.

ALT+V

Работает так же как V хоть должно как-то иначе подбирать текстуру.

W

Изменяет режим освещения, пресеты типа свет факела, стробоскоп, мигание и так далее. (то же самое можно сделать в 2Д в свойствах сектора)

F2

Переключить состояние спрайта или сектора в режим ON/OFF, если что либо перемещается будет показано в конечном месте.

F3

Показать сектор в конечном (OFF) месте его перемещения для Z-motion секторов.

Alt + F3

Задать OFF (конечную) позицию для Z-motion сектора.

F4

Показать сектор в начальном (ON) месте его перемещения для Z-motion секторов.

Alt + F4

Задать ON (начальную) позицию для Z-motion сектора.

F9

Инструмент создания лестниц (сектора должны быть помечены через gr ALT в 2Д режиме)

num 2,4,6,8

Растягивать текстуры на стенах и потолках. С Shift более точно. С Ctrl двигать текстуру по поверхности не растягивая.

/ не цифровой

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

>

Автоподгон одинаковых текстур на стенах к той которую выбрали в прицел.

F

Отразить перевернуть текстуру/спрайт.

ALT+F

Примерно то же самое но для текстур пола/потолка.

O

Ориентация скролла текстуры относительно сектора. По внутреннему сектору или по внешнему, с которым сопрягается.

Alt + P

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

D + “+” или “-”

Изменить общее затенение уровня. После создания новой карты свет всегда максимальный, по этому например вспышки от выстрелов не будут видны (все светлое), данная опция этот вопрос решает

“gr +” или “gr -”

Изменить затенение стены потолка или спрайта. Работает отдельно от общего.

L

Включает и отключает затенение пола сектора когда над ним активен скайбокс неба.

F11

Включить или выключить глобальное панорамирование для выравнивания текстур.

Копирование

TAB

Скопировать текстуру/сектор/спрайт вместе с значениями.

ENTER

Вставить скопированное

Ctrl + ENTER

Вставить только атрибуты скопированного.

Shift + ENTER

Вставить только затемнение и палитру.

Ctrl+Shift+ENTER

Вставить только освящение и палитру сразу к всем стенам сектора.

Alt+ENTER

Вставить свойства сектора.

Сектора

Ctrl+Alt+ - или +

Изменить видимость сектора. (можно применять к выделенной группе секторов)

Ctrl+ - или +

Изменить амплитуду эффекта свечения.

Shift+ - или +

Изменить фазу свечения.

[ или ]

Изменить наклон пола.

Alt + ]

Наклонить пол/потолок до ближайшей поверхности соседнего сектора (даже если пол не ориентирован в его сторону)

Alt+F

Изменить привязку корешка - основной линии наклона относительно сторон сектора.

\

Сброс наклона.

P

Сделать небо в потолке (или в полу) арты неба 2500, 3678 и 3491

Ctrl + P

Изменить режим отображения или скролла текстур неба (параллакса) круглый, прямой и чуть более круглый скайбокс.

E

Уменьшить текстуру пола/потолка в два раза или вернуть прежний размер

R

Выравнивание текстуры по первым двум точкам сектора, для подгонки движущихся текстур.

Стены соединенных между собой секторов (например окна и коридоры)

B

Сделать линию соединения секторов невидимой стеной.

M

Сделать сплошную стену из текстуры на линии разграничения секторов (например это будет стекло в окне или забор или сетка)

T

Изменить прозрачность такой стены.

1

Тоже что и M но можно без прозрачности, но можно сделать видимой только одну сторону стены, типа проход в одну сторону.

Если нажать на верхний участок над проходом, то появится стена по середине к нам лицом, если на нижний то от нас.

2

Сделать отдельные атрибуты для нижней и верхней части стены (над/под окном) например для раздельного подгона текстур.

O

В данном случаи сменить ориентацию текстуры или от низа или от верха сектора под нашим окошком.

H

Включить "хитскан" реакцию нашей стены на пролет через неё пуль или других прожектайлов.

Пример: если включено то через полупрозрачную стену не застрелить того кто находится за ней.

Спрайты

S

Вставить спрайт.

Alt + S

Вставить спрайт из меню спрайтов. (в меню есть не всё)

B

Спрайт блок или нет, возможность/невозможность через него проходить или запрыгнуть на него (если он плоский горизонтальный).

H

Хитскан спрайта, тоже что и с стенами, если включено то пули будут ударяться об спрайт.

T

Переключить прозрачность, грубо 3 состояния.

1

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

R

Сделать спрайт “плоским” вертикальным, горизонтальным и обычным не плоским (который всегда к нам лицом).

< или >

Поворачивать плоский спрайт в одну из сторон. Обычный спрайт который к нам лицом, вращать само собой нельзя.

2Д режим (тут будет посложней)

Общее

ESC

Вызывает меню "(N)ew, (L)oad, (S)ave, (Q)uit", я уверен ты уже знаешь что оно означает.

num ENTER

Аналогично 3Д режиму, перейти в 3Д и вернуться назад.

A

Приблизить карту к себе (увеличить масштаб поля редактирования)

Z

Отдалить карту от себя (уменьшить масштаб поля редактирования)

Пробел

Начать рисовать линии сектора.

  • Backspace - Удалить последнюю вставленную точку.

  • Insert - можно нажимать, добавит точку к ближайшей стенке, но лучше не нажимать.

ПКМ

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

ЛКМ

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

gr Shift

Выделить группу спрайтов и вершин (точек) секторов, после чего их можно тащить куда нам надо.

  • Insert - скопировать содержимое группы, в данном случае копируются ТОЛЬКО спрайты.

Ctrl +  gr Shift

Клавиша Shift должна быть отжата первой. Выделит вершины сектора который находится вокруг обводимого фиолетовым прямоугольником внутреннего сектора.

  • То есть зажимаем Ctrl +  gr Shift, обводим внутренний сектор внутри другого и отпускаем gr Shift, а Ctrl держим, у нас начинают мигать все точки внешнего сектора. Надеюсь вы придумаете применение этой фиче.

gr Alt

Выделяет сектора, после чего их можно со всем содержимым перетаскивать, так же нужно для генератора лестниц в 3Д режиме.

  • Insert - скопировать содержимое группы, целиком, всё что выделено мигающими зелеными полосками включая сам сектор и спрайты в нём. После нажатия нужно тянуть за любую вершину и вы вытащите скопированное с оригинала в сторону. А если решите снять выделение, то я вам не завидую.

Insert

Без всяких выделений и режимов, просто добавляет новые вершины в линии секторов.

Delete

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

gr Ctrl + Delete

Удалить сектор вместе с всем содержимым, удалится тот на который наведен курсор.

J

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

Alt + S

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

S

Вставить спрайт.

B

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

C

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

  • Повторное C отменит действие.

  • Space - завершить выбранное.

  • + или - добавить или убавить точки будущего полукруга.

T

Задать LO-tag сектора в цифрах.

Alt + T

Задать LO-tag спрайтам и стенам в цифрах. (228cerb - 420spray - 431lleatch)

H

Задать HI-tag сектора в цифрах.

H + Alt

Задать HI-tag спрайтам и стенам в цифрах.

  • Надо заметить эти Таги остались ещё от Дюковщины и его способа связывать сектора для событий, поскольку движок Build, Монолит советуют использовать его новую систему XSYSTEM которая RF/TX ID-ы, а эти штуки трогать не рекомендуют вообще. Но поскольку с ними связано некоторое количество скрытых фич, их всё же можно потрогать но делать это нужно с умом. http://cruo.bloodgame.ru/pmapedit/

Alt + E

Указать номер статус листа. (6 - 4)

Ctrl + H

Задать Хитскан (пробиваемость непробиваемость патронами) для спрайтов и линий соединенных между собой секторов (как в 3Д режиме)

I

Задать видимость или невидимость спрайта (Если он блок или хитскан, то это пропадет)

E

Смени у спрайта номер статус листа. (не понятно только зачем)

< или >

Сменить ориентацию спрайта, как в 3Д режиме, если спрайт плоский горизонтально или вертикально, если он обычный то если он монстр, это будет направление в которое он смотрит (и следит за вами).

  • С Shift поворачивает по 1 юниту.

  • Также можно вращать выделенный через gr Алт сектор или группу секторов без Shift на 90 градусов c Shift по 1 юниту, но так можно накосячить.

[ или ]

То же самое но но меняет другой “верхний” (видимо Дюковский) атрибут поворота спрайта, в отличии от предыдущего поворачивает на 45 градусов, а с Shift по 16 юнитов. Как указано в документации используется для проворота без привязки к пред идущему атрибуту.

А также этими кнопками не повернуть выделенный сектор.

Ctrl + T

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

TAB

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

Alt + TAB

Переключить из ДосБокса на другое приложение в вашей Винде :) , хотя должно показывать аналогичную TAB информацию для спрайтов и стен.

Таки да, вероятно в Линух версии с эти получше или же нужно это специально обыграть в вашем эмуляторе ДОСа. (не сказать чтобы было сильно нужно)

Scroll Lock

Задать стартовую позицию - Коричневую стрелку. Нужна эта позиция если вы еще не установили на карте “Player Start 0” спрайт.

G

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

К

Отметить стену или спрайт для движения. Синий цвет движение вперед, Зеленый назад.

L

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

M

Как и в 3Д режиме включает сплошную (среднюю) стену на линиях разграничения секторов, допусти в вас в 3Д режиме пол и потолок обоих секторов равны и там M вы сделать не можете, 2Д режим спешит на помощь.

S

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

F5

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

F6

Показать параметры стены или спрайта, если таковые не были заданы, то есть не разу через Alt + F6 их не редактировали.

  • Данные параметры по умолчанию у новых секторов, стен и спрайтов отсутствуют, но если были добавлены вершины в линию стены или врезан внутренний сектор, или скопированы сектора они тоже будут копироваться. Редактор неадекватит если таких секторов и линий слишком много, предположительно их может быть меньше чем пустых секторов и спрайтов, примерно раза в два если смотреть по счетчику. По идее должно больше не давать создавать новые сектора или линии с параметрами, только простые. (в редакторе версии 1.21 не проверялось, он имеет более позднюю версию карт, дело было в 1.11)

Alt + F5

Редактировать параметры сектора. (за этим коротким предложением кроется целое таинство которое мы вынесем отдельно)

Alt + F6

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

Кнопки внутри диалогов

  • Esc - Выйти из диалога

  • Enter - Сохранить измененной и выйти

  • Left или Sh+Tab - Перемещаться по пунктам диалога вверх

  • Right или Tab - Перемещаться по пунктам диалога вниз

  • Up или Pad+ - Менять выбранный параметр на единицу больше

  • Down или Pad- - Менять выбранный параметр на единицу меньше

  • Pg Up - Увеличивать параметр сразу на 10 единиц.

  • Pg Dn - Уменьшать параметр сразу на 10 единиц. Работает исключительно на цифровые значения типа Data1-4 секунды, RX/TX ID-ы.

  • Space - Отметить пункт чекбокса, квадратики типа Trigger On.

  • F10 - Выдает свободный ID для RF/TX системы или проигрывает звук номер которого указан в Data1-4 даже если это там используется не для звука.

F7

Подсветка желтыми стрелками сектору под курсором с RX/TX ID, направления местоположения сектора который ему что либо посылает их TX.

Alt + F7

Подсветка желтыми стрелками сектору под курсором с RX/TX ID, направления местоположения других связанных с ним секторов которые ему что-то посылают по TX.

  • Иными словами, если у сектора в RX стоит такой же ID как в TX нескольких других секторов, то есть наш сектор от них получает сигнал, то от них всех них будет проведена желтая стрелка к основной вершине нашего сектора. Это типа чтобы искать что с чем у вас связано системой этих ID.

F8

То же самое для спрайтов и стен, в данном случаи стрелкой покажет посылающий спрайт относительно того на который мы нажали F8

Alt + F8

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

  • Это всё сложно описать, но достаточно один раз увидеть чтобы было понятно.


Дальше я наверное накатаю таблички с всякими системными RX/TX ID-ами.

Считается что первые 100 ID системные, по этому по F10 присваивает 101 и выше свободный канал.



Системный ID

Результат

1

Засчитывает в счетчик секретов.

2

Вы нашли секрет.

3

Пишет текст который вы задали в blood.ini описывая карту

4

Конец уровня и переход на уровень А указанный всё в том же blood.ini

5

Конец уровня и переход на уровень Б указанный всё в том же blood.ini

7

Стартовый триггер срабатывает при запуске карты.

8

То же самое для сеточноых режимов БлудБатч и Командного

9

Для кооперативного.

10

Просто для командного.

15

Сработает когда игрок из команды А в командном режиме умер.

16

Сработает когда игрок из команды Б в командном режиме умер.

80

Сообщение команде А когда флаг взят.

81

Сообщение команде Б когда флаг взят.


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


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

И в конце длинный список всяких разных типов для спрайтов, секторов и стен, я так понял про стены неизвестный автор так и не дописал, больше всего информации о типах спрайтов.

Завершает всё это описание blood.ini, тоже всё довольно просто.


Comments