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