O Doom, clássico do gênero shooter, agora roda em um banco de dados DNS — sim, o mesmo sistema que traduz endereços de internet em IPs. O feito é obra de Corey Quinn, do The Register, que compilou o jogo para uma máquina de 32 bits onde todos os cálculos são simulados por meio de registros DNS.
Em vez de usar o banco de dados como armazenamento, Quinn o transformou em um "bibliotecário" que responde a operações com base em tabelas de verdade pré-computadas. O sistema conta com 6,4 milhões de linhas, funcionando como uma espécie de base de dados de respostas pré-definidas para cada comando do jogo.
"Não é o DNS fingindo ser um processador", afirma Quinn. "O decodificador de instruções é feito antes, por um compilador. O BIND, o servidor DNS, só faz leituras de chave-valor e escritas condicionais. Ele nunca executa código direto."
Paul Vixie, um dos principais arquitetos do DNS, reagiu com humor ao experimento: "Não consigo decidir se isso é deliciosamente horrível ou horrivelmente delicioso. Em qualquer caso, é o melhor uso que já vi do RFC 2136, o DNS UPDATE".
O RFC 2136 permite atualizações dinâmicas em registros DNS — o que, no caso, é o que permite que os "valores" do jogo sejam alterados durante a partida, criando a ilusão de um mundo interativo.
Apesar do feito técnico, o desempenho é ridículo: um único "tic" do jogo leva mais de 54 segundos, enquanto o Doom normal roda a 35 tics por segundo (28,6 ms por frame). Ou seja, não é exatamente jogável, mas sim um experimento de limite da computação.
Quinn disponibilizou o código no GitHub para quem quiser testar — e, claro, para quem gosta de brincar com o que está fora dos limites da lógica convencional.