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

Upper­cut Games a été crée en 2011 par un groupe de développeurs aus­traliens qui avait déjà pub­lié un cer­tain nom­bre de jeux pour mobiles sous Unre­al Engine 3 et 4 , comme EPOCH et EPOCH 2, et  Sub­mergé sur Steam, PS4 et Xbox One.

Après enquête, le moteur 4.9 leur don­nait ce dont ils avaient besoin pour Dan­ger Dogers, qui vient d’ar­riv­er dans l’App Store 

Le développe­ment du jeu Dan­ger Dodgers a pris six mois pour six développeurs (4 à temps plein et 2 à temps par­tiel):

  • deux mois de pro­to­ty­page,
  • trois mois de développe­ment,
  • un mois de cor­rec­tion des bugs, mise au point et tests.

Unre­al Engine 4 per­met d’être beau­coup plus créatif avec les matéri­aux que UE3. Mais il faut faire atten­tion aux per­for­mances surtout quand on passe des matéri­aux métalliques et les non métalliques.

dandgerdodgers_image01-770x818-816333097

Avec un shad­er sim­ple (pho­to ci-dessus) avec flat colour, rough­ness val­ue et une nor­mal map, ils sont passés en dessous de 10 fps (sur les appareils les plus anciens comme iPad 2). Le lance­ment de l’op­ti­mi­sa­tion ‘Ful­ly Rough’ sur un lot de shaders qui le sup­por­t­aient per­met d’amélior­er les taux.

Dan­ger Dodgers a été dévelop­pé au début sur la ver­sion 4.9 du moteur (évo­lu­tiv­ité lim­itée pour les matéri­aux, il fal­lait opti­miser chaque matéri­au manuelle­ment). Avec 4.10, ils ont pu utilis­er les nou­veaux préréglages de qual­ité iOS ES2.

dangerdodgers_image02-770x557-1157911830

Tous vos shaders doivent être de qual­ité “Low” pour les appareils, util­isé  sur tous les matéri­aux non métalliques, ce qui per­met un bond de 10 fps dans la per­for­mance.

La nou­velle inter­face util­isa­teur pour l’édi­tion et la ges­tion des pro­fils de périphériques est égale­ment d’une grande aide, avec des dis­posi­tifs pour tester et gér­er les per­for­mances, une pos­si­bil­ité pour éditer les .ini en util­isant une inter­face util­isa­teur.

Le déploiement directe­ment pour plusieurs appareils en une seule fois est aus­si une grande amélio­ra­tion pour les tests, per­me­t­tant de met­tre en place un Hub USB et de con­necter jusqu’à huit appareils sur lesquels ils ont pu déploy­er en même temps. Cela a vrai­ment sim­pli­fié le proces­sus de test des per­for­mances et de game­play.

dangerdodgers_image03-770x573-1217513727

Dan­ger Dodgers utilise un cou­ple de ver­tex shaders pour ajouter un peu plus de vie à l’en­vi­ron­nement et ne prenant que peu de per­for­mances.

Le pre­mier “squash et stretch” agran­di les météorites quand elle tombent, puis les écrase, en leur don­nant un look gon­flable caoutchou­teux. Voici les nodes du matériel:

dangerdodgers_image04-770x218-603153444

Comme les météorites sont ron­des, le piv­ot de l’ob­jet, au cen­tre, et facile à trou­ver, la pre­mière par­tie du graphique cal­cule la dis­tance de chaque som­met au cen­tre de la météorite puis prend juste le com­posant Z pour don­ner la dis­tance de chaque som­met au plan XY.

Pour con­trôler l’étire­ment de chaque météorite, cette dernière a un matéri­au dynamique qui lui est appliqué quand elle tombe, ils utilisent la valeur FallingOb­ject­Stretch. 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ér­er le “max stretch” avant d’exé­cuter une fonc­tion d’as­sou­plisse­ment élas­tique pour ren­dre les météorites sem­blables à une balle en caoutchouc (fonc­tions d’ac­céléra­tion de Robert Pen­ner ici).

Les autres effets de ver­tex util­isés sont deux effets smoothed appliqués à un matéri­au util­isé partout dans le niveau. Quand une météorite par­ti­c­ulière­ment grande s’écrase et que tout rebon­dit autour. Voici la par­tie de rebond de la matière:

dangerdodgers_image05-770x446-1893324748

Bounce ne réalise pas de dis­tor­sion sur l’ob­jet comme les matéri­aux squash et stretch le font. Ici, il y a créa­tion d’un décalage par rap­port à l’emplacement de l’im­pact Z. Le masque de la sphère donne un beau point d’im­pact. Encore une fois, le Lande­dOb­ject­Force est con­trôlé dans le code en fonc­tions de l’ac­céléra­tion. Tous les objets obti­en­nent la même valeur de la force à tra­vers un objet Mate­r­i­al Para­me­ter Col­lec­tion. La lim­i­ta­tion de cette tech­nique est que seule une météorite peut provo­quer un rebondisse­ment à un moment don­né, il faut donc le lim­iter 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 explo­sion se pro­duit pour les très grandes météorites, cela crée une dis­tor­sion “ondu­la­tion” à tra­vers le monde:

dangerdodgers_image06-770x331-1607335899

L’idée de base est de déplac­er un masque de sphère à tra­vers le monde par la crois­sance de l’Ex­plo­sion­Ra­dius au fil du temps et le posi­tion­nement d’un masque de sphère, puis de mas­quer les som­mets en fonc­tion de leur emplace­ment par rap­port au Explo­sion­Lo­ca­tion. La vidéo suiv­ante mon­tre le rebond et les effets d’en­traîne­ment lorsque les grandes météorites explosent:

L’ef­fet d’en­traîne­ment a la même lim­i­ta­tion que le rebond, une seule météorite explo­sive peut provo­quer une ondu­la­tion à tra­vers le monde à un moment don­né.

Cha­cun de ces graphes de noeuds se com­bine avec un noeud Add alors l’ef­fet d’en­traîne­ment passe à tra­vers les objets qui rebondis­sent.

Dan­ger Dodgers est disponible sur l’App Store,  gra­tu­ite­ment .

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

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.