
Comment une petite équipe a pu réaliser un succès 2D/3D complexe et éclectique en multiplateforme ? Grâce à une pile technologique comprenant l'Universal Render Pipeline, le C# Job System, Cinemachine et l'Input System, ainsi qu'au soutien de l'équipe Integrated Success, l'équipe de Dave the Diver a lancé un jeu époustouflant, parfaitement optimisé et très apprécié.
Gestion d'éléments visuels complexes en multiplateforme
PC, Mac, Nintendo Switch™
27
Corée du Sud

Dave the Diver mêle aventure, jeu de rôle et simulation de gestion. Les joueurs sont aux manettes de Dave, un plongeur qui explore les mers, ramène des poissons, évite des créatures menaçantes, résout des quêtes et qui fabrique et vend de sushis, élaborés avec les ingrédients fraîchement pêchés.
La petite équipe savait qu'elle avait besoin d'un partenaire pour équilibrer les éléments complexes et multigenre de son jeu sur de nombreuses plateformes.
« Nous avons choisi Unity car ses fonctionnalités nous donnaient plus d''autonomie et de temps pour développer le jeu, et pour sa réputation qui n'est plus à faire en tant que partenaire multiplateforme » explique le réalisateur Jaeho Hwang.

Nintendo Switch est une marque déposée de Nintendo.

L'un des plus grands défis rencontré par l'équipe était de veiller à obtenir une qualité visuelle optimale en multiplateforme. L'utilisation de l'Universal Render Pipeline (URP) leur a permis de créer, d'optimiser et d'adapter leurs graphismes. Le concepteur de jeu en chef Chanhee Woo a déclaré : « L'URP nous a donné un avantage non négligeable. Nous n'avons eu qu'à configurer une ressource pipeline de rendu spécifique aux plateformes et l'indiquer dans les paramètres de qualité. Nous nous étions fixés des normes graphiques de très haut niveau et les avons respectées. »
L'autre problème rencontré a été de réagir rapidement en ce qui concerne les idées de fonctionnalités et d'expérience de jeu. L'idéation rapide était particulièrement bien adaptée pour leurs infographistes, du fait des perspectives instrumentales des shaders de jeu. Pour éviter tout retard, ils ont opté pour Shader Graph, un outil de création visuelle basé sur des nœuds.
« Le fait que nos collaborateurs créatifs, autres que les programmeurs, puissent utiliser le Shader Graph est un avantage considérable » explique Kiyeop Chung, directeur artistique. « Ils peuvent ainsi collaborer en direct. Et les résultats sont visibles immédiatement. »

Dave the Diver allie graphismes 2D en pixels et graphismes 3D. « L'idée de combiner l'action typique des jeux d'arcade en 2D avec l'impression d'espace offerte par la 3D nous a beaucoup séduits », explique Woo. L'équipe a rencontré des difficultés avec les angles de caméra et la mise en œuvre des interactions lors de la concrétisation de ses idées ; elle a donc opté pour Cinemachine, une suite d'outils permettant de gérer les caméras sans codage, afin de l'aider à choisir les meilleurs plans. Elle pouvait ainsi avoir un aperçu du placement et de la configuration nécessaires pour ensuite les mettre en place, afin d'organiser toutes les caméras.
« Les réglages étaient organisés comme pour un lieu de tournage » continue Woo. « Cinemachine nous a permis facilement de créer et d'orienter notre dynamique à l'aide d'options de fondus, de secousses ou d'objectif ciblé. »

