WarCraft 3 — Создаем свою карту (Начало проекта)

Игры на ПК W3 Редактор карт

WarCraft 3 своя карта

Здравствуйте, друзья. Сегодня я решил начать с нуля строить свою карту на движке редактора карт Warcraft 3 The Frozen Throne. Для начала хочу кое-что уяснить. Это будет большой цикл разработки от сеттинга до ландшафта. Я постараюсь описать все самые интересные и сложные вопросы, которые могут возникнуть у любого разработчика карт. Мы не будем использовать язык разработки JASS и постараемся использовать стандартные возможности редактора. Поехали.

Проект trythisapp.ru — WarCraft 3 Своя игра

Что мы здесь будем делать? В этой статье разберем следующие моменты:

  • Создание макета карты
  • Создание областей для движения
  • Триггер респауна воинов
  • Триггер передвижения

Создание макета карты

Первое, что приходит на ум — а-ля дота. Пока не знаю какое будет название, пока не знаю, будет ли это все-таки дота (скорее всего нет), но могу сказать точно, что в WarCraft 3 меня привлекает развитие и повышение мобов. То есть их эволюция. Все, что сегодня я хочу сделать, это поставить 2 цитадели и сделать так, чтобы из них выходили мобы.

  • Задача номер 1: Построить цитадели. Нарисовать примерную карту передвижения воинов.

Окей, создаю карту размерами 96х96. Мне этого будет вполне достаточно. Расставлю парочку цитаделей и нарисую пути. Пусть будет 3 дороги, по каждой из которых будут идти воины. Получилась прямо таки карта доты:

WarCraft 3 Своя карта

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

Создание областей передвижения

Теперь я размещу по 3 области с каждой стороны, плюс размещу области для движения по линиям:

WarCraft 3 Движение по линиям

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

Создаем триггер респауна войск

Над балансом в WarCraft 3 говорят надо начинать работать с самого начала. Но для наглядности без расчетов я создам триггер, который будет создавать по 3 пехотинца для людей и по 2 бугая для орков. Открываем модуль «Редактор триггеров». Для начала снесу стандартную инициализацию, и начну пилить свой триггер. Создам триггер с названием Init, это будет моя собственная инициализация. Пока не знаю, что там будет, но задумки как ни странно с ходу появились. Создам отдельную директорию Spawns и создам в ней триггер SpawnOrcsAndHumans. Хочу, чтобы триггер срабатывал каждые 30 секунд. Теперь го делать триггер:

  • Правой кнопкой мыши на событии -> Новое событие.
  • В открывшемся окне тип оставляем Все, строкой ниже из списка выбираем: «Время — Periodic Event«
  • В описании, которое появилось ниже: Every 2.00 second of game time нажимаем на 2.00 и меняем на 30
  • Нажимаем окей.

Супер! Событие в триггере создано, но еще не доделан триггер, теперь нужно для каждой области с одной и с другой стороны настроить респаун войск:

  • Правой кнопкой мыши на Действие -> Новое действие.
  • Далее из списка Тип выбираем «Боевая единица«
  • Видим строку «Create 1 Пехотинец for Игрок 1 (Красный) at (Center of (Playable map area)) facing Стандартная ориентация зданий degress.» Из этого нас интересует кол-во: Меняем на 3. И в данной ситуации тыкаем на (Center of (Playable map area)). В открывшемся окне нажимаем на кликабельное место в строке Center of … В следующем окне нажимаем «Выбрать» возле указания области. Нам открывается карта, на которой выбираем область, которая находится посередине у людей.
  • Нажимаем ОК.
  • Еще раз ОК.
  • И если все сделано правильно должно получиться примерно так:
    WarCraft 3 Своя карта
  • Нажимае ОК.

Хорошо, первый триггер создан. Но этого мало, создам еще 5 действий: оставшиеся 2 в других областях для людей, и 3 для всех областей орков. Просто клонирую имеющееся действие 5 раз и настраиваю их следующим образом:

WarCraft 3 триггер

Пожалуй уменьшу респаун до 15 секунд. Все таки полминуты очень много.

Создаем систему передвижения юнитов как в доте

Хорошо, респаун создан. Теперь необходимо организовать движение юнитов таким образом, чтобы при встрече с врагом они атаковали друг друга. Пожалуй создам отдельную директорию для подобных механик и назову ее functions. Создам несколько триггеров, так как у меня много областей, и я не хочу, чтобы юнит «ушел не туда». В дальнейшем объединю это дело в одну систему.

  • Создаем сначала новое событие, в котором Тип «Боевая единица», и в выпадающем списке выбираем «Unit Enters Region».
  • В строке с регионом нажимаем на слово Region, переставляем маркер на вторую строку. Нажимаем выбрать — выбираем область респауна юнитов.
  • Нажимаем ОК.
  • И еще раз ОК.
  • Теперь создаем действие.
  • Тип — Боевая единица. Действие — Issue Order Targeting A Point. В появившейся строке оставляем Triggering Unit, в приказе выбираем — Перейти, нападая на противников, и в области выбираем самую первую область уже на самой линии, не у спавна! Если все сделано правильно, то должно быть примерно так:
    WarCraft 3 Редактор карт движение по линиям
  • Нажимаем ОК.
  • Теперь редактируем условие — Новое условие — Player Comprassion. В нашем случае оставляем все как есть и нажимаем ОК.

В итоге у меня получилось 8 триггеров для людей и 8 триггеров для орков. Только для орков в условии меняем Игрок 1 (Красный) на Игрок 2(Синий). В итоге имеется вот такая картина:

WarCraft 3 триггер

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

Теперь, когда все триггеры созданы, можно запускать карту! Нажимаем на красную галочку в панели инструментов — варкрафт и карта запустятся автоматически. Как ни странно баланс получился весьма хорошим, правда на верхней линии люди взяли верх, но это обусловлено тем, что неверно расположены области на верхней линии. А в центре орки прорвались сквозь пехотинцев. Обещаю все это дело поправить.

В этой статье вы узнали:

  1. Как создавать Событие/Условие/Триггер
  2. Как создавать движение крипов как в доте
  3. Как создать спавн крипов/воинов

 

В целом получилось весьма неплохо, юниты бегут куда надо, атакуют врагов и спавнятся раз в 15 секунд. Да забыл сказать ранее, в итоге Functions я переименовал в Movement, и уменьшил время респауна юнитов с 30 до 15. В дальнейших статьях я подниму еще старую разработку на движке WarCraft 3, и буду продолжать новую освещая для вас интересные вопросы в создании триггеров, обработки переменных, изменения моделей и много другого! Если зашло — ставь лайк! Есть вопросы — оставляй нам коммент!

0

Автор публикации

не в сети 4 недели

VaPi

0
Иллидан где-то здесь... Ну поставь лайкосик :)
Комментарии: 0Публикации: 17Регистрация: 23-01-2020

Добавить комментарий

Ваш адрес email не будет опубликован.