Información clave
El creador Lukas Vogel ha desarrollado SQLDoom, un proyecto que ejecuta el juego de 1993 dentro de CedarDB, un sistema de gestión de bases de datos relacionales compatible con Postgres y centrado en el rendimiento. El frontend gestiona los gráficos, el sonido y las entradas a través de Python, actuando como periféricos mientras todos los cálculos matemáticos ocurren dentro de la base de datos.
La conversión del proyecto requirió 5900 líneas de SQL para el bucle principal del juego y 1300 líneas para el renderizador gráfico, abarcando 89 tablas diferentes. Vogel señaló que los datos dentro de los archivos del paquete Doom son altamente relacionales, lo que permite que los niveles del mapa se repliquen fácilmente en tablas de base de datos simples.
Vogel descubrió que SQL simplificaba varias operaciones al reemplazar los bucles iterativos con declaraciones UPDATE únicas ejecutadas en paralelo, aunque mencionó que los renderizadores de suelo y techo no se asignaban limpiamente porque dependen de algoritmos de relleno por inundación.
La funcionalidad multijugador se benefició del entorno de base de datos, donde los comandos de transacción sincronizan automáticamente los estados entre las tablas. Los usuarios interesados pueden descargar o explorar SQLDoom a través de su repositorio de GitHub o leer la publicación del blog de Vogel.


