четверг, 24 ноября 2016 г.

Как добавлять графику в проект на RPG Maker MV
Данный вопрос часто возникает у новичков, которые впервые сели за данный редактор, да чего греха таить, автор и сам в свое время из-за этого забросил движок при первом знакомстве с ним. Конечно, всегда можно обратиться к справке, которая идет вместе с движком, однако там есть ответы не на все вопросы, да и подача материала не всегда понятна для человека едва-едва начавшего свой Путь Мейкериста. Поэтому, я предлагаю рассмотреть данный вопрос подробно и с пристрастием. 

Нам потребуются:
1. RPG Maker MV - данный гайд будет расчитан именно на него. Прошу обратить внимание, что в предыдущих версиях процесс может отличаться в деталях, но в целом он схож и разобравшись с одним движком, вы без проблем сможете понять другой.
2. Браузер для поиска графики - я буду использовать Mozila Firefox, но сойдет любой
3. Графический редактор с поддержкой прозрачности (как говорят умники - альфа-канала) - я использую Adobe Photoshop CS5 и объяснять работу буду на его примере. Если вы предпочитаете что-то иное (GIMP, Paint.NET и т.п.), то гуглите соответствующие команды и действия самостоятельно.

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


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


В этой папке мы видим еще кучу всего. Догадаться о их содержимом несложно - анимации, батлбэки(фоны битв), персонажи, враги, морды, картинки и так далее. Мы же хотим добавить новый тайлсет, верно? Следовательно нам нужна папка tilesets.


Как вы заметили, здесь лежат картинки в формате .png и непонятные файлы в .txt. 
Важно: Текстовые файлы для нас не представляют ни малейшего интереса или ценности, так как единственное для чего они нужны, это всплывающая подсказка с названием тайла, при наведении на него мыши в редакторе. Можно их вообще удалить, что бы не захламляли проект. Можно и оставить.

Как мы видим, вся тайловая графика, используемая в будущей игре лежит в одной папке. Именно в нее мы будем дополнительно добавлять нашу новую, но это чуть позже, а пока откроем менеджер ресурсов редактора, который в МВ называется Диспетчер Источника (какой мудак так назвал?...)

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


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

В левой части(правее списка вкладок базы) мы видим список уже имеющихся наборов графики. Я предлагаю для удобства называть их наборами. По умолчанию из РТП у нас имеется шесть наборов, которые мы вольны будем редактировать по своему желанию, либо мы можем увеличить число наборов (вплоть до 999, хотя и этот порог расширяется плагином) и собрать новый. Увеличить число набров можно кнопкой "Изменить максимум" - в этом случае создаются новые пустые наборы. 

Рассмотрим, из чего же состоит каждый набор. В первую очередь он состоит из вкладок А, В, С, D и Е, переключатели которых вы можете видеть в нижней части окошка. Суть в том, что это те самые наборы графики, которые вы используете при работе с картой. С вкладками от В до Е все более менее понятно - это просто картинки размером 768х768 пикселей, на которых по сетке разложены тайлы. А вот вкладка А структурирована чуть сложнее и формируется аж из пяти отдельных картинок разного размера.


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

А1 - лист с анимированными автотайлами. Как правило это вода или что-то типа нее. Жмякнем на кнопку А1 (Анимация) и увидим следующее:

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

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

А3 - используется только для стен и крыш наружнего вида. 

Размер листа 768х384. Объяснять тут особенно нечего, так как схема построения автотайлов - тема для отдельной статьи.

А4 - я не стал делать скриншотов, поскольку там практически тоже самое, только размер листа 768х720. Здесь находятся внутренние стены и их "срезы"

А5 - Тоже без скриншотов, поскольку это даже не автотайл, а обычный набор ресурсов для пола. Его преимущество только в расположении на нулевом слое. Размер листа 384х768.

Далее следуют вкладки В, С, D, Е, но с ними и так все понятно. Это просто листы размером 768х768.


Ну, а теперь перейдем непосредственно к добавлению графония в наш будущий мегапроджект!
Нам понадобится какой-нибудь лист с графикой, можно открыть гугел и набрать там что-то вроде "rpg maker mv tileset", посмотреть, что он нам выбросит и выбрать подходящее, положив хер на авторские права. Но в рамках блога я буду блюдеть закон! Поэтому зайдем на Светлую помойку Академию, в мою собственную тему и выберем какой-нибудь листик с графоном. ссылочка прилагается:
 http://rpgmaker.ru/forum/masterskaja-hudozhnika-animatora/60483-grafika-ot-luara

Допустим, мы выбрали вот этот лист с моими странными березками и скачали его себе на винт:
 Как же их добавить в проект? Если просто кинуть картинку в папку, то ничего не произойдет. Придется запускать фотошоп и учинять небольшое колдунство. 
Для начала следует настроить сам редактор, для этого нажимаем ctrl+K и во вкладке появившегося окна выбираем "Направляющие, сетка и фрагменты", где указываем размер сетки 48х48, предварительно в качестве единиц измерения выбрав пиксели в соседней вкладке. Внутреннее деление лично я ставлю на 4, но вы можете этого и не делать. 

 Теперь откроем файл с березками в фотошопе и включим сетку сочетанием ctrl+"
 Наш файлик имеет размер 1056х384, что никак не подходит для мейкера и будет в нем отображаться некорректно. Что делать? Создадим пустой документ: Файл-Создать, зададим ему размер 768х768 с прозрачным фоном и просто перетащим нужные тайлы, предварительно выделив их инструментом "прямоугольное выделение"(второй сверху в панели).
Теперь понимаете зачем нужна сетка? Да, правильно. Сетка разбивает будущий лист тайлов точно так же, как его разобъет мейкер. 


Не будем забывать, что лист не влезает в редактор целиком и он делит его пополам, отображая левую половину выше правой. Поэтому всегда располагайте крупные тайлы внутри левой, либо правой части, иначе в редакторе их разрежет и маппить будет несколько неудобно. Это не ошибка, просто так работать проще. 
Схороним наш файл в формате .png выбрав в параметрах "снять выделение".
Полученный файл просто закидываем в папку tilesets (каталога img), возвращаемся в редактор мукера и открываем базу данных. 
Важно: в названии любых ресурсов рекомендуется использовать только латинницу, что бы не возникало проблем с запуском проекта на компах, где отсутствует кириллица.

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


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

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

А1 - 768х576
А2 - 768х576
А3 -  768х384
А4 - 768х720
А5 - 384х768
А, В, С, D и Е - 768х768

Удачи в мейкеризме!

среда, 28 сентября 2016 г.

Правила хорошего маппинга 

(в RPG Maker и не только)


1. Минимум пустого пространства
2. Избегать прямых маршрутов
3. Умеренность в разнообразии (В, C, D, E)
4. Умеренность в размерах
5. Разнообразие (A)
6. Осторожность с симметрией
7. Логическое обоснование
8. Цветовая сочетаемость
9. Композиционные построения
10. Игровая условность


1. Минимум пустого пространства

Договоримся считать пустым пространством область на карте, заполненную только тайлом «первичного пола» (земля, низкая трава, пол, вода и т.д.).

Рекомендованные ограничения по размерам областей(в тайлах):
2х2 – допускается
3х3 – не желательно
4х4 – крайне не желательно
5х5 и более – грубая ошибка

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

Совет: Чем более однотонный вид имеет ваш «первичный пол», тем более пустой кажется карта. Старайтесь использовать более неровные или «рябые» виды пола – это создает ощущение заполненности.

Пример: 1

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

2. Избегать прямых маршрутов

Каждая карта в каждой игре, это просто область, через которую игрок должен пройти из пункта А в пункт Б. Под пунктом А обычно понимается точка входа, а пункт Б, это конечная цель – точка перехода, НПС, квестовый предмет или босс и т.д. Опционально на карте могут присутствовать точки C, D, E и так далее – под ними имеются в виду тайники, секреты, дополнительные переходы, сторонние НПС и тому подобные необязательные вещи.
Соответственно, любую карту можно условно расчертить на маршруты между указанными точками. Ваша основная задача сделать так, что бы эти маршруты, не являлись прямыми линиями и имели как можно меньше прямых (90 градусов) углов. Это вторая аксиома, спорить с которой не имеет смысла.

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

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

Пример: 2

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

3. Умеренность в разнообразии (В, C, D, E)

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

Формула примерного количества тайлов вкладок В, С, D, E (каждый элемент считается за единицу вне зависимости, от размера, одинаковые элементы не считаются, анимированные элементы не считаются) на карту:
Для интерьеров: h*w/3
Для лесов и садов: h*w/4
Где: h – высота карты в тайлах
W – ширина карты в тайлах
Результат округляем в большую сторону. Допускается отхождение от результата на 20% в обе стороны, если это небходимо.

