Les développeurs nous disent tout sur le système nautique ambitieux de God of War
Le travail sur la barque s’est révélé extrêmement intéressant. Cory voulait depuis très longtemps (depuis God of War II) ajouter un bateau dans la série. La narration des précédents jeux pouvait difficilement justifier l’ajout d’un bateau. Cependant, dans ce nouveau God of War réinventé, nous avons placé l’exploration et la narration au cœur de nos préoccupations… et comme le lac des Neuf fait office de point central, nous nous sommes dit qu’une barque serait parfaitement adaptée pour ce jeu.
Tais-toi et rame
Notre prototype était assez simple. Nous avons placé Kratos en position assise et avons conçu un modèle de bateau autour de lui. De là, nous avons ajusté la vitesse de Kratos, les niveaux de friction et les mouvements de base afin de pouvoir imaginer la sensation de contrôler un véhicule dans notre jeu.
Une fois le prototype initial mis en place, nous avons commencé à mener de nombreuses recherches. Nous avons rapidement décidé que Kratos utiliserait une rame pour propulser son bateau. Cela signifie que cette embarcation s’apparente plus à un canoë monoplace qu’à d’autres types de bateaux, tout du moins du point de vue de l’animation. Après avoir visionné de nombreux tutoriels sur YouTube pour apprendre à pagayer en canoë, nous avons pu mieux comprendre comment nous allions animer Kratos et son bateau. Au moment de commencer les animations, nous avons construit une maquette de bateau à taille réelle pour la capture de mouvement.
Les bateaux de type canoë à une rame représentent un véritable défi, parce qu’ils nécessitent un très grand nombre d’animations. Pour chaque mouvement du bateau, il fallait une animation pour Kratos. Il a fallu créer différentes animations lorsque Kratos effectue un virage, avance, recule et tourne sur lui-même. Il a également fallu faire en sorte que le mouvement de Kratos lorsqu’il fait passer sa rame d’un côté à l’autre de sa barque ait l’air naturel, ce qui représentait un défi de taille. Selon l’étape du pagayage de Kratos, j’ai créé un délai permettant à la rame de rester « en rythme » lorsqu’elle passe d’un côté à l’autre de la barque. Concernant le bateau, je suis particulièrement fier de la qualité de ces transitions, car elles répondent parfaitement aux commandes du joueur.
Traction arrière
En plus de l’aspect visuel, nous avons passé beaucoup de temps sur les « sensations » de navigation. Ainsi, nous avons essayé un certain nombre de configurations. On a d’abord imaginé une touche permettant « d’allumer les gaz » pour propulser la barque. C’était plutôt intéressant, puisque ça nous permettait d’exploiter de nouvelles possibilités en termes de gameplay (par exemple l’ajustement de la vitesse selon votre timing). Toutefois, nous sommes arrivés à la conclusion qu’il était plus important que le joueur puisse explorer à sa guise sans être distrait par ce type de mécanique.
Dans un bateau, on doit ressentir l’inertie. Par exemple, lorsque Kratos arrête de ramer, la barque doit continuer à avancer pendant quelques secondes en fonction de sa vitesse. Nous avons sans cesse ajusté l’accélération, la décélération et l’inertie pour ce jeu. Nous voulions que le bateau soit réactif aux commandes du joueur, mais qu’il confère également une sensation de lourdeur. Il fallait absolument que le joueur ait une sensation agréable lorsqu’il fait accélérer la barque et la maintient à vitesse maximum sur le lac.
Les virages représentent un aspect capital du maniement de la barque, il était donc impératif de bien les concevoir. Le nouveau God of War dispose d’un nouveau système utilisant le strafing, ce qui constitue une rupture avec les jeux précédents. Ce système permet d’effectuer des lancers de hache précis et s’adapte parfaitement au placement de la caméra ; cependant, les parties en bateau se concentrent principalement sur l’exploration : par conséquent, demander au joueur de déplacer la caméra pour faire tourner la barque l’aurait empêché de regarder autour de lui pour admirer les détails du lac des Neuf. Nous avons donc décidé que tous les déplacements s’effectueraient avec le joystick gauche.
Après avoir pris cette décision, nous avons continué à opérer des ajustements sur les virages. Nous avons remarqué que les joueurs avaient la sensation que la vitesse de rotation pendant les virages était trop faible. Par contre, après l’avoir augmentée, les joueurs ont trouvé la barque incontrôlable. Nous avions beau tenter d’ajuster la vitesse de rotation, nous obtenions toujours des retours similaires.
Lorsque je ne suis pas en train de concevoir des jeux, je suis souvent en voiture, non pas dans les bouchons de Los Angeles, mais plutôt sur les chemins des somptueux canyons de la région. Certes, il m’arrive de conduire sur la route. Les personnes qui conduisent sur la route préfèrent en général les voitures à traction arrière. En effet, un conducteur expérimenté peut utiliser le couple des roues motrices arrière pour l’aider dans les virages. C’est ce que l’on appelle le survirage.
À l’origine, le « système de traction » de la barque se trouvait au centre. De fait, notre barque était en quelque sorte une « quatre roues motrices ». Nous avons déplacé cette « traction » à l’arrière de la barque. Maintenant, il s’agit d’une barque à traction arrière. Nos testeurs ont immédiatement ressenti une augmentation de la vitesse de rotation, mais également une amélioration du contrôle de la barque. Ils pouvaient dès lors « survirer » avec la barque en exploitant le système de traction pour se déplacer.
Arriver à bon port
Le fait d’entrer et de sortir de la barque a été la fonctionnalité la plus problématique. Ce problème a été très difficile à résoudre. Tant que le joueur est en face de la barque et que le message d’interaction apparait, il peut entrer dans celle-ci. Du fait de notre caméra rapprochée, nous devons toujours garantir un rendu visuel d’une grande fidélité, et ne pouvons donc rien cacher au joueur. Nous ne voulions pas non plus que le joueur se « téléporte » dans une certaine position pour entrer dans la barque. Nous voulions plutôt opérer une transition fluide pour entrer dans la barque, quelle que soit la vitesse ou l’angle du joueur.
Du coup, nous avons passé énormément de temps à créer un système qui allait être utilisé pour tout le reste du jeu à chaque fois que le joueur doit se placer face à un objet (barque, coffres, portes, etc.) Ce système s’adapte à la mécanique de déplacement du jeu, afin de mener le joueur vers sa destination en empruntant systématiquement le chemin le plus court et en ajustant le déplacement en fonction de la vitesse initiale. Une fois ce système mis en place, le joueur pouvait monter dans la barque de façon fluide, depuis n’importe quelle direction et à n’importe quelle vitesse.
C’était une chose de faire en sorte que Kratos puisse entrer dans la barque sans problème, mais qu’en est-il de son fils ? En effet, comme Kratos pouvait entrer dans la barque quel que soit son angle ou sa vitesse, il devait en être de même pour Atreus. Il peut être en train de guider Kratos vers des trouvailles intéressantes, ou simplement se contenter de le suivre. Dans la mesure où le fils de Kratos peut se retrouver dans un grand nombre de situations différentes, il nous a fallu lui dédier un système spécifique lui permettant d’entrer sans problème dans la barque.
Chaque dock et chaque plage dispose d’une zone que nous avons surnommée la « zone interdite au fils ». Vous remarquerez peut-être que lorsque vous courez en direction de la barque, le fils de Kratos se place légèrement en retrait. En appuyant sur la touche pour entrer dans la barque, la caméra se bloque partiellement. Cela nous permet de repositionner le fils de Kratos en fonction de l’angle et de la vitesse auxquelles Kratos pénètre dans la barque, ce qui fait que son fils peut l’y rejoindre sans problème.
Voilà pour entrer dans la barque. Sortir de la barque s’est également révélé assez compliqué. Attardons-nous d’abord un instant sur les docks. Les docks ont été problématiques pour nous. Comme lorsque Kratos entre dans la barque, le joueur peut s’approcher d’un dock depuis n’importe quel angle et à n’importe quelle vitesse. Comme d’habitude, nous voulions garantir un rendu visuel d’une grande fidélité, tout en permettant au joueur de sortir de la barque le plus rapidement possible. Nous avons dû réaliser quelques calculs pour y parvenir. Lorsqu’on appuie sur la touche permettant de sortir de la barque, nous avons calculé l’angle et la distance entre celle-ci et le dock. Nous avons par la suite créé 10 animations différentes, en nous appuyant sur le degré de rotation nécessaire pour amarrer, et selon si le dock se trouve plus sur la gauche ou sur la droite de la barque. Une fois l’animation sélectionnée, nous utilisons une technologie interne appelée la « distorsion de mouvement », permettant d’ajuster l’animation afin d’aligner la barque par rapport au dock.
Les plages ont également posé problème. Avec les docks, il suffit d’aligner la barque par rapport à un point fixe lorsque le joueur appuie sur la touche d’interaction. Mais pour les plages, le joueur peut y accoster depuis n’importe quelle direction. Afin de permettre au joueur d’accoster sur la plage et non dans des rochers, nous avons utilisé une technique très particulière, à savoir le mesh de navigation. L’IA utilise le mesh de navigation, ou navmesh, afin de déterminer ses déplacements dans le monde. Les concepteurs de niveaux utilisent généralement un outil de génération de navmesh pour créer les zones où l’on peut se déplacer dans leurs niveaux. Nous savions qu’un outil de navmesh nous permettrait de générer un navmesh dans une zone sans obstacle : nous avons donc choisi d’utiliser cette technologie pour déterminer les points d’accostage.
Mimir, raconte-nous une histoire
Le système de discussion sur le bateau a été grandement apprécié par la communauté. Une fois Mimir découvert, il devient un formidable compagnon d’aventure pour Kratos sur la barque. Mimir contera de nombreuses histoires sur l’origine et les légendes de Midgard à Kratos et son fils. Cependant, comme avec tous les autres systèmes que j’ai décrits, nous devions nous assurer que le joueur puisse entrer et sortir de la barque à n’importe quel moment.
Le système de discussion s’adapte pour jouer des enregistrements audio en fonction de la progression du joueur. Ces enregistrements audio sont en réalité constitués d’une multitude de courtes répliques mises bout à bout. En restant sur la barque pour écouter Mimir, les répliques seront prononcées d’une traite comme s’il s’agissait d’une longue histoire continue, mais si vous sortez de la barque en plein milieu, Mimir conclut par une réplique plus courte que l’animation pour sortir de la barque. Cette technique permet à Mimir d’interrompre l’histoire, et de la reprendre là où elle s’était arrêtée quand Kratos remonte dans la barque.
Conclusion
Ajouter un bateau dans la franchise God of War a été une énorme responsabilité. Il s’agit d’une fonctionnalité très complexe, constituée d’une multitude de petits détails. Nous avons réalisé un excellent travail d’équipe, qui a été rendu possible grâce aux efforts de la fantastique équipe de Santa Monica Studio. Nous avons grandement apprécié de pouvoir obtenir des retours de la part de nos fans : nous sommes particulièrement fiers des retours concernant le bateau.
Quelques infos supplémentaires sur le bateau :
- Plus de 600 animations différentes pour la barque
- Plus de 750 lignes de dialogue à bord de la barque
- Alfheim dispose d’un bateau, d’une rame et d’un éclairage unique
- Après avoir débloqué Mimir, les animations sont différentes à chaque fois que Kratos entre et sort de la barque
- La barque peut déterminer si elle se trouve sur le côté gauche ou droit des docks, ce qui permet d’ajuster les animations d’entrée et de sortie
- À bord de la barque, les LED de la manette Dual Shock 4 deviennent bleu turquoise
- Même si elle reste sur la barque, le moteur du jeu considère la rame comme une arme ramassée
- Il existait un bug permettant à Kratos de sortir de la barque avec la rame en main
Les commentaires sont désactivés.