- Conseguiram executar DOOM usando apenas o sistema de tipos puro do TypeScript
- Um total de 3,5 trilhões de linhas e 177 TB de código
- O primeiro frame levou 12 dias para ser gerado
- Para isso, implementaram uma máquina virtual WASM usando apenas o sistema de tipos puro do TypeScript
Desafios técnicos e soluções
- Problema de escala
- Antes da otimização, o código tinha 1,25 PB, e o cálculo inicial exigia 3 meses
- Com otimizações, isso foi reduzido para 177 TB e 12 dias, respectivamente
- Limitações do compilador TypeScript
- O compilador foi modificado para superar limitações como profundidade de pilha e recursão
- Codificação dos recursos do jogo
- Todos os elementos do jogo, como mapas, texturas, IA dos inimigos e motor de física, foram codificados como tipos
- Foi necessário implementar Garbage Collector em nível de tipos, cache L1 de CPU, Dead-Code Elimination, compactador de memória em tempo real e pilha global
- Todo o engine foi implementado apenas com complemento de dois na forma de literais de string
Próximos passos
- Depois, será publicado um vídeo com análise aprofundada
- Também há mais de 60 Shorts criados durante o desenvolvimento que ainda não puderam ser publicados
6 comentários
Uau, 1,25 PB, caramba
Isso é loucura disfarçada de curiosidade... mds
Puta merda.... GOAT
uau...
"O tamanho do código antes da otimização era de 1,25 PB" pqp..
Vi primeiro no GN... só isso mesmo... Parece algo incrivelmente impressionante.