Doomformer es un proyecto que compila redes neuronales de enteros en mapas de ZDoom, permitiendo que el motor del juego ejecute los cálculos de una red neuronal. En este sistema, las mecánicas internas del juego se reutilizan como un sustrato computacional: 'muñecos vudú' (entidades de jugador adicionales generadas por el juego) realizan la aritmética, mientras que los niveles de luz de los sectores y las alturas de los planos se utilizan para almacenar los valores resultantes. El proyecto garantiza la precisión comparando cada valor leído del juego en ejecución contra una referencia de enteros de NumPy con una tolerancia de cero.
Esta imagen representa el concepto central del proyecto Doomformer, donde los cálculos de la red neuronal se mapean en las mecánicas internas de DOOM.
El mecanismo se basa en la capacidad del juego para manejar lógica compleja a través de scripts e interacciones de entidades. Los muñecos ejecutan cada operación de multiplicación-suma, activación y comparación. Mientras que los muñecos se encargan de la aritmética central, los scripts de nivel ACS (Automated Control Script) gestionan el flujo de datos, moviendo las puertas de entrada, rebobinando a los muñecos y copiando los resultados fuera de la red. Este enfoque convierte el mundo del juego en una representación física de la arquitectura de una red neuronal, donde los 'pesos' y los 'sesgos' se codifican en la geometría del mapa y en las propiedades de las entidades.
Aunque es técnicamente impresionante, el método es significativamente más lento que las librerías computacionales estándar. Para un pequeño perceptrón multicapa (MLP), el tiempo del motor es aproximadamente 23,000 veces más lento que NumPy, y un temporizador completo alrededor de la llamada puede ser 65,000 veces más lento. Por ejemplo, procesar un dígito escrito a mano puede tomar 163 segundos de tiempo real en DOOM con el cronograma predeterminado, aunque esto puede reducirse a 8 segundos utilizando banderas de optimización específicas. El proyecto también incluye un mapa de 'museo' que permite a los usuarios interactuar con la red, como recablear las conexiones para ver cómo afectan la salida en tiempo real.