🤖 Uma IA autônoma para jogar Doom como um jogador de verdade.
Este é o projeto oficial e ativo. GZAutoDoom agora designa somente a primeira geração legada.
UZAutoDoom é uma continuação experimental e não oficial inspirada no célebre AutoDoom de ioan-chera, criado originalmente sobre o Eternity Engine. A ambição é simples de explicar e difícil de realizar: assistir a uma IA perceber um mapa de Doom, tomar decisões, enfrentar monstros, usar mecanismos e tentar chegar à saída sem uma rota gravada ou cheats.
O projeto evolui da experiência inicial GZAutoDoom para uma nova geração baseada em UZDoom. Ele busca preservar o comportamento inteligente que tornou o AutoDoom especial, agora preparado para mira vertical, salto, agachamento e diagnóstico detalhado.
| A IA precisa… | Em vez de… |
|---|---|
| Ler o mapa, inimigos, itens, portas, switches, elevadores, chaves e saídas | Seguir uma gravação fixa de teclas |
| Escolher objetivos a partir do estado atual da partida | Teleportar ou alterar o mapa diretamente |
| Andar, mirar, atacar e usar mecanismos pelos comandos normais do jogador | Usar cheats para atravessar problemas |
| Reagir a barris, bloqueios e riscos locais com cautela | Destruir tudo ou pular aleatoriamente |
| Explicar suas decisões no HUD e no diagnóstico | Falhar silenciosamente em círculos |
Em outras palavras: o objetivo não é uma demonstração roteirizada. É um Doomguy artificial que precisa lidar com o mesmo mundo físico e as mesmas limitações que uma pessoa.
| Camada | Papel |
|---|---|
| 👁️ Percepção | Entender a geometria, os atores e os mecanismos visíveis do mapa. |
| 🎯 Decisão | Priorizar sobrevivência, progresso, recursos e exploração. |
| 🧭 Navegação | Encontrar rotas físicas e prever os efeitos de portas, lifts, chaves e switches. |
| 🎮 Controle | Emitir comandos normais de movimento, mira, ataque, uso, salto e agachamento. |
| 🔍 Diagnóstico | Registrar travamentos, loops, mecanismos desconhecidos e custo por tic. |
Mira vertical, salto e agachamento entram como ferramentas físicas responsáveis — principalmente para combate ou recuperação comprovada — e não como desculpa para mascarar uma rota mal planejada.
UZAutoDoom está em desenvolvimento técnico ativo. A geração anterior comprovou launcher Windows, takeover humano, HUD, telemetria e uma primeira experiência autônoma; a geração atual está concentrada em portar uma navegação geral mais fiel ao AutoDoom, capaz de lidar com mapas vanilla sem depender de rotas artesanais por mapa.
Ainda não existe uma versão estável pública para baixar. Isso é intencional: publicar um executável antes de a IA demonstrar comportamento confiável seria só colocar um rótulo bonito sobre uma experiência frustrante.
GZAutoDoom foi a primeira geração do projeto, construída sobre GZDoom 4.14.2. Ela entregou o launcher Windows, takeover humano, HUD, telemetria, combate e uma navegação experimental que permitiu provar a ideia em jogo real.
Essa geração está congelada como GZAutoDoom Legacy Alpha 1. Ela continua reconhecida como a origem técnica do projeto, mas não é mais a linha principal de desenvolvimento. O trabalho atual acontece exclusivamente sob a identidade UZAutoDoom, sobre UZDoom, com uma abordagem mais fiel ao cérebro do AutoDoom original.
| Meta | Por que importa |
|---|---|
| Concluir mapas vanilla de Doom, Doom II, TNT e Plutonia | Provar que o raciocínio não depende de um único mapa preparado. |
| Entender portas, switches, chaves, elevadores e teletransportes | Transformar progresso de mapa em planejamento, não em tentativa aleatória. |
| Combater e coletar recursos sem perder a rota | Manter sobrevivência e progresso como partes da mesma decisão. |
| Detectar um bloqueio e explicar a causa | Fazer cada falha virar uma evidência técnica útil. |
| Manter o jogador humano no comando quando quiser | A autonomia deve ser assistível, não invasiva. |
Este projeto existe graças à história e ao trabalho aberto da comunidade Doom:
| Projeto | Papel |
|---|---|
| AutoDoom e ioan-chera | Inspiração e referência de comportamento autônomo. |
| Eternity Engine | Base histórica do AutoDoom original. |
| UZDoom | Source port da geração atual. |
| GZDoom e ZDoom | Fundação da primeira geração e da linhagem técnica moderna. |
| id Software e comunidade Doom | O jogo, os formatos e décadas de ferramentas e conhecimento compartilhado. |
Esta é a página pública de apresentação do projeto. Ela não contém código-fonte, executáveis, IWADs, saves, telemetria, builds, diagnósticos ou dados de testes. Doom e seus IWADs não são incluídos, copiados ou distribuídos por aqui.
Quando uma versão estiver realmente pronta para distribuição pública, ela respeitará as licenças dos componentes que a tornam possível. Até lá, este repositório existe para documentar a ideia, reconhecer suas referências e mostrar o compromisso com uma autonomia honesta.