Плагины
Плагин – в мукере это скрипт, который подключается в несколько кликов, благодаря удобной системе интеграции, встроенной в движок. Скрипт – это кусок кода, для реализации одной или нескольких функций, которую невозможно, либо очень трудозатратно, сделать с помощью базового функционала.
Одна из основных ошибок любого новичка – набивание будущего проекта плагинами в дело и без дела. Как пример, из лично виденного: человеку нужно сделать кодовый замок. Человек сразу ищет плагин на это дело. Не находит, унывает. А ничего удивительного – кодовый замок делается за 2 минуты на ивентах, зачем кому-то писать для этого плагин?
Поэтому я говорил и буду говорить – сперва неплохо бы изучить возможности самого мукера, а уже потом думать, чего вам в нем не хватает.
Плагины пишутся живыми людьми-энтузиастами, а не компанией разработчиков движка, поэтому их количество ограничено и пишется то, на что есть реальный спрос у других разрабов.
Вы не найдете плагин, который сделает за вас игру. Вы не найдете плагин, который на 100% исполнит вашу мечту. Более того, для реализации какой-либо нетипичной для мейкера идеи скорее всего потребуется не один плагин, а целая группа.
Так недавно меня спросили в комментах – можно ли сделать на мукере игру с, цитирую, механиками, как фаллауте. Если кратко – да, можно. Ответ на вопрос «как?» - целая работа.
Во-первых, какие механики имеются ввиду? Если Статы, то для них есть переменные. Для вывода на экран значения переменных есть мощный плагин HUD maker.
Если изометрический вид – это вопрос графики. Есть HF pack, который изометрический. К нему можно добавить плагин от Galv’а на диагональное движение.
Если тактическая пошаговая боевка, то и на ивентах можно соорудить и плагин на это дело поискать. Что-то такое я видел…
Плагина может не оказаться. И базовый функционал тоже не сможет дать необходимое. Выхода три – нанимать программиста (дорого), учиться программировать (долго), отказаться от фичи (иногда губительно, но чаще нет). Есть четвертый вариант – движок сменить, но там, сцуко, тоже придется учиться программировать или нанимать кого-то…
Надеюсь, что основная мысль понятна – нельзя просто взять и в два клика получить необходимое. Нужно сперва сформулировать запрос, потом разбить его на составные части и для каждой части искать решение.
Надеюсь, никто не рассчитывал увидеть рассмотрение всех плагинов в этом уроке? Просто их сотни и это только для MZ. Для VX Ace, например, скриптов были напилены тысячи. Тут никакого времени не хватит, чтобы это все обозревать, а у меня нет в планах превращения в мейкер-блогера, их и без меня вагон. Моя цель – дать вам старт и научить чему-то полезному. В частности самостоятельности в поиске решений.
Однако, одну полезную ссылочку оставлю:
https://makerdevs.com/mz/master-list
Это мастер-лист плагинов для MZ и MV. Крайне полезная штука. Иногда лучше искать в этом листе, чем в гугле.
А так же ссылки на сайты самых известных авторов плагинов:
Янфлай:
www.yanfly.moe (в прошлом году продался с потрохами и за большинство плагинов ВНЕЗАПНО захотел денег, хотя до этого раздавал их бесплатно. Сообщество не оценило такой кульбит с переобувкой, пришлось старые оставить бесплатными, а новые продавать под другим брендом)
Галв:
https://galvs-scripts.com/ (малоактивен, но навыпускал много полезного)
Мог:
https://mogplugins.wordpress.com (с этим что-то случилось, сносил и перепиливал бложик, сейчас заново заполняет вроде)
Виктор:
https://victorenginescripts.wordpress.com (только до версии MV включительно. Завязал с разработкой)
ДК:
https://dk-plugins.ru (наш, отечественный разраб!)
А теперь давайте возьмем какой-нибудь плагин и установим его в будущий проект. У меня в планах использование праллакс-маппинга (т.е. создание карт в фотошопе) по работе, вот и совместим приятное с полезным.
Плагин называется Cyclone Map, автор некий Худель (Hudell), и взять его можно тут: https://makerdevs.com/plugin/cyclone-maps
Вам нужно скачать файлик с расширением .js и положить этот в файл в Папка проекта –> js -> plugins
Иногда ссылка может вести не на скачивание файла, а на листинг кода на каком-нибудь гит-хабе, где он выглядит просто, как текст на экране. Нужно скопировать весь этот текст, перенести в Блокнот и сохранить в файл с произвольным (но понятным вам) названием на латиннице и окончанием .js
ПолОжили? Идем теперь в Управление Плагинами – открывается кнопкой с изображением кусочка паззла, пунктом в меню Инструменты или клавишей F10.
Видим пустой список и недоумеваем. На этом месте тупили многие. Дело в том, что это список уже подключенных плагинов и их у нас нет в данный момент. Чтобы эту ситуацию изменить кликнем по первой пустой строчке.
В строке «Название» ВНЕЗАПНО нельзя изменить название плагина. Но можно выбрать нужный из выпадающего списка. Нас интересует Циклон Мапс:
Теперь будет достаточно нажать ОК и плагин начнет работать (при условии, что переключатель «Состояние» в положении ВКЛ). А вот как именно он будет работать – об этим написано в поле «Справка». Там же обычно находятся и все инструкции по настройке плагина.
Обычно находятся, но не всегда. Зависит от радивости программиста. Хорошие прогеры пишут подробную документацию. Посредственные – хер пойми какую. Я тут натыкался по просьбе одной подписчицы на плагин Журнала Квестов – вот уж жопа так жопа. Как оно работает можно понять только методом экспериментального тыка.
Как работет данный плагин я расскажу на первом уроке расширенного курса – как раз будем с праллакса начинать, ну а пока по плагинам на этом все.
Генератор Персонажей
Что может быть проще этого я не знаю. Если вы хоть раз пользовались каким-нибудь генератором персонажей (даже в играх), то поймете, как он работает.
Отдельно по пунсктам меню пробегусь:
Случайно – рандомная генерация. Обычно выдает лютую дичь.
Аватар – сохранить фейс. Нажимаем кнопку и вылезает окошко с пустым файлом для набора фейсов:
Импорт – открыть существующий файл. Чтобы, например, его дополнить или изменить, замостив существующую морду новой.
Экспорт – сохранить файл. Сохраняется весь набор целиком в том виде, в каком он открыт в редакторе.
Обратите внимание, что мукер держит в памяти последний открытый файл в том состоянии, на котором вы его последний раз открыли. Это неудобно. Нет, не так. ЭТО П***ЕЦ КАК МЕШАЕТ! Я не знаю, за каким хером это добавили в MZ, но путает невероятно. В МВ открывался по умолчанию чистый лист.
Таким образом, чтобы создать набор фейсов с эмоциями, нам надо сохранить первый фейс, сгенерировать второй, потом открыть это окно, импортнуть в него уже созданный файл, экспортнуть с заменой. Потом снова сгенерировать, открыть, импортнуть, экспортнуть с заменой. И так 8 раз. Генерация не требует никакого напряжения, но делается долго из-за этой кучи кликов. Подозреваю, что сохранение в памяти предыдущего файла задумывалось для облегчения работы, но оно делает только хуже.
Персонаж – сохранения чарсета в один из восьми слотов на листе. Импорт-Экспорт работают так же.
В нокауте – сохраняет лежачий чар этого персонажа в трех позах. В MV поза была одна – прогресс, сука.
Боец – сохранение листа с боевыми анимациями.
Сохранить настройки (и Загрузить настройки) – возможность сохранить сгенерированного персонажа в json файле, что бы потом не подбирать на глаз все его элементы, если вдруг понадобится еще чего-то догенерировать, например, того же перса, только в другой одежде.
Усе. Вот и весь генератор.
Как добавить новые детали в генератор? Найти, скачать и закинуть в папку с Генератором. Она находится не в папке проекта, а в папке движка. Если вы его покупали в стиме, то там и ищите – в common apps где-то. В папке движка будет и папка generator со всем содержимым.
Как добавить в генератор не этих сраных чибиков, а нормальных высоких персов? Никак. Это придется генератор переписывать, а переписывать нельзя – лицензия не позволяет. Пользуйтесь сторонними или рисуйте сами, как все делают.
Файловая структура проекта.
Вообще, я думал с этого уроки начинать, а вышло так, что этим заканчиваю…
Давайте посмотрим, как устроен проект в проводнике, где что лежит и как этим пользоваться.
Папка audio – внутри папки bgm, bgs, me и se. Как мы знаем, первая с музыкой, вторая со звуками окружения, третья с фанфарами, четвертая со звуковыми семплами.
Папка css – это для тех, кто возжелает игру в web формате выкатывать. Начинающим не нужна, да и большинству нормальных разрабов тоже.
Папка data – тут хранится, по сути, вся ваша игра. Все настройки, все карты, весь ивентовый код, словом все в формате json.
Как-то раз я видел новичка, который спрашивал, где лежат картинки карт, которые он намаппил. Так вот, они нигде не лежат. Мукер просто хранит данные о том, какой тайл из набора на каких координатах лежит. Конкретно эта информация хранится в файлах MapНомер_карты.json. То же самое касается и всего остального.
Папка effects – здесь у нас анимации спецэффектов, их модельки и текстурки.
Папка font – понятно, что шрифты.
Папка icon – иконка вашей игры. Та, будет у эксешника и в трее отображаться. Может быть заменена на другую. Размер 128х128 пикселей.
Папка img – почти вся графика игры.
Battleback 1 и 2 – задники для боевки. Размеры – не меньше выбранного размера окна. Дефолтные 1000х740
Characters – чарсеты
Enemies – батлеры (боевые изображения) врагов для фронтальной боевки
Faces – фейсы
Parallaxes – праллаксы, они же задники для карт
Pictures – все изображения, которые мы планируем выводить с помощью команд ивентов
Sv_actors – боевые анимации персонажей для боковой боевки
Sv_enemies – батлеры врагов для боковой боевки
System – разные системные изображения:
Balloon – пузыри с эмоциями. Могут быть выведены специальной командой ивента. Файл – картинка в png, размер баллона 48х48 пикселей. Файл разбит на 15 строк по 8 кадров в каждой. Одна строка – одна эмоция. 10 эмоций нам уже предоставлены, еще 5 можно добавить свои. Либо удалить всё и поставить полностью свои. Увеличить размер файла нельзя.
ButtonSet – изображения кнопок для сенсорного управления. Можно заменить на свой.
GameOver – картинка, выводящаяся на экран при выполнении команды «Конец игры». Следует помнить, что конец игры подразумевается, как поражение, поэтому для этой команды и сделана картинка с гамовером. Размер картинки определяется размером окна.
IconSet – набор иконок для оружия, предметов, брони и т.д. Размер иконки 24х24 пикселя, ширина листа строго 640 пикселей. Высота листа произвольная. Т.е. список иконок можно расширять вниз до бесконечности.
Shadow1 – тень под героем в боковой боевке
Shadow2 – тень под врагом в боевке.
States – анимации состояний. Помните, мы в Базе Данных с ними сталкивались? Вот это и есть их файл.
Weapons1, 2 и 3 – мы уже разбирали, это файлы с боевым оружием.
Window – файл, в котором лежат скины для окон, курсоры и образцы цветов для цветного текста.
Возвращаемся в папку img
Папка tilsets – тайлсеты
Папка titles1 и 2 – титульники для стартового меню. Обычно удаляются все к чертовой матери и рисуется свой собственный один единственный.
Возвращаемся в корневой каталог
Папка js – родные мукерские скрипты и наши плагины
Папка movies – видоролики. Мукер поддерживает воспроизведение видео в формате webm, для чего есть команда ивента.
Save – сохранения игрового процесса.
Собственно, вот и вся структура, если кратко.
Что у нас осталось из того, что я не упомянул…
Поиск? В мукере есть Поиск ивента, если вы запутались в собственном коде и не помните где и что. Вызывается из меню ПКМ по карте в режиме ивентов, либо Ctrl+F.
Умеет искать по словам в названии или примечании. Так же по целым фразам, словосочетаниям и т.д. Честно говоря, ни разу не приходилось пользоваться, трудно сказать, нужен ли вообще.
Так же, если вы нажмете ПКМ по списку карт, то обратите внимание на пункты, которые я не упоминал:
Загрузить образец карты – в мукер по дефолту загружено несколько десятков готовых карт. Вероятно для того, чтобы показать, как маппить не нужно. Вот посмотрите на них и мапьте лучше. Это образец работы на отъ***сь. Разумеется, я категорически не рекомендую вставлять эту халтуру в свои проекты. Во-первых, не вы такой один «умный», а во-вторых, на кой черт нужны игры, сделанные не то, что на одинаковой графике, а даже на одинаковых локациях!
Сдвиг – полезная функция. Часто бывает так, что маппишь и вдруг понимаешь, что карта маленькая и надо ее увеличить. Но При увеличении размера в редакторе, карта увеличивается снизу и справа. А если нам надо слева? Тогда придется сдвинуть вправо всю локацию целиком. Сдвиг дает такую возможность, главное помнить, что положительные значения по Х – это вправо, а положительные по Y – вниз. Впрочем, если перепутаете, всегда можно сдвинуть обратно.
Создать подземелье – типа генератор подземелий. Бесполезная функция. Генерирует лабиринты, либо данжи. На скорую руку для дальнейшей обработки разве что годится, но не более. Работает только на достаточно крупных картах где-то от 30х30 клеток и выше.
Сохранить как изображение – полезная штука для любителей праллакс маппинга. Сохраняет скриншот карты в отдельную папку по указанному вами пути. Жаль добавили так поздно, мы уже привыкли обходиться без этого…
Вот и подошел к концу наш базовый курс. Рассказал обо всем, что может потребоваться начинающим мукеристам, но прошу меня понять – невозможно в рамках одного курса охватить все и сразу. Прошу так же понять, что ожидающийся на подходе курс «Расширенный» будет выходить пореже, так как возни с ним больше, да и выпускать по уроку раз в два-три дня, это та еще задачка, я даже как-то употел, пока эти 22 статьи писал! Как-никак 5 авторских листов вышло – на небольшую повесть тянет))
Так же впереди у нас сериал «От Идеи до Релиза», где будет пилить игру с полного нуля до 100% готовности. Возьмем что-нибудь несложное и не глобальное, чтобы проиллюстрировать все этапы разработки за разумный срок.
Всем удач на поприще игростроя. Делайте игры для людей, а не для себя и все получится!
P.S. На вопросы стараюсь отвечать в пределах разумного. Курирования и длительных личных консультаций не оказываю – у меня три проекта одновременно, поймите правильно!