Александр Дредноутов (с)
Warhammer 40 000 - Dawn Of War
Создание мультиплеерных карт в w40kME
Александр Дредноутов (с)
Хотел снять видео, но тут много тонкостей, которые сложно будет показать в видео. Да и само видео может получиться очень длинным. Надеюсь всё разложить по полочкам тут.
Создадим карту для мультиплеера (и именно для него, т.к. под компанию потом будет другой учебник). Для этого нам нужен клиент Вархаммера, пригодный для установки редактора карт, сам редактор карт w40kME и МНОГО терпения. Для того чтобы обзавестись редактором, идём сюда: http://vk.com/topic-19587543_25555818
После того, как мы прочитали материал по ссылки, и скачали ModTools нужной версии, в составе которого редактор W40kME, можно его установить и запустить.
1) Планирование
Любая стройка начинается с планирования. Можем сначала набросать план карты мечты на бумажке или в Paint, а потом уже приступить к её реализации. Если мы заранее спланируем, где что будет находиться, количество игроков, проходов, ресурсов, оборону, отмерим и уравняем расстояния, будет проще строить её в редакторе. И получить в итоге хорошо сбалансированную, геймплейно интересную карту, а не просто поле, на котором натыканы объекты.
Тактически, карта может быть коридорная, где бои разворачиваются в проходах и кишках, или открытая, где игрок сам выберет направление атаки. Можно использовать разные комбинации плато, кишок и коридоров. Определённости тут нет. Опросы показали – кому что нравится.
2) Биомы (природа)
Определиться с биомом для карты можно пощёлкав текстуры, и посмотрев что можно из этого сделать. Лучше начать воссоздавать одну из увиденных на картах от Relic. Биомы у нас могут быть: Зима, Хаос, Джунгли, Пустыня, Красная планета, Пещера некронов, Парадайз, Зараженная земля, Имперский город, и другие. Можно смешать два (например город в джунглях или зимний лес). Опросы показали, что большинство игроков любят руины городов(60%). Если мы определились с тематикой, например, Пустыня, то мы будем декорировать карту только элементами встречающимися в пустыне.
Декорирование складывается из следующих составляющих:
Геометрия местности - это все неровности. Т.е. горы, ущелья, плато, ямы, ухабы, и.т.д. Тут всё довольно произвольно, у любой из этих тематик может быть разная геометрия, т.е. горы могут присутствовать на тематиках Зимняя и Хаос. Очевидно, что просто плоская карта с парой бугров не будет интересной.
Наполнение - это модели объектов, которые мы будем ставить. Здания, деревья, камни и.т.д.
Погодные условия - это у нас скайбокс(небо), положение яркость и цвет солнца, плотность тумана, тени. Для каждого биома они свои.
Не биомы одинаковы по трудоёмкости постройки. Трудоёмкость постройки складывается из сложности геометрии поверхности, количества объектов(моделей), и их симметрии относительно друг друга. Так, например, биом хаос и пустыня имеют не много моделей, полную асимметрию, и почти полностью состоит из гор и скал, которые быстро устанавливаются специальным инструментом. Биом города – напротив, имеет большое кол-во моделей построек, светофоры, лэп, трубы, декали дорог, и всякие прочие признаки обитаемости человеком. Их дого располагать, и они все как правило симметричны относительно друг друга. Поэтому на постройку биома города уйдёт гораздо больше времени, чем на пустыню или джунгли.
3) Настройки холста (игрового поля)
После того как запустили редактор, жмём File => new, увидим маленькое окошко:
Size: 256x256 - Размер холста
Sell Size: 2m - не трогаем
Mod: Dawn Of War - Dark Crusade - мод\dlc, под который будем делать карту
Размер холста - размер нашей карты. По статистике опросов, народ любит масштабные зарубы на картах от 4-х игроков, и чем больше – тем лучше. Согласно плану, выбираем размер под количество игроков. Лучше брать 256х256 для 2-4 игроков, 256х512 для 2-4-6 игроков, и 512х512 на 4-6-8 игроков (это самый оптимальный размер).
ВАЖНО!!! НЕ БЕРЁМ РАЗМЕР БОЛЕЕ 512х512!
Этот тестовый размер был оставлен разработчиками по ошибке. Аргументы против х1024:
1) Ошибка по незнанию Начинающие маперы думают, что размер 512х512 не достаточно большой. Они сразу берут 1024х1024, дабы создать карту “побольше”. 512х512 – это и так огромный размер. На его декор может уйти месяц и более.
2) Заторможенность матча У карт более 512х512 лишком большое время движения от базы до базы, что сильно затягивает матч. Большую часть матча будет занимать беготня а не замес.
3) ДисбалансБолее мобильные расы будут иметь значительное преимущество над менее мобильными (Эльдары против Некронов, например). Особенно если за них играет человек.
4) Ресурсоёмкость Как не настраивай радиус скайбокса, загружать и рендерить придётся всё равно больше. Вархаммер и так как правило перегружен модами.
5) Титаническая труд декорирования Чтобы понять, что это такое, нужно построить качественную хоть какую то, детализированную карту 512x512 на 8 игроков. Когда мы закончим её декорировать, мы проклянём всё на свете (если вообще не помрём закончим её). А 1024х1024 это как ЧЕТЫРЕ таких карты за раз сделать! При создании карты такого размера должны активно использоваться программы-террагены и редактирование карт-высот через Photoshop, т.к. создать такое кол-во ландшафта вручную адски тяжело.
Вместо этого лучше создать 4 годных карты 512х512 на 8 игроков.
6) Геймплейная не интересность Из-за трудоёмкости декорирования карта как правило представляет с собой огромную пустынную местность с движением “на все 4 стороны”. Просто поля, холмы, постройки, которые не имеют тактического значения.
7) Сложность изучения Если карта всё же от декорирована, и состоит из кучи проходов и кишок, ИИ будет иметь значительное преимущество, т.к. игрок выучит её далеко не с первого раза. А если мни-карта будет сделана плохо не будет сделана, игрок будет слеп.
8) Я не видел ни одной хорошей карты размером более 512 (тоже аргумент). Если есть какой-то “шедевр” на обзор, о котором я не знаю, говорим: Дредноутов, ты нам тут ереси нанёс и крепим его в тему по картам. Я его в пух и прах раскритикую объективно рассмотрю.
Но нет, периодически люди всё-таки начинают делать карту 1024х1024. От декорировав где-то 1\8 всей площади “стерженёк” лопается, и карта забрасывается. Уже много людей наступило на эти “грабли” не смотря на предупреждения, и потратили время ЗРЯ. Если бы это не было так важно, я бы не стал выделять под это целую страницу учебника. Если мы строим первую карту, лучше оценить свои силы трезво, и взять холст 256х256 или 256х512. Если мы уже наляпали кое как какое-то там поле имеем опыт, то берём заготовку 512х512.
мод\dlc - все моды на вархаммер которые мы установили есть возможность выбрать в редакторе. Это значит что при создании карты, мы можем использовать все объекты, которые есть в этом моде\DLC. Но мы обязаны будем сохранить карту в папку с этим модом\DLC, т.к. при использовании её в другом моде\DLC, объекты и текстуры не загрузятся, т.к. их там нет. Т.е. допустим вместо здания мы получим розовый кубик "Bad model". Чтобы этого избежать, лучше делать карту под стандартные DLC от Relic, т.е., например, под Dawn Of War - Dark Crusade. Есть такая особенность карт, что с поздней версии на раннюю они идут, но загружаются не все объекты. Например, мы создали карту под Dawn Of War - Dark Crusade, а потом перекинули её в Dawn Of War - Winter Assault. Карта работает, но на месте некоторых объектов и декалей будут розовые кубики, т.к. в WA нет некоторых объектов, которые мы использовали строя в DK. Карта будет играбельна, но впечатление от розовых кубов и декалей со знаком вопроса подпортится.
Именно поэтому я использую старую версию Вархаммера. В ней не очень большой набор объектов и текстур, зато карты, сделанные на ней, идут на все версии.
После того как мы определились c размером холста, тематикой и количеством игроков, жмём ОК. Перед нами открылось пространство с жёлтым (по умолчанию) туманом, и плоскостью залитым базовой текстурой.
4) Инфо
Заходим в Scenario => Scenario properties... Там:
Map name: - имя карты
Map type: Skirmish\Multiplayer Map – тип карты(выбираем только этот тип).
Map desc: - описание
*Имя карты следует писать латиницей, и через пробел указывать количество игроков в скобках, например Danger desert (4)
*Тип карты мы не трогаем, т.к. делаем её под мультиплеер. Этот режим стоит по умолчанию.
*Описание - тут можно написать что угодно. Некоторые указывают имя автора (By: Frost), некоторые пишут километровое описание.
Эти параметры можно будет изменить в любой момент. Нам они нужны просто как отправная точка. Жмём ОК.
5) Типы зон
Чтобы рассмотреть холст целиком жмём CTRL+F и CTRL+K это отключит туман и скайбокс. Включаются они тем же сочетанием. Колёсиком можно отдалить\приблизить камеру. Движение мышью с зажатой кнопкой Alt повернёт камеру в разных плоскостях для удобства осмотра. Жмём Backspace чтобы вернуть камеру в исходный вид.
Далее, кликнем Overlay => Terrain Type... Холст окрасится сеточкой. В центре сетка будет красная, а по краям белая.
*Красная сетка - это Play area (игровая область), где будут проходить весь замес, и за которую юнит выйти не может.
*Белая сетка - это Non Play area (не игровая область). Здесь невозможно размещать gameplay объекты (т.е. стартовые позиции, юниты, стр. точки.), но можно размещать world объекты (камни, деревья, кусты). Эта область нужна чтобы при повороте камеры игрок не видел пустоту, и не было ощущения, что карта тут обрывается. Обычно эта область декорируется под горы, чтобы перекрыть игроку обзор, и создать впечатление, что за горами что-то есть. Отключим Overlay также как и включили.
На будущее: Когда я говорю "выбираем такой-то инструмент" находим нужный, путём наведения и задерживания указателя на каждом из них! Когда я говорю "справа" я имею ввиду панель управления инструментом, справа от окна в котором 3D вид карты.
6) Грунтовка
Выбираем инструмент Detail Map Editor. Справа в списке выбираем текстуру, пробуем на холсте. После того как нашли подходящую под биом текстуру, выбираем её, и елозим по всему холсту, пока холст не окрасится в неё полностью. Потом жмём Backspace, и смотрим, не сильно ли повторение рисунка бросается в глаза. Если сильно, то идём в Scenario => Terrain Properties, там находим пункт Terrain. Там ползунок сдвигаем на 1 пункт влево, и жмём Apply. Текстура должна увеличиться, и повтор рисунка должен уменьшиться. Регулируем пока не получим нужный результат. Можно сделать комбинацию из нескольких грунтовочных текстур. Т.к. плавный переход между ними сделать нельзя, шов потом будем скрывать декалями.
7) Геймплейные объекты
Ставим на карту стартовые позиции и стратегические точки. Выбираем инструмент Object placement . Справа в проводнике открываем environment\gameplay. Там, из нескольких объектов нам нужны будут:
starting_position - стартовая позиция, на которой появляется база игрока (далее мной будет называться sp)
relic_struct - реликтовая точка (далее rs)
strategic_point_flag - стратегическая точка (spf)
strategic_objective_struct - победная точка для режима take and hold (sos)
slag_deposit - точка на которой строится термо-генератор (sd)
Теперь включим Overlay и примерно прикинем, где будут размещаться базы игроков (согласно плану). Ткнём в эти места sp, и вокруг каждой sp ткнём по 3 spf. В центр карты ткнём 1 или 3 sos. На боковых сторонах карты ткнём rs. Ближе к центру ткнём sd.
8) Разметка
Теперь включим Overlay => Grid 32m.
На холст легла разметка в виде сетки. Выровняем объекты на базе так, чтобы каждому игроку пришлось бежать одинаковое расстояние от базы до spf возле базы. Когда будем ровнять, стоит поставить их на расстояние 1-1,5 клетки, чтобы точки не мешали строить здания. У орков и ig, например, много построек, и им нужно больше места. Таким же образом вымеряем, чтобы sos был равноудалён от каждого игрока. Это мы делаем для того, чтобы никакой игрок не имел преимущества на старте. Если карта не симметрична, расстояния до объектов меряются также, клетками, но по криволинейной траектории. Отключаем сетку Overlay => Toggle overlay...
9) Геометрия
Выбираем инструмент Heightmap editor . Справа у него 4 режима работы:
Additive - выпуклый участок
Subtractive - впалый участок
Set Value - выровнять под указанный уровень
Smoothing - сглаживание
Каждый из них представляет собой круглую кисть с сердечником. Размер кисти и сердечника настраиваются двумя ползунками. Чем больше радиус внешнего круга, тем больше площадь обрабатываемой области. Чем меньше сердечник кисти, тем острее будет обработанная область, и наоборот более плоская, если сердечник большой. У каждого режима есть ползунок Strength (резкость). Чем выше резкость, тем ощутимее будут изменения на местности.
О каждом режиме по отдельности:
Additive нужен нам для создания гор и скал. Установим внешний радиус на 7, внутренний на 45, и резкость на 25. Сделаем несколько коротких мазков по холсту. Местность начала подниматься, и начало образовываться нечто вроде горы. Продолжаем мазать.
Гора у нас получилась, но она слишком большая, и загораживает обзор. Выбираем режим Subtractive. Уменьшим внешний радиус на 10 пунктов, сделаем несколько мазков по самым высоким участкам горы. Она просела, и её поверхность немного просела и заострилась. Вот и технология создания гор.
Выбираем режим Set Value. Этот режим одновременно как Additive и subtractive. Он может поднимать и опускать местность, но он делает это до определённого уровня - в этом его фишка. Установим ползунок Height на 15(он есть только у этого режима), или просто выберем в меню справа Level2(этим мы укажем, до какого уровня будут сделаны изменения). Помажем область холста круговыми движениями. Образовалось плато с заваленными краями. Теперь установим уровень на Chest High Water и сделаем горизонтальный непрерывный мазок. Мы докопались до воды, и появилась речка.
У речки очень покатые берега, да и основание горы у нас угловатое. Выбираем режим Smoothing и ставим Strenght на 97, поелозим по угловатым участкам горы. Угловатые участки сгладились, но форма горы существенно не изменилась. Теперь поставим Stenght на 100 и мазанём. Местность резко, но плавно проседает, но на ней не образуется впадина. В режиме 97 можно только сглаживать углы, а 100 делать плавные переходы и подъёмы под 20 градусов между уровнями. Сделаем речке более покатые берега. Сделаем несколько гор, скал, рек и плато (согласно плану). Создадим горы в Non Play area так, чтобы они своим основанием переходили в Play Area создавая эффект преграды.
Мы можем обработать геометрию всего холста в стороннем редакторе, если есть навык. Жмём File => Export => Export Height Map указываем путь. Карта высот сохранится в виде чёрно-белого изображения .tga с именем карты и окончанием _hm. В изображении, чем светлее участок, тем он выше на карте. Чем темнее- Ниже. Рельеф карты можно нарисовать в этом файле кистями. Можно манипулировать с большими объектами (горы\реки) или группами объектов. В конце она также импортируется File=>Import=>Import Height Map, но будет нуждаться в фиксе.
Можно пойти дальше, и сгенерировать случайный ландшафт, в программе hme. hme (height map editor) – генератор случайных карт высот. Скачать её можно тут: http://hme.sourceforge.net/ Программа проста в настройке и использовании, а поэтому нет смысла детально описывать её интерфейс. Понять, как пользоваться ей можно пропустив текст сайта через гугл-переводчик. Скажу лишь, что на выходе из hme, карта высот будет формата .bmp, и не того размера что нам нужен. В таком виде она в w40kme не импортируется. Нам нужно открыть _hm.tga, от w40kme в графическом редакторе, перенести в него карту высот от hme, подогнать по размеру, добавить видимый альфа-канал, сохранить в tga, и импортировать в w40kme. Получится неплохая заготовка для карты. Ландшафт будет выглядеть примерно так:
10) Подкраска
Инструментом Detail Map Editor мы накладывали базовую грунтовочную текстуру, теперь будем её подкрашивать. Так уж распорядилась природа, что на местности почва не может быть везде одного цвета. Выбираем инструмент Texture stamping . Выбираем на лотке кисть brush_soft_large (другие кисти тоже можно, но они мельче). Выбираем тёмно-серый цвет в строке color. Кликаем на поверхность горы частыми короткими кликами, или мазками, и она принимает выбранный оттенок. Теперь выбираем тёмно-зелёный цвет, и закликаем область вокруг горы до основания, и дно рек. Таким образом, можно придать оттенок базовой текстуре в нужных местах.
Мы можем делать это и не через w40kME. Можно просто сохранить карту, закрыть w40kME, и открыть файл имя карты.tga в папке mp через редактор графики. Там, кистями наделать мазков разными цветами, применить светофильтры, сохранить, и пере открыть карту через W40kME. Изменения применятся. Если файл будет отсутствовать, у почвы везде будет розовый оттенок.
11) Декали
Наложим декали поверх грунтовочной текстуры. Выбираем инструмент Decal Placement , и в проводнике справа выбираем декаль. Декаль – такой бесшовный декоративный рисунок, который эмитирует какую-то поверхность, и накладывается поверх грунтовки плавно переходя в неё. Возьмём, например, jungle\stone_cliff_00, и делаем левый клик на гору. На гору нанёсся рисунок в виде скалы. Поставим галочку specyfy size, ползунком увеличим размер до 150% и снова кликнем. Декаль стала больше. Выделим и далим что мы накликали, уменьшим размер до 100, и поставим галочку use random rotation. Обкликаем гору так, чтобы декали аккуратно покрыли её не нахлёстываясь друг на друга. Не нужно класть несколько декалей друг на друга! Уже наложенные декали можно двигать (ЛКМ), вертеть (ЛКМ+Shift), и изменять размер (ПКМ+shift+Мышь вверх\вниз). Поправим декали, чтобы они лежали красиво. Найдём декали травы в проводнике, и положим их под гору. Проделаем всё это со всей местностью.
12) Объекты
Разместим объекты наполнения(модели). Выбираем инструмент Object Placement через который мы устанавливали старты и стратегические точки. Я не упомянул об этом тогда, т.к. мы идём последовательно, от фазы к фазе, чтобы не получилась мешанина. Справа в проводнике выбираем любые объекты (кроме вкладки gameplay) и размещаем на холсте. Пошарим по вкладкам и найдём деревья и травку (вкладка jungle). Наклацаем их вокруг горы. Установим пару зданий (вкладка urban). Есть готовые здания, а есть собирающиеся из панелей (urban\barracks). После установки объекты можно двигать (ЛКМ), вертеть (shift + ЛКМ), и поднимать на уровень над землёй (shift+пкм+мышь вверх\вниз). Чтобы объект остался висеть или утопились в землю на половину, нужно справа, в разделе height выбрать adjustable и нажать snap. Если выбрать rellative to terrain, все объекты которые были выделены окажутся на уровне земли.
Можно работать с группами объектов импортируя и экспортируя их. Например, выделим несколько объектов рамкой, нажмём File=>Export=>Export selected entities, и введём имя. Объекты сохранились в файл. Теперь передвинем камеру на другой участок карты. Нажмём File=>Import=>Import selected entities. В том месте, куда смотрела камера, появились те самые объекты. Можно экспортировать объекты с другой карты. Можно создать свою базу объектов, например группы деревьев и\или зданий, и когда нужно импортировать их, чтобы не клацать деревья по многу раз, если мы делаем лес.
Отдельно про объекты ambient_fx: Это эффекты, т.е. свечения, огонь, метеориты. Они сильно ложат fps. Начинающие маперы любят прямо ОБТЫКАТЬ всю карту ими в 3 слоя. Им КАЖЕТСЯ, что это очень круто и креативно, что естественно НЕТАК. 5-10 эффектов на всю карту будет достаточно, и размещать их нужно как можно дальше друг от друга. С трупами в all\carnage всё точно также. Соблюдайте меру.
13) Установка юнитов и объектов из компании на карту
Статистика показала, что почти все маперы, пытается убрать базу, установить на карту войска, чтобы устроить батл “стенка на стенку”. В итоге получает вялую мешанину с тупящим или бездействующим ai, не соответствующими условиями победы. Это потому, что интеллект(ai) и условия победы (win condition) стандартного MP режима не заточены под установку войск на карту.
Если не поставить стартовую позицию, карта не будет видна в списке карт, а если поставить, то у противников будут базы. Войска, которые выдаются противнику, далеко не всегда соответствуют ai расы, которой он стартовал (если не выбрана в меню). Если ai соответствует, он будет пытаться играть в этот “режим” как в обычную схватку с условием победы “уничтожение HQ”. Интеллект будет пытаться строить здания, захватывать точки (если они есть). Лимит на кол-во отрядов тоже никто не отменял, и войска нельзя будет пополнять, пока численность не упадёт ниже лимита. А это значит, что на старте ai не сможет построить разведчиков, для захвата точек, и будет просто стоять. Будут закрыты все способности и оружие юнитов, т.к. для них нужны исследования и здания той расы, которой они принадлежат. При таких условиях человек ВСЕЕГДА будет побеждать. Напомню, что главная задача при постройке карты – создать равные условия для человека и ai. Вывод: на обычных условиях МР бой стенка на стенку реализовать нельзя, и не стоит тратить время. Для этого нужно писать специальный мод, в котором снимать лимиты, редактировать условия победы и ai. То же самое касается и выдачи юнитов на старте. Это должно делаться scar-скриптом, и никак иначе. Скрипты будут описаны ниже.
Много раз в группу обращались люди, у которых карта вылетает по неизвестной причине, без лога об ошибке. При детальном изучении выяснялось, что причиной падения являлись некоторые объекты из компании, которые нельзя устанавливать на карту в МР. Причина, по которой из-за них вылетает карта, пока не понятна. А в остальном, объекты из компании использовать можно. Как понять какие объекты можно использовать, а какие нет? Берём объект, устанавливаем в неигровую область карты (non play area). Если объект не ставится, или съезжает в play area, то лучше его не устанавливать вообще.
Если мы уже наставить объектов, и карта вылетает, то идём на панели в Scenario => Entity List… и в открывшейся панельке удаляем всё не соответствующее. Начать стоит с тех объектов, которые мы видели в компании, или вообще раньше не видели ни на одной карте. В частности, с гражданских.
14) Принадлежность
Каждый объект, который мы выставили (точка, здание, травка) должны иметь принадлежность. Принадлежность выбирается справа на панели до установки объекта, или после. Их две:
*World - объекты принадлежат миру, не выделяются, не разрушаются, с ними никак нельзя взаимодействовать.
*Player№ - объекты принадлежат игроку с конкретным номером 1-8, с ними можно взаимодействовать, как и со всеми своими юнитами\зданиями, если они это могут.
Так как мы создаём карту для МР, НИЧТО кроме стартовых позиций у нас игроку принадлежать не может (просто примем это как правило). Выделяем все объекты на холсте рамкой, и справа на панели выбираем Player: World и жмём Set. Теперь идём к стартовым позициям, которые мы поставили на базах. Выделяем первую, и ставим принадлежность Player1, идём ко второй и выставляем Player2 и.т.д. пока не пронумеруем все (не более 8). Количество игроков на карте будет определяться именно по количеству стартовых позиций имеющих принадлежность.
15) Проходимость
Выбираем инструмент Impass Map Editor , им можно определить области, по которым нельзя ходить. Включается красно-белая сетка. Красной краской залиты непроходимые области, а белой проходимые. У него 3 режима работы, и ползунок с размером кисти:
Generated - движок игры сам определяет можно ли ходить по этому участку
Passable - принудительно сделать участок проходимым. Мы ПОКА не будем трогать этот режим. Опытные маперы регулируют проходимость углом наклона плоскости, без всякого passable.
Impassable - принудительно указать области, по которым нельзя ходить.
По умолчанию весь холст залит Generated.
У нас есть река. По идее она считается преградой, но по дну всё равно можно ходить. Выберем режим Impassable, отрегулируем кисть, и закрасим дно реки, чтобы юниты, отброшенные туда взрывом умирали мгновенно, а не могли бегать там в замкнутом пространстве.
Ещё у нас есть ряд world-объектов: здание, деревья и травка. Все объекты кроме геймплейных и специальных устроены так, что не имеют коллизии (осязаемости), и юниты могут проходить сквозь них, т.е. бегать сквозь стены нашего здания, стволы деревьев, статую. В режиме impassable устанавливаем толщину кисти 2, и ведём по контуру основания здания так, чтобы клетки на которых стоят стены покраснели. Проделываем тоже самое со всеми объектами кроме геймплейных. Гора, залитая generated частично покраснела, но там всё-таки остались проходимые участки. Чтобы там не зависли штурмовики покроем гору impassable полностью. Если намазали лишнего, можно убрать с помощью Generated. Если мы делаем лес, то набираемся терпения, т.к. нужно тыкать impassable под каждое дерево!
16) Тип почвы
Последний инструмент Terrain Type Editor . У нас на карте есть разные поверхности: земля, песок, скалы, асфальт. Пехота, пробегая по любой плоскости издаёт одинаковый звук шагов по умолчанию. Снаряд попавший в асфальт и песок имеет одинаковый эффект взрыва. И ещё на картах у нас есть участки, где юнит мог бы укрыться, и получать меньше урона: воронки, стены, кусты, здания, но он не может. Этим инструментом можно это исправить.
У инструмента есть 2 режима и знакомый ползунок размера кисти:
Cover - укрытие. Юнит стоящий в этой области будет получать меньше урона (или наоборот больше, в зависимости от укрытия).
Foot fall - тип почвы. У каждого типа почвы свои эффекты шагов и взрывов.
Несколько раз переключимся между категориями Cover и Foot fall (из-за бага одна из категорий не отображается, пока несколько раз не переключиться). Остановимся на Foot fall. У неё несколько Terrain Type:
Unknown - неизвестная почва. Этим типом залит холст по умолчанию.
Dirtsand - консистенция почвопеска.
Rock - скала\асфальт.
Water - вода.
Тут всё логически понятно. Замазываем горы и асфальт Rock, дно реки Water, песок Dirtsand, и.т.д.
Переключаемся в категорию cover. Там есть:
None - нет укрытия. Обычная поверхность.
Light - лёгкое укрытие. Немного снижает получаемый урон.
Heavy - хорошее укрытие. Значительно снижает получаемый урон.
Negative - негативное укрытие. Юнит будет получать повышенный урон.
Blocking – назначение не известно. Не трогаем.
Stealth – назначение не известно. Не трогаем.
Выберем Light и помажем область в небольшом радиусе вокруг стартовых позиций. Это создаст укрытие для юнитов на базах. Помажем кусты, области вокруг камней, руины. Теперь выберем Heavy и закрасим кратеры. Кратеры и воронки по идее должны укрывать лучше, почти как окоп. Выберем Negative, и помажем брод на воде, низины и узкие проходы, где юниты не могли бы укрыться от огня.
17) Погода
Погода: Идём в scenario => Terrain Properties... Выплывает меню с настройками погоды, где всё распределено на разделы:
Раздел Lighting:
Sunlight Color - цвет солнечного света. Выбираем из цветовых пресетов, или сами генерируем на палитре. Я обычно беру белый, бледно-ораньжевый или бледно-жёлтый.
Shadow color - цвет тени от гор, и в целом оттенок ландшафта. Обычно выбирается светло-серый или тёмно-серый. И чем темнее цвет, тем темнее будет казаться на карте.
Shadow Opacity - должно влиять на прозрачность теней, но на практике изменений не замечал. Оставляю как есть.
Time of Day - может показаться, что этот ползунок регулирует время суток, но это не так. Он лишь указывает направление, с которого падает свет на поверхность, но не управляет яркостью и тенями. У него по сути 3 положения
morning - солнце светит слева, тени справа.
noon - светит вертикально сверху вниз. Объекты не отбрасывают теней.
night - солнце справа, тени слева.
Обычно ставлю ползунок между morning и noon.
Раздел Fog:
Если мы отключим Fog Ctrl+F(не выключая sky), увидим как скайбокс переходит в холст, и холст исчезает в месте стыка. Задача фога скрыть этот переход.
Параметры:
Fog Start distance: начало тумана. Минимум 0, но не более величины Fog End distance
Fog End distance: конец тумана. Минимум 10. Не более Sky Radius.
Из этих 2х величин складывается дальность и плотность тумана. Чем они ближе друг к другу, тем плотней туман. Чем они обе дальше от нуля, тем туман дальше.
Fog Color: цвет тумана. Подбирается таким образом, чтобы был равен цвету нижней части скайбокса. Тогда создаётся эффект перехода неба в туман. Если цвет подобран не правильно, будет виден уродливый шов.
отключим Fog.
Раздел Sky:
Это скайбокс. Включим его, и
Render Sky: отображать или не отображать небо. Если мы не нашли в списке подходящей текстуры неба для нашей погоды, или хотим с имитировать очень густой туман, то снимаем галочку. Но объекты всё равно будут исчезать в указанном ползунком радиусе.
Sky model: Текстуры неба. Есть разные по цвету текстуры для разных биом. Выбираем под наш биом методом примерки.
Sky radius: радиус скайбокса.
Скайбокс у нас имеет форму полусферы, которая накрывает видимую часть поля боя. Этот параметр регулирует её радиус. Объекты карты и ландшафт не отображаются снаружи скайбокса. Это сделано для оптимизации. Чем больше радиус скайбокса, тем больше будет одновременно видимых объектов, а значит нагрузка на оборудование, а значит и лаги на слабых машинах. Я не рекомендую баловаться с ползунком радиуса скайбокса. Лучше оставляем как есть, или увеличиваем максимум на 15-20, если карта слабо детализирована декалями и моделями.
Раздел Terrain:
Это я уже описывал, но раз мы идём по порядку, напоминаю. Регулируем ползун так, чтобы повторение рисунка не бросалось в глаза.
Раздел Water:
Render water: если у нас на карте нет углублений до уровня воды, снимаем эту галочку.
Colour: Цвет воды - свобода творчества.
Alpha: Прозрачность воды. Свобода творчества, я обычно ставлю на середину.
Anim speed: Скорость анимации. Лучше оставить как есть. Большие значения могут дать дополнительную нагрузку на ресурсы пк.
Repeat : размер волн. Регулируем ползун так, чтобы повторение рисунка не бросалось в глаза.
Но лучше оставить как есть.
Остальное пока не трогаем.
18) Сохранение
Жмём File => Save As
Выбираем путь: клиент\мод\Data\scenarios\mp (выбираем тот мод, который выбирали в настройках холста в начале).
Вводим имя латиницей и без пробелов, где перед ним ставим префикс количества игроков. Например: 4p_danger_desert
В папке с картами появятся файлы, где:
4p_danger_desert.sgb - сама карта
4p_danger_desert.tga - оттенок базовой грунтовочной текстуры.
4p_danger_desert_icon.tga - Иконка для меню выбора карты. Если нет файла, окошко просто чёрное.
4p_danger_desert_mm.tga - рисунок мини-кары. Генерируется сам при сохранении карты.
Карта готова к первому тестированию.
Если после успешного теста мы обнаруживаем, что карты нет по адресу …\Data\Scenarios\MP, значит она находится в С:\Users\username\AppData\Local\VirtualStore\Program Files(x86)\папка с клиентом\мод\Data\Scenarios\MP. Причина такого поведения описана тут: http://otvety.google.ru/otvety/thread?tid=4741535f3da44187
19) Утилита Advanced map editor
Некоторые функции в w40kME не предусмотрены. Например, копирование целой области со всеми объектами с одной карты на другую, увеличение размера холста, его поворот, генерация мини-карты. Чтобы расширить функционал w40kME, человеком под ником Dark40k была создана утилита Advanced Map Editor (далее именуемая AME), которая делает вышеперечисленное. Но она при этом не является инструментом создания карт, а лишь для редактирования. Написана она на Java, и требует java-платформу 7ой версии или выше. Скачать её и java можно в официальной теме по ней: http://forums.relicnews.com/showthread.php?226355-DOW-Advanced-Mission-Editor-(v1-00-01-08-2014)
Там же инструкция по установке.
Закрываем карту в w40kME, открываем в AME. Жмём File => Open map, и выбираем файл. В окне 3D просмотра появляется карта.
Рассмотрим наиболее интересные для нас функции.
Увеличение холста
Идём во вкладку Map=> Resize Map. В появившемся диалоге устанавливаем новый размер, применяем.
Карта “нарастится” до указанного размера. Полезно, если на карте оказалось тесновато.
Движение холста
Идём во вкладку Map => Move Map. Появляется диалог с восьмью кнопками.
Они как бы прокручивают весь холст по осям X и Z. Эта функция полезна, в случае, когда мы нарастили карту, и нам нужно сдвинуть её центр на край. Если сдвинуть карту за край холста, она исчезнет.
Поворот холста
Идём во вкладку Map => Rotate Map, видим диалог:
Жмём Yes, карта развернётся на 90 градусов по часовой стрелке. Подбираем ракурс.
Поворот Entity
В w40kME entity-объекты можно вращать только в горизонтальной плоскости, а в AME есть функция вращения в любой плоскости. На панели Selection filter жмём кнопку Entities. Выбираем любые объекты. На панели управления идём в Entities => Rotate entities. В диалоге, ползунками выбираем угол поворота.
Получается:
Можно сделать из стен, например, облицовку пола. Можно перевернуть корпус подбитого танка на бок, и.т.д. Не понятно, почему разработчики изначально не встроили эту ф-ю в w40kME, и как поведут себя эти объекты, если открыть карту через него.
Перенос области
Минимизируем открытую карту (с которой копируем), нажав . Открываем вторую карту (на которую копируем), минимизируем и её. От центруем окна — вот так:
Делаем первую карту активной, и жмём Selection => Filter All. Устанавливаем курсор, поперечным протягиванием с ЛКМ, выделяем область, которую будем копировать:
Жмём Map => Copy Area. В появившемся диалоге выставляем те объекты, которые нужно скопировать, и жмём Copy:
Делаем активной вторую карту, и жмём Map => Paste Area. В появившемся диалоге выставляем фильтры вставки, и центруем положение вставки по осям Х и У кнопками. Жмём Paste.
Из следующего скрина видно, что всё уехало, с этим нужно дольше экспериментировать. Главное – функция показана.
NSIS installer
Ещё одна функция AME – это создания инсталлятора для карты. Когда карта сделана, её запаковывают, и заливают на какой-либо ресурс. Чтобы не возиться с WinRAR, идём в File => Generate NSIS Installer. Появляется диалог: