La destruction procédurale dans le jeu de simulation de super-héros Megaton Rainfall, disponible dès aujourd’hui sur PS4

4 0
La destruction procédurale dans le jeu de simulation de super-héros Megaton Rainfall, disponible dès aujourd’hui sur PS4

Découvrez la technologie qui se cache derrière l'incroyable jeu de Pentadimensional Games

Noël 2012. J’étais assis dans mon canapé, le PC sur les genoux, et je jouais à une des toutes premières versions de Megaton Rainfall (mais à l’époque, le jeu s’appelait autrement). À l’écran, j’avais une simulation d’immeubles qui s’effondraient en fonction de l’endroit où on tirait. C’était de toute beauté. Je me souviens avoir pensé « Ouah, c’est vraiment cool », et j’ai décidé de finir le jeu jusqu’au bout (je devais donc démissionner de mon travail de l’époque).

Comme beaucoup de gens, j’adore les superproductions hollywoodiennes avec une tonne d’explosions. Et il y a une chose que les explosions dans les films font mieux que dans les jeux vidéo.

La plupart des explosions dans les jeux ne sont pas procédurales. Prenons l’exemple d’une maison qui est touchée par un lance-roquettes, et qui explose. Au moment de l’explosion, l’élément « maison » est remplacé par un élément « maison détruite », et au même moment, on ajoute un effet de particules (feu, fumée et débris). Le problème, c’est la discontinuité. On remarque la coupure, un changement brusque dans la première image de l’explosion, et on n’a donc pas l’impression que c’est la maison qui a explosé. En plus, l’élément « maison détruite » n’affiche pas un trou à l’endroit exact où le lance-roquettes l’a touché (car l’élément a été modélisé par un artiste qui ne savait pas d’où proviendrait le tir).

Pour éviter ce problème, on pourrait mettre en mémoire un élément « maison en pièces », constitué d’une myriade de pièces différentes, et activer cet élément au moment de l’explosion en animant uniquement les pièces proches du point d’impact, mais… Que faire si notre designer est non-conformiste, et veut d’immenses explosions détruisant d’immenses gratte-ciels dans d’immenses villes de 200 km² ? La mémoire n’arriverait jamais à suivre.

Voici donc deux idées « de génie » qui rendent tout cette génération procédurale possible dans Megaton Rainfall (à 60 FPS et en stéréo et VR).

(D’ailleurs, j’aurais bien aimé pouvoir m’envoyer ce blog en 2012, ça m’aurait évité pas mal d’expériences ratées).

Première idée : au moment de l’explosion, le moteur du jeu capture une image de la maison, comme elle est vue par la caméra. Oui, une image, un bitmap. Ensuite, il génère un effet de particule qui remplit l’espace de la zone explosée, et il applique l’image sur les particules en tant que texture. Ainsi, du point de vue de la caméra, la première image de l’explosion semble être exactement la même. On a notre continuité ! Vous pouvez suivre chaque détail avec vos yeux pendant l’explosion, jusqu’à ce que les particules se dispersent. En plus, les particules sont constituées de panneaux en 2D avec accélération GPU. Le système PS4 peut facilement en prendre des trillions en charge. Le ressenti est incroyable, et aucun autre jeu ne traite les explosions comme ça, que je sache.

Deuxième idée : si on a un immeuble et la position d’une explosion, comment générer la version détruite de l’immeuble, avec des murs internes épais ? L’astuce est d’avoir une version « papier » de l’immeuble (composé de murs sans épaisseur), que le joueur ne peut pas voir, et une version « remplie », avec des murs épais, affichée à l’écran. Le moteur du jeu peut « remplir » les murs d’une version « papier » très rapidement. Lorsqu’une nouvelle explosion se produit, on laisse tomber la version remplie, on supprime les triangles de la version « papier » à l’endroit de l’explosion (on met à jour la version papier), et on génère la version remplie en se basant sur la version papier.

Ensuite, on ajoute du feu, de la fumée, des étincelles, une onde de choc, des pauvres malheureux, des meuble, et voilà ! Une explosion procédurale servie sur un plateau. (Cependant, le feu n’est visible que la nuit. C’est un choix artistique. Et on ne voit que les gens qui sont loin de la caméra. Un choix pris pour éviter que le jeu soit déconseillé aux moins de 18 ans).

Il existe tout un tas d’autres genres d’explosions dans le jeu, mais ce blog a un nombre de mots limite. Cela dit, les GIFS ne sont pas limités, donc en voici un autre :

Les commentaires sont désactivés.

4 Commentaires

  • gauffreman

    Vraiment très intéressant… Dommage que la longueur de l’article soit limité, j’aurai été curieux de voir par quels processus il est passé avant d’arriver à ce résultat. Et de voir comment sont géré les autres aspect procéduraux du jeu (systèmes solaires, planètes, galaxies,…etc…)

    En tout cas je m’amuse bien dessus depuis hier soir en VR, le sentiment de surpuissance et de liberté sont bien là… J’attend juste une compatibilité PS Moves pour que le jeu soit encore plus immersif.

    Dire qu’il q’agit d’un projet à la base fait par un seul homme, respect! J’ose à peine imaginer ce que pourrait donner ce genre de projet avec une grosse équipe et le budget qui va bien…

  • Chris2sissi

    Pareil je m’eclate avec ce jeu. Chose qui est bien fait c’est lorsque l’on va dans les rues des villes, sur la route ou autre y’a de la vie avec les gens qui se ballade. Et que dire si on s’eloigne de la terre, on passe les planetes, puis on sort de la galaxie et y’a des systemes solaires et autres galaxie ou l’on peut aller dedans. Un conseil sort de la terre et par dans l’espace pour aller le plus loin possible dans l’univers, j’ai volé tout droit pendant 10 minutes , rien que les textes au bout sont géniaux

  • GazetteSDF

    Je serai très intéressé d’en savoir plus ! C’est impressionnant !

  • kefran_nsm

    je l’ai pris ce midi et le jeu est vraiment cool et se joue très bien à la manette, par contre je bloque complètement à la mission 5, impossible d’envoyer ces fichues bombe vers le ciel (ou pas assez haut donc retour au check point en boucle…. c’est également dommage qu’il y ai cette jauge de pertes qui m’empeche de semer le chaos comme bon me semble