Team Fortress 2

Team Fortress 2

Not enough ratings
Основы создания Deathrun (дефран) карт TF2
By ᗰᗩᑎᑎᗪᖇiᑎ🕷 and 1 collaborators
Хотите создать DR карту, но не знаете, с чего начать? Это руководство ознакомит вас с основами создания карт TF2 DeathRun.
   
Award
Favorite
Favorited
Unfavorite
Краткое введение
Если вы пришли сюда, то, вероятно, играли на чьей-то DR-карте (DR это сокращение от DeathRun, или же СмертельныйЗабег) и хотели создать свою собственную. Это руководство предоставит вам все инструменты, приложения, стратегии и общие знания, необходимые для создания хорошей карты Deathrun.

(Это руководство находится в стадии разработки, позже я буду постепенно дополнять этот список)
Начало
Во-первых, для начала стоит учесть, что вам потребуются хотя бы минимальные навыки владения программой Hammer editor (лучше юзать Hammer++) прежде чем сразу переходить к таким сложным картам как например режим DR.

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

Хоть вы и можете назвать свою карту как угодно, но её файловое название обязательно должно выглядеть так:

Между каждым элементом названия (коих три) должен быть пробел в виде нижнего подчёркивания ( _ )

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

Максимальное кол-во символов в имени файла для названия вашей карты составляет 31, и в нем не должны использоваться заглавные буквы, поскольку они могут привести к сбою серверов Linux.
Где разместить пользовательский контент для вашей карты
Сложная часть маппинга - это определение того, куда будут помещаться ваши карты, и куда определять такие вещи, как например пользовательские текстуры, которые вы захотите разместить на своей карте.
https://steamoss.com/sharedfiles/filedetails/?id=2216526350
Один хороший паренёк Мэтти составил довольно подробное руководство по настройке ваших папочных архивов и по тому, куда помещать ваши файлы.
Одна вещь, которую я бы добавил, - это где-нибудь за пределами ваших папок steam добавить папку только под проги для маппинга. Это будет важно для следующей части, когда мы получим приложения для маппинга.
Аддоны для маппинга
Чтобы создать хорошую карту, вам скорее всего понадобится несколько из этих аддонов для создания графических / звуковых медиа и специальные программы компиляции для запуска вашей карты.

Компиляторы для карт
  • https://compilepal.ruar.ai/
    Это программа для компиляции и архивирования, которая превратит ваш файл vmf в файл bsp для запуска карты в TF2.

Изображения и редакт. изображений
  • https://gamebanana.com/tools/95
    VTFEdit - конвертер изображений, который преобразует изображения, такие как png и jpeg, в vtf (valve texture file), которые вы будете использовать на своей карте.
  • https://gamebanana.com/tools/6541
    SprayMaker5000, это инструмент, который функционирует так же, как VTFEdit, но специализируется на создании пиксельной графики и анимированных текстур, которые не соответствуют идеальному квадратному размеру, используемому другой программой (VTFEditом).
  • https://www.getpaint.net/
    Paint.net это приложение для редактирования изображений, таких как jpeg и png, а также создания в таком формате ваших собственных изображений. Это что-то вроде продвинутой версии M.S. Paint.

Извлечение карт и контента
  • https://gamebanana.com/tools/26
    GCFScape - инструмент для извлечения текстур и других файлов из файла bsp, и преобразования их в то, какими они были раньше.
  • https://github.com/ata4/bspsrc/releases
    BSPsrc - это программа, которая преобразует файлы BSP в vmf для открытия в Hammer. Это используется, если вы хотите посмотреть на карту и поиграть на ней, чтобы понять, как она работает.
    ПРИМЕЧАНИЕ: для запуска этой программы вам нужна версия Java. Если у вас не загружена Java, вы можете скачать последнюю версию здесь:
    https://www.oracle.com/java/technologies/javase-downloads.html

Редактирование аудио
  • https://www.audacityteam.org/
    Audacity - это программа для редактирования аудио, которая вам понадобится для создания и редактирования звуков, которые вы сможете использовать в ловушках и музыке для вашей карты.
  • https://goldwave.com/goldwave.php
    Goldwave - это также программа для редактирования аудио, как и Audacity, за исключением того, что в ней есть функции для редактирования wav-файлов и размещения в них циклических реплик. Это используется для музыки, которую вы хотите воспроизводить в постоянном цикле на вашей карте.

Аддоны на усмотрение
  • https://www.7-zip.org/
    7-zip это многим знакомый архиватор, который просто читает архивы, которых на вашем пути картодела будет полно.
  • https://notepad-plus-plus.org/
    Notepad++ немного сложнее обычного Notepad, где он может открывать файлы vmf и изменять выходные данные, просматривая их код. Полезно, если вы хотите массово изменить настройки для нескольких объектов.
Создание этапов на вашей Deathrun карте
Прежде чем начинать создавать карту в Hammer, лучше изобразить её на бумаге (либо где нибудь в paint), нарисовать схему вашей карты так сказать. Таким образом, вы будете лучше понимать, чего вы хотите от карты, какие в ней будут ловушки комнаты и т.д, работа с заранее нарисованной схемой идёт иногда гораздо быстрее. Только старайтесь располагать ловушки не слишком близко друг к другу, и не слишком далеко друг от друга. Если у вас есть свободное пространство посередине, расположите там какие-нибудь украшения или паркур для прохождения.

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

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

Имейте в виду, что красных игроков в начале всегда много, поэтому ловушки и окружение должны быть спроектированы таким образом, чтобы им всем было комфортно, максимум 31 игроку. Оставьте узкие места и этапы для конца карты, когда в живых останется меньше всего игроков.
Освещение
Функции света в основном похожи на освещение в реальной жизни, поэтому вам приходится использовать различные виды световых объектов, чтобы осветить вашу карту в темных областях.
https://developer.valvesoftware.com/wiki/Constant-Linear-Quadratic_Falloff
Здесь рассказывается о 3 типах освещения, которые вы найдете в списке методов распространения света, каждый из которых функционирует по-своему. Лично я использую квадратичную форму для всего.

Есть 2 световых объекта, которые я использовал на своей первой карте, это light и light_spot

light распространяет свет повсюду вокруг себя по большому кругу. Это круто, но не круто использовать в качестве единственного источника света. Поскольку этот свет проникает повсюду, он создает уродливые блики, которые могут отражаться на текстурах вокруг него. Я бы использовал его только на фонарях / вентиляционных отверстиях / областях, которые вы хотите покрасить в один цвет, как например в каком нибудь древнем храме или подземелье.











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























Интенсивность света регулируется с помощью 4-й разрядной группы. Я полагаю, что свет не имеет фиксированной интенсивности, но в light_spot, увеличивая интенсивность и клонируя ее, можно генерировать желаемый естественный свет.
func_tracktrains и path_track
Позже я составлю руководство, в котором более подробно расскажу об этих тректрейнах, я не требую, чтобы вы читали все это целиком, но если у вас есть предложения или отзывы по этому разделу, дайте мне знать.


Вики по tracktrains: https://developer.valvesoftware.com/wiki/Func_tracktrain
Вики по path_tracks: https://developer.valvesoftware.com/wiki/Path_track
https://www.youtube.com/watch?v=wvpwQRlKuHE&t=1s&ab_channel=TopHATTwaffle

Этот туториал хорошо объясняет, как работают track trains и path_track, однако, вот некоторые вещи, которые важно знать о них:

  • Каждый path_track - это отдельное энтити, а это значит, что он попадает под некоторые ограничения Hammer editor для TF2. Используйте их, если это необходимо для ловушки / секции, но если ваша секция является движущейся платформой, используйте вместо path_track объект Door.

  • Движение назад при помощи tracktrain может быть немного затруднено, так как из-за спагетти кода движка source, он иногда зависает при попытке сдачи назад. Убедитесь, что для каждого нового значения параметра скорости path_track установлено значение желаемой скорости, с которой движется ваш tracktrain, чтобы он имитировал движение в обратном направлении.













  • Альтернативные path_tracks - это полезный инструмент для того, чтобы заставить tracktrain двигаться в разных направлениях. Чтобы связать path_track с tracktrain, используя альтернативный способ привязки, укажите второй объект path в ключевом значении пути ветви основного объекта path. Создайте вывод, который переключает пути на альтернативный трек (Toggle Alternate Path), чтобы объекты следовали по этому треку вместо основного.









  • НЕ ОТКЛЮЧАЙТЕ ПУТЕВОЙ TRACKTRAIN/PATH_TRACK, ПОКА ПО НЕМУ КУРСИРУЕТ TRACKTRAIN. Отключение любого из них является преднамеренной аварией из-за того, что tracktrain не может никуда двигаться и возникает ошибка. (См. раздел Оптимизация/Указы)
  • Если у вас есть какие-либо tracktrain, на которых игрок не стоит / не пользуется ими, ОТМЕТЬТЕ ИХ, НАСКОЛЬКО ЭТО ВОЗМОЖНО, МАРКАМИ. Это предотвратит столкновение motivator/ других tracktrain с имеющимися у вас физическими объектами, в противном случает это приведёт к крашу эдитора.
Мотиваторы (ака АФК киллеры)
Теперь, когда вы знаете, как работают трэктрэйны, мы можем поговорить о различных типах мотиваторов и о том, как заставить их работать.

Наиболее распространенным типом мотиватора является tracktrain. Это проп/браш, прикрепленные к движущемуся трэктрэйну, вокруг которого находится триггер. Этот тректрэйн будет двигаться по всей полосе препядствий, убивая любого, кто попытается вернуться назад или пробежать мимо него. Лучший вариант для карт с несколько несложной компоновкой.
Если триггер hurt переходит в видимую область мотиватора (ну например как эта обезьяна), используйте другой цвет, чтобы отделить триггер hurt от всего остального, лучше сделать это красным цветом.











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












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












Второй вид - это мотиватор на hurt триггере. Например, это можно использовать как нечто невидимое, типа газа, что будет наносить игрокам урон. Если триггер боли в tracktrain motivator недостаточно велик, чтобы охватить все области, вы можете заполнить каждый раздел триггером боли с низким значением. Это подскажет игрокам продолжать игру.

Последний вид - это стирание карты. Обычно это происходит в виде взрыва ядерной ракеты/бомбы. (dr_blackmesa, dr_paradoxal) Если использование мотиваторов tracktrain или hurt trigger отнимает слишком много сущностей / указов, один массированный instakill hurt trigger по всей карте плюс исчезающий объект создадут впечатление, что карта взорвана ракетой.

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

Вот руководство от Cream Tea для дополнительной помощи в их приготовлении:
https://www.youtube.com/watch?v=wTLlz7c7KCA&ab_channel=CreamTea
Проектирование ловушек
Я не хочу ограничивать ваш творческий потенциал тем, указывая на то что вы должны в обязательном порядке будете сделать на своей карте в качестве ловушек. Вот несколько безобидных имхо советов, которые я придумал, однако они всё ещё могут быть полезными.

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

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

  • Шанс выживания, основанный на удаче (шанс выжить 33/33/33).
    Имейте в виду, что когда игроки попадают в ловушку, то шансов выжить практически нет, из-за того, что в большинстве своём, чаще всего на картах ловушки расчитываются на 100% ликвидацию попавшего в них человека.
  • Ловушки для скилловых ребят (паркур, доджинг)
  • Ментальное давление на игроков (делайте ловушки устрашающими, добавьте различных препядствий на саму ловушку, чтобы ту было сложнее обойти, тогда игроки скорее всего будут в большем напряжении)

Сбалансируйте каждую ловушку, не засоряйте ими всю карту. Добавляйте ловушек в меру.

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

Хорошие карты имеют плавные кривые сложности от очень легкой до сложной, и по мере прохождения карты ловушки должны становится все сложнее. Это нужно для того, чтобы люди, которые не очень хороши в прохождении подобных карт, тоже имели возможность играть, поэтому, если им придется пройти через сложную ловушку в начале карты и они умрут, а после будут легкие ловушки, они скорее всего забьют на сервер.
Личное совершенствование по мере прохождения каждой ловушки заставит игрока чувствовать себя более скилловым и чувствовать, что он становится лучше на этой карте с каждой попыткой.
Платформинг в DR (паркур крч)
Конечно, у вас есть ловушки, вы запланировали несколько хороших участков, но как вы можете сделать карту более воспроизводимой? Жестче? Вот тут-то и появляется наш старый друг платформер.

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

Вот пара примеров паркура, которые попадались лично мне:

  • Исчезающие платформы
    Это платформы, которые исчезают под ногами, стоит только на них наступить. Игрок должен перепрыгнуть через 3-4 из них подряд, чтобы преодолеть большой промежуток.











    Cream Tea сделал хороший тутор о том, как создавать такие платформы платформы здесь:
    https://www.youtube.com/watch?v=pl_nTNgFrF4&ab_channel=CreamTea
  • Движущиеся препядствия
    Это препятствия (ящики, молотки, топоры), прикрепленные к энтити оси и раскачивающиеся из стороны в сторону. Игрок должен сочетать скорость и время, чтобы пересечь небольшой мост и увернуться от препятствий. На картах deathrun Safety First, Wolfenstein, Egypt и Crash_bandicoot есть качающиеся препятствия.
    https://www.youtube.com/watch?v=8WzWLpT4bG4&ab_channel=Dr.Face
  • Движущиеся платформы
    Это платформы, которые перемещаются по кругу, из стороны в сторону или, в некоторых случаях, вращаются сами по себе. Игрок должен перепрыгнуть через них и перебраться на другую сторону, не упав / не поскользнувшись. Они могут быть сделаны с помощью tracktrain func_track или doors.




















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










  • Прыжок с заворотом в воздухе
    Именно здесь deathrun отсеивает мальчиков от мужчин. Если вы хотите, чтобы вашу карту было сложнее пройти, используйте такие этапы на своей карте для дополнительной сложности. Прыжок с заворотом в воздухе довольно трудно выполнить, и для его освоения требуются определенные навыки и практика. Это включает в себя изменение направления прямо во время прыжка в воздухе, и приземление по другую сторону препятствия (стенки). Примером этого является тонкая платформа с неизбежными шипами / стенками посередине. Сложность может быть усилена дальнейшим увеличением ширины стен / блокированием обзора другой платформы. Просто знайте, что не так уж много людей могут выполнить эти сложные прыжки, не делайте этот этап уж через-чур сложным.










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











Вы можете использовать свой творческий потенциал, чтобы взять несколько идей сразу и создать нечто невиданное ранее. Опираясь на эти идеи, вы можете создавать различные и новые препядствия.
Место для активатора (убийцы)
Синяя команда в deathrun имеет лишь одного человека, и для него на каждой карте должна быть секретная комната. Это область, где Смерть/Активатор/Хейл активирует ловушки, чтобы убить игроков красной команды.

Держите комнату активатора рядом с тем местом, где находится игровая зона красных,под этим я имею ввиду за стеной непосредственно от игровой зоны. Используйте Block Bullet в качестве стены, чтобы активатор мог заглянуть в игровую зону красных, но красные не могли его видеть. Block Bullet прозрачен с одной стороны и не позволяет пулям / снарядам проходить сквозь стену.












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

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

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

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












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

При их создании просто создайте блок и поместите над ним trigger_push, идущий прямо в одну сторону. В качестве альтернативы вы можете использовать func_conveyor (конвейерную ленту, которая движется в одном направлении). Постарайтесь сделать площадку достаточно низкой, чтобы активатор об неё не спотыкался, и поддерживайте скорость тропы высокой, но не безумно быстрой. 500 - это идеальная скорость.

На некоторых картах может быть 2 скоростных тропы, как в dr_bootcamp или dr_steamworks, с большим кол-вом ловушек. Я бы сделал это только в том случае, если у вас их тоже будет очень много. Постарайтесь оставить больше места между скоростной тропой, и тем местом где синий активирует ловушки.

224 единицы от кнопок до скоростной тропы - это лучшее расстояние. Расстояние от стены до скоростной тропы должно быть достаточно большим, чтобы активатор мог спокойно бегать между кнопками взад и вперед, непреднамеренно не касаясь полосы ускорения.

Активируемые двери, и те двери что можно сломать
Иногда может возникнуть проблема, при которой бегуны могут слишком быстро перемещаться по вашей карте. Возможно, вы не сможете догнать спидраннеров даже с помощью скоростных троп. Самые обыкновенные двери могут помочь с этим, они замедляют игрока, задерживая его перед медленно открывающейся дверью / большой ломающейся дверью.
В офисе двери кабинок открываются часами, но это дает активатору некоторое время, чтобы добраться до них, если он сейчас активирует ловушки в другом месте.
Смягчители падения
На вашей карте вам, возможно, потребуется найти способ компенсировать урон, который игроки получают при падении, поскольку на некоторых этапах люди могут падать и получать травмы от урона при падении. Этого можно избежать некоторыми способами, но вы можете использовать нечто, называемое триггером атрибута. Полное имя - trigger_add_or_remove_tf_player_attributes.
https://developer.valvesoftware.com/wiki/Trigger_add_or_remove_tf_player_attributes#FGD_Code

Я бы посоветовал использовать этот триггер только в том случае, если это абсолютно необходимо. Если игрок падает на 256 юнитов, он не получит урона при падении, но если он превысит это, то получит. Вы могли бы спроектировать свою карту таким образом, чтобы было два пути вниз по склону. Один из них наносит урон при падении, но легок или имеет некоторую выгоду, в то время как другой не наносит урона при падении, но более сложен или не дает никакой выгоды. (Пример: спуск с крутого холма.)

Урон при падении следует отключать только в том случае, если карта вынуждает бегуна преодолеть большое расстояние, потому что получать урон при падении было бы неудобно. Обратите внимание, что триггеры атрибутов не работают в Open Fortress, Garry's Mod или TF2 Classic.

Полный FGD был скомпилирован в один файл FGD на Death Experiments Discord. Мой друг Ворматти создал, который имеет триггер атрибутов и триггер растворения сущности. Вы можете загрузить файл с сервера здесь[cdn.discordapp.com]

В Hammer перейдите на вкладку "Сервис" на верхней панели инструментов, откройте "Параметры", затем в области "Файлы игры" нажмите "Добавить" и добавьте к ней скачанный FGD.





















Теперь откройте его на своей карте и создайте триггерную сущность как trigger_add_or_remove_tf_player_attributes. Вы можете найти целую веб-страницу с каждым нужным вам атрибутом, а используя вкладку поиска Chrome, вы можете легко найти нужный атрибут.

Установка фильтра урона для игрока при приземлении на поверхность с высоты - это то, как вы делаете это без атрибутов. Это более старый метод, который будет работать в других указанных мной ранее играх, и единственным недостатком является то, что вы все еще слышите хруст костей при приземлении.

При использовании атрибутов все, что вам нужно сделать, это указать название атрибута и продолжительность. например, "отменить урон от падения" и -1 (эта продолжительность отнимает атрибут у игрока, когда он покидает триггер).
Шаблонные объекты
Шаблоны позволяют вам создавать один и тот же набор объектов снова и снова. Это хорошо для объектов, которые появляются, начинают двигаться, а затем погибают немного позже, таких как падающие обломки или поезда.
Возможно, вам не обязательно использовать объект шаблона на вашей карте, но важно знать, как их использовать, если вы столкнетесь с ситуацией, когда они вам понадобятся.

point_templates может содержать внутри себя до 16 целевых имен. Он может скопировать объект, выбранный в его keyvalues, и создать его в позиции point_template или в подключенном env_entity_makers.
(Вы также можете использовать подстановочный знак для включения более широкого диапазона имен объектов, например, my_door_* будет включать все имена объектов, начинающиеся со строки и заканчивающиеся звездочкой.)

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

В разделе "бочка" я могу заставить их принудительно создавать свои объекты с помощью объекта timer, контролирующего время их появления. Это работает точно так же с секцией тележки для верховой езды.

Есть специальное правило, к которому я пришел при использовании шаблонов. Если вам нужно объединить сущности, у которых есть родительские элементы, с объектами внутри вашего шаблона, используйте Name Fixup.
Внутри флагов в используемом вами point_template есть флаг сохранения имен сущностей (не выполняйте исправление имен).

Если ваш шаблон не включает родительские объекты внутри шаблона, вам не нужно исправлять имя, и он может сохранить имена сущностей, которые у него есть. Если у вас есть родительские объекты, используйте Name Fixup. Name Fixup добавляет специальный индикатор к названию каждой сущности, чтобы hammer не путал, какие prop-родители с какими.

Убедитесь, что объекты шаблона находятся в комнате skybox отдельно от карты, и используйте минимальный уровень освещенности = .1 в ключевом значении для кистей/объектов. Это делается для того, чтобы кисти были равномерно освещены по всей поверхности. Освещение кистей зависит от места их размещения, поэтому оно должно совпадать с местами, по которым они перемещаются.
Кубмапы
Страница в вики: https://developer.valvesoftware.com/wiki/Env_cubemap

Некоторые текстуры обладают отражательной способностью, например, они имеют небольшой блеск и имеют отражения окружающего мира. Они сделаны с помощью так называемых кубмапов. Кубмапы - это текстуры, которые напоминают нанесенную на карту 3d-область в игре. env_cubemap, размещенный на карте, может делать снимки своего окружения и создавать 3d-текстуру при составлении карты. Эти 3d-текстуры применяются к текстурам, использующим кубмапы, например таким как текстуры стекла или некоторые металлические текстуры.

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












Минимальное количество кубмапов которое вам нужно, - это одна карта env_cubemap, размещенная в месте, которое наилучшим образом показывает область, в которой будет размещена ваша карта. Вы также можете разместить несколько кубических изображений вокруг вашей карты, чтобы все отражающие элементы не возвращались в одно и то же положение.
Дизайн текстур
Создание кастомных текстур, довольно длительный, но не сложный процесс, в будущем я опишу его подробно и здесь, однако сейчас я рекомендую посмотреть пару этих видео:
https://www.youtube.com/watch?v=lJ3oCs-52_U&ab_channel=TopHATTwaffle
https://www.youtube.com/watch?v=6BBq-bQJCHs&ab_channel=3kliksphilip
Вот пара мои заметок, которые я добавлю сюда, чтобы помочь вам разобраться,

  • VMT - это текстовый документ который понадобится для того, чтобы vtf файл отображался в Hammer. Вы можете открыть его с помощью блокнота и добавить в него любые пользовательские свойства, которые вам нужны, включая такие вещи, как прозрачность и отражательная способность. Установите флажок Автоматически создавать VMT, когда вы сохраняете файл VTF в своей папке map files, чтобы создать с ним единое целое.
  • "$translucent" "1" поддерживает пиксели различной непрозрачности, поэтому у вас могут быть плавные края, но вы не можете перекрывать полупрозрачные грани без того, чтобы игра не запуталась в том, как их сортировать (отображать одно поверх другого). $alphatest ("$alphatest" 1) устраняет эту проблему, но это более дешевый метод прозрачности, который не поддерживает различные уровни непрозрачности. Пиксель, использующий $alphatest, может отображаться только как 100% непрозрачный или 100% прозрачный.
  • Вот список важных элементов, которые я использую в меню смены текстур, и как работает каждый из них.
Создание реалистичного рельефа
Чтобы создать "реалистичную" геометрию на вашей карте, например, холмистую местность, стены пещер и потолки, вы можете использовать дисплейсменты. Displacments - это грани, которые были разбиты на множество треугольников и могут быть вылеплены или "смещены".

Это руководство Waffle по it, в нем рассказывается о многих сложных вещах, но руководство Филиппа короче и немного быстрее, чтобы разобраться с основами разработки рельефа.
https://youtu.be/04cVm3bwM3s
https://www.youtube.com/watch?v=nre432l_OTc&ab_channel=3kliksphilip
Оверлеи и декали
https://www.youtube.com/watch?v=9xQ-6tfhP0c&ab_channel=TopHATTwaffle

Накладки и отличительные знаки - это текстуры, которые вы можете наклеивать на плоскую геометрию. Разница между ними заключается в том, что размер надписей нельзя изменять (их можно изменять только с помощью VMT), а наложения можно растягивать и изменять размер в hammer. У каждого из них есть свои хорошие и плохие преимущества.

Наложение не требует каких-либо указаний и при необходимости может использоваться на нескольких гранях. Установите флажок Brush Faces (Грани кисти), затем используйте инструмент Pick (Выделить), чтобы выбрать грани, по которым нужно будет растянуть наложение.
Кроме этого, вам не придется возиться со свойствами наложения.

