El flex definitivo de las bases de datos

Si alguna vez has visto una base de datos y has pensado: 'Esto realmente necesita más demonios', estás de suerte. Un desarrollador llamado Lukas Vogel ha llevado oficialmente a Doom a una base de datos SQL, un proyecto acertadamente llamado SQLDoom. Aunque Vogel admite que ejecutar un shooter dentro de una base de datos es 'obviamente una mala idea', los resultados son lowkey impresionantes.

Cómo ocurre la magia

No te confundas: esto no es solo SQL puro haciendo todo el trabajo pesado. El sistema utiliza un pequeño cliente de Python para manejar la entrada, la salida y el timing del juego. Sin embargo, la magia ocurre detrás de escena en CedarDB. Usando aproximadamente 1,300 líneas de consultas SQL y 89 expresiones de tabla comunes, Vogel logró rastrear la geometría del juego y sacar 35 cuadros de mapa de bits por segundo a todo color.

Este es un glow-up masivo desde su intento anterior, DoomQL, que estaba atrapado en la era de los gráficos ASCII simples y en escala de grises. SQLDoom alcanza una resolución de 640×480 que se ve legítimamente como el juego original. Al desglosar los archivos WAD clásicos de Doom en vértices y sectores, Vogel utilizó las sentencias 'ORDER BY' de SQL para manejar el renderizado, lo cual es, literal, una movida de genio.

Por qué importa

Ok, ¿pero por qué debería importarte? Más allá de la audacia del proyecto, hay una victoria técnica genuina. Vogel señala que usar una base de datos para el estado del juego proporciona una 'instantánea de referencia' constante de todo lo que sucede. Esto significa que no hay bugs de física molestos ni discusiones sobre si tu cohete realmente alcanzó el objetivo. Es una forma sólida de manejar la sincronización multijugador. Si te sientes aventurero y quieres ver esta belleza caótica por ti mismo, el código está en GitHub, o puedes echarle un ojo a la demo alojada. Solo no te sorprendas si tu laptop empieza a sufrir.