Doom Fix Patch v0.3: el parche que convierte el peor port de DOOM en algo jugable de verdad
Si hay un port de DOOM que todo el mundo recuerda por su mal rendimiento, ese es el de Sega Saturn. Llegó en 1997, desarrollado por Rage Software bajo licencia de id Software, y se convirtió rápidamente en una decepción: framerate por los suelos, agujeros en suelos y techos, texturas rotas, sonido desajustado y una sensación general de producto sin terminar. Lo más sangrante es que el Saturn era perfectamente capaz de más —la versión de PSX del mismo año era infinitamente superior—, y hay testimonios creíbles de que en algún momento de desarrollo existía una versión que corría a 60 FPS. John Carmack la vetó por el warping de texturas affine. Lo que llegó a las tiendas fue lo que llegó.
Casi treinta años después, un desarrollador homebrew conocido como fafling lleva más de dos años haciendo ingeniería inversa de ese port, bit a bit, para devolverle la dignidad que nunca tuvo. Y acaba de publicar la versión 0.3 de su Doom Fix Patch.
De slideshow a casi 30 FPS: lo que consigue la v0.3
El salto de rendimiento de esta versión es el dato más llamativo. El original rondaba los 11 FPS de media en los demos del juego. La v0.2, publicada el año pasado, ya lo subía a unos 25 FPS. La v0.3 empuja esa cifra hasta rozar los 30 FPS en los niveles más sencillos, lo que en la práctica significa que los mapas basados en los niveles del Jaguar y los no-Jaguar de menor complejidad geométrica ya corren de forma fluida y completamente jugable.
El propio fafling ha sido claro sobre los límites: los niveles más complejos todavía pueden caer por debajo de los 10 FPS en situaciones concretas —como situarse en la esquina del área abierta de Sever the Wicked—, pero la media general es radicalmente mejor que la versión comercial. Según sus propias palabras, con el parche aplicado Saturn DOOM ahora corre mejor que el port de Jaguar y comparable al de PSX, aunque con variaciones según el nivel.
Para visualizarlo de forma concreta, fafling publicó un vídeo de comparación en tres columnas —original, v0.2 y v0.3— corriendo los demos del juego. La diferencia es inmediata y no requiere calibrar el ojo: lo que antes era una presentación de diapositivas ahora parece un videojuego.
Qué corrige y qué añade la v0.3
El changelog de esta versión es extenso y toca prácticamente todos los sistemas del juego. Lo más relevante, área por área:
Arranque y región. El programa IP.BIN del sector de arranque se ha hecho libre de región y se ha actualizado con la versión y fecha del parche. También se añade un efecto de sonido al interrumpir la secuencia de logos pulsando Start, coherente con el que ya existía en la pantalla de título.
Controles. Se restaura el ciclo de armas bidireccional, presente en la versión de PSX pero ausente en la de Saturn. Manteniendo el botón de uso mientras se pulsa el de cambio de arma, el ciclo se invierte hacia abajo. Además, se elimina el período en que la motosierra en animación de subida bloqueaba cualquier cambio de arma —un bug que arrastraba la versión de PSX— y el cambio de armas ahora funciona también durante la pausa.
Barra de estado. Se añade la ranura 0 en los indicadores de armas para el puño, y el número de esa ranura se vuelve rojo para indicar el estado de berserk, exactamente como en la versión de PC.
Gráficos y texturas de pared. Aquí está parte del trabajo más técnico. Se corrigen huecos adicionales en la geometría presentes en la versión de PSX —columnas de pared que faltaban, sectores ausentes en casos raros—. Las texturas de pared ya no se estiran en paredes de más de 256 píxeles de altura: ahora pueden repetirse en paredes de hasta 384 píxeles. También se corrige el deslizamiento horizontal de texturas al verlas en ángulo y el sombreado de luz decreciente incorrecto en paredes parcialmente ocultas por otra pared a su izquierda, dos bugs que venían de la versión PSX.
Flats (suelos y techos). Se eliminan las expansiones de 2 píxeles que hacían que los laterales de sectores de suelo o techo se solaparan con las paredes, un problema de la versión PSX. El resultado global es mejor aunque revela algunos huecos residuales. También se mejora la precisión de los flats de baja calidad con límites de alta calidad que se introdujeron en v0.2 para mejorar el rendimiento.
Automapa. Se elimina el parpadeo de las estadísticas de la barra de estado al activar el mapa. Los efectos de color por daño y recogida de objetos ahora funcionan también sobre el fondo negro, no solo sobre las líneas del mapa.
Comprobaciones de error. La versión comercial de Saturn había desactivado todos los error checks del código original. fafling los restaura, pero con una gestión que no provoca crash: si un sector no puede renderizarse, simplemente no se dibuja y se muestra un mensaje, en lugar de colgar el juego como hacía la versión de PSX.
Correcciones propias del parche. La v0.3 también arregla tres bugs introducidos en la v0.2: la inversión entre líneas pares e impares en texturas de pared animadas, pequeñas sacudidas verticales de un píxel en la barra de estado y artefactos visuales en los bordes de pantalla al volver al título desde una demo o un nivel.
Cómo se aplica el parche
El parche se aplica sobre la versión japonesa del DOOM de Saturn, no la norteamericana ni la europea. fafling explica la elección: la versión japonesa se publicó después que las otras dos, por lo que probablemente incorpora correcciones de bugs propias, y sigue estando en inglés. El archivo ZIP descargable desde SegaXtreme incluye el Sega Saturn Patcher v1.95, la herramienta necesaria para aplicarlo, así que no hace falta buscar nada más.
El parche también incluye listas de contraseñas para empezar desde el principio y para empezar con estadísticas completas, añadidas en la reedición v0.3 que se publicó unos días después de la versión inicial.
Para los que quieran probar los detalles más técnicos, fafling mantiene documentación exhaustiva en el propio archivo: el mapa de memoria del juego original actualizado con todos los hallazgos hasta v0.3, y los cambios de v0.1 con sus fuentes en ensamblador parcialmente documentadas.
El contexto: qué podría haber sido Saturn DOOM
La historia de por qué el DOOM de Saturn salió así merece ser recordada. Jim Bagley, el programador que inicialmente portó el juego, afirmó haber conseguido una versión que corría a 60 FPS. John Carmack la rechazó porque el hardware del Saturn realizaba interpolación de texturas affine —el mismo efecto de "goma" que se ve en PlayStation— y eso no era aceptable para él. El resultado es que se empezó prácticamente de cero muy tarde en el ciclo de desarrollo, y lo que llegó a las tiendas era básicamente lo que quedaba tras ese veto.
El trabajo de fafling demuestra que el hardware tenía margen. No para los 60 FPS de aquella versión legendaria —eso sigue siendo terreno desconocido—, pero sí para algo que en los niveles habituales corre suave y sin los horrores visuales del original. Es ingeniería inversa aplicada a reparar un error histórico.
Un proyecto que ya tiene recorrido
Esta v0.3 no ha llegado de la nada. La v0.1, publicada en enero de 2024, arrancó el proyecto con mejoras de sonido y la reintegración del sky no utilizado en modo Inferno. La v0.2, de abril de 2025, fue la que causó mayor impacto mediático —consiguió el segundo puesto en la categoría de hacks y parches del SegaXtreme Saturn 30th Anniversary Homebrew Showcase— al mejorar significativamente el framerate, reintegrar el logo de ID en alta resolución y corregir la mayoría de los agujeros en suelos y techos.
La v0.3 estuvo a punto de no entrar en el SegaXtreme Saturn 31st Anniversary Homebrew Showcase de este año por llegar pocas horas después del deadline del 11 de mayo, pero los jueces decidieron aceptarla igualmente. Aun así, fafling sigue siendo fafling: el proyecto avanza metódicamente, con changelogs detallados y documentación técnica a la altura del trabajo que hay detrás.
Si tienes un Saturn —real o vía emulación— y te pesa ese port en la conciencia, ya sabes lo que tienes que hacer. El parche está disponible en SegaXtreme.

📤 ¿Te ha gustado? ¡Compártelo con otros jugadores!