Doom: 30 años de explosiones (verticalmente) infinitas
El Doom original va a cumplir 30 años el 10 de diciembre de 2023, y estamos muy lejos de que tenga una crisis de mediana edad.
En un día del niño hace mucho tiempo, mi papá me llevó a una casa de computación en Rafaela y me dijo “elegí dos juegos”. Los juegos que estaban para elegir no eran juegos completos, en esa época era bastante común el Shareware, donde conseguías una versión demostrativa de un software y luego tenías la libertad de compartirlo. Incluso podías vender esas copias de Shareware, cosa que hacía una compañía argentina (¡que sigue existiendo!) llamada PC3. Si cierro los ojos aún me acuerdo de algunas cajas. Recuerdo pensar en que conseguir, y como buen niño me fijé en el arte de tapa de la época. Algunos juegos no tenían “box art” y dependían de algún artista adentro de PC3 que intentara vender la idea del juego, pero otros si…o de última algún screenshot del juego. Y así es como me decidí por Commander Keen in Aliens Ate My Babysitter (1991, Id Software) y por Doom (1994, Id Software).
Fue muy grande mi decepción cuando llegué a casa cuando, al querer ejecutar Doom, el programa falló por falta de RAM. No pude jugarlo en mi casa, pero había una luz al final del túnel.
Mi padre fue docente de facultad hasta su jubilación, y cuando yo era chico me gustaba acompañarlo a la facultad. No me acuerdo si eso era porque no había quien me pudiera cuidar en casa y/o porque me gustaba el establecimiento en si (pasillos largos, muchas habitaciones parecidas, etc). Pero también existía la secretaría académica. No voy a dar nombres para proteger a los inocentes, pero dentro de esa oficina existían personas a las que le gustaba jugar a la pc, y esas personas tuvieron que aguantarme mientras los miraba jugar.
Uno, que era arquitecto, disfrutaba mucho el Descent (1995, Parallax Software), porque “le gustaba la tridimensionalidad”, y al otro le gustaba el Wolfestein 3d. De hecho me lo mostró y me enseñó cosas que ahora los niños modernos dirían que son “las tech” del juego: secretos apretando barra espaciadora en las paredes, si se tiene poca vida podes comer víscera para regenerar HP. Como ese aprendizaje (de nuevo, instruido dentro de un establecimiento educativo) pensé que me iba a ser muy útil, se lo agradecí regalándole mi copia shareware del Doom.
Doom en la facultad
La primera vez que pude jugar al Doom fue en una universidad pública argentina. Aunque fue poco jugar y fue más bien ver jugar a un adulto en su máquina de trabajo. Lo que rescato como diferencia entre esto e ir a un fichín y ver como otros juegan es que esta persona se tomaba el tiempo de enseñarme cosas. Enseñarme como los mapas tenían una cierta asimetría y como “se mostraba el camino a seguir” con luces o la forma del mapa. Y cómo la metralleta servía bastante para evitar “que te disparen”. (lo que me quería indicar, supongo, era que la chaingun permitía tirar más rapido el painstate de los malos y con eso los “trabás”). Este momento de Doom pedagógico me resultaba tan interesante que creo que parte de esto marcó mi vida adulta después.
Por eso que, visto que va a cumplir 30 años y que yo aprendí bastante del Doom en la facultad (siendo menor de edad), me pareció importante generar una lista de 30 cosas del Doom que podrían ser curiosidades o cuestiones de mecánicas o de la historia alrededor del mismo. No voy a dar las treinta de una, pero voy a intentar llegar a ese número antes del 10 de diciembre. Me queda mucha lana para tejer.
30 Cosas del Doom. Parte 1
1. Explosiones Infinitas
Más alla del título clickbait, hay una verdad poco conocida: con la manera de calcular el radio de una explosión, se analiza solo la posición horizontal de un objeto, por lo que una explosión no termina siendo una esfera, sino un prisma infinitamente vertical. Entonces en ciertos mapas se puede disparar un misil (o detonar un barril) en una altura específica y enemigos arriba y abajo que vean la explosión (para sentir daño el objetivo tiene que tener una línea visual con el foco de la explosión…esto genera otras curiosidades como explosiones que no hacen daño, spoiler de otro de los puntos que vamos a ver en esta lista). Así que toda explosión generada por cualquier entidad en el Doom (y Doom II, y me atrevería a pensar que en los juegos usando el Doom engine como el Heretic, Hexen I o el Strife), son verticalmente infinitas.
Un poco de esto se relaciona con cosas medio raras del motor gráfico del Doom, porque otra mentira del mundo es que Doom no es realmente 3d. Entonces para simular el mundo 3d, en vez de dibujar polígonos (o cualquier otra cosa 3d) en la pantalla, usa datos bidimensionales con mucha metadata (entonces “altura” no es una dimensión, es un valor) para representar en la pantalla…cosas. Entonces si no hay metadata sobre una línea, esa línea es infinita. Entonces pasan cosas interesantes, como lo que viene
2. No hay balcones en el Doom
Si uno jugó el Doom, quizás esto nunca se le pasó por la cabeza, y si se le pasó, por ahí esta imaginando cosas de la competencia como la inclusión de “espacios sobre espacios” que tenía de cierta manera el Duke Nukem 3d usando el Build Engine. Pero en los Dooms originales, no hay balcones. Algo un poco más descriptivo es que, de la manera en que el mundo es proyectado en dos punto cinco D es que se hace imposible tener habitaciones sobre habitaciones (“Room over Room”), entonces todos los mapas del Doom I, si bien hay elevaciones y escaleras, todo el mapa se hace de tal forma de evitar tener pasarelas, balcones o incluso “segundos pisos”. Difícil de pensar, pero ahora que uno lee esto y revisa mapas del Doom 1 como Nuclear Plant, Secret Base o Command Control, se va a notar que cuando uno “sube un piso”, en realidad esta yendo a otro lado, más elevado que el lugar anterior. Tal vez era la forma correcta de construir en Fobos (se me puede ocurrir que canónicamente la UAC le vendió proyectos al gobierno de la Tierra para sobreconstruir y poder lavar guita).
En el Doom II, al conocer bastante más las limitaciones del motor gráfico, posibilitó a los diseñadores de mapas en armar cosas más interesantes y aprovechar “bugs” (¿o features?) para inventar formas de simular room over room. En el mapa 15 del Doom II (que es una “ciudad” en la Tierra), hay habitaciones en distintos pisos, pero cada piso esta en una dimensión distinta.
3. Monster Infighting
En el Doom se mata a los malos. Y a veces, los malos se matan entre si. ¿Eso los hace más malos?. Por alguna extraña razón, la inteligencia artificial de los enemigos en el Doom no tiene codificada la opción de parar de disparar si un aliado está en la línea de fuego. Y como la parte del código que trata de generar contraataques o efectivamente a quien disparar no busca “jugadores” sinó entidades, existe la posibilidad de ver monstruos pelear entre si hasta que uno muera. Esto se lo llamó “infighting” (pelea interna). Desconozco si fue algo pensado al momento de desarrollar Doom, aunque me inclino a pensar que sí. Muchas de las “técnicas” que esta ¿mecánica? fueron encontradas muy de temprano y son increíblemente útiles para sobrevivir en las dificultades más altas (e incluso en mapas creados por la comunidad esta mecánica se vuelve esencial ). También es una de las cosas que más invitó a “estimular” el mundo del Speedrunning
4. Speedrunning
Si bien es cierto que el Speedrunning (tratar de completar juegos lo más rápido posible) existía desde antes de los 90, no tengo pruebas pero tampoco dudas que desde el lanzamiento del Doom, el Speedrunning empezó a tener más repercusión. Un detalle: Doom se lanzó con la posibilidad de “grabar replays” para poder compartir con otres en sistemas BBS ). Estos replays no eran videos, sinó archivos muy livianos que simplemente guardaban el “estado” del mapa y los movimientos de las entidades para garantizar la reproducibilidad. El Speedrunning fue muy incentivado gracias a la generación de competencia entre personas, tratando de ganar el Doom lo más rápido posible en distintos niveles de dificultad, y después de un tiempo empezaron a aparecer desafíos más…extraordinarios.
5. Pacifismo
Pacifismo es un tipo de competencia (no solo de Speedrun) en donde el jugador tiene que pasar el juego sin poder dañar a ningún enemigo. Se puede disparar pero al aire o a una pared. De esta manera se pueden despertar enemigos (y causar Infighting!) y tratar de lograr que los monstruos se maten entre si, o al menos tratar que se muevan de tal manera que se habilite un camino a la salida. Incluso mapas donde solo se puede salir si se mata al boss final, se encontraron formas para poder evitar tener que lastimar a alguien, muchos de esos mapas pasaron bastantes años después. Pacifismo termina siendo una de las formas más populares (y originales!) de Speedrunning.
6. La ropa importa
Continuando con la idea de publicidad engañosa, la armadura de la portada del doom no es real, porque principalmente es una remera, a menos que se quiera dejar el abdomen expuesto. Pasando por alto esta inconsistencia, algo que no todo el mundo le presta atención es que las armaduras no solo dan distinta cantidad de armadura, sinó distinto nivel de absorción de daño. La armadura verde (que es la tenemos en la tapa aparentemente) nos da 100% de armor y 1/3 del daño que recibimos es reducido. La armadura azul (la “megaarmor”) nos da 200% de armor y absorve la mitad. Es muy superior a la armadura verde, y uno puede observar en demos a gente ignorar armaduras verdes estando con menos de 100% de armadura. ¿Por qué? porque esa gente seguramente tiene una armadura azul y por más de que tenga menos de 200% de armadura, sigue teniendo la reducción de la mitad.
7. Random no tan random
Una pregunta muy válida es cómo Doom genera sus números aleatorios. Nada en informática es realmente aleatorio y este juego no es la excepción. Para hacer las cosas rápido y de manera eficiente, hay una lista con números (¿elegidos al azar por un humano?) y un índice marcando que número va a ser devuelto cuando se consulta esa lista. Cada vez que el juego necesita un número aleatorio consulta a esa lista, devuelve un número de esa lista y avanza el índice en 1. ¿Cómo entonces el juego se siente aleatorio? Muchas cosas en este juego están marcadas por esa tabla. Desde el rango de daño de las armas (del jugador y las del enemigo), al movimiento de una criatura, a cosas mas importantes como “en que posición de la cara están los ojos del protagonista en la pantalla”
El lado positivo de esta tabla random no tan random es que se garantiza la generación de demos de manera reproducible, ya que se guardan las llamadas a esa tabla en el orden que se dieron. Los números parecen elegidos al “azar” pero al correr el demo de la partida, esos números random son siempre los mismos.
8. Muñecas Voodoo
Para expandir sobre la idea de satanismo y cosas poco sanas profundizada por el Satanic Scare, Existen muñecas voodoo en el Doom. El juego se lanzó con la posibilidad de ser un juego cooperativo con hasta 4 jugadores. Si en un mapa se pusieran más “puntos de nacimiento” de un jugador, en ese lugar aparece un modelo de jugador “inactivo”. Pero ese muñeco tiene la misma identidad que la del jugador 1 (entonces Jugador 1 tiene la misma identidad que el zombie que aparece en la zona de nacimiento 2, 3, 4, 5, etc.). ¿Por qué es una muñeca voodoo? porque como apunta a la misma entidad (el jugador). Si se lastima a alguno de esos zombies, el jugador recibe ese daño también. Esto genera mecánicas interesantes: como también el zombie tiene el mismo inventario que el jugador, si lo movemos hacia un lugar con armas, el jugador recibe esas armas también. Este “bug” fue convertido en feature en algunas expansiones del Doom (y en mapas de la comunidad). Esta si que es una curiosidad interesante (por si pensamos que las anteriores 7 no lo son). Más detalles se pueden ver en este canal de youtube, que tiene buen material sobre este y otros puntos (es quizás una de mis principales fuentes para escribir estos posts)
9. Zdoom y GzDoom o: cómo hacer al Doom un juego “moderno”
Lo bueno de haber liberado el código fuente del Doom hizo que surgieran source ports que permiten ejecutar Doom en dispositivos modernos. Zdoom fue uno de ellos, quizá uno de los primeros. Tiempo después GzDoom evoluciona el código de Zdoom y permite integrar OpenGL. Entre las adiciones del Zdoom con las mejoras gráficas, usando el mismo Doom base podemos tener “luz realista” generada por OpenGl, mejoras en los movimientos de los enemigos, optimización de sonido y la posibilidad de meter mods. Campañas totalmente nuevas, mapas con décadas de aprendizaje de cómo hacer mapas, desafíos, y incluso nuevos arsenales.
Pero claro, eso es solo las cosas centradas al Doom. El motor GzDoom también permite crear juegos completamente diferentes al Doom, como el Selaco, juegos creados años después del Doom. Ya superamos la barrera de ver al Half Life como un juego que usa el mismo código fuente que el Quake 2. Estamos en una época donde los mismos source ports generan juegos por su cuenta. La cornucopia de juegos de tiros clásicos jamás se acabará
10. Doom en todo
Continuando la idea de una Cornucopia de Tiros, Doom también tiene el meme de “correr en cualquier cosa o lugar. De cosas “simples” como hacer correr Doom adentro de Doom, en el Notepad o en Twitter, a cosas más “esto le llamaría atención a los medios” como hacerlo correr en un test de embarazo:
O usando papas, muchas papas (tributo a Portal?) con una calculadora
La idea de buscar en internet “Doom corriendo en” y dejár que los resultados autocompleten tu búsqueda habla por si sola. La comunidad terminó generando juegos alrededor del Juego en sí.
De todas formas, no se que significa Doom andando en una heladera. Podrá ser una forma curiosa de ver como el código se puede adaptar al hardware donde va a correr (digamos, hacerlo andar en Sega no debe ser tan lejano de hacerlo andar en una Heladera, pero no se de estas cosas y se nota), o algo oscuro que se me ocurre: ¿realmente necesitamos un chip en todo? ¿No dice mucho de la no necesidad de digitalizar aparatos?
No quiero transformar este último punto en una crítica hacia la industria capitalista de la internet de las cosas pero bueno, si saben como me pongo para que me invitan.
Diez puntos de 30. Hay muchas cosas de las que hablar con el Doom, y estas me parecieron como las más importantes al principio, como para tener material para romper el hielo en una reunión. Verdaderamente creo que estaríamos en un mejor lugar si más gente jugara juegos donde no hay balcones, o las armas no se recargan y la música esta inspirada en Pantera.
Material Consultado para este post: Doom Wiki en Fandom, Playlist de analisis de Decino en Youtube.