При создании наложения старайтесь, чтобы размер был равен квадратному числу. Если ваше пользовательское наложение меньше / больше квадратного числа, поместите его на холст большего размера и сделайте внешние стороны прозрачными. Другой вариант - использовать SprayMaker5000, который может взять любой размер и нанести его, не растягивая. (смотрите раздел Создание анимированных текстур меньшего размера)

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

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

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











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


Некоторым ловушкам они не нужны, поскольку они очевидно выглядит как ловушка. (гигантские деревянные ломающиеся ворота, длинный пандус с шаром на конце, куча бомб на одной плоскости, отличной от других, и т.д.)
Телепорт триггеры
Телепорты - это триггеры, которые телепортируют игрока в другое местоположение, указанное info_player_teleport. Они могут телепортировать игроков в любую поинт-энтити, имеющую углы и начало координат. Вы могли бы использовать info_target или logic_relay в качестве примера. logic_relay хорош тем, что он не использует эдикт.

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













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























Если вы хотели, чтобы телепорт мог использовать только один игрок (который активируется либо кнопкой, либо триггером при помощи игрока) Вы могли бы использовать объект с именем point_teleport и установить на то, куда !activator телепортирует игрока, который его активирует. (дополнительные сведения см. в разделе Специальные команды вывода)
Триггеры катапульты
Катапульты - это триггеры, которые бросают кого-либо в определенном направлении на выбранную цель.

Вы могли бы использовать into_target в качестве цели для запуска катапульты, или вы могли бы использовать нечто оригинальное, придать своей катапульте дизайн, дабы по ней было видно куда конкретно она запустит игрока, чтобы сэкономить на эдиктах указках. Чтобы вам как картоделу была видна траектория полёта и место приземления, просто перетащите начало координат триггера по плоскости, и в 3D-режиме будет показано, где оно будет находиться.











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

















Обязательно совместите катапульту или что-то подобное с триггером подавления урона при падении, чтобы игроки не теряли здоровье. (Смотрите триггер атрибутов)
Специальные команды вывода
Вики: https://developer.valvesoftware.com/wiki/Targetname#Keywords
Есть несколько специальных выходов, которые вам нужно знать, чтобы уничтожить такие вещи, как шаблонные сущности и конкретных игроков. Они не отображаются в качестве официальных выходных данных в Hammer, но они работают, когда используются по назначению.

!activator
Это нацелено на объект, который его активирует, или на "активатор". Это используется для энтити, которым нужно взаимодействовать с игроком, чтобы что-то изменить в нем, например, изменить его цвет или телепортировать его куда-нибудь. Я также использовал его для уничтожения энтити темплейтов, которые запускали бы триггеры стен там, где их нужно было уничтожить, поскольку взаимодействие с объектом шаблона обычно не работало бы.











!(templateentiy)&*
Это команда, которая взаимодействует со всеми объектами, связанными с одним темплейтом. Символ * в конце - это "подстановочный знак", который указывает любые дополнительные клоны энтити, созданные на основе этого шаблона. Он обычно используется в KillHierarchy для уничтожения любых энтити, которые каким-то образом не были убиты триггером kill и зависали слишком долго.
Мини-игры
Когда игрок добирается до конца DR, у него должен быть хороший стимул и награда за первое место. Мини-игры становятся главным призом.

Мини-игры могут включать только игроки красной команды. Я перечислю наиболее или наименее распространенные мини-игры, которые я видел, чтобы дать вам представление о том, что вы можете делать.
  • Мгновенный проигрыш/Мгновенная победа (Instant lose/win)
    Не стоит добавлять мгновенный проигрыш в качестве одного из вариантов финала карты. То, что он делает, говорит само за себя, он объявляет победу для синей команды, и в свою очередь поражение для красной. Лучше всего, оставить только мгновенную победу, конечно это скучный вариант, однако выбирать его всё равно я думаю будут не часто.
  • Унижение (Humilation)
    Немного лучше, чем insta win, вы можете унизить активатора забавной сценкой, которая приведёт его к смерти. Этот вариант выбирают довольно часто, отчего я могу посоветовать вам сделать несколько сценок, которые будут выбираться случайным образом после выбора унижения в комнате с мини-играми.
  • 50/50
    Соотношение 50/50 также говорит само за себя. С вероятностью 1/2 одна команда выживет, а другая погибнет, в случае с данной мини-игрой у игроков обоих сторон появляется некий азарт, однако не перепутайте ничего в параметрах рандомайзера, чтобы какая либо из команд не умирала чаще противоположной.
  • Obby/Паркур
    Некоторые DR карты по сути целиком и полностью представляют собой один большой паркур (например Neonoir_impossible), но в данном случае мы говорим конкретно про финальную мини-игру, я думаю не стоит в очередной раз объяснять что такое паркур. Главное не забудьте расположить в конце активатора и кнопку триггер которая будет засчитывать победу красной команде
  • Арена/Бой
    Арена - это мини-игра, где команда красных всем своим составом, борется с одним единственным синим (активатором). Всегда прорабатывайте свою арену, не делайте её слишком большой, чтобы обе команды не искали друг-друга слишком долго, лучше добавьте как можно больше разных укрытий и лазеек, так я думаю бои на вашей арене будут выглядеть захватывающе.

Это может быть несбалансировано на некоторых серверах, работающими против плагинов dr на базе Saxton Hale, где активатор превращается в Хейла, у которого ошеломляющее количество здоровья по сравнению с красной командой, что означает, что это может быть слишком просто для серверов только ближнего боя, где один синий побежден остальной командой. Существует готовый шаблон для устранения этой проблемы, называемый масштабированием работоспособности. Это увеличивает здоровье Смерти в несколько раз по сравнению с его собственным здоровьем, умноженным на количество живых игроков, что делает бой честным. Если он используется на сервере с подключаемым модулем VST, масштабирование работоспособности отключается. Вы можете получить его здесь[cdn.discordapp.com ] если тебе интересно.

  • 9 квадратов (9 square)
    9 квадратов - это мини-игра, основанная на удаче. Вы выбираете квадрат, на который хотите встать, и молитесь, чтобы удача не сломала / не потопила тот квадрат который вы выбрали. Поначалу может показаться что эта мини-игра немного сложна в создании, я скажу лищь то, что она предполагает использование logic_case для встраивания коэфициента удачи.
  • Спиннер
    Спиннер - это отличная мини-игра. Physbox в сочетании с триггером hurt перемещается по обе стороны по кругу, прикрепленному к func_motor. Суть этой игры в том, что обе команды стоя по разные стороны одной круглой платформы, должны перепрыгивать через движущуюся палку, или лезвие, кому как угодно, дабы не умереть, со временем скорость движения этой палки должна увеличиваться, чтобы рано или поздно сделать одну из команд победившей.

Убедитесь, что trigger_hurt может уничтожать постройки инженера.
  • Пятнашки (color game)
    Пятнашки иногда путают с 9 квадратами, поскольку они довольно сильно похожи внешне. Обычно в этой мини-игре есть 9 (меньше или больше) квадратных платформ, каждый раз игрокам будет показываться платформа того цвета/рисунка, на которую они должны встать, до того, как истечет время, и другие платформы пропадут.
  • Скакалка (dodge)
    Скакалка - это довольно просто, вы должны наблюдать за движущимися в вас лазерами и уворачиваться от них, чтобы выжить. Лучше всего делать эту мини-игру для обеих команд, так же как и спиннер например, чтобы было веселее.
  • Битва с боссом
    Босс - это нечто (тот или иной персонаж, или некая сущность), с которым игрокам карсной команды нужно сразиться. Сражения с боссами могут содержать ловушки и препятствия, помимо этого они также могут включать нанесение урона от NPC.
    В большинстве боев с боссами игроки стоят на большой платформе, которая меняется в зависимости от того, от какого препятствия вам приходится уклоняться. Это можно усилить, создавая более сложные препятствия для уклонения и используя логику / стратегию, чтобы победить босса.
