Читать книгу Настольная книга игродела - Слава Грис - Страница 8

Сделай видеоигру один и не свихнись
7. Наши помощники в 2D

Оглавление

Если вам, как и мне, 3D неинтересно и чуждо, а свой путь к успеху вы планируете проложить плоскими спрайтами вместо трехмерных фигурок, то встанет вполне резонный вопрос: в какой же программе начинать творить?

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

Krita и GIMP прекрасно годятся для создания растровых изображений. Растровое изображение – это файл, представляющий собой мозаику из цветных пикселей (самых маленьких точек, которые может отобразить ваш экран). Откройте фотографию вашего товарища в VK, сделайте свой собственный снимок или нарисуйте и сохраните что-нибудь в Paint – перед вами предстанет «растровое» изображение.

О смену размера картинок обжигаются многие начинающие разработчики, которые не могут определиться с тем, в каком же размере и формате им рисовать объекты для своей игры. Чтобы не обжечься о «мыльные» рисунки, я могу дать весьма точную рекомендацию. Для начала выберите, в каком максимальном разрешении вы хотели бы видеть свою игру. Я бы рекомендовал адаптировать всю графику под fHD – т. е. рисовать все объекты под размер экрана 1920 × 1080 точек. Но тут возникнет проблема, свойственная растру: взгляните, например, на Fearmonium (рис. 12).


Рис. 12

Fearmonium. Slava Gris, 2021


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

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

Если же вы хотите погрузиться в атмосферу ретроигр и ваш будущий шедевр планируется быть выполненным в pixel-art, то вышеперечисленных проблем у вас не возникнет: ваш единственно правильный выбор – рисовать объекты таким образом, чтобы квадратный пиксель являлся самым мелким объектом на экране.

Для Catmaze я выбрал разрешение 480 × 270 пикселей. Вся игра рисовалась под этот размер без всяких уменьшений и увеличений: главный персонаж, Алеста, заняла всего 44 пикселя в высоту (рис. 13).


Рис. 13

Спрайт Алесты из Catmaze высотой в 44 пикселя


Для рисования я использовал всего один инструмент – «карандаш» с твердыми краями и размером 1 пиксель. Каждый «квадратик» на этой картинке был кликом мышки. Когда вы видите один экран Catmaze – вы видите приблизительно 129 600 кликов мышкой.

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

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

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

Если же вам принципиально, чтобы решение было бесплатным, можно посмотреть в сторону того же GIMP или же GraphicsGale – обе эти утилиты предоставят вам необходимый для нашей работы инструментарий.

Но для 2D-графики у нас остается еще и третье решение – забытое, игнорируемое, но не менее интересное, чем растровая графика или пиксель-арт. Я говорю про вектор! Я не предлагаю делать вам Flash-игры, потому что эта технология уже нигде не поддерживается, речь идет об использовании редакторов векторной графики с целью создания растровых изображений. Процесс этот выглядит так: вы рисуете что-либо в векторе, а экспортируете уже в. png (один из форматов для растровых картинок) и в таком виде добавляете в игру.

В векторных редакторах изображение состоит не из пикселей, а из математических формул. Главным плюсом такой структуры является то, что, пока вы не отрендерели изображение (не нажали «сохранить как. png») вы можете манипулировать размером картинки как угодно – на качестве рисунка это не скажется никаким образом (рис. 14).

Современное привлекательное платное решение для вектора предоставляет Adobe Animate, а бесплатное – программа Inkscape. Плюсом работы в векторе является возможность рисовать мышкой и не чувствовать себя сумасшедшим: мы размещаем на холсте прямую линию, а затем с помощью курсора «гнем» ее в выбранных местах. Таким образом, линия всегда остается аккуратной, а не «дрожащей», как штрихи мышкой, выполненные в Photoshop.

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


Рис. 14

Сильно приближенное растровое изображение vs сильно приближенный рисунок того же размера, но в векторе


Чтобы не рисовать вовсе, вы можете найти бесплатные 2D-ассеты на просторах Интернета, но их узнаваемость будет куда выше, чем узнаваемость 3D-объектов, чей внешний вид во многом обусловлен постпроцессингом в движке и вашим вмешательством в структуры объектов. Вмешаться в уже нарисованный 2D-объект куда сложнее, а высокая узнаваемость бесплатных 2D-спрайтов крайне негативно скажется на индивидуальности вашей игры.

Но взять некоторые объекты за основу для своих экспериментов с кистью или найти готовое решение, например, для интерфейса или эффектов, кажется не такой уж плохой идеей. Для покупки 2D-ассетов вам подойдут все уже перечисленные «маркетплейсы»: 2D-ассеты есть как и в Unreal Marketplace, так и в Unity Asset Store и на том же Envato. А вот за бесплатными 2D-ассетами можно заглянуть на itch.io (в раздел assets), kenney или на OpengameArt.

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

Другим способом сэкономить ресурсы на рисовании может стать использование нейросетей. Упоминания достойны три из них: платная MidJourney, доступная только по приглашению Dalle-2, и непростая в освоении, но зато полностью бесплатная нейросеть Stable Diffusion. Все они работают по единому принципу: вы задаете текстовый запрос, который принято называть prompt, и на основе ваших слов нейросеть пытается создать изображение. Иной раз работы выглядят очень неплохо, но для того чтобы найти им применение, вам придется подключить всю вашу фантазию, потому что нейросети эти пока что неповоротливы и понимают ваши просьбы или слишком уж буквально, или, напротив, в качестве результата выдают весьма абстрактные рисунки. Нарисовать, например, одного персонажа с нескольких ракурсов или с разными выражениями лица с помощью нейросети у вас на данный момент не выйдет.

Для анимирования можно освоить массивную науку покадровой анимации, которая используется в большинстве ретроигр, двухмерных мультфильмах Disney и некоторых независимых проектах вроде всем известного Hollow Knight. Я и сам предпочитаю анимировать изображения по кадру, несмотря на то что это занимает огромное количество времени, но если вы спешите доделать свою первую игру (что является абсолютно правильным решением), я бы рекомендовал присмотреться к «скелетной анимации».

«Скелетная анимация» представляет собой процесс, для которого вам необходим персонаж, состоящий из мелких частей. Ноги, стопы, голова, волосы, глаза, руки, предплечья и т. д. должны быть нарисованы отдельно. Все эти кусочки собираются в скелет, и вам дается возможность манипулировать ими отдельно. Для того чтобы персонаж, например, поднял руку, вам не нужно рисовать кучу кадров анимации, а достаточно просто потянуть его за кисть. Примеры такой анимации вы можете посмотреть в играх студии Vanillaware – 13 Sentinels: Aegis Rim, Odin Sphere и Dragon’s Crown. Из платных приложений, позволяющих работать со скелетной анимацией, лидирующей по функционалу является программа Spine, а из бесплатных – Dragon Bones и, как ни странно, игровой движок Unity, предоставляющий достаточно массивный набор инструментов для работы со скелетной анимацией прямо внутри движка.

Вам самим решать, к чему больше предрасположен ваш склад ума и с каким типом графики вам будет проще работать: если, как и у меня, ваше мышление в 3D оставляет желать лучшего, а инженерная мысль не блещет искрами гениальности, то выбирать плоский холст для выражения своих идей – не худший вариант. Множество отличных современных игр делается в 2D.

Как научиться рисовать, моделировать и работать на движках – мы еще разберемся, но какой бы способ выражения своих мыслей вы ни выбрали, нас всех, и 3D-, и 2D-специалистов, объединит работа со звуком.

Настольная книга игродела

Подняться наверх