Почему же мы не видим здесь отдельного спрайта для Марио, отдельного спрайта для боссов и для окружения? Где облака, где кусты? Что это за каша такая? А дело в том, что на NES крупные спрайты состояли из множества квадратиков 8 x 8 пикселей, каждый из которых имел несколько вариаций, чтобы создать анимацию. Спрайт Марио складывался из двух квадратиков, последовательная смена которых создавала иллюзию движения.
Художники не могли просто нарисовать Марио во весь рост и отправить его в игру в таком виде.
Раскрашивались спрайты программно, потому в игру они вносились в черно-белом варианте. Это позволяло использовать один и тот же спрайт, например, для облаков и кустов достаточно было облако покрасить в белый цвет, а куст – в зеленый.
Модуль обработки изображений NES отрисовывал всего два слоя. На верхнем из них располагались спрайты. Отдельный спрайт не мог быть больше, чем квадратик 8 x 8 пикселей, и для достижения такой цели, как «создать крупный спрайт персонажа», художникам приходилось разбивать изображение на 4, 6 или еще большее количество квадратиков. Анимации для каждого квадратика создавались отдельно.
Не менее сложный подход распространялся и на дизайн уровней. Второй из слоев, отображаемых модулем обработки изображений, был фоном. Фон состоял из 900 плиток разрешением 8 x 8 пикселей, но лишь 256 из них могли быть уникальными, в то время как остальные 644 обязаны были быть их копией. Меньше одной четверти экрана могло быть занято уникальными объектами!
Хоть приставка и могла обрабатывать 256 цветов, фону конкретно в Final Fantasy отдавалось 13 цветов, один из которых и без того был занят базовой заливкой. Оставшиеся 12 цветов разбивались на четыре палитры, но и на этом ограничения не заканчивались: система объединяла каждые 4 плитки 8 x 8 в один блок, и использовать в этом блоке можно было только одну из заготовленных палитр.
Файл со всей графикой в Марио занимал 8 Кб памяти. Чтобы так умело распределить объекты и разбить все на кубики 8 x 8, художник был обязан мыслить так, как мыслит программист. Здесь не шло речи о «свободе творчества» и непринужденных мазках кистью. Для создания подобной графики не хватит одних лишь академических навыков классического рисования. Чтобы сделать картинку выразительной, читаемой, узнаваемой и красивой, требовалось множество умений и знаний из областей, не относящихся к изобразительному искусству.
Массивное количество суровых ограничений превращало работу над визуальным стилем в изнурительную игру в невероятно усложненную версию шахмат. Разработка игр в таких сковывающих условиях в наши дни кажется абсурдной и невыполнимой задачей
Можно углубиться еще дальше в системные ограничения NES и ужаснуться тому, что весь код игры приходилось писать на низкоуровневом языке Assembler, внешний вид которого способен ввести в состояние ужаса любого современного программиста. Командам Миямото (Super Mario) и Сакагути (Final Fantasy) приходилось писать свой собственный рендер; качество графики в их играх зависело не только от художников, но и от программистов; ребята не могли даже поворачивать спрайты! В NES не было такой функции! Если вы видели в играх крутящийся спрайт, то такой эффект был достигнут рядом изобретательных и оригинальных решений, а не простой современной командой rotate to angle. А про всего лишь пять голосовых потоков, которые были доступны авторам музыки для NES, можно написать отдельную книгу – и она будет достойна внимания, ибо в эпоху NES начало зарождаться такое направление, как chiptune – «восьмибитная» музыка, у которой все еще есть поклонники и авторы.
Рис. 2. Final Fantasy, NES, 1997 год
Команды и Миямото, и Сакагути состояли всего из четырех человек. Четыре человека, находясь во внушительных ограничениях, обладая, казалось бы, неимоверно скудными возможностями, смогли создать нечто столь грандиозное и революционное, как Super Mario и Final Fantasy.
В восьмидесятые не было Youtube с его колоссальным количеством уроков. Не было книг и курсов. Не существовало понятия pixel-artist (тот, кто рисует изображения с помощью «пикселей» – самых крошечных объектов на экране), а ведь рисовать на уровне пикселей – это отнюдь не то же самое, что заниматься классическим изобразительным искусством. Разработчики не могли перенять опыт своих коллег, потому что со своими революционными идеями смелые и умные ребята выходили на абсолютно не истоптанную тропу, где они оставались со своими уникальными проблемами один на один.
Но что самое интересное – у них получилось создать нечто волшебное, удивительное, положившее начало целым культурам и вырастившее не одно поколение игроков. У них не было и десятой части тех инструментов, что есть сейчас у нас. Наши возможности – гораздо шире, чем были у разработчиков в конце восьмидесятых, и сделать мы можем в разы больше. Свою Final Fantasy у вас сейчас получится создать играючи.