Door Kickers: Action Squad Guide

Создание карт - подробное руководство for Door Kickers: Action Squad

Создание карт – подробное руководство

Overview

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

Полезные руководства

Перевод официального мини-руководства
[link]
Руководство по спрайтам

Нужны,чтобы создавать новые главы или объекты, оружие или персонажей
[link]

Шапка редактора

Добавлять что-либо на карту – левой кнопкой мыши,
Стирать текстуры, выделять объекты – правой кнопкой.
Перемещать карту – средней клавишей мыши
Менять масштаб – разумеется на колесо =)

File

New – создать новую карту (при данном действии появится окно изображенное ниже – выбираем пункт “Нет”):

• Ниже стандартные пункты: Открыть, Сохранить и Сохранить как.
• Еще ниже 2 пункта: Импорт и Экспорт Prefab – это готовые настройки для создания определенных взаимосвязей объектов на карте с готовыми скриптами (примеры: лифты, освещение, двери, окна и прочее).
• И самый последний пункт – Выход (но вы и так это знаете).

Edit

Undo – отменяет последнее действие на карте, связанное со вкладкой Materials

Set mission tipe… – Здесь можно выбрать тип миссии:
1) Убить всех (знаменитый по Rainbow Six – Антитеррор) – Actors

2) Спасти всех заложников – они тоже во вкладке Actors

3) Обезвредить бомбу – вкладка Prefabs

4) Ордер на арест – снова Actors

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

Set level background…
Данное меню поможет выбрать задний фон для вашей карты. Посмотреть их можно в папке: SteamsteamappscommonDoor Kickers – Action Squadmediaback

Set level/prefab origin
Полезная штука, если вас не устраивает расположение заднего фона, относительно точки земли. Функция необходима, если вы создаете карту не на земле, а в небе – тогда красную координату следует опустить пониже начальной точки.

Find by ID…
Поиск объекта по его ID (если вы, конечно, помните этот номер). Узнать его легко – надо нажать правой клавишей на объект, находясь в разделе Objekts

Delete overlapping tiles
Позволяет быстро стирать один из трех слоев (об этом позже). Однако не уверен, что функция востребована (легко стереть лишнее). Стирать все, кстати, тоже на правую кнопку мыши, но надо находиться в меню materials

Clear all actors…
Удаляет всех персонажей с карты.

View

Invert Background – Позволяет поменять задний фон редактора с темного на светлый, если вам тяжело разглядеть объекты на карте
Show grid – убрать/установить сетку на карту в редакторе
Front layer grid (кажется, не работает)

Workshop

Mod uploader – Меню для публикации карты в Steam Workshop и для тестирования карты перед публикацией.
Type:
– Single_Level (сами карты)
– Game_Changer (моды, не связанные с картами)
Mod Name – имя для мода / • Author – ваше имя или псевдоним (эти параметры будут в игре)
Description – краткое описание для вашего мода
Tags – тэги (по ним проще найти мод в Steam
Change notes – дополнительные заметки (я ими ни разу не пользовался, если честно)

Affected files (Add file… добавить еще файл в мод / Remove Selected удалить выделенный файл)
Mod Image – выбрать картинку для мода (максимальный размер 1024×1024 PNG!)

Upload Now – опубликовать / Cancel – отменить

Play map – позволяет протестировать карту до публикации, но есть нюанс. Чтобы игра не вылетела, надо сначала зайти в игру и выбрать оригинальную миссию. Как миссия началась – выходите из игры и запускайте свою карту из редактора. Проблема кроется в том, что если выбрана не оригинальная карта, а карта из мастерской, то окно выбора миссий в игре, будет на вкладке миссий из мастерской. Уж не знаю с чем это связано, но благодаря этой махинации – вы навсегда забудете о вылетах при тестировании.

Help

– тут находится информация о версии редактора.

Правая часть 1

Сначала низ:

Layers

Имеет 3 уровня:
Задний план
Средний план
Передний план
Надо помнить, что ближние планы – перекрывают текстуры (Materials) и предметы (Onjects), расположенные на планах дальше. Так, некоторые вещи могут пропасть с экрана. Проверить можно через тестовый запуск карты описанный в “Шапке”.
Но иногда функция очень полезна, если вы планируете скрыть какой-либо объект с карты.

Пример: За окном имеется текстура света, имитирующего дневной свет, а перед светом находится рамка от окна. Также видно, что елка в редакторе находится перед окном, но в игре оно – за ним.

Ваша карта существует только в рамках нарисованных текстур, кроме неба. Это не позволит вам уйти за экран.

Что произойдет, если вы все же расположили текстуры не квадратом:

Options

Show overlapping tiles – полезная штука, помогает узнать, сколько Materials наслаивается друг на друга. Ведь иногда, вы можете случайно добавить несколько слоев, что так же может повлиять на внешний вид.
Snap to grid – очень полезная штука. Требуется чтобы размещать объекты не по сетке, а так, как этого хотите вы.

Правая часть 2

И наконец верх:

Materials

Show grid – наносит сетку на текстуры (помогает понять, сколько квадратов занимает требуемая текстура)
Invert background – меняет темный фон на светлый
Reset viev – сбрасывает приближение/отдаление на стандартное в текстурах.

Lights

Light data:
Type – тип освещения
Ambiental общее освещение на карте (меняет оттенок всей карты)
Area light свет по площади
Point light точечный свет (самый часто используемый)
Directional направленный свет
Лично я, никогда не пользовался Area и Directional, но они горят в разы тусклее чем Point

Color – цвет освещения
Angle – угол освещения
z coord – координата (честно не особо знаю для чего она)
Intensity – интенсивность освещения
Cast shadows – позволяет свету отбрасывать тени от объектов
Atmospheric attenuation – затухание света

Show light image показывает, как выбранный свет будет светить на карте (на скриншоте есть пример)

Collision

Type
1) Solid – коллизия твердых тел (стены, потолок и пр.)

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

