Descubre más sobre este sorprendente título épico de acción y tecnología de Pentadimensional Games.
Vacaciones, año 2012. Estaba sentado en el sofá con el portátil calentándome las piernas mientras jugaba a una versión temprana de Megaton Rainfall (aunque entonces aún no tenía nombre).
En pantalla tenía una simulación de edificios que se derrumbaban dependiendo de dónde se les disparase. Era una pasada. Recuerdo pensar “Dios mío, cómo mola esto”, y decidí que jugaría este juego hasta el final (lo que conllevaría dejar mi trabajo).
Como a todo el mundo, me gustan los taquillazos de Hollywood con un montón de explosiones. Y hay una cosa que las explosiones hacen bien en las películas, pero no en los videojuegos.
La mayoría de las explosiones que se ven en los juegos no son procedimentales, y hacen lo siguiente… Supongamos que una casa recibe un impacto de un lanzamisiles y explota. En el momento de la explosión, la malla de la “casa” se remplaza por una “casa destrozada” al mismo tiempo que se añade una efecto de partícula (fuego, humo y escombros). El problema es la falta de continuidad. El corte se percibe. Un cambio abrupto en el primer fotograma de la explosión, por lo que no se siente que lo que haya explotado sea la casa. Además, la “casa destrozada” no tiene un agujero en el sitio exacto del impacto (porque fue modelada por un artista que no sabía donde se iba a producir).
Una solución podría ser tener una “casa troceada” en memoria, dividida en infinidad de trozos y un detector de explosiones que empiece a mover solo las piezas cercanas al centro de la explosión, pero… ¿Qué pasa si el diseñador es un inconformista y quiere explosiones de rascacielos gigantes en ciudades gigantes de 500 km2? Eso acabaría con la memoria de un plumazo.
Así que estas son las dos “brillantes” ideas que hacen que todo esto sea posible en Megaton Rainfall (y a 60 fps y con renderización estéreo/realidad virtual).
[Por cierto, ojalá pudiera enviarme este blog a mi yo del 2012. Me hubiera ahorrado unos cuantos experimentos fallidos.]
Idea 1: Una captura de la pre-explosión de edificios
Primera idea: en el momento de la explosión, el motor realiza una captura de la casa tal y como se ve desde la cámara. Sí, una captura, una imagen en mapa de bits.
A continuación, genera un efecto de partícula que llena el espacio de la zona que ha explotado y aplica la captura a las partículas, como una textura. De esta forma, el primer fotograma de la explosión se ve exactamente igual desde la cámara. ¡Continuidad conseguida! Se puede seguir cada detalle de la explosión con la vista, desde el principio hasta que se dispersan. Además las partículas son imágenes 2D aceleradas por hardware. La PS4 puede manejar trillones fácilmente. La sensación es fenomenal y, hasta donde yo sé, ningún otro juego maneja las explosiones así.
Idea 2: Ten dos versiones de cada edificio y cambia entre ellas rápidamente
Segunda idea: una vez tenemos un edificio y la posición de una explosión… ¿cómo se genera la versión destruida del edificio, incluyendo unos gruesos muros internos?
El truco está en mantener una versión “papel” del edificio (con muros sin grosor), que el jugador no ve, y una versión “inflada”, con muros gruesos, que se muestra en pantalla. El motor tienen la función de “inflar los muros” de una malla de “papel” de forma muy rápida. Cuando hay una explosión, se descarta la versión inflada, se quitan los triángulos de la malla de “papel” cerca de la explosión (actualizando la versión de papel), y se genera la versión inflada basándose en la versión de papel.
Luego se añade fuego, humo, chispas, una onda expansiva, gente desafortunada, muebles… y voilà. Explosión procedimental lista para servir. Sin embargo, el fuego solo se ve de noche. Decisión artística. Y a la gente solo desde lejos. Se decidió evitar la clasificación PEGI +18.
Hay muchos más tipos de explosiones en el juego, pero esta entrada tiene un límite de palabras. ¿Sabéis lo que no hay?… limitación de imágenes animadas, así que aquí va otra:
Se ha cerrado la sección de comentarios.