Новости

На Sega Genesis воссоздали эффект прозрачности с консоли SNES

Моддер реализовал на 16-битной консоли Sega Genesis (она же Mega Drive) визуальный эффект прозрачности, который ранее был доступен лишь на конкурирующей платформе Super Nintendo.

В начале 90-х у консоли SNES было несколько визуальных технологий, которыми не могли похвастать конкуренты. Одной из них была реалистичная прозрачность объектов на экране, сквозь которые можно видеть задний фон. Эффект этот позволял выводить на экран, например, привидений Бу в играх про Марио. Приставка от Sega такого не умела.

В играх для Genesis прозрачность была реализована с помощью технологии dithering или screen-door transparency. Простыми словами: из 2D-спрайта удаляют часть пикселей в шахматном порядке, чтобы игрок через эти отверстия видел объекты позади него.

На SNES использовалась куда более продвинутая технология. Вернее, целых 4 технологии. Первая — color addition. Разработчик мог использовать невидимые лучи света, чтобы высветлить отдельные слои изображения. Так, например, если открыть оконные шторы в Chrono Trigger, комнату заливает солнечный свет. Вторая технология — color averaging. Она усредняет цвета пикселей наложенных друг на друга спрайтов. Её использовали для изображения воды, тумана, облаков и прозрачных теней.

Третья технология — color subtraction. Её применяли, если нужно было изобразить на экране прозрачные тени, ночное время суток и дождливую погоду. Пример — уровень Torchlight Trouble в игре Donkey Kong Country, где попугай подсвечивает игроку путь фонариком. Четвёртую технологию color subtraction then halving на практике практически не использовали. Инженеры Nintendo разработали её просто на всякий случай, если создателям игр захочется сделать очень тёмный спрайт чуть прозрачнее.

В разгар консольных войн между фанатами Sega и Nintendo, прозрачность спрайтов на экране была одним из краеугольных камней в многочисленных спорах. Владельцы SNES смеялись над играми для Genesis, приводя в пример игры для своей приставки. Но, в 2024 году эту несправедливость сумел исправить один талантливый инженер.

Разработчик Шэннон Бёрт ненадолго отвлёкся от разработки ретро-игры LUFTHOHEIT и придумал как реализовать SNES-прозрачность на железе Sega Genesis. С помощью брутфорса он заставил процессор Motorola 68000 работать практически на пределе возможностей. Его код позволил слабенькой консоли обрабатывать 5120 пикселей с частотой 60 кадров в минуту, чтобы достичь нужного эффекта. Как он утверждает, осталось ещё немного процессорной мощности для работы логики игры.

Чтобы достичь такого результата Шэннон использовал встроенные в Genesis режимы отображения Shadow & Highlight. Тестовая сцена, которую сделал разработчик, выводит на экран два движущихся привидения, сквозь которых прекрасно видно задний фон. Подобная графика была недостижима в 90-х. Но прогресс не стоит на месте.

Сам разработчик прокомментировал своё достижение немного видоизменённым рекламным слоганом: Genesis DOES. И ведь не поспоришь!

Читай также

Подписаться
Уведомить о
0 комментариев
Старые
Новые
Межтекстовые Отзывы
Посмотреть все комментарии