Художник создал кастомный игровой движок с симуляцией CRT дисплея за 100 дней

Инди-разработчик Analog Dream Dev отметил 100 дней разработки собственного игрового движка RetroEngine, созданного с нуля на Direct3D 12. Разработчик, изначально художник без опыта программирования, документирует весь процесс создания в серии devlog'ов на своём сайте.

Ключевая особенность RetroEngine – физически корректная симуляция электронно-лучевой трубки, работающая не как постпроцесс эффект, а как реальная модель дисплейной системы. Движок воссоздаёт поведение фосфорного покрытия CRT мониторов, включая паттерны маски теней и сетки, движение электронного луча и временное затухание свечения пикселей. Все элементы генерируются процедурно в шейдерах без использования текстур.

За последнюю неделю добавлены инструменты для создания уровней: анимация текстур, умное копирование объектов с автоматическим расчётом расстояний и система "чанков" – готовых блоков окружения, которые можно переиспользовать. Ранее были реализованы базовое освещение, загрузка 3D моделей, система материалов и текстур.

Разработчик столкнулся с множеством технических проблем. Одна из самых сложных – реализация эффекта послесвечения CRT-экранов. Первые попытки приводили к тому, что изображение становилось зелёным или полностью темнело. Решение нашлось через переосмысление физики – вместо накопления света система теперь только затухает, как настоящий монитор.

По словам создателя, движок работает стабильно на 60 кадрах в секунду. Разработчик продолжает добавлять функции и планирует в будущем заняться физикой и столкновениями объектов. Следить за прогрессом можно в твиттере.

Больше статей на Shazoo
Тэги: