В чем рисовать пиксель арт для игры. Введение в пиксельную графику (Pixel Art) для игр

В этом уроке мы научимся технике превращения фотографии человека в пиксельного персонажа аркадных игр начала 90-х.

Джеймс Мэй - он же Smudgethis - разработал этот стиль в 2011 для первого хита дабстеп-рок группы Nero - Me & You . Он создал анимацию, в которой двое участников группы были показаны героями старой аркады. Игра выглядела как 16-битный сайд скроллер в жанре beat-em-up, похожий на Double Dragon , но намного лучшего качества, чем восьмибитная ретро классика, как Super Mario Bros .

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

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

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

В этом уроке Джеймс покажет, как создать персонажа, основанного на фотографии, используя простою цветовую палитру и инструмент Карандаш (Pencil).

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

Объяснения о том, что происходит в этой плитке

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

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

Когда всё будет готово, почитайте урок по 16-битной анимации в After Effects , где Джеймс покажет, как перенести персонажа в AE, заставить его двигаться и применить эффекты ретро игр.

Создайте спрайт заголовка и добавьте его в группу заголовков

Группы мощные, каждый спрайт, прикрепленный к группе, можно легко манипулировать. У всех есть метод для их обработки в одно и то же время. Мы можем изменить их свойства или объединить их. Мы создаем «название» спрайта, используя синтаксис, увиденный ранее, и в следующей строке мы добавляем этот спрайт в заголовок группы.

Шаг 4: добавьте анимацию в птицу с помощью спрайта и начните играть с анимацией

Как и предыдущий шаг, за исключением того, что мы создаем спрайт «птица». Здесь что-то новое! Доступ к нему возможен через объект анимации спрайта. На данный момент мы создаем простую анимацию. Если бы у нашего спрайта было намного больше изображений и анимаций, мы могли бы сделать гораздо более сложные анимации. Но это еще один учебник. На самом деле наш код довольно прост.

Шаг 1

Откройте файлы Animation Guide (16 bit). psd и 18888111. jpg (или выбранный вами снимок), чтобы использовать в качестве основы персонажа. Фотография в профиль в полный рост отлично подойдет, а также поможет получить цветовые палитры и стиль 16-битного рисунка.

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

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

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


Шаг 2

При помощи инструмента Прямоугольное выделение (Rectangular Marquee tool) выделите голову человека, скопируйте (Ctrl + C ) и вставьте (Ctrl + V ) ее в Animation Guide (16 bit). psd .

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

Что можно было бы перевести на французский язык

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

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


Шаг 3

Создайте новый слой и нарисуйте обводку черным Карандашом (Pencil) толщиной в один пиксель, используя каркас как основу.

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

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

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

Шаг 4

При помощи инструмента Пипетка (Eyedropper tool), выделите самый темный участок кожи и закрасьте полученным цветом маленький участок. Сделайте это еще три раза, получив четырехцветную палитру для оттенков кожи.

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

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

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

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

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


Шаг 5

Повторите процесс для остальных частей тела, затеняя кожу и одежду и ориентируясь на исходный снимок. Не забывайте пользоваться Пипеткой (Eyedropper tool), сначала создав цветовую палитру, так как это позволит создать фиксированный набор цветов, которые отлично выглядят и вписываются в 16-битный стиль.

Анимация и уровень детализации: случай Брен МакГуайр

Нет никакой тайны: чем менее детальна анимация, тем меньше она выглядит, независимо от частоты игры, в которой она используется: немного анимации лучше, чем длинная речь, давайте возьмем пример маленький джентльмен в синих и серых боевых доспехах, которые хотят сломать ему все зубы в машине: Брен МакГуайр, герои культурного туррика на Амиге. Что хорошо о Брене, так это то, что его приключения были преобразованы во многие СМИ, и что они не были так же хорошо обеспечены Матерью-природой, как машина покойного Джей Майнера.


Шаг 6

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

И с таймерами, что это?

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

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


Шаг 7

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

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

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


Шаг 8

