Войти на сайт

Авторизация, ждите ...
×

ТЕМА: RMMV Awesome Battleground

RMMV Awesome Battleground 6 года 2 мес. назад #101668

  • Mur
  • Mur аватар
  • Вне сайта
  • Светлый дракон
  • Мур? Мур! Мур.
  • Сообщений: 574
  • Спасибо получено: 1448
  • Организатор конкурсов2 место Даритель СтимкеяОраторПрограммист JavaScript Учитель
И снова всем привет!

В конце октября, начале ноября прошлого года на «Светлой Академии» проходил конкурс плагинов для RPG Maker. Конкурс проходил первый раз и как организатору данного мероприятия мне было немного боязно, что работ будет очень мало, если вообще будут.

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

И сегодня мне бы хотелось рассказать немного подробнее о своей работе.

По умолчанию в RPG Maker MV фоновое изображение для битвы, а также музыку можно задать только для всей карты. Да её можно изменить с помощью команд, но придётся это делать для каждого события на карте, это честно скажу немного утомительно. А как быть если противник двигается по карте? Тут он стоит на песочке, а тут уже переходит реку по мосту, а затем уже в лесу? Писать сложную логику и каждый раз задавать картинки?

Что бы избавить разработчика от «головной боли» и был изначально придуман плагин «Awesome Battleground». На карте можно промаркировать зоны и в зависимости от цифры задать какое фоновое изображение, и музыка будут тут использованы:


regions-2.png



Так же номер зоны можно изменить в любой момент командой плагина «setcurrentregionid NN» прямо в диалогах, где NN номер региона. Например, после общения с противником мир вокруг главного героя меняется и начинается битва. Главное не забыть по окончании вернуть значение региона на 0.


example.png



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


layers.png



Для каждого слоя параллаксов можно задать один из эффектов, а точнее способ поведения изображения на экране:

1. Зацикленные движения:
  • вверх
  • вниз
  • влево
  • вправо
  • вверх влево
  • вверх право
  • вниз влево
  • вниз вправо
2. Движение в виде маятника:
  • вверх-вниз
  • влево-вправо
3. Произвольные движения:
  • зигзагом
  • по часовой стрелке
  • против часовой стрелки
4. Проявление (fade in) и затухание (fade out)
5. Мерцание

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

Проявление и затухание — это одинарная картинка, которая плавно проявляется и исчезает с помощью изменения значения альфа-канала.

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

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


animation-2.png



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

Так же в плагине есть небольшое дополнение, позволяющий задать размер экрана. В отличии от многих других аналогичных, он корректно расставляет участников боя, если размер экрана больше 816x624. А также может учитывать соотношение сторон 16:9 или 3:4, что позволяет избавится от чёрных полосок по бокам в полноэкранном режиме. Если вам это не нужно или у вас есть другие планы, реализовывающие этот функционал, данную опцию можно отключить.

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

Начиная с версии RPG Maker MV 1.5.x появилась возможность, более продвинутой настройке плагинов. Но она же порой и вносит ещё большую путаницу, поскольку имеет много уровней вложенности и сразу не понятно, как куда попасть и где что расположено.

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


params_01.png



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


params_02.png



Здесь тоже относительно всё просто. Вначале нам нужно задать номер региона, который мы хотим настроить. Если выбрать 0, то будут настройки по умолчанию, когда регион не указан на карте. Если не создать такую запись, то на территории, где не задан номер региона будет стандартный фон для битвы на данной карты, без плюшек плагина «Awesome Battleground».

После того как мы указали номер региона, нам нужно выбрать две картинки: заднего фона (battleground) и переднего (foreground). Картинки используются не из стандартной поставки RPG Maker, поэтому их нужно расположить в «img/fx_background» и «img/fx_foreground» соответственно. Примеры таких картинок вы можете найти в полном проекте.


images.png



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

Изображение с заготовками параллаксов должно быть предварительно скопировано в папку «img/fx_parallax».
Далее выбираем эффект как себя вести изображению (двигаться, проявляться или мерцать). Также указываем скорость с которой будет двигаться наше изображение для параллакса.

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

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

При необходимости повторяем все настройки и для второго параллакса.

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

Изображение для анимации представляет из себя файл с кадрами, располагающимися друг за другом по вертикали. Файл должен быть скопирован в «img/fx_animation». Затем в параметрах указываем из сколько кадров будет состоять наша анимация, а также задержку между кадрами. Например, если анимация состоит из 50 кадров, то задержка будет 0, если из 25-ти, то уже 1, а для 17 может быть и 3. В любом случае подбирается значение индивидуально.

Так же можно задать значение «Реверс», если хотим, чтобы анимация повторялась по кругу не с 1 кадра, а возвращалась в обратном порядке.

После того, как закончили с настройкой анимации, переходим к её размещению на экране. К сожалению, в RPG Maker MV нет встроенных средств, поэтому координаты на экране придётся задавать вручную, указывая положение X и Y.

Для этого так же делаем двойной клик мышкой на поле «Положение». Откроется ещё одно окно со списком координат. Для создания нового положения анимации на экране так же делаем двойной клик мышкой на пустой вкладке:


params_03.png



Помимо координат на экране, можно задать номер кадра с которого начать анимацию. Причём для каждого нового положения на экране можно задать своё значение. В результате чего анимация не будет выглядеть как «синхронное плавание», а создаст некоторое подобие разнообразия.

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

По аналогии задаются настройки и для остальных трёх анимаций.

В конце есть ещё несколько пунктов настроек звуков для региона, с которыми, я надеюсь, вы без труда разберётесь сами.

В качестве демонстрации скромных возможностей плагина было сделано это видео:




Одним из дополнительных условий конкурса был «красивый» и понятный код, скрипт по возможности наполнен комментариями, что, где и на какой строке происходит. Сейчас это не актуально, поэтому если вам не интересно разбираться с внутренностями скрипта, можно скачать «чистую» версию с настройкой параметров на русском и английском языках. Если же интересно разобраться, что и как устроено, можно скачать версию с комментариями. В любом случае главное не забыть переименовать файл в виде «MUR_AwesomeBattleground.js» иначе плагин не увидит свои настройки и вывалится с ошибкой.

Все версии как обычно доступны на github.

А так же можно теперь посмотреть версию плагина online.

Если вам не совсем понятно как настраивать плагин, то можете скачать готовый проект (~172Mb) для RPG Maker MV, который чуть выше демонстрируется на видео.
Последнее редактирование: 6 года 2 мес. назад от Mur.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, DK, yuryol, Cabbit, Serge255, PanzerCat
Модераторы: NeKotZima
Время создания страницы: 0.222 секунд