Doom Rodando em Expressões Regulares
Um feito insano: 180 segundos por frame e 14 milhões de substituições para jogar “xadrez por correspondência com uma espingarda”.
A execução do clássico Doom de 1992 em dispositivos inusitados tornou-se um desafio de programação extraoficial. Vimos o jogo rodar em torradeiras, carregadores e até testes de gravidez. Agora, Artem Lytkin conseguiu o feito de rodá-lo usando expressões regulares (regex).
O Que é Isso?
- Regex: Linguagens utilitárias para encontrar e substituir texto. Embora poderosas, sua sintaxe é complexa, mas funcionalmente uma linguagem de programação.
A Magia Por Trás
- Lytkin criou uma string de 96 MB com seções para CPU virtual, RAM, vídeo e dados do jogo.
- A regex simula o processador, substituindo caracteres para “acessar” a memória e registros.
Desempenho Épico (e Lento)
- 180 segundos por frame: Essa é a velocidade!
- Quase 14 milhões de substituições para renderizar um único quadro.
- O resultado é funcional e byte-idêntico ao Doom original.
- Jogar é como “xadrez por correspondência com uma espingarda” – nada de reflexos rápidos.
Detalhes Técnicos Curiosos
- Acesso à memória via árvore binária, otimizando a leitura da string de 96 MB.
- O motor realiza 80.000 substituições por segundo, mas ainda assim é lento.
Confira Você Mesmo!
- O projeto “doom-regex” está no GitHub para download.
- O site mostra a máquina regex em ação, uma visão hipnotizante.
Baseado no artigo de Tom’s Hardware