Шутер в стиле 1993-го намеренно: 256 цветов, кот-протагонист и трюк с colormap из Excel
Разработчик делает шутер от первого лица с программным рендерингом начала 90-х и без единого ИИ-ассета. Трюк с затенением в его основе — тот же, что использовал скрытый авиасимулятор в Excel 97. Тред полюбил ограничения.
Сборка — рейкастер 320×240 на 256 цветов, который заранее просчитывает затенение по расстоянию в «colormap», так что затемнение становится O(1) на столбец, а не на каждый пиксель.
Ветераны графики поправили эпоху: движок на самом деле уровня Wolfenstein 3D, а не Doom — и некоторые детали «чуть слишком крутые для 1993-го».
Более глубокая мысль всё равно дошла: это ровно то ремесло с нуля, в котором нынешние LLM ужасны.
Ограничение и есть смысл

Пост описывает «Catlantean 3D» — шутер от первого лица, который строят на техниках программного рендеринга начала 1990-х (фреймбуфер 320×240, палитра на 256 цветов), но на современных инструментах и с заявленным правилом: никаких ИИ-ассетов. Движок это DDA-рейкастер, чей центральный трюк — colormap: 2D-матрица индексов палитры с 32 уровнями тени, просчитанная один раз, так что затемнение по расстоянию становится O(1) на столбец, строку или спрайт вместо вычисления на каждый пиксель. Расстояния по цвету и тени считаются в пространстве Oklab с намеренным сдвигом оттенка в тёплые тёмные тона, чтобы тени не выглядели «холодными и безжизненными».

Конвейер ассетов заранее рендерит модели из Blender в квантованные спрайты пакетными Python-скриптами (около 10 секунд на 15 моделей на RTX 3070), с нарисованным вручную HUD, процедурно сгенерированными текстурами стен и «ошмётками» разрушения на основе декомпозиции Вороного. Протагонист — кот по имени Вилко; релиз нацелен на первый квартал 2027 года по цене $5–8.

Ветераны поправили эпоху
Историки графики из треда мягко оспорили ярлык «1993»: техника на поколение старше Doom.
«Тут много вдохновения от Doom, но сам рейкастинговый движок скорее как предшественники Doom … Wolfenstein 3D: перпендикулярные стены, постоянная высота пола и потолка.» — комментатор, прослеживающий настоящую родословную движка
А лучший факт связал трюк с colormap с неожиданным местом:
«Пасхалка с авиасимулятором / ковром-самолётом в Microsoft Excel 97 использовала тот же трюк с затенённой палитрой colormap плюс немного дизеринга.» — rezmason, который делает графические демо
Почему это отозвалось
Любители деталей вышли в полном составе, включая подсказку от известного имени в истории графики:
«Подумай о премиальной коробочной версии. Я бы её купил … Может, попробовать kickstarter, чтобы понять, сколько желающих?» — fabiensanglard
Было и воспоминание о временах, когда так просто и программировали:
«Указателя на 0xA0000 было достаточно: никаких API и прочего.» — комментатор, вспоминающий графику эпохи VGA
Сквозная мысль и причина, по которой статья про ретро-проект одного человека набрала 768 голосов: это ремесло не сжимается в промпт. Как сказал один читатель, программный рендеринг руками — «то, в чём LLM до смешного плохи, так что приходится делать как следует». В день, где правит модель, работающая девять с половиной часов без присмотра, самой залайканной графической историей стал человек, намеренно делающий это медленным, трудным способом 1993-го.
Получайте такие разборы каждый день
Главные истории Hacker News — на email, в Telegram или RSS.
Одна микроРНК держит растение молодым — и «вечная юность» независимо возникала у акаций семь раз
Биолог из Пенсильванского университета Скотт Поэтиг всю карьеру прослеживал переключатель, переводящий растение из юного состояния во взрослое. Держи одну молекулу, miR156, на высоком уровне — и растение никогда не повзрослеет. Тред принёс настоящую статью.