Clone do Doom com tecnologia SQL: explorando o DuckDB-WASM para renderização 3D

Este projeto explora o uso incomum do DuckDB-WASM, um banco de dados analítico baseado em navegador, para construir um motor de jogo 3D rudimentar. O autor criou um clone de texto do Doom onde o estado do jogo, incluindo mapa, posição do jogador e inimigos, é armazenado em tabelas DuckDB. A lógica do jogo e a renderização são controladas por consultas SQL, surpreendentemente alcançando o raycasting e a renderização de cenas 3D por meio de CTEs recursivas. JavaScript atua como orquestrador, gerenciando entrada, loop do jogo e renderização de sprites. O processo envolveu superar desafios com o carregamento do WASM, nuances do dialeto SQL, problemas do planejador de consultas e condições de corrida assíncronas. O jogo resultante atinge 6-7 FPS, demonstrando o poder surpreendente do SQL para tarefas não convencionais e o desempenho impressionante do DuckDB-WASM.