Clon de Doom con tecnología SQL: usando DuckDB-WASM para renderizado 3D

2025-04-22
Clon de Doom con tecnología SQL: usando DuckDB-WASM para renderizado 3D

Este proyecto explora el uso poco convencional de DuckDB-WASM, una base de datos analítica basada en navegador, para construir un motor de juego 3D rudimentario. El autor creó un clon de texto de Doom donde el estado del juego, incluyendo mapa, posición del jugador y enemigos, se almacena en tablas DuckDB. La lógica del juego y el renderizado se controlan mediante consultas SQL, sorprendentemente logrando raycasting y renderizado de escenas 3D a través de CTE recursivas. JavaScript actúa como orquestador, gestionando la entrada, el bucle del juego y el renderizado de sprites. El proceso implicó superar desafíos con la carga de WASM, matices del dialecto SQL, problemas del planificador de consultas y condiciones de carrera asíncronas. El juego resultante alcanza 6-7 FPS, demostrando el sorprendente poder de SQL para tareas no convencionales y el impresionante rendimiento de DuckDB-WASM.

Desarrollo motor de juego SQL