Разработчик под псевдонимом Catlantean больше года в свободное время собирает шутер от первого лица Catlantean 3D, который выйдет в Steam в первом квартале 2027 года. Главное условие — все графические и звуковые эффекты делаются вручную, как в ранних 90-х, но с современным компилятором и прослойкой для работы на разных платформах.
Игра работает в разрешении 320×240 с палитрой всего на 256 цветов. Каждый цвет — это байт, который указывает на конкретный оттенок из таблицы RGB. Автор долго подбирал эти 768 байт палитры: выделил цвета под прозрачность (ярко-розовый), белый, чёрный, много красного для крови, оттенки для пустынной тематики (действие происходит в пародийном Древнем Египте с кошками), серые тона для кибернетических собак-оккупантов и бежевые для разнообразия.
Особое внимание уделено освещению. Поскольку это рейкастер (как старый Doom), без шейдеров пришлось придумывать обходной путь. Для каждого цвета из палитры разработчик заранее просчитал 32 уровня затемнения. Чтобы тени не съезжали в серый, цвета конвертировали в цветовое пространство Oklab — оно ближе к человеческому восприятию. Чем темнее цвет, тем теплее он становится (хю-шифтинг). Получившаяся таблица (colormap) позволяет за одно вычисление найти нужный оттенок по расстоянию до объекта.
Ассеты создаются тремя способами. Сложные анимированные спрайты (монстры, оружие) делаются в Blender: модель анимируется, рендерится, затем специальный скрипт подгоняет картинку под палитру из 256 цветов и упаковывает в собственный формат TEX. Простые спрайты и элементы интерфейса автор рисует вручную в Aseprite — так они выглядят живее. Текстуры окружения (стены, пол) генерируются процедурно через Python-скрипты на основе карт высот, шума и загрязнений.
Особенно впечатляет система гиб-анимаций: когда врага разрывает взрывом, скрипт разбивает спрайт на куски по Вороному, добавляет «кровь» на границах осколков и просчитывает физику разлёта с гравитацией и вращением. Никакой физики столкновений — куски просто падают. Параметры (количество осколков, сила взрыва, вязкость крови) настраиваются в JSON.
Для редактирования уровней автор написал собственный редактор на wxPython. В отличие от Tiled, он поддерживает раскраску освещения, флаги ячеек и все нужные типы сущностей. Редактор будет поставляться вместе с игрой.
Стоить игра будет 5–8 долларов. Исходный код выложат на GitHub, но для запуска потребуется купить архив с графикой, звуками и уровнями.