Doom no Word? Sim, Doom no Word!
Doom no Word? Sim, Doom no Word!

Bem... tinha que acontecer, né? Depois que «adding2210» criou um port para rodar Doom dentro de um PDF, agora é a vez de «wojciech-graj», que desenvolveu o «DooM-docm», um port de Doom que funciona no Microsoft Word. Apesar de não ter som e de ter alguns glitches visuais, o framerate é aceitável e os controles não são um pesadelo...

Acho que ninguém na equipe original de desenvolvimento imaginaria que o Doom acabaria sendo adaptado a tantas plataformas. O resultado é um desafio técnico muito popular, um «Hello World» sem precedentes, e múltiplos projetos que continuam modificando, adaptando e otimizando boa parte do seu código. Obviamente, os arquivos .WAD são (mais ou menos) intocáveis por questões de copyright, mas tudo o que envolve o Doom clássico é realmente impressionante, e não vejo isso parar, pelo menos no curto prazo. O que vem a seguir? Alguém colocou o Doom em um documento do Word. Sim.

«DooM-docm»: Doom dentro do Word

Considerando o estado atual do Word e de todo o pacote Office, acho que até o próprio Doomguy vai precisar de ajuda para escapar desse inferno, mas foi o usuário do GitHub «wojciech-graj» quem o colocou lá em primeiro lugar.

Os detalhes técnicos confirmam que «DooM-docm» é um source port do projeto doomgeneric. O documento do Word contém uma cópia do módulo doomgeneric_docm.dll, e o DOOM1.WAD pertencente à versão shareware do Doom. Os dados do jogo são codificados em base64, que uma macro de VBA extrai para o disco e depois carrega. A cada "tick", o módulo cria uma imagem BMP do frame atual e usa a função GetAsyncKeyState para ler o estado do teclado. A macro vai substituindo a imagem do documento com o último frame disponível, e o processo se repete.

«DooM-docm» requer a última versão do Microsoft Word em uma edição do Windows compatível com x64, mas como era de se esperar, o Windows Defender não gosta muito da ideia de carregar documentos que guardam arquivos dll estranhos em seu interior. Talvez seja necessário adicionar o documento à lista de exceções antes de fazer qualquer teste. Link abaixo!

Site oficial: Clique aqui

Como baixar do GitHub: Clique aqui