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


    Loading More Comments

    Veuillez saisir votre date de naissance.

    Date of birth fields