Чтобы проверить, все ли правильно нарисовано, откройте панель Анимация (Animation) в Photoshop и убедитесь, что первый кадр активен. Можно добавить новые кадры, включать или отключать каждый слой, получив свою анимацию, но самый быстрый способ - использовать команду Создать кадры из слоев (Make Frames From Layers) во всплывающем меню панели (верхний правый угол).

Интерполяция: когда машина оживляет себя

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

Первый слой - это пустой фон, поэтому выберите его и кликните по иконке мусорного бака (внизу), чтобы удалить.

Для начала вам потребуется конструктор игр- мы возьмём 001 Game Creator. Скачать его можно перейдя по ссылке: http://www.engine001.com/downloads.htm
Есть 3 версии данного конструктора, и нас интересует первая- Free. Её главный плюс в том что она бесплатна.
Ну в общем скачали, установили, запускаем программу.

Мы хотим, чтобы он двигался так.

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

Вылезло вот такое окно:

2 шаг

Нам предлагается выбрать жанр игры- Экшн/РПГ, платформер, квест. Выбираем 1 или 2 пункт- Экшн/РПГ. Принципиально неважно, какой из них вы возьмёте, различия лишь в
стартовом наборе графики. Потому я беру 2.
Далее в поле “Name of projekt” нам надо ввести название нашей будущей игры- Вы пишите своё, я напишу “Tutorial”.
Когда всё загрузилось появится окно разработки.
Здесь и будет происходить Создание нашей игры.
Перейдём во вкладку Game(игра)=>GameSettings(игровые настройки). Здесь мы можем выбрать локацию, на которой будет старт игры (о локациях я расскажу чуть позже),
выбрать “иконку” игры, выбрать разрешение экрана, и полазить в прочих настройках.

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

Чем отличаются игры друг от друга в первую очередь? Графикой конечно. Для редактирования графики в игре надо перейти на эту панель:

3 шаг

Для загрузки анимации людей, машин, врагов нам необходимо будет выбрать первый пункт, изображающий человеческую фигуру.
Если выбрать второй пункт, изображающий ёлочку, нам предоставится возможность загрузить свои текстуры (изображения, которые будут покрывать пол и стены в игре) и
рисунки окружающих объектов (или анимации).
Загрузим наши текстуры стен и земли.
Примечание: изображение должно иметь размер в 32 на 32 пикселя.

4 шаг

Потом так же загрузим изображение стены (вкладка Walls).

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

Выбираем текстуру земли и мышкой “рисуем” её на земле в игре. Затем Выбере пункт “Стены”, и “построим” дом.

Половина работы уже сделана! Но вам не кажется что локация для игры Слишком маленькая? Смело тянем курсором мыши за край локации и она увеличивается!

Чтож, у нас есть локация, есть дом и земля, добавим NPC .
На этой панели мы выберем изображение с человечком (Actor), и кликнем мышкой по тому мсту на локации, где должен будет распологаться наш NPC .
На экране появится окно, где можно будет выбрать тип персонажа. Основные для нас- Enemy(Враг) и NPC . Пока что выберем NPC .
Теперь мы можем выбрать характеристики создаваемого персонажа- от его кодового имени до спрайта и направления.

Тоно так же, выбрав “Item” можно добавить какую-нибудь вещь, которую игрок сможет поменять. Я добавлю “Grenade Lauher” из стандартного набора объектов.
При создании нового объекта на карте параметор “Qantity” отвечает за количество этих самых объектов, “Ammunation”- за количество потронов (стрел, гранат, и проего), если они предусмотрены для этого объекта)

Получится может примерно так:

5 шаг

Чтобы настроить старые, или добавить новые объекты, с которыми сможет взаимодействовать объект из меню инвентаря надо в этой панели

кликнуть по рисунку с мешочком. Появится окно редактирования объектов инвентаря.

Теперь вы можете протестировать свои наработки: перейдите в Game=> TestGame или в Game=>BuildGame и протестируйте и скомпилируйте вашу игру.
Пока что там есть только земля, Дом, NPC и гранатомёт, который вы сможете подобрать чтобы им воспользоваться.
Продолжение следует.