Сделай видеоигру один и не свихнись - Слава Грис
Позже, перед самым выходом консоли Nintendo64, президент компании Nintendo Хироси Ямаути говорил, что «рынок уже сейчас зашел в тупик. Он завален новыми играми, 70 % которых не находят своих поклонников». Это высказывание было сделано в 1996 году. Игровую индустрию никогда не переставали считать перегруженной новыми проектами и мантру об избыточном количестве игр всю дорогу повторяют в средствах массовой информации и в наши дни.
Подобные беспочвенные утверждения не являются поводом обесценивать заслуги разработчиков прошлого, как и не должны стать причиной опускать руки перед выходом на «перенасыщенный» рынок в наши дни.
Рынок видеоигр абсолютно всегда называли перенасыщенным, но это ничего не значит. Здесь всегда есть место новым именам. В том числе и вашему.
Условия, в которых выходили на Западе Final Fantasy и Super Mario, были, напротив, гораздо катастрофичнее, чем условия для выпуска игр в наши дни: игровое сообщество не отличалось многочисленностью; количество проданных приставок не составляло десятков миллионов; игру приходилось продавать строго на физических носителях, в то время как сейчас вы можете распространять любое свое творение через Интернет, не заморачиваясь с поставками, логистикой и производством картриджей. В наши дни вы можете даже выпустить игру с ошибками, глюками и багами, а через какое-то время залатать все недоработки «патчем», скачивание которого многие пользователи даже не заметят. В былые же времена обнаружение серьезного бага в игре могло привести к отмене поставки картриджей, а значит, к колоссальным финансовым потерям.
Не только игровой рынок был негостеприимным для творчества: сами инструменты для разработки и жесткие требования к разработчикам создавали воистину спартанские условия для творцов.
Узнаваемый стиль Super Mario создавался с использованием 64 цветов; битвы с ордой монстров в Final Fantasy умещались на экране 256 × 240 пикселей. Ограничения в количестве возможных для отображения цветов вынуждали разработчиков FF использовать всего лишь три цвета на каждого отдельного персонажа, а часть монстров была раскрашена с использованием одинаковой палитры – только так NES могла отобразить их на одном поле битвы.
Отдельные двухмерные объекты на экране называются «спрайтами». В понятие «спрайт» входили и интерактивные объекты, и персонаж, и враги, и элементы окружения вроде кустов и деревьев. Любая отдельная двухмерная картинка у вас на экране – это спрайт. Спрайт может быть как анимированным, так и статичным. Если вы нарисуете в какой-нибудь программе дерево на прозрачном фоне и вставите это дерево в игру, то дерево смело можно назвать «спрайтом».
Чтобы понять, в каких суровых ограничениях работали Миямото и его команда, можно взглянуть на всю графику в Super Mario (рис. 1).
Рис. 1
Вся графика из игры Super Mario Bros., NES, 1985 год.
Почему же мы не видим здесь отдельного спрайта для Марио, отдельного спрайта для боссов и для окружения? Где облака, где кусты? Что это за каша такая? А дело в том, что на NES крупные спрайты состояли из множества квадратиков 8 × 8 пикселей, каждый из которых имел несколько вариаций, чтобы создать анимацию. Спрайт Марио складывался из двух квадратиков, последовательная смена которых создавала иллюзию движения.
Художники не могли просто нарисовать Марио во весь рост и отправить его в игру в таком виде.
Раскрашивались спрайты программно, потому в игру они вносились в черно-белом варианте. Это позволяло использовать один и тот же спрайт, например, для облаков и кустов достаточно было облако покрасить в белый цвет, а куст – в зеленый.
Модуль обработки изображений NES отрисовывал всего два слоя. На верхнем из них располагались спрайты. Отдельный спрайт не мог быть больше, чем квадратик 8 × 8 пикселей, и для достижения такой цели, как «создать крупный спрайт персонажа», художникам приходилось разбивать изображение на 4, 6 или еще большее количество квадратиков. Анимации для каждого квадратика создавались отдельно.
Не менее сложный подход распространялся и на дизайн уровней. Второй из слоев, отображаемых модулем обработки изображений, был фоном. Фон состоял из 960 плиток разрешением 8 × 8 пикселей, но лишь 256 из них могли быть уникальными, в то время как остальные 704 обязаны были быть их копией. Меньше одной четверти экрана могло быть занято уникальными объектами!
Хоть приставка и могла обрабатывать 256 цветов, фону конкретно в Final Fantasy отдавалось 13 цветов, один из которых и без того был занят базовой заливкой. Оставшиеся 12 цветов разбивались на четыре палитры, но и на этом ограничения не заканчивались: система объединяла каждые 4 плитки 8 × 8 в один блок, и использовать в этом блоке можно было только одну из заготовленных палитр.
Файл со всей графикой в Марио занимал 8 Кб памяти. Чтобы так умело распределить объекты и разбить все на кубики 8 × 8, художник был обязан мыслить так, как мыслит программист. Здесь не шло речи о «свободе творчества» и непринужденных мазках кистью. Для создания подобной графики не хватит одних лишь академических навыков классического рисования. Чтобы сделать картинку выразительной, читаемой, узнаваемой и красивой, требовалось множество умений и знаний из областей, не относящихся к изобразительному искусству.
Массивное количество суровых ограничений превращало работу над визуальным стилем в изнурительную игру в невероятно усложненную версию шахмат. Разработка игр в таких сковывающих условиях в наши дни кажется абсурдной и невыполнимой задачей (рис. 2).
Рис. 2
Final Fantasy, NES, 1997 год
Можно углубиться еще дальше в системные ограничения NES и ужаснуться тому, что весь код игры приходилось писать на низкоуровневом языке Assembler, внешний вид которого способен ввести в состояние ужаса любого современного программиста. Командам Миямото (Super Mario) и Сакагути (Final Fantasy) приходилось писать свой собственный рендер; качество графики в их играх зависело не только от художников, но и от программистов; ребята не могли даже поворачивать спрайты! В NES не было такой функции! Если вы видели в играх крутящийся спрайт, то такой эффект был достигнут рядом изобретательных и оригинальных решений, а не простой современной командой rotate to angle. А про всего лишь пять голосовых потоков, которые были доступны авторам музыки для NES, можно написать отдельную книгу – и она будет достойна внимания, ибо в эпоху NES начало зарождаться такое направление, как chiptune