Возрождение убитых
В конце смертельного забега игроки, погибшие по пути к финишу, хотели бы получить шанс снова вернуться к жизни, верно? Вы можете возродить игроков из определенной команды (в нашем случае красных) с помощью game_forcerespawn.

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










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











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

  • Уменьшающее зелье
    Это триггер заклинания, который может сделать игрока маленьким, появился этот триггер впервые на карте Carnival Of Carnage (официальная хэллоуинская карта). Уменьшение можно использовать и для других пасхалок, поскольку новый размер подходит для небольших отверстий.










  • Следующие за игроком трэйлы
    Трэйлы создаются с помощью env_spritetrail. Они могут быть привязаны к игроку, чтобы казалось, что за ними следует например синяя линия / спрайт, куда бы они ни шли.







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










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











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

  • Собирашки
    Собирашки - это предметы, такие как спрайты или пропы, которые могут открыть путь к большому секрету, если вы соберете их все.










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










Пасхалки нельзя считать таковыми, если люди могут легко их обнаружить, или добраться до них. Я не советую добавлять секреты, которые легко активировать, потому что так неинтересно. Также подумайте о том, чтобы секреты могли быть доступны только в некоторых раундах, используя logic_case и задавая случайное значение.
Декомпиляция карт для справки (BSPsrc)
Чтобы посмотреть на другую карту и выяснить, что они сделали, чтобы запустить мини-игру / секрет / ловушку, вам нужно будет извлечь VMF из файла BSP, из которого вы ее скачали. Это можно сделать с помощью BSPsrc. (Смотрите картографические программы)

BSPsrc прост в использовании, когда вы освоитесь с ним. Сначала откройте файл, в который вы поместили версию BSPsrc. Запустите пакетный файл (не JAR-файл), и он запустит программу через Java для запуска программы. Если у вас еще не установлена Java, скачайте ее, чтобы запустить это приложение.













Затем нажмите "Добавить", чтобы добавить карту в список карт, которые вы хотите декомпилировать в VMF. Перейдите в Steam> Steamapps>Common>Team Fortress 2>tf> скачать> карты, и вы должны найти список карт, которые вы скачали, в форме BSP.












Нажмите на карты, которые вы хотите декомпилировать, и нажмите Открыть. Выбранные вами карты теперь должны появиться в окне списка.












Затем нажмите "Декомпилировать", перейдите в папку с файлами, в которую вы будете помещать карты, и нажмите "Сохранить". Программа откроет окно выполнения и остановится, когда сохранит карту. Перейдите в папку с файлами вашей декомпиляции, и там будет находиться VMF, который можно открыть в Hammer.
Что стоит сделать, и чего не стоит делать на своей DR карте
В этом разделе рассказывается об игровом процессе deathrun и о том, что вы должны и чего не должны делать на своей DR карте. Некоторые из пунктов перечня могут повторяются в других разделах руководства, сам же список является кратким содержанием рекомендаций. Несколько человек принимали участии в составлении пунктов, так что тут присутствует несколько оценочных мнений.

Стоит делать:
  • Поиграйте на других картах, чтобы узнать, какие ловушки / дизайн решения / паркур / геймплейные элементы вы можете добавить на свою карту.
  • Протестируйте свою карту / протестируйте карту с другими игроками / в группе тестирования, прежде чем публиковать её в мастерской. У тестировщиков может быть другое мнение о вашей карте, которое может оказаться очень полезным.
  • Проектируйте и стройте так, как будто все оружие и способности доступны без ограничений. Это обеспечивает минимальное количество эксплойтов и даже открывает потенциал для более интересного игрового процесса.
  • Сделайте стену от комнатушки активатора толщиной не менее 32 единиц, чтобы модель оружия активатора не просовывалась сквозь стену и сводила к минимуму вероятность того, что через нее будет отбрасываться их динамическая тень.
  • Используйте контроллер теней, чтобы динамические тени были направлены прямо вниз, чтобы избежать описанного выше
  • Заучите, как создавать и управлять кубмапами
  • Перепакуйте вашу карту, чтобы уменьшить ее размер (переупаковка отличается от упаковки)
  • Уменьшите вес всех ваших ресурсов как можно меньше, обрезая и сжимая их. Используйте MP3 для звука и музыки, если только вам не требуется циклическое воспроизведение, в этом случае используйте wav и кодек MS ADPCM с 4 битами.
  • Потратьте больше времени на освещение и звук. Они делают карту более захватывающей
  • Добавьте каждой мини-игре таймер на случай, если игроки задержатся
  • Установите контрольную точку на аренах (если они у вас будут), чтобы игроки приходили в центр и убивали друг друга
  • У вас должен быть какой-то мотиватор, чтобы игроки не тянули время. Не делайте слишком много времени между началом раунда и приходом афк киллера, иначе мотиватор не сможет выполнить свою основную задачу

Не делай этого:
  • Не делайте на своей карте дверей 50/50. (Автор оригинального гайда так написал, я не имею ничего против этой детали на картах)
  • Не включайте отбраковку по радиусу в hammer
  • Не делайте ловушки слишком большими, чтобы был хоть какой-то шанс обойти ловушку, но и не делайте ловушки чрезвычайно легкими для обхода. Создавайте ловушки среднего размера.
  • Не спамьте несколькими нечестными автоматическими ловушками подряд
  • Не детализируйте и не прорабатывайте дизайн карты, пока не протестируете ее в игре и не останетесь довольны ловушками и левел-дизайном
  • Не тестируйте карту в одиночку. Люди могут указать вам на то, что вы могли бы не заметить
  • Не возрождайте всех игроков в конце просто так, потому что это делает выживание бесполезным
  • Не относитесь к активатору так, как будто он не имеет значения. Их опыт так же важен, как и опыт выживающих
  • Не создавайте низкие коридоры и комнаты для активаторов, потому что их неудобно использовать
  • Не расставляйте телепорты для активатора без крайней необходимости. Вы можете вызвать у активатора дезориентацию, из за чего тем кто выживает будет слишком легко проходить карту.
  • Не используйте ничего, кроме невидимой стены на стороне активатора. Она обеспечивает наиболее четкий обзор, на неё не ставятся спреи, а так же на ней не остаётся декалей от пуль.
Создание анимированных/GIF текстур
Я подготовил руководство, описывающее мои способы создания обычных gif-текстур для VTFEdit, вы можете применить то же самое к Hammer и текстурированию, просто добавьте знания VMT и мой прокси-лист для создания анимированных текстур VMT, и все будет в порядке.
https://steamoss.com/sharedfiles/filedetails/?id=2100647936

"LightmappedGeneric" { "$basetexture" "kd/kd18-ani" "$translucent" 1 "proxies" { "Animatedtexture" { "Animatedtexturevar" "$Basetexture" "Animatedtextureframenumvar" "$frame" "Animatedtextureframerate" "5" } } }
Создание текстур меньшего размера (SprayMaker5000)
Что если вы хотите воссоздать уровень старой видеоигры, и вам нужны спрайты / текстуры, разрешение которых довольно мало? Вот тут-то и вступает в игру SprayMaker5000!

Во-первых, достаньте откуда нибудь текстуру совсем низкого разрешения (буквально пиксельную). Я буду использовать спрайт из Donkey Kong - балочный рельс размером 16 x 8 пикселей. Кстати, вам не обязательно использовать спрайт, вы можете использовать другие форматы, делая то же самое, что и я, главное всегда проверяйте, что вы используете именно пиксельное изображение, а не просто пиксель-арт.










Перетащите вашу картинку в поле "drop image here", после этого вам будет нужно снять флажок с "Автоматическая обрезка" и установить флажок на "Пиксельная графика". Автоматическое обрезание обрезает те части вашего рисунка, это нам не нужно, а пиксельная графика улучшает спрайты, подобные этому. Установите формат либо R8G8B8, либо A8R8G8B8, любой из них работает нормально. В этом формате будут использоваться объекты, которые находятся под ограничением по площади.










Нажмите Сохранить как и перейдите в папку "materials" / там, где вы храните файлы VTF для своей карты, и сохраните. Это создаст файл VTF в этой папке. Затем откройте VTFEdit и откройте тот vtf, который мы только что создали.






























Установите флажки Clamp S и Clamp T на боковой панели, используйте автоматическое создание VMT и нажмите сохранить. В файле VMT все, что вам остаётся, это сделать его прозрачным. Не забудьте использовать "$alphatest" 1, так как здесь он справляется лучше, чем полупрозрачность (см. Дизайн текстуры).









