DOOMQL
13 de julho de 2026 – Link Blog
DOOMQL (através de) Peter Gostev construiu isso usando GPT-5.6 Sol. Este é um muito de diversão:
O DOOMQL começou com uma pergunta deliberadamente irracional: e se o SQLite fosse o motor do jogo, e não apenas o local onde um jogo armazena dados?
O resultado é um jogo pequeno e original do tipo Doom, no qual o SQL controla o movimento, a colisão, os inimigos, o combate, a progressão e cada pixel RGB na tela.
É implementado como um script de terminal Python – tentei assim:
cd /tmp
git clone https://github.com/petergpt/doomql
cd doomql
uv run host/doomql.py

Aqui está a enorme consulta SQL que implementa um ray tracer completo no SQLite usando um CTE recursivo.
A execução do script acima cria um /tmp/doomql/.doomql/doomql.sqlite Banco de dados SQLite, que você pode explorar usando o Datasette assim:
uvx --prerelease=allow --with datasette-apps datasette \
/tmp/doomql/.doomql/doomql.sqlite \
-p 4444 --root --secret 1 --internal internal.db
O --with datasette-apps A opção instala o novo plug-in Datasette Apps, que oferece suporte à criação de aplicativos HTML + JavaScript personalizados que podem executar consultas SQL diretamente na interface do Datasette.
Criei um novo aplicativo, colei o prompt de copiar e colar no chat do Claude (Fable 5) e disse:
Build an app that displays the current state of the screen using the frame_pixels view with its x, y, r, g, b columns. have it refresh once a second.
Isso me proporcionou um aplicativo HTML + JavaScript funcional dentro do Datasette que poderia refletir o estado atual enquanto eu jogava em meu terminal. Então adicionei:
add a minimap
E agora meu aplicativo Datasette está assim:

Aqui está o código do aplicativo HTML – cole-o em sua própria instância do Datasette (usando o uvx --with datasette-apps receita acima) para experimentar você mesmo.
