Nintendo Entertainment System (NES) была революционной консолью, когда она была выпущена в 1983 году. Благодаря своим 8-битным графическим и звуковым возможностям NES могла отображать игры с более сложными визуальными эффектами и звуком, чем предыдущие домашние консоли. Одним из ключей к улучшенной графике NES было использование специального чипа процессора изображений (PPU). Это позволило NES генерировать разнообразную палитру цветов и детализированную пиксельную графику. В этой статье мы подробно рассмотрим, как чип PPU NES генерировал цвета, а также ограничения и особенности цветовой палитры NES.
Разработанный Ricoh PPU NES был специализированным микропроцессором, предназначенным для генерации видеовыходов. Он работал совместно с основным ЦП 6502 для создания графики игры и отправки ее на экран телевизора пользователя.
Некоторые ключевые возможности NES PPU включают:
PPU содержал видеопамять (VRAM), в которой хранились графические данные, такие как узоры спрайтов и фоновые плитки. Умно организуя эти видеоданные и циклически переключаясь между палитрами, PPU мог генерировать подробную и красочную графику в рамках ограничений технологий 1980-х годов.
Цветовая палитра NES — один из самых знаковых атрибутов консоли. NES могла генерировать в общей сложности 48 различных цветов. Только 25 из них могли быть отображены на одном телевизионном кадре.
Цвета были выбраны для обеспечения гибкости и минимизации визуальных артефактов на телевизионных экранах 1980-х годов. Вот полная палитра из 48 цветов NES:
| #7C7C7C | #0000FC | #0000BC | #4428BC | |
| #940084 | #A80020 | #A81000 | #881400 | |
| #503000 | #007800 | #006800 | #005800 | |
| #004058 | #000000 | #000000 | #000000 | |
| #BCBCBC | #0078F8 | #0058F8 | #6844FC | |
| #D800CC | #E40058 | #F83800 | #E45C10 | |
| #AC7C00 | #00B800 | #00A800 | #00A844 | |
| #008888 | #000000 | #000000 | #000000 | |
| #FFFFFF | #FFFFFF | #FFFFFF | #FFFFFF | #FFFFFF |
| #000000 | #000000 | #000000 | #000000 |
Как вы можете видеть, цветовая палитра NES в основном состоит из более темных, приглушенных тонов. Это было сделано для минимизации цветовых искажений и полос на телевизорах и радиочастотных разъемах 1980-х годов. Тем не менее, опытные программисты NES могли использовать гибкие палитры для создания привлекательной графики.
Несмотря на свои инновации, NES по-прежнему была ограничена 8-битной цветовой графикой. На цвета NES было несколько ограничений:
Программистам приходилось тщательно управлять ограничениями цветов NES. Но такие методы, как дизеринг и цикл дворцов, помогали им максимально использовать возможности.
Так как же игры NES выбирали эти экранные цвета из основной 48-цветовой палитры?
PPU NES использовал местоположение в памяти для определения цветов спрайтов и фона. Изменяя расположение видеоданных в VRAM, игра может эффективно менять палитру.
| Расположение памяти | Цвета палитры |
|---|---|
| $0000-$0FFF | Палитра 0 |
| $1000-$1FFF | Палитра 1 |
| $2000-$2FFF | Палитра 2 |
| $3000-$3FFF | Палитра 3 |
Например, данные в диапазоне адресов $1000-$1FFF будут использовать палитру 1's colors. Адреса $3000-$3FFF будут использовать палитру 3.
Это давало играм 256 различных вариантов палитры для разнообразия цветов!
Цвета фона NES определялись палитрами, назначенными каждой плитке:
Тщательное расположение плиток позволяло фонам содержать несколько палитр. Но проблема столкновения атрибутов могла вызывать проблемы:
Столкновение атрибутов происходило, когда соседние плитки имели разные палитры. Обойти это помогли такие хитрые приемы программирования, как таблицы имен и зеркалирование.
Спрайты NES использовали похожую систему палитр, но имели больше ограничений по цвету:
Таким образом, спрайт 8?8, использующий палитру 0, мог использовать только цвета 0-3 этой палитры. Это было строгим ограничением по сравнению с фонами.
Программисты использовали такие приемы, как наложение спрайтов и замена палитры, чтобы обойти ограничения. Но это потребовало усилий и креативности!
Многие классические игры NES творчески использовали цветовые палитры для создания отличительных визуальных стилей:
| Игра | Описание |
|---|---|
| Super Mario Bros. | Использовалась теплая палитра 0 цветов для земли, холодная палитра 1 для подземных уровней. |
| Mega Man | Назначена уникальная палитра для каждого уровня мастера роботов. |
| Castlevania | Драматическая готическая палитра для соответствия теме ужасов. |
| Bubble Bobble | Пастельная палитра соответствовала милым персонажам и тема. |
Художники NES научились творить чудеса в рамках цветовых ограничений. Их опыт превратил ограничения в культовый графический дизайн.
По мере того, как разработчики осваивали систему, они открывали передовые цветовые приемы, которые еще больше раздвигали границы:
Эти инновации позволили реализовать яркие эффекты огня и воды, прозрачность, тени и многое другое на скромном оборудовании NES!
Строгая цветовая система NES означала, что программистам приходилось проявлять креативность, чтобы обойти ограничения. Вот несколько примечательных примеров:
Несмотря на свои причуды, цветовая палитра NES стала любимой частью идентичности системы. Разработчики игр научились принимать ограничения и использовать цвета стратегически для максимального эффекта. Ограничения даже способствовали появлению знаковых 8-битных графических стилей многих игр.
Цветовая палитра NES является свидетельством артистизма и креативности, возможных даже в условиях жестких технических ограничений. Несмотря на ограничения 8-битной 48-цветной графикой, таланты художников и программистов NES по пикселям максимально использовали возможности. Их новаторские усилия расширили художественный потенциал ранних визуальных эффектов видеоигр.
Сегодня палитра NES остается источником вдохновения для современных независимых разработчиков. Ее ретро-стиль часто используется в новых играх, стремящихся вызвать воспоминания о ранних эпохах игр. Яркие цвета являются отличительной чертой как платформы NES, так и инновационного периода в развитии среды. Как возможности, так и ограничения цветовой палитры NES оставили неизгладимый след в истории игр.