На вашей карте выберите brush face, и выберите объект на который вы хотите нанести текстуру, и примените ее. Естественно, он не будет идеально подходить к поверхности кисти. Не забудьте использовать масштабирование и выравнивание текстур. (см. раздел Дизайн текстур).

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

Первый способ сделать свой собственный реквизит - это использовать то, что называется Proper. Это пользовательский FDG, подобный триггеру атрибута, который вы можете использовать для создания собственных реквизитов из геометрии внутри hammer. Обратите внимание, что это не самый эффективный способ сделать это, и у Propper есть некоторые проблемы с созданием некоторых сложных конструкций.

Другой способ - использовать программу анимации / моделирования, такую как Blender. Заниматься моделированием немного сложно, и программа должна работать на системах с хорошими видеокартами. Кроме того, я думаю, что в версиях после 2.90 есть странная ошибка, из-за которой они вообще не запускаются, так что 2.90 - ваш лучший выбор, если вы хотите использовать Blender.
https://youtu.be/MF1qEhBSfq4
Создание пропов в Hammer (Propper)
Первый шаг - получить Propper FGD из TF2maps. Следуйте инструкциям по установке fgd, и он должен работать в режиме Hammer.

Скачать: https://tf2maps.net/downloads/propper-patch.9784/
Настройка: https://tf2maps.net/threads/guide-getting-propper-working-nowdays.38589/
Вики: https://developer.valvesoftware.com/wiki/Propper

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










После этого следуйте инструкциям Мэтти о том, куда отправить вашу модель в папке с файлами моделей вашей карты.

Originally posted by worMatty:
Всем, кто использует Propper, я рекомендую использовать следующие значения сущностей:

Имя: <неважно>
Это целевое имя объекта Propper, и его необходимо заполнить только в том случае, если вы используете мазок модели в качестве сетки столкновений. Если вы используете другую кисть для сетки столкновений или создаете нетвердую модель, вам не нужно присваивать объекту имя.

Название модели: my_project/my_prop1
Добавление номера, а иногда и размеров модели может помочь вам отличить их друг от друга, если вам когда-нибудь понадобится создать более одной версии.
Вы должны указать своей модели каталог проекта, чтобы она не просто помещалась в корневую папку models. Это позволит сохранить их организованными и отделенными от других ресурсов, а также значительно снизит вероятность того, что модели, загруженные с серверов, переопределят модели вашей карты, особенно если вы используете уникальное название проекта. Вы можете добавить дополнительные каталоги после названия проекта, если вам нужно хранить модели отдельно внутри папки проекта. Хорошим примером названия проекта является сокращенное название карты, например "dr_swe". Все скомпилированные модели будут помещены в tf/models.

Путь к материалу: models/my_project/my_prop1
Это то же самое, что и путь к модели с добавленным к нему каталогом "models". Соглашение заключается в том, чтобы хранить материалы модели в структуре каталогов, которая соответствует структуре, используемой в папке model, и все это в папке 'models' внутри tf/materials. Использование имен папок и структуры, отличной от той, которая используется в файлах модели, может привести к путанице.
Я рекомендую вам хранить материалы для каждой модели Propper в отдельной папке. Если вы этого не сделаете, ваши модели Propper будут совместно использовать VMTS, поэтому любые изменения, внесенные в одну из них, произойдут во всех ваших моделях, которые ее используют.

Старайтесь не хранить свои ресурсы в корневых каталогах. Когда Propper создает файлы, он выгружает их в tf /models и tf /materials, поэтому вам нужно будет самостоятельно переместить их в свой пользовательский каталог. Вам нужно перезапустить Hammer, чтобы увидеть новые модели.

Как только вы это настроите, перейдите в "Запустить карту", отметьте все обычные параметры компиляции и перейдите в "Экспертные параметры".





























Отметьте все параметры по умолчанию и выберите параметры Propper в выпадающем меню. Настройте свои параметры так, как они есть у меня, и нажмите Go!











При этом запустится небольшая программа для создания файлов модели, и после ее завершения перезапустите hammer и попробуйте найти свою модель в браузере моделей. Если у вашей модели есть небольшие дефекты, попробуйте переделать реквизит еще раз, чтобы он заработал. Как я уже сказал, Propper не так уж хорош, но он выполняет работу по моделированию. Смотрите wiki и руководство по установке для устранения неполадок в Propper.
Загрузка/перемещение моделей в ваш каталог Hammer
В некоторых случаях вам не придется создавать свои собственные модели для вашей карты, поскольку в TF2maps есть множество хороших готовых моделей. В TF2maps есть контент для облагораживания карты в самых разных стилистиках, которые они создали сами или вытащили с других карт, а также пакеты суперконтента со множеством текстур, моделей, оверлеев и других штук. Загрузка каждого пака с контентом может показаться сложной, но это совершенно не так.

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










(список пакетов контента по состоянию на февраль 2021 года)

Чтобы загрузить часть пака вручную, поместите скачанную папку в папку tf/custom. Иногда они включают в себя текстовый файл README, чтобы проинструктировать вас, куда его поместить.

Есть 2 места, куда вы можете поместить пользовательский контент: либо в tf /custom, либо в саму папку tf, после чего объединить папки вместе. Я бы посоветовал поместить их в вашу папку tf / custom, так как вы сможете лучше отслеживать, где находятся ваши загружаемые файлы, и сможете легко удалить их при необходимости.











Создание спрайтов
Спрайты - это плоские изображения, которые всегда направлены в вашу сторону. Скорее всего, вы знакомы с ними по эффектам, таким как яркое пятно света от некоторых фонарей, или по листве из ретро-игр или игр в 8-битном стиле.

Создать спрайт чуть сложнее, чем обычную текстуру браш. Но когда вы освоитесь, спрайты будут для вас не сложнее текстурки. Для начала вам может понадобиться Spraymaker 5000 для создания спрайтов в пиксельном стиле, поскольку он может создавать файлы vtf из изображений, которые выходят за указанный квадратный формат в VTFEdit (прямоугольные короче).

Для одного кадра, не пиксельного спрайта, вы можете пропустить шаги, требующие SprayMaker, для обычной текстурки, он не нужен. Создайте из текстурки vtf в VTFEdit и поместите этот код в vmt файл:

"Sprite" { "$basetexture" "(место расположения текстурки)" "$alphatest" 1 "$spriteorigin" ".50" }

"Sprite" помогает определить материал как спрайт, поэтому он будет работать с освещением только для объекта env_sprite.
"$spriteorigin" ".50" удерживает спрайт в центре источника env_sprite, поэтому объект не прикрепляется / не шарнирно соединяется с углом используемого материала.

Для анимированных спрайтов вы можете использовать этот vmt код:

