RPG Maker MZ: урок №16. База Данных: Состояния, Анимации, Общие События

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

Состояния – это бафы и дебафы в стандартной боевой системе, т.е. всякие пассивные статусы, которые навешиваются как на Персонажей, так и на Противников.

RPG Maker MZ: урок №16. База Данных: Состояния, Анимации, Общие События RPG Maker, Gamedev, Курс, Урок, Видео, Длиннопост

Состояние навешивается с помощью навыка, либо в качестве Особенности при использовании, например, оружия или брони.


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


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


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


[SV] Анимация – нужно для боковой боевки, она же Side View. Определяет набор анимаций для героя, получившего состояние. Отображается только на персонажах.


[SV] Доп. анимация – дополнительные эффекты вокруг персонажа, отображающие основные статусы.


Ниже у нас идет поле «Условия удаления». Каждое состояние должно чем-то сниматься. Самый простой вариант, это придумать предмет-лечилку для его снятия, или навык. Но можно еще и задать другие варианты.

RPG Maker MZ: урок №16. База Данных: Состояния, Анимации, Общие События RPG Maker, Gamedev, Курс, Урок, Видео, Длиннопост

Удалить в конце боя – ну, тут понятно, состояние спадает с персонажа после завершения битвы.


Удалить с помощью ограничения – состояние будет удалено при наложении другого состояния с другим типом ограничений


Удалить автоматически – тут два варианта. Конец Действия – удалить через какое-то количество ходов персонажа. Может быть задан примерный диапазон. Конец Хода – удалить после того, как будет совершено какое-то количество ходов в битве вообще. Удалить путем повреждения – состояние удаляется тогда, когда у героя снимается сколько-то очков из полоски НР в процентах.


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


Поле «Сообщения» мы уже видели в Навыках, не вижу смысла тратить на него время. То же самое относится и к Особенностям, да и к Примечаниям.


Важно: первое состояние в списке ВСЕГДА должно соответствовать смерти. Тут почти то же самое, что с навыками Атака и Защита, только изменение этого состояния еще и к багам приводит. Просто оставьте его как оно есть. Если у вас в игре вообще нет в нем необходимости, то можно его не применять. Можно изменить ему название и иконку, но помните – первое состояние в списке всегда отвечает за ситуацию, когда полоска НР = 0.



Анимации

Здесь мы вступаем на территорию, впервые за долгие годы, даже десятилетия, подвергшуюся серьезным изменениям в новой версии движка. Эта часть урока неактуальна для MV чуть менее, чем полностью.


Анимациями в мукере называют различные спецэффекты: взрывы, вспышки, молнии и т.д., применяющиеся преимущественно в бою, но не только.

Долгое время они просто хранились в виде картинок формата PNG, как спрайтовая раскадровка. Но, начиная с версии MZ, все анимации создаются и редактируются с помощью трехмерного редактора Effekseer и интегрируются в игру в виде моделей и сопутствующих файлов.

RPG Maker MZ: урок №16. База Данных: Состояния, Анимации, Общие События RPG Maker, Gamedev, Курс, Урок, Видео, Длиннопост

Программа Effekseer бесплатна, но описание работы в ней – тема для отдельного курса и в этом рассматриваться не будет.

Ссылка на оф.сайт программы (там есть туториалы на английском) https://effekseer.github.io/en/


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

RPG Maker MZ: урок №16. База Данных: Состояния, Анимации, Общие События RPG Maker, Gamedev, Курс, Урок, Видео, Длиннопост

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


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


Тип отображения – три варианта центрирования анимации. Для каждой цели – анимация будет центрирована по цели. В центре всех целей – по геометрическому центру условно-описанного квадрата, который включает в себя все цели. В центре экрана – тут, думаю, все и так понятно.


Галочка «По нижнему краю» отвечает за центрирование по низу цели, а не по ее середине.


Поле Эффект Частиц – тут задаются настройки самой анимации.

RPG Maker MZ: урок №16. База Данных: Состояния, Анимации, Общие События RPG Maker, Gamedev, Курс, Урок, Видео, Длиннопост

Имя файла – выбираем нужный нам эффект.


Масштабирование – позволяет изменять его размеры.


Скорость – определяет скорость воспроизведения анимации


Поворот – вот тут интересно. Поскольку в MZ мы имеем дело с 3D эффектами, то и осей для поворотов готового эффекта у нас три. Но, к сожалению, нет нихера ни полноценного окна с предпросмотром, ни отображения осей на экране теста. Поэтому поворотами пользоваться придется на ощупь. Неудобно до усрачки, честно скажу.


Смещение Х и Y – не путать с поворотом. Это просто смещение готовой анимации по горизонтали и вертикали, соответственно.


Поле «Звуки»

RPG Maker MZ: урок №16. База Данных: Состояния, Анимации, Общие События RPG Maker, Gamedev, Курс, Урок, Видео, Длиннопост

Тут можно выбрать звуковой файл из папки audio -> se, который будет проигрываться при воспроизведении анимации. Можно выбрать несколько звуков, которые будут накладываться друг на друга. Время старта воспроизведения задается в кадрах (1 секунда = 60 кадров).


Напомню, что мукер поддерживает аудиофайлы в формате ogg и никто вам не запрещает закинуть в папку свои собственные звуки.


Поле «Вспышка» задает параметры вспышки самой цели. Это эффект мерцания самого изображения цели, достигающийся кратковременным окрашиванием картинки в заданный цвет, как правило белый.

RPG Maker MZ: урок №16. База Данных: Состояния, Анимации, Общие События RPG Maker, Gamedev, Курс, Урок, Видео, Длиннопост
RPG Maker MZ: урок №16. База Данных: Состояния, Анимации, Общие События RPG Maker, Gamedev, Курс, Урок, Видео, Длиннопост

В открывающемся меню задается стартовый кадр, продолжительность вспышки (тоже в кадрах), цвет по RGB и его интенсивность, она же прозрачность наложенного цвета.


Ну, и наконец, знакомое поле предпросмотра, позволяющее изменить изображение цели и фон. Предпросмотр производится со звуком – берегите ухи.

RPG Maker MZ: урок №16. База Данных: Состояния, Анимации, Общие События RPG Maker, Gamedev, Курс, Урок, Видео, Длиннопост

Далее у нас вкладка «Тайлсеты», но мы ее разобрали, поэтому переходим к «Общим событиям», они же Глобальные ивенты.

RPG Maker MZ: урок №16. База Данных: Состояния, Анимации, Общие События RPG Maker, Gamedev, Курс, Урок, Видео, Длиннопост

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


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


Глобалки, однако, крайне полезная и удобная вещь.

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


Во-вторых глобалки позволяют заранее отдельно кодить какие-то подключаемые и отключаемые фичи, без необходимости копировать их на локации.


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


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

Лига Разработчиков Видеоигр

6.6K постов22.1K подписчиков

Добавить пост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

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

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

Вы смотрите срез комментариев. Показать все
11
Автор поста оценил этот комментарий

@solohinlex, @daitek, @donwild, @TrikVetra, @ThauSS, @gleblondon, @Alllexxxlllol, @Groboom, @appelguy, @IStep97, @Maxxxy, @ZmPhoenix, @Radzha.arif, @oGoz, @MadarakiFran - новый урок вышел)

Желающие в список призыва - пишите под комментом)

раскрыть ветку (3)
1
Автор поста оценил этот комментарий

Спасибо! :)

2
Автор поста оценил этот комментарий

@Rapisu, @barmot - новый урок вышел)

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Спасибо! С нетерпением жду ваших уроков)!

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку