Making of «DANGER DODGERS» (mobile & UE4) par UPPERCUT GAMES

Uppercut Games a été crée en 2011 par un groupe de développeurs australiens qui avait déjà publié un certain nombre de jeux pour mobiles sous Unreal Engine 3 et 4 , comme EPOCH et EPOCH 2, et  Submergé sur Steam, PS4 et Xbox One.

Après enquête, le moteur 4.9 leur donnait ce dont ils avaient besoin pour Danger Dogers, qui vient d’arriver dans l’App Store 

Le développement du jeu Danger Dodgers a pris six mois pour six développeurs (4 à temps plein et 2 à temps partiel):

  • deux mois de prototypage,
  • trois mois de développement,
  • un mois de correction des bugs, mise au point et tests.

Unreal Engine 4 permet d’être beaucoup plus créatif avec les matériaux que UE3. Mais il faut faire attention aux performances surtout quand on passe des matériaux métalliques et les non métalliques.

dandgerdodgers_image01-770x818-816333097

Avec un shader simple (photo ci-dessus) avec flat colour, roughness value et une normal map, ils sont passés en dessous de 10 fps (sur les appareils les plus anciens comme iPad 2). Le lancement de l’optimisation ‘Fully Rough’ sur un lot de shaders qui le supportaient permet d’améliorer les taux.

Danger Dodgers a été développé au début sur la version 4.9 du moteur (évolutivité limitée pour les matériaux, il fallait optimiser chaque matériau manuellement). Avec 4.10, ils ont pu utiliser les nouveaux préréglages de qualité iOS ES2.

dangerdodgers_image02-770x557-1157911830

Tous vos shaders doivent être de qualité “Low” pour les appareils, utilisé  sur tous les matériaux non métalliques, ce qui permet un bond de 10 fps dans la performance.

La nouvelle interface utilisateur pour l’édition et la gestion des profils de périphériques est également d’une grande aide, avec des dispositifs pour tester et gérer les performances, une possibilité pour éditer les .ini en utilisant une interface utilisateur.

Le déploiement directement pour plusieurs appareils en une seule fois est aussi une grande amélioration pour les tests, permettant de mettre en place un Hub USB et de connecter jusqu’à huit appareils sur lesquels ils ont pu déployer en même temps. Cela a vraiment simplifié le processus de test des performances et de gameplay.

dangerdodgers_image03-770x573-1217513727

Danger Dodgers utilise un couple de vertex shaders pour ajouter un peu plus de vie à l’environnement et ne prenant que peu de performances.

Le premier “squash et stretch” agrandi les météorites quand elle tombent, puis les écrase, en leur donnant un look gonflable caoutchouteux. Voici les nodes du matériel:

dangerdodgers_image04-770x218-603153444

Comme les météorites sont rondes, le pivot de l’objet, au centre, et facile à trouver, la première partie du graphique calcule la distance de chaque sommet au centre de la météorite puis prend juste le composant Z pour donner la distance de chaque sommet au plan XY.

Pour contrôler l’étirement de chaque météorite, cette dernière a un matériau dynamique qui lui est appliqué quand elle tombe, ils utilisent la valeur FallingObjectStretch. Quand les météorites tombent, la valeur est mise au max, ce qui les allonge. Puis, quand elles s’écrasent, il faut décélérer le “max stretch” avant d’exécuter une fonction d’assouplissement élastique pour rendre les météorites semblables à une balle en caoutchouc (fonctions d’accélération de Robert Penner ici).

Les autres effets de vertex utilisés sont deux effets smoothed appliqués à un matériau utilisé partout dans le niveau. Quand une météorite particulièrement grande s’écrase et que tout rebondit autour. Voici la partie de rebond de la matière:

dangerdodgers_image05-770x446-1893324748

Bounce ne réalise pas de distorsion sur l’objet comme les matériaux squash et stretch le font. Ici, il y a création d’un décalage par rapport à l’emplacement de l’impact Z. Le masque de la sphère donne un beau point d’impact. Encore une fois, le LandedObjectForce est contrôlé dans le code en fonctions de l’accélération. Tous les objets obtiennent la même valeur de la force à travers un objet Material Parameter Collection. La limitation de cette technique est que seule une météorite peut provoquer un rebondissement à un moment donné, il faut donc le limiter aux très grandes météorites.

Il y a un type spécial de météore qui explose, éloignant le joueur. Lorsque cette explosion se produit pour les très grandes météorites, cela crée une distorsion “ondulation” à travers le monde:

dangerdodgers_image06-770x331-1607335899

L’idée de base est de déplacer un masque de sphère à travers le monde par la croissance de l’ExplosionRadius au fil du temps et le positionnement d’un masque de sphère, puis de masquer les sommets en fonction de leur emplacement par rapport au ExplosionLocation. La vidéo suivante montre le rebond et les effets d’entraînement lorsque les grandes météorites explosent:

L’effet d’entraînement a la même limitation que le rebond, une seule météorite explosive peut provoquer une ondulation à travers le monde à un moment donné.

Chacun de ces graphes de noeuds se combine avec un noeud Add alors l’effet d’entraînement passe à travers les objets qui rebondissent.

Danger Dodgers est disponible sur l’App Store,  gratuitement .

Source: https://www.unrealengine.com/blog/uppercut-games-talks-mobile-development

Ces articles pourraient aussi vous intéresser …