Пояснение: допустим есть карта размером 10х10, т.е площадью 100 тайлов, и оптимальным количеством - 25. Кто-то скажет, что этого недостаточно, однако не забывайте, что всегда можно наложить некоторые тайлы один на другой с помощью слоев (МВ) или ивентов – так образом при тех же условиях мы получим дополнительное разнообразие. Это убережет вас от чрезмерной детализации, которую игрок не оценит просто в силу того, что во время игры не всегда бывает время на разглядывание (данное утверждение не относится к выкладываемым скринам – их обычно оценивают пристально и пристрастно). Кроме того, перегрузка карт деталями – занятие трудоемное, а большинство из нас работают в одиночку и время – самый ценный ресурс.

Совет: используйте больше анимированных элементов. Движение – это жизнь.

Пример: 3

Итак, перед нами все та же карта. Размер ее 17х13, т.е. согласно формуле оптимальное число тайлов вкладок B, C, D, E ~ 45-67 штук. Я уложился в 31, но можно было смело поставить еще цветочков, а так же не полениться и раскидать листья разных форм и комбинаций. Просто, всего этого в РТП мейкера мало, а рисовать ради простого примера я откровенно поленился. Но задача была - показать, что сравнительно небольшого количества тайлов достаточно для того, что создать приличную карту. 

4. Умеренность в размерах

Помните о том, что гигантизм – это второй по значимости минус, после пустоты, а так же о том, что единственная настоящая цель карты – прохождение ее игроком по определенным маршрутам (смотри п.2).
Каких-либо конкретных формул тут предложить не могу, главное помните, что каждый шаг персонажа, это примерно 1 метр. Т.е. 1 тайл~1м^2. Исходя из этого, прикидывайте площади ваших карт.

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

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

Пример: 4

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


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

5. Разнообразие (A)

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

Для интерьеров:
Ковер лучше не раскатывать на всю площадь пола, а расположить с отступом
Трещины, потертости и пятна всегда создадут ощущение обжитости помещения, особенно если расположить их в логичных местах (об этом ниже)
Стена не обязана состоять из одинакового тайла. В разных комнатах могут быть разные обои, иногда нижнюю треть обшивают деревом, а вторую плиткой (фартук на кухне). Расположить тайлы вам поможет клавиша Shift.
Пол может состоять из разных материалов, в помещении может быть подиум из другого дерева

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

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

Пример: 5

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




Как видите, я добавил повреждения в пол (пришлось для этого заменить доску на паркет, так как дыры в досках мне не понравились), небольшую трещину на стену сверху, мышиную норку внизу и темное пятно на ковер, который поместил в центр. В чем логика маппинга подобных элементов? Дело в том, что повреждения пола обычно возникают там, где по нему чаще всего ходят. В нашем случае, это вход, место возле шкафа и возле кровати. Банально, зато всегда обосновано. Трещины в стенах чаще идут либо в углах,  либо ближе к ним. Особенно это касается деревянных стен, которые вообще-то не имеют привычки давать трещины, но спишем это на игровую условность, о которой будет сказано ниже. Остается отметить пятно в углу ковра - так уж вышло, что этот угол расположен прямо напротив входа. А значит на него часто наступают в грязной обуви, а может быть и вытирают ноги.

6. Осторожность с симметрией

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

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

Совет: с симметрией лучше всего бороться мелкими элементами, главное не переборщить, но об этом мы уже говорили.

Пример: 6



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

7. Логическое обоснование

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

Пояснение: тут все просто и сложно одновременно. Просто потому, что напрашивается, а сложно потому, что частенько приходится учить матчасть. Однако, это очень важно.

Совет: старайтесь делать игры по тем сеттингам которые знаете хорошо, либо по тем, которых не знает никто.


8. Цветовая сочетаемость

Хорошие сочетания
Синий(голубой) – белый, черный, желтый
Красный(коричневый) – желтый, оранжевый, черный, белый
Зеленый – желтый, голубой, оранжевый
Желтый – красный, оранжевый, красный
Серый – любые неяркие цвета

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

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


9. Композиционные построения.

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

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


10. Игровая условность.

Вы делаете в первую очередь игру. Даже если это симулятор колхоза имени пятидесятилетия СССР – это в первую очередь игра. Смело жертвуйте экономическими или рациональными тонкостями, если они не влияют на геймплей или сюжет. Государство может состоять из одного города. Деревня может состоять из пяти домов. В многоэтажном доме может быть доступен один этаж. Это не страшно. Гораздо хуже будет, если у вас будет 9 этажей пустых квартир никак не задействованных в геймплее – игрок устанет все это исследовать и просто забьет на большую часть.

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

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