Retro Game Engine: Recreando la Estética CRT

Fuentes: Light on Glass

Este artículo de Analog Dream Dev explora la motivación detrás de la creación de Retro Game Engine, un motor de juego diseñado específicamente para replicar la estética visual de los juegos clásicos en televisores CRT (tubos de rayos catódicos). El autor, con experiencia previa en motores como Unreal Engine y Unity, describe cómo la simple reintroducción de un CRT en su flujo de trabajo reveló una diferencia fundamental en la forma en que los juegos modernos se renderizan en comparación con la experiencia original de los juegos de la década de 1990.

Los motores de juego modernos, como Unreal y Unity, operan bajo un paradigma de 'cámara virtual' donde una cámara simula una toma de un mundo 3D, y se aplican efectos de post-procesamiento para estilizar la imagen final. Esto es ideal para renderizar mundos grandes y realistas a altas velocidades de fotogramas. Sin embargo, el autor argumenta que este enfoque ignora la naturaleza física única de los CRT. Un CRT no es simplemente una cámara que captura una escena; es un dispositivo que genera una imagen a través de un proceso físico, donde un haz de electrones escanea la pantalla, excitando fósforos que emiten luz con un decaimiento temporal. Esta interacción física crea una imagen con características específicas, como la difuminación del movimiento, el comportamiento de la luz y la apariencia de los píxeles, que contribuyen a la estética distintiva de los juegos CRT.

Retro Game Engine busca replicar esta experiencia, no a través de filtros de post-procesamiento superficiales, sino integrando la simulación de CRT en el núcleo del proceso de renderizado. Esto implica manipular la cadena de intercambio (swap chain), que es la forma en que la GPU gestiona los fotogramas, para preservar información de un fotograma al siguiente, simulando la persistencia de la luz en la pantalla CRT. El autor reconoce que esta es una tarea compleja que requiere una comprensión profunda de la arquitectura de renderizado y que se aleja del flujo de trabajo estándar de los motores de juego modernos. El objetivo final es crear un motor que no solo imite la apariencia visual de los juegos CRT, sino que también recree la relación única entre el hardware, el arte y la experiencia del jugador que se perdió con la transición a las pantallas modernas.

El artículo también enfatiza que este no es un intento de crear un motor 'mejor' que Unreal o Unity, sino más bien una herramienta especializada, como un destornillador Philips, diseñada para un propósito específico y que lo hace mejor que una herramienta multiuso. La limitación principal es la especialización: Retro Game Engine no será tan versátil como los motores de propósito general. El autor también reconoce que está aprendiendo públicamente y que puede haber imprecisiones terminológicas, pero su objetivo es compartir su proceso de descubrimiento y su visión de una forma más auténtica de recrear la experiencia de los juegos CRT.