2) Stairs – лестница (ступенчатая)
3) Water – вода
4) Ladder – вертикальная лестница
5) Box – ящик (на него можно вставать, спрыгивать, через него пролетают пули и гранаты)

6) Trigger – триггер (объект, от которого работает какой-либо скрипт)
7) Particle syistem – добавляет падающие капли дождя
Требуется через AI:
Behavior/AI выбрать PARTICLES_GENERATOR, а в params format прописать:
s_type = RAINDROPS;
s_layer = RT_BACK_NRM;
8) Room occlude – по сути это туман войны, скрывающий врагов в комнатах
9) Cover – покрытие (не пользовался)
10) Moving platform – двигающаяся платформа (тоже не использовал)
11) Ledge (solid box) – похожа на Box, но тут уже нельзя бросать гранаты сквозь коллизию

Snap to Grid – важен, чтобы выровнять коллизию, расположенную по горизонтали (твердая коллизия, лестницы, ступеньки и пр.). Это очень важно, если не хотите, чтобы герой случайно слетел вниз (так как перед ним коллизия окажется немного выше, то персонаж ее проигнорирует, если это не твердая коллизия, а лестницы, ступеньки, ящики и пр.

Ниже есть три галочки, позволяющие скрыть с экрана коллизию:
Fog of War
Water
Triggers

Auto fit to walls – автоматическая подгонка ко стенам. Удобно. Учитывая, что подгонять стены самому – тяжелее.

Objects

В каждый раздел можно зайти, но не сказать, что все вещи логично отсортированы.
Выбрав объект на карте, можно:
Animated – отключить анимацию (если она есть, объект станет неподвижным)
Is Cover – добавить возможность прятаться за объектом от пуль врагов (не со всеми объектами работает корректно)
Move linked solid collisions too – позволяет передвигать объект с привязанной к нему коллизией

Bring to TOP – передвинуть объект вперед экрана (в пределах одного из трех видов)
Send to Back – передвинуть объект дальше от экрана (в пределах одного из трех видов)

AI

Рабочее поле со скриптами. О нем отдельно.
Все скрипты находятся: Door Kickers – Action Squadmediascripts.xml

Misc

Spawn Point – точка появления игроков
Rails – рельсы (используются для создания лифтов, и некоторой интерактивности. По желанию можно создать зацикленные рельсы.
Front Layer Deco – ставит крупные размытые объекты закрывая края карты (ставить надо по краям)
Script – для скриптов

Macros Из трех рядов, используйте только 1 и 3 строки в меню (на рисунке: A и C), а для второй лучше – Prefabs

Actors

Окно со всеми неигровыми персонажами (в т.ч. зомби)
Properties:
FlipX переворачивает выбранного персонажа в обратную сторону
hasCollisions убирает коллизию (вместе с hasGravity, подвешивает объект в воздухе)
hasGravity убирает гравитацию (вместе с hasCollisions, подвешивает объект в воздухе)
Set Angle позволяет изменить угол обзора камеры или персонажа
Set AI state можно выбрать состояние объекта (индивидуальное для каждого (мертвый персонаж, агрессивный – подрывник – тут же взорвется, сразу берет заложника в… эм… заложники и пр.)

Hide actors скрывает персонажа от игрока

Prefabs

Actor – выборочное появление некоторых видов врагов
CoverObj – объект, за которым можно укрыться
Door – виды дверей
Elevator – виды лифтов
Light – освещение
MissionItem – различные интересные предметы (амуниция, бомба, ключ-карты, аптечка, точка появления)
Room_SlowMotionRoom – скрытая комната (в игре они за оранжевыми дверями). Помещается высоко над основной картой, чтобы ее нельзя было найти. Максимальный размер комнаты: 25 блока в ширину и 14 в высоту. Через меню коллизии – нужно будет растянуть твердую коллизию и коллизию триггера комнаты.
Spawing – двери, за которыми появляются враги. Имеет зеленый триггер, задев который, враги начинают выбегать. триггер, разумеется, можно переместить.
Spawing door camera – создает камеру с дверью. Если вы долго будете в обзоре камеры, т из двери выбегут враги.
Window – виды окон
Zombie_Spawner – портал зомби

AI

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

Хотя в игре есть и другие, но я так и не понял, как именно они работают (открытие двери + повышение уровня воды).

Все скрипты находятся: Door Kickers – Action Squadmediascripts.xml

Raindrops

Вышеупомянутый Raindrops (капли дождя, что разбиваются о землю)
В Behavior/AI выбрать PARTICLES_GENERATOR, а в params format прописать:
s_type = RAINDROPS;
s_layer = RT_BACK_NRM;
Коллизию нужно размещать выше уровня асфальта или крыши.

Двери-телепорты

Кроме prefab – slow_motion_room, есть еще один тип перемещения, не используемый разрабами, так как визуально он не очень хорош. Это перемещение не в скрытую область, а в открытую. Для этого важно размещать области перемещения в одной плоскости, и делать их полностью проработанными.
Behavior/AI выбрать ACTIVE_TEAM_TELEPORTER_2FRAMES, в params format прописать
f_slowTimeDuration = 0.0;
b_EnterHiddenRoom = 0;
f_teleportDuration = 0.0;

Ниже поставьте галку Can interact для обеих дверей.
Target ID – это ID дверей. Одна дверь, должна ссылаться на ID другой.

Подвижный свет и лампы

Лампа Behavior/AI: ACTIVE_SWINGING_FRONTOBJ
Свет Behavior/AI: AI_FN_GET_TARGET_ANG + привязка к лампе через Target ID
Теперь, когда рядом с лампой произойдет взрыв, или вы выбьете дверь, то она начнет шататься.

Аптечка и патроны

В Prefab можно создать и то и другое Ammo и Health Box
n_ammo_Left = 4, где 4 – это количество амуниции. Можете его уменьшить, если хотите. Но тогда не забудьте поменять вид объекта из Objects на соответствующий. 3 снаряжения – ящик с 3-мя зелеными предметами внутри, 1 аптечка – аптечка с одной горящей ячейкой (либо можно выбрать маленькую аптечку).

Лифт

Behavior/AI: AI_FN_FOLLOW_TARGET_RAIL
n_dir = 0;
f_speedPPS = 40.0; – это скорость движения лифта.
f_pointPauseSec = 0.0;
b_autoChangeDirection = 0;
b_looping = 0;
Script: IACTIVE_TOGGLE_ELEVATOR_DIR
Галка – Can Interact

В Objects выбираете кнопку лифта и прописываете Behavior/AI: IACTIVE_TOGGLE_TARGET_ELEVATOR_DIR
(если требуется разовое нажатие (а после кнопка должна стать недоступной), то используйте AI_FN_GET_TARGET_POS)
Target ID – привязать к рельсам
Плюс галка – Can interact
Если поставить галку – Hide interact icon, то возле кнопки не будет видна кнопка активации. Это позволяет скрывать подобные кнопки или же тайные двери.

Твердая коллизия, которая является частью лифта имеет параметры:
Behavior/AI: AI_FN_GET_TARGET_POS
Target ID – ID лифта

Переходим на вкладку правой панели редактора “Misc”,
выбираем “Rails (рельсы)”

Разумеется, лифт можно создать через Prefab, однако этот скрипт также действителен и для других вещей. Вы можете опускать или поднимать уровень воды.

Смотреть с 1:35 и до начала обезвреживания бомбы:
[link]
Вместо лифта выступают другие объекты или вода.

SteamSolo.com