Если рисуемая вручную 2D-анимация, как правило, стремится в полной мере использовать преимущества современного оборудования, то игры с пиксель-артом в той или иной степени опираются на ретроэстетику. И хотя лишь немногие современные игры с пиксель-артом на все сто процентов соответствуют своим 8- или 16-битным консольным прототипам (обычно они лишь передают «дух» эпохи), знание некоторых особенностей этих прототипов поможет вам придать пиксель-арт-анимации более глубокий смысл и сохранить ее визуальную целостность. Независимо от методов 2D-анимации на ранней стадии любого проекта очень важно определиться с техническими параметрами, потому что на поздних стадиях менять двухмерное изображение гораздо сложнее, чем трехмерное.
Хотя в настоящее время ограничений классических консолей уже не существует, иметь основное представление об эмуляции весьма полезно хотя бы для более удачной имитации старых игр. Перед началом проекта стоит понять, что это были за ограничения (цветовая палитра, размеры пикселей, количество кадров и т. д.) и с чем они были связаны.
Разрешение экрана
Разрешение экрана влияет преимущественно на размер пикселей, отображаемых на современном экране, и, как следствие, на степень детализации персонажей и окружения. От этого в первую очередь зависит, какую классическую эпоху будут имитировать визуальные эффекты.
Поскольку современные мониторы и телевизоры с разрешением HD или 4K+ имеют гораздо большую плотность пикселей, чем экраны старых моделей, для передачи того же размера пикселей («идеальное попиксельное масштабирование») необходимо произвести вычисление соответствия пикселей и поделить общее количество пикселей на некое целое число. Например, HDTV-экран с разрешением 1920x1080 пикселей в идеале должен отображать изображение с разрешением 960x540 для пикселей двойного размера, 640x360 для тройного и 480x270 для четверного – с каждым разом пиксели становятся более крупными и отражают более старое поколение консоли.
Ниже приведена таблица, иллюстрирующая технические характеристики классических консолей, имеющих отношение к созданию анимации. Обратите внимание, что разрешение рассчитано для неширокоэкранного соотношения сторон, поэтому изображение никогда не будет точно соответствовать современным широкоэкранным проектам, и эти данные должны использоваться только в качестве ориентира.
* Для системы NTSC (Япония и США) в отличие от системы PAL (Европа и Австралия)
** Приблизительно, так как общее количество цветов зависело от конкретных технических характеристик
*** На основе Capcom CP System III
В эстетических целях можно использовать и неравномерные пиксели, но равномерность следует соблюдать, чтобы избежать некрасивых растянутых пикселей, а также для корректного использования «построчного сканирования» – процесса постобработки для создания ретроэффекта телевизоров и аркадных мониторов старого образца.
Размер персонажей/тайлов
Одним из ключевых факторов, тесно связанных с разрешением экрана, служит размер персонажа на экране. От размера персонажа зависит видимое пространство игрового мира, и выбор при этом обусловливается геймплеем, подобно тому как расстояние до камеры влияет на восприятие окружающей среды в 3D-играх. Например, для платформеров лучше подходят персонажи меньшего размера, так как в таком случае на экране видно больше окружения.
Для экономии памяти классическое игровое окружение создавалось с помощью повторяющихся «тайлов», или плиток, которые при выкладывании друг за другом не оставляли зазоров или швов. Из тайлов создавались и персонажи – так они лучше грузились в память, позволяя оставлять как можно меньше тайлов неиспользованными; заодно они лучше соответствовали стандартным размерам окружения (например, высоте прыжка в три символа). Такой стандартизации стоит придерживаться и сегодня, благодаря чему повышается читаемость размеров и расстояний в целях геймплея.
В классических аркадных играх компании Capcom распределение памяти изображалось в виде отдельных листов с рисунками. Художники должны были распечатывать и разрезать свои спрайты на фрагменты любым способом, чтобы те помещались на листах картона. (Публикуется с разрешения Capcom.)
Еще один важный помимо геймплея и памяти фактор при выборе размера спрайтов[11] – это желаемая степень детализации. Если для вашей игры важны детали, то в маленьких спрайтах будет сложнее прорабатывать детали лица, чем в крупных, и наоборот, если вы хотите, чтобы игра была более абстрактной, то лучше использовать маленькие спрайты (не говоря уже о том, что их будет проще рисовать).
Небольшой размер спрайта персонажа игры Celeste позволяет гораздо лучше ориентироваться в окружающей среде. (Публикуется с разрешения компании Miniboss.)
В конечном счете, чем больше деталей отображается в каждом кадре, тем больше работы потребуется для прорисовки персонажа, поэтому детализацию важно учитывать при планировании производства. Упрощенная пиксельная анимация позволяет создавать целые миры и запоминающиеся персонажи даже небольшим командам или вовсе отдельным разработчикам, что было бы невозможно при использовании 3D-изображений высокой четкости.
Палитры
Классические консоли имели ограничения по количеству отображаемых цветов (см. предыдущую таблицу), особенно по количеству цветов в спрайтах, поэтому персонажи исторических игр рисовались с использованием небольшого количества цветов. Отчасти это было выгодно, так как слишком большое количество цветов и слишком сложные спрайты могут создавать хаос на экране и затруднять восприятие. Поэтому и в наши дни при рисовании спрайтов стоит ограничивать цветовую палитру.
Спрайт персонажа AZRI и ограниченная цветовая палитра для него
Ограничение палитры не только упрощает визуальный ряд и делает пиксель-арт более легким, но и позволяет менять палитры, то есть переключать их с помощью индексации цветов (при этом отдельные пиксели указывают на элемент палитры, например «цвет 01», «цвет 02» или «цвет 03», а не просто хранят информацию о конкретном цвете). Такую возможность переключения палитр чаще всего используют для передачи разнообразия костюмов персонажей, но она позволяет реализовать множество других эффектов – например, «мигание» персонажа при повреждении или изменение оттенка на красный при горении. Количество цветов, выбранных для спрайтов и игры в целом, а также размер/разрешение пикселей в целом определяют эмулируемую эпоху.
Чтобы наилучшим образом реализовать альтернативные цветовые схемы для персонажей, стоит как можно чаще разделять элементы по цвету, и в некоторых случаях даже использовать разные позиции палитры для одинаково окрашенных элементов. (Например, если у персонажа красные туфли и перчатки, то можно использовать для них разные красные цвета на тот случай, если впоследствии потребуется сделать их разного цвета.) Важно отметить, что не следует использовать специфический оттенок для нескольких элементов – например, один и тот же светлый тон для кожи и для светлых волос, так как впоследствии не получится изменить тон кожи без ущерба для цвета волос и наоборот.
Спрайт-листы
Традиционным способом передачи пиксельной анимации в движок были не кадры, хранящиеся в виде отдельных изображений, а так называемые спрайт-листы[12]. Они представляли собой набор расположенных на большой площади кадров с определенными для каждого координатами по осям X и Y. Анимация в игре воспроизводилась посредством обновления значений координат для каждого кадра, что создавало эффект перелистываемой книги с рисунками. Спрайт-листы ориентировались на максимальное использование памяти для анимации, и общее количество кадров для персонажа ограничивалось размером спрайт-листа, на котором располагались кадры.
Спрайт-лист из GRIS, автоматически распределенный на полигоны в TexturePacker от CodeAndWeb (Публикуется с разрешения Nomada Studio.)
Современные спрайтовые таблицы и движки разрешают размещать изображения на полигонах, что позволяет еще лучше хранить спрайты, поскольку их можно более творчески упаковывать в память подобно пазлу благодаря автоматизированному процессу. Но даже при этом современные игры имеют гораздо меньше ограничений на количество кадров в памяти, чем старые, поэтому выбор количества кадров становится в большей степени вопросом рабочего процесса, а также эстетическим выбором, от которого зависит имитация разных эпох спрайтовых игр.
Анализ «ретроигры»: Shovel Knight
Игра Shovel Knight от Yacht Club Games – это ретроплатформер, получивший успех на Kickstarter и выполненный в духе классической серии Mega Man компании Capcom. Это отличный пример сочетания принципов современного гейм-дизайна с достоверной передачей облика игр для приставки NES. Несмотря на то что игра вышла на более мощных современных консолях, при ее создании были соблюдены технические ограничения, соответствующие ожиданиям и представлениям игроков об аутентичном виде классической восьмибитной игры.
Ретроэстетика Shovel Knight передана благодаря определенным ограничениям для анимационных кадров, но в нее все равно допускается больше возможностей, чем в послуживших для нее вдохновением игр для 8-битных консолей. (Публикуется с разрешения Yacht Club Games.)
Для этого отдельные спрайты персонажей были ограничены пятью цветами. Черный цвет использовался как для контуров, так и для заполнения формы и сокращения потребности в цвете, а формы были большими и крупными, чтобы заполнить тайлы[13]. Художественное оформление мира состояло из плиток размером 16×16 пикселей, а персонажи были кратны им. Игровые метрики, такие как высота и длина прыжка, соответствовали этим размерам, так как длину прыжка гораздо проще описать в тайлах, чем в пикселях.