Сделай видеоигру один и не свихнись. Слава Грис
свое творение через Интернет, не заморачиваясь с поставками, логистикой и производством картриджей. В наши дни вы можете даже выпустить игру с ошибками, глюками и багами, а через какое-то время залатать все недоработки «патчем», скачивание которого многие пользователи даже не заметят. В былые же времена обнаружение серьезного бага в игре могло привести к отмене поставки картриджей, а значит, к колоссальным финансовым потерям.
Не только игровой рынок был негостеприимным для творчества: сами инструменты для разработки и жесткие требования к разработчикам создавали воистину спартанские условия для творцов.
Узнаваемый стиль 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 плиток