La partie cruciale de la stratégie visuelle de l'équipe a été de veiller à ce que les graphismes soient aussi réalistes que possible, sans que la performance n'en soit affectée. Ils ont rencontré des difficultés pour reproduire le comportement grégaire des poissons ; ils ont donc eu recours au C# Job System et au compilateur Burst pour résoudre ces problèmes.
« Normalement, si vous calculez chaque vecteur de façon linéaire pour déterminer le comportement du banc, vous demanderez beaucoup de travail à votre processeur. Par contre, en rédigeant du code à l'aide du Système de tâches en C# et en le compilant tout en l'optimisant grâce au compilateur Burst, votre performance sera nettement améliorée » déclare le programmeur en chef Bosung Seo.
L'équipe s'est également débattue avec les collisions. Dans « Dave the Diver », les poissons se bousculent doucement les uns les autres pour créer une impression de profondeur en 2D et en 3D, et l'équipe a eu beaucoup de mal à obtenir cet effet. « Pour remédier à cela », explique Seo, « nous avons associé le C# Job System à Unity Physics, ce qui a permis de mettre en place cette logique de poussée dynamique et facilement modifiable. »

L'équipe de Dave the Diver souhaitait déployer et assurer la maintenance du jeu sur plusieurs plateformes. Compte tenu de leur petite taille, le temps et les coûts potentiels liés à cette stratégie de lancement étaient prohibitifs ; ils ont donc eu recours à l’Input System pour faciliter et accélérer le processus.
« Le coût de l'adaptation du jeu à de multiples plateformes était minime » explique Seo. « Nous avons transféré le moteur et changé les commandes pour passer à Input System. Nous avons utilisé les mêmes code et ressources sans aucune conversion pour les deux plateformes et cela nous a énormément aidé. »
L'équipe a utilisé le même outils pour s'éviter le problème d'avoir à gérer des contrôleurs différents. « Grâce à Input System, l'assemblage des actions et les paramètres principaux pour chacune d'entre elles étaient simples à ajouter ou à modifier avec l'expérience utilisateur. Cela nous a été aussi bénéfique d'ajouter du code et d'effectuer la configuration avec, lors de l'exécution. Nous avons gagné un temps incroyable. »

Partir à la pêche d'un jeu à succès dans le monde du gaming demande beaucoup de travail et permet d'itérer, de tester et résoudre des problèmes pour une impression visuelle optimale.
Ils ont utilisé la vue « Timeline » du Profiler Unity pour identifier les goulots d'étranglement au niveau des performances, et ont fait appel à l'équipe Integrated Success pour les aider à identifier, analyser et résoudre les problèmes de profilage à la fois au niveau du code et de la conception.
« Nos expériences d'assistance de la part des ingénieurs Unity ont été fantastiques » explique Seo. « Nous leur envoyions nos données de profilage et nous résolvions les problèmes ensemble. Ils nous faisaient aussi part de leurs suggestions en matière de solutions d'optimisation, en vérifiant notre code de moteur interne. »
Les ingénieurs leur donnaient également des moyens simples et accessibles pour analyser des lignes spécifiques de code source. « Lorsque nous avions une pile d'appels d'événement anormale, l'un des ingénieurs Unity résolvait le problèmes en examinant le code de moteur avec nous et envoyait le code source à vérifier quand nous avions des questions. « C'est très instructif. »

Dès le début, l'équipe souhaitait créer une expérience visuelle en 2D/3D unique avec des éléments de jeu distincts et multigenre, et des scénarios qui semblaient réalistes et divertissants. Le fait de fusionner tous ces éléments de façon naturelle, sur de nombreuses plateformes, constituait une tâche complexe et il était impératif pour l'équipe de choisir une pile technologique qui les aiderait à gérer facilement la qualité visuelle, l'efficacité et les scénarios.
Grâce à cette approche, associée à une boucle de rétroaction solide avec la communauté et à des tests internes approfondis, Dave the Diver avait tout pour connaître un succès immédiat.
Hwang a dit : « Nous nous préparions à développer un jeu sophistiqué et divertissant, populaire auprès de la communauté, selon nos propres termes. Nous avions mis la barre très haut et nous sommes enchantés du résultat. »

Touchez un public le plus vaste possible et assurez-vous que votre jeu est prêt à entrer dans le futur, quels que soient les évolutions du secteur et les chemins vers lesquels vous mènera votre imagination. Créez du contenu une seule fois et diffusez-le sur plus de 18 plateformes pour captiver les joueurs, quel que soit le format.