"Sprite" { "$basetexture" "(Your Folderpath Here)" "$alphatest" 1 "$spriteorigin" ".50" "$translucent" 1 "proxies" { "Animatedtexture" { "Animatedtexturevar" "$Basetexture" "Animatedtextureframenumvar" "$frame" "Animatedtextureframerate" "10" } }

Дополнительные прокси для Animatedtexture заставляют спрайт "пролистывать" скомпилированные текстуры в одном материале во время игры.
Вы также можете настроить скорость воспроизведения анимации, прописав значение частоты кадров ("Animatedtextureframerate").

Для текстур в пиксельном стиле настройка VMT такая же, но создание ее отличается.
Просто перетащите вашу пиксельную текстурку Spraymaker, установите флажки "Автообрезка" и "Пиксельная графика". Затем перейдите в "Сохранить как", найдите свой путь к папке, в которой вы храните свои спрайты, и сохраните его. Снова откройте VTFEdit, откройте созданный вами файл vtf и сохраните, включив автоматическое создание vmt в настройках. Оттуда просто отредактируйте настройки vmt так, как вам заблагорассудится.

Для анимированных спрайтов в 8-битном стиле в Spraymaker щелкните стрелку "Кадры", чтобы указать, сколько кадров содержит ваш спрайт, и перетащите ваши кадры спрайта в соответствующие поля. Что очень важно, так это то, что вы сохраняете размер рамки между каждым спрайтом, который вы вставляете, одинаковым, иначе это растянет текстуру до обычного размера, сделав ее уродливой. Чтобы исправить это, вам нужно будет открыть все фреймы спрайтов в Paint.net , и возьмите максимальную ширину/высоту всех фреймов. Затем увеличьте размер холста до максимальной ширины / высоты всех остальных ваших рамок.
Детализация уровня
Статья Nodraw: https://nodraw.net/2010/08/tf2-density-of-detailing/

Детали - это декали на стенах, геометрия и украшения, которые создают атмосферу и задают настрой на вашей карте.

Originally posted by Velie and Me talking about detailing:
это делает окружающую среду менее скучной и более живой. Если все сделано правильно, это может быть хорошо.
если вы уберете весь реквизит и кисти, только что сделанные для деталей в HL2, вам все равно понравится игра?
На самом деле нет, потому что детали - это часть окружающей обстановки, и то, что действительно делает атмосферу не скучной.
Разместите детали там, где вы хотите, чтобы игроки их видели
Не чувствуйте себя обязанным превращать каждую поверхность в достопримечательность
Детали, при правильном использовании, могут привнести историю в карту
Используйте текстуры только для создания поддельных эффектов на достаточном расстоянии от игрока

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

Хороший пример детализации можно найти в таких картах как Paradoxal и Blackmesa.

В Paradoxal уделено большое внимание к таким вещам, как стилистические плакаты, сделанные с помощью photoshop, специальные модели и лабораторные секции, искаженные множеством видов текстурной обработки. Это помогает придать карте больше атмосферы и художественной глубины.
Борьба с утечками (леками)
https://www.youtube.com/watch?v=5X2mrlmp9Pc
Допустим, вы попытались скомпилировать свою карту, но она не скомпилируется / создает эффект сбоя для текстур, таких как вода. Это почему? Это потому, что у вас на карте есть так называемая утечка.

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

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




Следующий шаг - это тот, который описан во многих видеоуроках: поиск утечки. Чтобы найти утечки, скомпилируйте с настройками только для BSP в Run Map и перейдите в Map>Load Pointfile, чтобы загрузить строку утечки. Линия утечки будет нацелена на объект, который имеет связь с внешней пустотой, проведя трехмерную линию от него наружу через трещину на вашей карте. Обычно вы можете исправить это, подняв блок, чтобы он закрывал утечку, но если pointfile указывает на место без утечек, то это либо выбраковка по радиусу, либо другая проблема.

Компиляция вашей карты с помощью Compilepal приведет к появлению гиперссылок при каждой обнаруженной ошибке. Они покажут страницу устранения неполадок для каждой проблемы / ошибки, которую вы обнаружите на своей карте.
Visleaves и func_detail
Visleaf Вики: https://developer.valvesoftware.com/wiki/Visleaf

Первым шагом к оптимизации видимости является разработка карты таким образом, чтобы ограничить то, что отображается игроку. Найдите достойное руководство, подобное этому: https://nodraw.net/2009/12/optimization-in-source-a-practical-demonstration/

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

Эти visleaves компилируются на этапе VVIS при составлении вашей карты. VVIS часто является самым длительным процессом компиляции, и это приводит к длительному времени работы VVIS в зависимости от того, сколько материала у вас есть в вашей карте. Не волнуйтесь, если загрузка этой детали займет много времени! Совершенно нормально иметь длительное время загрузки до тех пор, пока у вас нет каких-либо ошибок в вашей карте (см. раздел Утечки).

Visleaves - это "пустые объемы на карте, которые определяют "скопление" видимых поверхностей". Они представляют собой очерченные фигуры, которые показывают, что должен видеть игрок, если он стоит в месте visleaves. Если будет слишком много видимых visleaves, карта не сможет загрузиться или возникнут проблемы с обзором. Способ избавиться от этого - использовать func_details.

Func_details работают так же, как обычный геометрический блок, за исключением того, что их нельзя использовать для создания физических объектов, поскольку они являются прозрачными энтити, и они не используют edicts up. Когда hammer компилирует карту, VBSP игнорирует эти func_details и рисует через нее линию visleaf. Это также означает меньшую вязкость.

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

Обратите внимание, что вам не нужно делать каждую кисть на вашей карте func_detail, просто убедитесь, что сложные формы, такие как сферы или шипы, преобразуются в func_detail
Поддержание эдиктов на стабильном уровне
Чтобы ваша карта работала на комфортном уровне и чтобы она не зависала, количество используемых объектов никогда не должно превышать 2048 объектов. В картографировании мы сокращенно называем сущности указами.

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

Обратите внимание, что не каждая энтити является эдиктом. Существует две категории энтити: серверные и сетевые. Большинство логических объектов, таких как logic_relay и logic_timer, находятся на стороне сервера, потому что клиентам не нужно знать о них. Игровой сервер может поддерживать до 2048 серверных объектов и до 2048 сетевых объектов/ эдиктов одновременно, что составляет в общей сложности 4096. К сожалению, вы не можете изменить один тип на другой. В большинстве случаев картоделам не нужно беспокоиться о энтити на стороне сервера, но чаще всего используется ограничение edict.

При создании карт DR обычно 1600-1700 - это верхний предел, который никогда не следует превышать. Поскольку на вашей карте будут играть люди с шмотками (игроки и их аксессуары считаются как edict), они увеличат лимит вместе с некоторыми плагинами, установленными на серверах.

В TF2 вы можете проверить, сколько эдиктов выполняется одновременно, введя sv_dump_edicts в консоль. Это приведет к отображению всех используемых объектов и общей суммы в виде числа внизу. Помните, что эту команду можно использовать только с включенными читами, а это значит, что вы, вероятно, сможете использовать ее только в собственных игровых тестах вашей карты.

Это означает, что вы должны учитывать при составлении бюджета эдиктов, какие функции / мини-игры / спецэффекты и прочее вы хотите, чтобы ваша карта оставалась в пределах лимита.

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

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

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

Статический реквизит не считается за энтити. Когда карта скомпилирована, они становятся частью геометрии. Динамический реквизит действительно использует edict. На любом динамическом реквизите, который вы используете, отключите фиксаторы костей, поскольку они используются только для рэгдолов и редких ситуаций и не являются необходимыми для того, чтобы реквизит работал

Для использования таких вещей, как env_lasers, вам не обязательно использовать info_target для их конечной точки. Вы можете использовать любой точечный объект (должен быть эдиктом) в качестве цели. Лучше всего было бы использовать logic_relay, который вы используете для чего-то другого, в качестве конечной точки. func_door может быть полезен для этого, и источник будет выступать в качестве цели. Если картографу требуется точная цель, он может создать родительский объект env_spark и использовать его в качестве цели. info_target не может быть родительским, так как он исчезнет из-за странного закодированного поведения.

Вы даже можете использовать logic_relays в качестве замены info_player_teleports, поскольку телепорты могут использовать любой точечный объект в качестве точки телепорта и использовать значение ключа Angles, чтобы указать, в каком направлении они будут находиться при выходе.
Компиляция карты (CompilePal)
Лучший способ скомпилировать вашу карту - это использовать CompilePal, инструмент компиляции, в котором вы можете настроить различные параметры компиляции.Основным преимуществом CompilePal является простота использования для новых картографов и его автоматический упаковщик. Вы можете использовать инструмент компиляции Hammer, но он не так доступен, как Compilepal, когда дело доходит до индивидуальных настроек компиляции.

Когда вы компилируете для небольшого тестирования для себя или чтобы проверить, работает ли что-то, скомпилируйте с помощью Fast, чтобы пропустить сложное освещение. Это может создать странное освещение, а кубические карты здесь не скомпилированы, поэтому они не будут работать.











Если вы хотите скомпилировать официальный релиз / Playtest-компиляцию, используйте полную или создайте свою собственную предустановленную компиляцию со статическим освещением (см. Параметры компиляции освещения). Полная компиляция должна включать VBSP, VVIS, VRAD, COPY, CUBEMAPS, PACK и REPACK, а также ИГРУ для запуска полностью скомпилированного bsp в TF2. Лучший способ создать свой собственный - это клонировать исходные пресеты и редактировать сделанные вами клоны по своему вкусу.




Выполните как можно больше изменений в Hammer перед компиляцией. Затем скомпилируйте один раз и протестируйте как можно больше карты, прежде чем вносить какие-либо изменения. Не берите в привычку вносить небольшие изменения и многократно перекомпилировать, потому что это пустая трата времени. Вести заметки.
Команды консоли разработчика
Вот некоторые полезные команды для консоли, которые вам понадобятся при создании вашей карты:

  • sv_cheats 1
    Это включает читы, которые вам понадобятся для тестирования вашей карты
  • noclip
    Вы можете летать скозь стены, на самом деле это не нуждается в представлении
  • bot
    Запускает бота на вашем сервере. Необходим для начала раунда DR.
  • sv_dump_edicts
    Это приведет к отображению всех используемых энтити и объектов, в общей сумме в виде числа внизу.
  • cl_drawhud 0
    Избавляет от всплывающих окон в вашем поле зрения. Полезно для создания скриншотов карты для страницы Gamebanana.
  • r_drawviewmodel 0
    Полезно для того, чтобы избавиться от модели игрока с видом от первого лица. Полезно для создания скриншотов карты для страницы Gamebanana.
  • ent_fire
    Используя это следуя за энтити, который вы хотите протестировать, вы запускаете / активируете энтити. Подходит для тестирования конкретных элементов вашей карты.
Параметры компиляции освещения
У некоторых статичных пропов тени могут казаться плоскими, блеклыми и нереалистичными. Кроме того, в некоторых моделях с использованием текстур флэт-металла они будут неестественно темнеть независимо от того, какое освещение вы к ним поставите. С помощью специальных опций компиляции вы можете сделать их более реалистичными и приятными к глазу. Мэтти составил хорошее руководство, в котором обсуждается компиляция освещения.
https://steamoss.com/sharedfiles/filedetails/?id=2382204622
Я бы посоветовал создать свой собственный пресет компиляций в Compilepal с этими (показанными в гайде) параметрами освещения, они подойдут почти под каждую карту.

https://nodraw.net/2010/12/lighting-compile-options/
Эта страница в Nodraw также посвящена той же теме для получения дополнительной справки.

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

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

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

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

Чистый ум и невозмутимость
Очень важно непредвзято относиться к критике вашей карты со стороны других игроков. Игроки и тестировщики могут обнаружить проблемы с вашей картой и предложить улучшения, которые лично вам могут не понравиться. Невозмутимость (способность воспринимать критику, не впадая в бешенство или упрямство) и непредубежденность могут помочь вам развить себя, а также лучше воспринимать критику и вносить улучшения, которые вы, возможно, не увидите со своей точки зрения.
Публикация вашей готовой DR карты
Теперь, когда у вас есть финальная, полностью готовая версия DR карты, пришло время опубликовать ее в Steam и Gamebanana.

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

В TF2 кликните на значок гаечного ключа на нижней панели меню, чтобы перейти в мастерскую. После этого вы попадаете на эту страничку:






















Нажмите "maps", выберите свой BSP файл, выберите превью вашей карты ( оно не должно быть больше формата 512x512), выберите другие изображения для демонстрации вашей карты (скриншоты например), заполните поля название и описание (вы можете скопировать его со своей страницы в GB) и нажмите "Отправить". После этого ваша карта будет опубликована в Steam Workshop.

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

На верхней панели в разделе GB по TF2 найдите маленький серый плюсик с надписью "add"? нажав на него вы попадаете в другое меню, где вам нужно будет найти секцию "mod". Нажав на эту кнопку, вам откроется бланк для заполнения инфы по вашей карте, заполните все пустые окна, необходимые для публикации, дайте краткое описание того, что представляет собой ваша карта dr, и публикуйте.
Ссылки для картоделов
Я дам вам основные ссылки для создания карт для Hammer. Возможно, вы захотите добавить эти страницы в закладки, если они вам пригодятся позже.

  • https://developer.valvesoftware.com/wiki/Main_Page
    Это вики-страница разработчика Valve. Вы можете искать и изучать энтити, освещение и другие вещи, которые присутствуют в hammer, и которые вам понадобятся при создании карт.
  • https://gamebanana.com/
    Это Gamebanana, хостинг мододелов, сайт для создания и публикации модов к различным играм. Вам нужно будет создать учетную запись GB для публикации ваших карт, чтобы администрация серверов заметили вашу карту и использовали её на своих серверах.
  • https://www.youtube.com/playlist?list=PL-454Fe3dQH1L38FnKkz_O1CqYx6sKaXk
    Это плейлист с учебным пособием по мап-мейкингу от TopHattWaffle. Причина, по которой я не знакомлю вас с ним в самом начале, заключается в том, что он охватывает множество тем, из которых вам понадобятся лишь некоторые, а учебник UEAKCrash немного кратче. Его учебные пособия охватывают конкретные темы, в которых на пути картодела вам может понадобиться дополнительная помощь.
    https://www.youtube.com/watch?v=jF3er5lsaeg&ab_channel=TopHATTwaffle
  • https://tf2maps.net
    Это сайт для размещения только карт, моделей, обсуждений и конкурсов по TF2. Они также проводят открытые тесты карт. Это понадобится вам для поиска моделей / пропов которые вы будете размещать на вашей карте.
  • Steam-группа Death Ventures: https://steamoss.com/groups/R60D
    Death Ventures - это сообщество для обсуждения и тестирования карт, посвящённое только TF2 Deathrun. Я настоятельно рекомендую это место для тестировки и помощи в создании карт.
  • https://www.interlopers.net/errors/?page=errors&params =
    На этом сайте есть инструмент для проверки ошибок компиляции, который вам понадобится для проверки на наличие ошибок при компиляции вашей карты (очевидно, неправда ли?).
Заключение
Благодарю вас за то, что вы ознакомились с этим руководством! Созданные вами карты будут радовать сообщество DR долгие годы! Вы даже можете использовать свои навыки картодела, приобретенные здесь, при создании других карт, ваш потенциал ограничен только тем, насколько сильно вы стараетесь создать хорошую карту. Получайте удовольствие от создания карт!

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

Кредиты / Особая благодарность
worMatty: Гайды, FGDS, большая часть информации гида с использованием его контента.
Velie: Детализация тезисов для обсуждения.
Spookmint, Billy, Floor, BadToad, worMatty: Советы по созданию ловушек
Coronarena, Berke: Советы по оптимизации
ᗰᗩᑎᑎᗪᖇiᑎ: Перевёл руководство на русский, слегда дополнил некоторые моменты
Cream Tea, ToppHattWaffle и другие: Туториалы на Youtube

скоро будет
Руководство, посвященное функциям func_track train и path_track
Руководство, посвященное текстурам и свойствам текстур
Возможно перевод всех прилежащих стим руководств представленных в этом руководстве



Если вы сами являетесь картоделами с опытом, не стесняйтесь подмечать ошибки и рассказывать про то что я мог упустить в комментариях, всем удачи!
8 Comments
Shkila 3 Mar, 2024 @ 5:16pm 
@IVER про такие случаи можно спросить в Discord сервере "Death Experiments" там все создатели детран карт и alexrox360 тоже
ᗰᗩᑎᑎᗪᖇiᑎ🕷  [author] 26 Jan, 2024 @ 12:54pm 
у меня нет руководства под именно твой случай, попробуй поискать инфу на форумах или сайте tf2maps.net
IVER 26 Jan, 2024 @ 12:16pm 
МОЖЕШЬ ТОГДА РУКОВОДСТВО СКИНУТЬ
ᗰᗩᑎᑎᗪᖇiᑎ🕷  [author] 26 Jan, 2024 @ 12:02pm 
вообще, в игре нет npc как таковых, есть конечно некоторые костыли при помощи которых их можно сделать, однако если у тебя всё таки будут npc, просто пришей триггер к спавну npc (конфигу), там очень много заморочек, я вкратце не распишу
IVER 26 Jan, 2024 @ 10:44am 
ну типо ты наступаешь триггер и спавниться нпс
ᗰᗩᑎᑎᗪᖇiᑎ🕷  [author] 26 Jan, 2024 @ 10:27am 
что ты имеешь ввиду? Я так понял тебе нужно привязать триггер к спавну npc?
IVER 26 Jan, 2024 @ 7:25am 
как сделать спавн нпс по триггеру
C-SSTV MANAGER 26 Aug, 2023 @ 5:47am 
:steamthumbsup: