Введение в маппинг Fallout Tactics

Вступление

В среде любителей Post-Nuclear RPG именно Fallout Tactics заслужил репутацию "ребенка, на котором природа отдохнула". Выгодно отличаясь от своих предшественников графикой, игра многих разочаровала своим сюжетом. Множество недоработок, полная линейность, отсутствие полноценных диалогов - это лишь немногие из тех причин, благодаря которым на Fallout Tactics большое количество любителей RPG в лучшем случае просто не обратили внимание. Попытки "оживить" игру различными weapon-replacement модами, создаваемыми при помощи "самодельных" редакторов, не влияли на основной недостаток игры - сюжет.

Однако, с выходом патча 1.27 ситуация изменилась, поскольку в комплект патча вошел поистине незаменимый инструмент для моддинга - FT Tools. В арсенале моддеров наконец-то появился полноценный инструмент для редактирования и создания уровней и кампаний.

На данный момент в Интернете имеется немало материалов как по использованию FT Tools, так и по моддингу FT в целом, однако русскоязычные материалы представляют относительную редкость. Именно это и послужило причиной написания данной статьи, в которой на примере создания простенькой карты рассматриваются основные функции FT Tools Level Editor.

1. Подготовка к созданию карты.

Итак, у нас в распоряжении имеется игра Fallout Tactics с установленным патчем версии 1.27. Подготовим игру к соданию карты. Для этого нам придется распаковать содержимое файлов entities.bos и tiles.bos, которые находятся в папке core в корневой директории игры. Эти файлы распаковываются при помощи ZIP или RAR архиватора. Внимание: проследите за тем, чтобы файлы были распакованы правильно!
К примеру, папка с "актерами" должна располагаться по адресу Fallout Tactics\core\entities\Actors, а не Fallout Tactics\core\entities\entities\Actors, а папка с тайлами разрушенного города - по адресу Fallout Tactics\core\tiles\Ruined City, а не Fallout Tactics\core\tiles\tiles\Ruined City.

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

Сюжет нашей карты прост: воин Братства Стали подходит к дому, в котором рейдер грабит фермера. Приступим.

2. Тайлы и объекты

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

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



Отметив галочкой поле Level, определяем положение верхнего правого края карты, кликнув сначала на кнопку Set Top, а затем на нужное место на карте. Аналогично при помощи кнопки Set Bottom определим нижний левый край карты. При необходимости размер игровой области можно будет менять в процессе создания карты.

Расстановку тайлов начнем с пола. Для этого установим мышкой (либо клавишами PgUp и PgDown) отметку на шкале по правому краю экрана на уровне -1 (в принципе, начальный уровень значения не имеет, но именно уровень -1 является базовым для стандартных карт Fallout Tactics).

Перейдем в закладку Tiles и выберем нужный нам тип поверхности. В данном случае я выбрал Generic Tiles > Generic floors > DirtSand. Масштаб отображения тайлов в тайл-листе для удобства желательно изменить на "1", ибо при масштабе "0.5" разглядывать тайлы неудобно (pic0002.jpg).



Для удобства укладки тайлов рекомендую включить опцию Show Tile Bounding Box в меню (pic0003.jpg).



Выкладывая область, стараемся размещать рядом похожие, но не одинаковые тайлы. Выложив небольшую область (приблизительно 5х5 тайлов) выделим ее, перейдя в закладку Select и обведя рамкой необходимые нам тайлы, и скопируем при помощи знакомой всем команды Ctrl+C. Затем при помощи команды Ctrl+V будем вставлять скопированный участок грунта, подгоняя его на нужно место при помощи команды Ctrl+ Up (+Down, +Left, +Rigth), Ctrl+PgUp Ctrl+PgDown, либо удаляя при помощи Ctrl+delete. После того как игровая область будет заполнена тайлами, отключим опцию Show Tile Bounding Box и полюбуемся результатами трудов своих (pic0004.jpg).



Теперь нам необходимо разнообразить грунт, чтобы он не был похож на шахматную доску. Выберем из той же папки другие тайлы с переходами на другие типы грунтов и придадим карте "живость". Тайлы стараемся размещать так, чтобы переходы между ними выглядели натурально. В нашем случае после 5 минут возни с тайлами карта приобрела относительно живописный вид (pic0005.jpg). В принципе, готовые ландшафты можно брать из готовых карт, которые содержатся в игре. Но я рекомендую пробовать выкладывать тайлами ландшафты самостоятельно.



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

Когда грунт готов, приступим к "расстановке мебели". Поскольку это у нас ферма, то мы разметим основные объекты: забор, фундамент дома и поле. Во избежание перекрытия тайлов установим уровень на шкале на "0" и выложим тайлами пол домика. Тайлы для пола в данном случае я брал в папке Post War Town. В папке Village я взял элементы для огорода и ограду (pic0006.jpg).



Распланировав карту, еще раз повысим уровень на одно деление (т.е. на один тайл) и установим стены. Стены я также взял в папке Post War Town. Если при установке стены вы хотите придать фрагменту стены свойства окна - выделите нужный вам тайл, после чего в меню Tools выберите пункт Window (pic0007.jpg).



Завершив установку стен, установим перекладину над дверным проемом. Высота стандартной стены обычо равна 12, стандартной двери - 10. Высота перекладины, которые обычно находятся в папке со стенами, равна 2. Следовательно, если стены на нашей карте находятся на уровне 1, то перекладину необходимо разместить на уровне 11 (pic0008.jpg).



Расставив необходимые предметы обстановки, установим дверь в проем. Выберем закладку Entity, папку doors. Я выбрал дверь Town Wood из папки Town Doors (pic0009.jpg).



Теперь займемся установкой крыши. Возьмем деревянную крышу из папки Post War Town. Крыша в нашем случае будет располагаться на высоте 13. Установив скаты крыши, середину ее замостим тайлами из папки Direction A или Direction B. Эти тайлы нужно размещать на высоте 17, поскольку высота боковых секций крыши равна 4 делениям. Установку крыши, равно как большинство других операций, лучше производить при включенной опции Show Tile Bounding Box воизбежание наложения тайлов (pic0010.jpg)



После завершения сборки крыши, нам необходимо сделать так, чтобы она "съезжала", когда наш персонах будет входить в дом. Для этого поочередно выберем в меню Tools пункты New Group Data и (на всякий случай) Re-sort Tiles (pic0011.jpg).



Проверим: установим уровень на "0" и наведем мышку на середину домика: крыша должна исчезнуть. Внимание: следите за тем, чтобы видимые тайлы не накладывались друг на друга. Это может вызвать некорректное отображение этих самых тайлов в игре.

Если все работает нормально и выглядит прилично - закончим с тайлами и перейдем к "оживлению" карты.

3. Игроки и команды.

Итак, исходя из нашего сюжета, у нас имеются три действующих стороны: Братство Стали (то есть мы), фермер и рейдер. Для начала создадим необходимых игроков. Для этого отметим закладку Level и нажмем кнопку Player... . В открывшемся окне мы увидим уже имеющихся игроков Scenery (нейтральные объекты) и Human (управляемый человеком). Нажав кнопку Add создадим еще двух игроков: Farmer и Raider, в строке Type выставим для обоих значение Computer (pic0012.jpg).



После этого нажмем кнопку Team... и в открывшейся таблице установим взаимоотношения команд (pic0013.jpg).



Снова зайдем в закладку Player... и припишем игроков к командам. Для этого игроку Human в строке Team пропишем значение "1", Farmer - "2" и Raider - "3" (pic0014.jpg).



Теперь займемся установкой персонажей на карту. Откроем закладку Entity. Для нашей карты в качестве главного героя я взял одного из персонажей, предлагаемых на выбор в начале игры (из папки Special > prefab). Рейдера и фермера возьмем в папке Actors, из подпапок Raiders и Citizens соответственно (pic0015.jpg).



После этого перейдем в закладку Entity Edit и отредактируем персонажей. Кликнув по нашему персонажу, на левой панели выставим ему Player Index: 1, прокрутив панель чуть ниже (прокручивается вверх-вниз колесиком мыша) вставим в руки пистолет и положим патронов в инвентарь (pic0016.jpg).



Подобные операции проделаем с рейдером и фермером, выставив им значение Player Index 2 и 3 соответственно.
Также укажем характер персонажей: рейдеру в строчке Nature выставим значение Agressor, в строчке Tactic выставим Advanced. Фермеру выставим соответственно значения Coward и Retreat. Чтобы рейдер слишком быстро не убил фермера, выставим фермеру Level равный хотя бы 3 и положим в инвентарь пару стимпаков.

4. Триггеры и речь персонажей

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

Mission_Farmer_A00 = { Помоги мне, мужик!}
//
Mission_Farmer_A01 = { Спасибо, мужик!}

Сохраним файл и закроем его. После этого в закладке Level нажмем кнопку Speech File... и импортируем наш текстовый файл (pic0017.jpg).



Нажмем кнопку Speech... и в открывшемся окне создадим два текста для нашего фермера. Нажав кнопку Add и изменив название записи с New Node на Farmer 0, в строке Random 1 выставим значение Mission_Farmer_A00, также не забудем отметить галочкой позицию Windowed (чтобы текст воспроизводился в окне, если же отмечена позиция Floating - текст будет просто "плавать" над головой персонажа). Точно также создадим запись Farmer 1 с текстом Mission_Farrmer_A01 (pic0018.jpg).



Снова выберем закладку Entity Edit, кликнем на фермера и в строке Click Speech установим значение Farmer 0. Теперь в игре при клике на фермера в диалоговом окне будет будет воспроизводиться "Помоги мне, мужик!" Не забудем также вписать в строку Tag Name имя Farmer. Это позволит использовать некоторые триггеры чтобы "оживить" поведение фермера. Нажмем кнопку Triggers... в закладке Level и создадим новый триггер. Сделаем так, чтобы завидев нашего персонажа, фермер стал звать на помощь. Для этого выставим в условиях (Conditions) условие Can See, в качестве Player 1 (того, кто видит) укажем игрока 2. В качестве Player 2 (того, кого видят) укажем игрока 1, то есть нашего персонажа (pic0019.jpg).



В действия (Actions) выставим Force Speech. В строке Unit укажем имя Farmer и выберем речь Farmer 0 (pic0020.jpg).



Создадим следующий триггер. В Conditions выставим условие смерти рейдера (pic0021.jpg):



Quanity - Player >
Player: 3
has: Exactly 1
type: Death
at: Anywhere

Чтобы фермер после смерти рейдера не голосил "Помоги мне, мужик!" и адекватно реагировал на происходящее, в Actions установим следующие события:

Force Speech - заставим говорить
for unit 'Farmer' - юнита с тэгом Farmer
to 'Farmer 1' - речь Farmer 1

Чтобы он в последующем продолжал говорить тоже самое:

Set Click Speech - установим "кликовую речь"
for unit 'Farmer' - юнита с тэгом Farmer
to 'Farmer 1' - речь Farmer 1 (pic0022.jpg)



Вот и все. Осталось сохранить нашу карту (если вы еще этого не сделали), запустить Fallout Tactics версии 1.27. Single Player > Custom Mission > указать нашу карту и порадоваться своим успехам :)

P. S. От души выражаю благодарность Teodor Wild за науку, а также за полезную информацию и консультации всем, кто модифицирует Fallout Tactics и участвует в обсуждении темы "FT Tools. Вопросы и ответы" в разделе "Мастерские Братства" на форуме сайта FALLOUT.RU.

der Fluger (der-fluger@yandex.ru)
Сайт управляется системой uCoz