O Doom original de 1993 foi totalmente portado para SQL, executando sua lógica de jogo e renderizador dentro de um banco de dados. O loop de jogo opera nos originais 35 FPS, enquanto o renderizador produz frames completos 320x200 a até 60 Hz em um AMD Ryzen 7 7840 U. Python apenas lida com temporização, entrada de teclado e exibição de bitmap. O multiplayer deathmatch é suportado com quatro slots nos servidores EU e US. A versão shareware do primeiro episódio está disponível, com fila se os servidores estiverem cheios. O projeto se baseia no DOOMQL, uma versão anterior de ASCII art, mas agora inclui árvores BSP para ordenação de profundidade correta, texturas e alturas de piso variáveis. O arquivo WAD foi traduzido para tabelas relacionais, com importação levando cerca de 18 segundos. O renderizador outputa pixels RGB exatos via SQL, e a lógica do jogo roda em loop fixo de 35 Hz. O cliente é deliberadamente mínimo, apenas gerenciando entrada, temporização e exibição.
A arquitetura separa a lógica do jogo e o renderizador em dois caminhos SQL: a lógica do jogo atualiza tabelas de estado, enquanto o renderizador é uma função pura dessas tabelas. Isso permite ao cliente solicitar frames tão frequentemente quanto necessário. O projeto demonstra que mecânicas de jogo complexas podem ser implementadas puramente em SQL, usando funções definidas pelo usuário quando necessário. O fator diversão do Doom original é preservado, com visuais e sensação iguais ao clássico de 1993.
Entidades-chave: Locais: Servidores EU, Servidores US
Fonte: Hacker News · Resumido por HeadlinesBriefing