- Lograron ejecutar DOOM usando únicamente el sistema de tipos puro de TypeScript
- En total, 3.5 billones de líneas y 177 TB de código
- La generación del primer frame tomó 12 días
- Para hacerlo, implementaron una máquina virtual WASM usando únicamente el sistema de tipos puro de TypeScript
Desafíos técnicos y soluciones
- Problema de escala
- Antes de la optimización, el tamaño del código era de 1.25 PB, y el cálculo inicial requería 3 meses
- Con optimizaciones, se redujo a 177 TB y 12 días, respectivamente
- Límites del compilador de TypeScript
- Modificaron el compilador para superar límites como la profundidad de pila y la recursión
- Codificación de los recursos del juego
- Todos los elementos del juego, como mapas, texturas, IA de enemigos y motor de físicas, fueron codificados como tipos
- Fue necesario implementar un recolector de basura a nivel de tipos, caché L1 de CPU, eliminación de código muerto, compactador de memoria en tiempo real y pila global
- Todo el motor está implementado usando únicamente complemento a dos en forma de literales de cadena
Lo que sigue
- Después planean publicar un video con un análisis en profundidad
- También hay más de 60 Shorts que hicieron durante el desarrollo pero no pudieron publicar
6 comentarios
Guau, 1.25 PB, vaya
¿Esto es una locura disfrazada de curiosidad...?
Mierda santa... GOAT
guau...
"El tamaño del código antes de la optimización era de 1.25 PB" jajaja..
Yo solo fui a verlo primero en GN... eso fue todo... Parece algo increíble.