Bethesda propose comme à son habitude un carnet de développeur à l'écrit histoire de changer des vidéos. Ici c'est Aubrey Hesselgren, le game designer de BRINK qui nous raconte le processus de mise en oeuvre du fameux système SMART (Smooth Movement Across Random Terrain).
Introduction
Il y a six ou sept ans, pendant une courte période, je n’étais pas gros. J’étais mince, rapide, agile et en pleine forme. Pour une fois, je pouvais dire en société quel était mon passe-temps sans me sentir gêné. Mes amis et ma famille pensaient (à tort) que le soir venu, j’arpentais les toits de Southampton, prêt à combattre acrobatiquement des méchants hauts en couleur. J’en étais loin, mais j’avais effectivement découvert le Parkour : l’art de se déplacer efficacement dans tous les sens, de transformer les éléments qui m’entouraient en obstacles à franchir.
Et il y a deux ans, j’ai rejoint Splash Damage. Ils m’ont montré les esquisses de pré-production de ce qui allait devenir Brink. Ce que j’ai trouvé vraiment accrocheur, c’était leur envie d’offrir une totale liberté de mouvement. Comme j’avais un peu d’expérience dans ce domaine, après avoir même fréquenté certains pros de la scène, l’association tombait littéralement sous le sens.
Terrain aléatoire...
L’environnement de Brink, l’Arche artificielle, n’avait pas été conçu pour accueillir des dizaines de milliers d’habitants. L’Arche ne devait abriter que quelques milliers de scientifiques, d’hommes d’affaire, de techniciens ou de célébrités : des gens habitués à utiliser les couloirs et les chemins prévus à cet effet, habitués à se conformer à la logique rationnelle de l’architecture. Mais entre la surpopulation massive, le vieillissement et l’usure, ce sont des dizaines d’ouvertures et passages imprévus qui se sont ouverts : des containers sagement entassés le long d’un mur forment ainsi une échelle de fortune bien pratique, des barrières qui limitaient les accès semblent ne plus avoir pour fonction que de servir de tremplins vers d’autres plateformes...
Dans le monde réel, les endroits qui ont été spécialement conçus pour forcer les gens à emprunter des routes précises sont souvent, bien malgré eux, de fantastiques terrains de jeu pour le parkour. C’est cette philosophie que nous avons voulu apporter dans le monde de Brink. Lorsqu’un concepteur de niveau présente de façon trop évidente à quel endroit ou comment il faut passer, cela ôte un peu de liberté, de créativité et d’improvisation au joueur. Or c’est exactement ça, l’esprit du parkour. A plusieurs égards, ce sont ces chutes inopinées, ces petits murets à sauter, ces sauts millimétrés qui vous offrent, dans le jeu, une sensation de liberté et d’improvisation qui n’est pas sans rappeler le parkour.
…et déplacement fluide
Malheureusement, quand on parle d’un FPS, l’avatar que vous dirigez tient plus du réfrigérateur monté sur roulettes et portant des œillères que du chat sauvage. Bien sûr, vous pouvez entendre des bruits de pas, vous pouvez voir des bras et une arme... Mais dans les faits, vous n’êtes qu’un gros cube qui glisse sur des parallélépipèdes et dont le champ de vision est très limité. Quand nous jouons, nous développons des compétences complexes et bien rodées pour compenser cette visualisation partielle et nos capacités de mouvement limitées.
Au fur et à mesure que les mondes deviennent plus complexes, il y a de plus en plus de choses qui peuvent gêner notre progression, et cela tend à gâcher notre sensation de liberté de mouvement. Une des solutions possibles consiste à permettre à notre réfrigérateur de sauter à 3 mètres de haut, ce qui évite au joueur de devoir naviguer au milieu de tout un tas d’objets auxquels nous ne ferions même pas attention en temps normal. Alors certes, cette solution autorise des déplacements fluides et même élégants (il n’y a qu’à voir les fantastiques sauts qu’on peut faire dans QUAKE II ou III), mais c’est vraiment trop irréaliste.
Notre défi, c’était donc de créer un système de déplacement qui permettrait au joueur de continuer à se sentir maître de ses choix, tout en gérant élégamment les difficultés créées par la richesse de nos décors.
Sauter aux conclusions
Pour simplifier, nous voulions offrir la même sensation de mouvement et de déplacement en toute liberté que celle que donnaient les traceurs originaux, comme David Belle (Banlieue 13) et Sébastien Foucan (Jump Britain/Casino Royale). Nous voulions que les joueurs se sentent parfaitement et totalement libres de leurs mouvements, sans que rien ne vienne interrompre leurs déplacements, tout en leur donnant l’impression d’utiliser les véritables techniques du parkour. En clair, nous voulions que les mouvements soient utiles, et pas seulement spectaculaires.
Pour que les autres membres du studio aient une idée de ce qu’une telle liberté de mouvement peut donner en vue 1re personne, je me suis remis au parkour. Je suis allé dans la ferme de mes parents, dans le sud-ouest de l’Angleterre, je me suis scotché une caméra sur le front et je me suis promené dans la cour.
Dans le studio, tout le monde pensait que j’étais parti filmer des séquences de référence à utiliser dans le jeu. Que tous les à-coups et tremblements qu’allait enregistrer la caméra devaient être numérisés et reproduits dans le jeu. En fait, mon objectif était de prouver que la réalité du parkour ne pouvait pas faire l’objet d’une reproduction exacte dans le jeu.
Quand je saute par-dessus des portes ou que je bondis d’un mur à un autre, je sais en permanence dans quelle position est mon corps et vers où je m’oriente (ce qu’on appelle la « proprioception »), mais dans la salle de montage, le film donnait une idée très différente : l’image sautait partout et il était difficile de voir où je voulais aller. N’importe quel joueur qui essaierait de prendre le contrôle d’une caméra pareille, que ce soit à la souris ou avec une manette, serait immédiatement désorienté et désemparé. J’ai essayé de leur expliquer ça, mais ils ont préféré regarder en boucle la scène dans laquelle mon père me colle une beigne.
Quand les fous rires se sont arrêtés, tout le monde était d’accord sur le fait que les animations et tremblements de caméra devaient être des informations et ne pas servir à désorienter le joueur. Et, après avoir intelligemment bidouillé notre code, c’est exactement à ça que servent les effets de caméra.
Et il ne restait plus qu’à travailler des mois durant sur la mise en place, le développement, la finalisation et le nom final à donner à ce système, le S.M.A.R.T. : Smooth Movement Across Random Terrain (littéralement : « mouvement fluide en terrain aléatoire »).
Sous le capot : comment fonctionne le SMART
Ca n’a pas été facile. Nous avons prétraité la géométrie des niveaux pour créer des modèles simplifiés, qui n’enregistrent que les zones navigables et les « liaisons » possibles entre ces zones.
Nos rusés programmeurs ont ensuite compris que mettre en place des « pistes » qui déterminent si un déplacement SMART est possible consommerait trop de ressources quand on veut faire jouer 16 joueurs en même temps, mais qu’en revanche, toutes les informations nécessaires pour trouver des corniches et des zones basses étaient déjà contenues dans le système de navigation des bots contrôlés par l’IA. Les concepteurs de niveau n’ont pas à indiquer à quel endroit les joueurs doivent utiliser des sauts, des retournements ou des glissades : le système prédétermine à l’avance là où ces mouvements sont possibles.
Quand un joueur avance dans le niveau, le système vérifie à l’avance quelles liaisons sont possibles. Ensuite, en fonction de la position et de l’orientation du joueur, on filtre les liaisons réellement disponibles. Comme il y a un nombre de choix incroyables que le joueur peut faire à tout moment, il peut toujours rester plusieurs options possibles. Nous voulons que la navigation dans le jeu soit simple et évidente pour le joueur, mais nous ne voulons pas que le système déclenche un mouvement qui n’est pas voulu (par exemple, un saut périlleux quand le joueur veut faire une glissade, par exemple).
Et c’est là que la touche SMART entre en action. En plus de permettre au joueur de sprinter, la touche SMART permet d’informer le système que vous voulez sauter, glisser, bondir ou vous accrocher et il choisit la bonne action dès que le contexte s’y prête. Si plusieurs choix sont possibles, nous utilisons la visée pour faire le choix final. Imaginez une barre : vous pouvez glisser dessous ou la franchir en sautant. Regardez vers le sol pour glisser et regardez vers le haut pour sauter, tout simplement.
Après avoir fait quelques essais, c’est une solution qui est apparue comme simple et très intuitive.
Semi-automatique pour tout le monde
Il est important de comprendre que le SMART n’est pas un pilote automatique et qu’il ne joue pas à votre place. En fait, c’est plutôt un outil qui est conçu pour vous permettre de jouer à BRINK de la façon dont vous le voulez. Une passerelle vers plus de choix et pas une barrière à l’entrée.
Autant que possible, vous pouvez toujours continuer à viser et à tirer. Si vous sautez en rechargeant votre arme, par exemple, le rechargement reprend à l’arrivée plutôt que d’être annulé complètement. Les mouvements sont courts ou peuvent être interrompus, ce qui limite les périodes où vous laissez le contrôle au système en attendant que l’animation se termine.
Les sauts sont rapides et leur vitesse est directement indexée sur votre vélocité, pour conserver une fluidité. Dans le cas des glissades, il y a un léger à-coup, pour garder la sensation de contrôle. Les effets de caméra sont réduits au minimum, pour ne pas vous empêcher de viser, quel que soit le mouvement déclenché. Même en vue première personne, l’effet de mouvement de tête est compensé (pour simuler la focalisation), de sorte que vous visez toujours à l’endroit de votre choix. De façon générale, nous évitons d’influer sur votre ligne de tir juste pour le plaisir.
Les escalades sont assez courtes et peuvent être décomposées en séries de petits bonds de mur à mur. Les bonds sur des murs ne sont pas non plus obligatoires, et plutôt à considérer comme des sauts à enchaîner. Tout cela contribue à donner au joueur la sensation d’être 100% du temps 100% aux commandes : et c’est exactement la même chose qu’on ressent lorsqu’on fait du parkour dans la vraie vie !
Le timing SMART : escalader un mur après une chute prend plus de temps qu’en l’avalant directement en courant.
Et bien entendu, vous pouvez toujours utiliser les bonnes vieilles méthodes (sauter, s’accroupir...) pour réaliser manuellement vos sauts, escalades, glissades ou bonds. Mais c’est la combinaison du SMART et des contrôles manuels qui vous offre le plus de souplesse, en vous permettant de regarder où vous voulez et en vous laissant vous concentrer sur les choses vraiment importantes. Bien entendu, sur un franchissement de mur un peu délicat, vous préférerez peut-être utiliser un bond et un saut plutôt qu’une escalade et, pour cela, il vaudra mieux sauter manuellement pour avoir le bon timing, tout en maintenant la touche SMART pour ne pas rater le saut dans la foulée. C’est toujours vous qui contrôlez les choses et vous pouvez changer d’idée en appuyant ou en relâchant la touche SMART à tout moment.
Conclusion
Quand les membres du studio viennent me parler de leurs expériences avec le SMART, il y a une chose qui revient souvent : quand ils retournent jouer à d’autres FPS, ils ont l’impression qu’il leur manque une touche SMART. Digby, un de nos testeurs, m’a raconté qu’un jour, il jouait avec des membres de son clan à un FPS populaire en ligne, et qu’il s’est écrasé en plein dans un muret, restant là à attendre de le franchir automatiquement. Ses équipiers lui ont alors demandé : « Diggers... A quoi tu joues là, Diggers ? » Et bien entendu, en raison de l’accord de confidentialité, il a été obligé de répondre : « Je... Heu... Je peux pas vous le dire... »
J’espère que vous vous amuserez bien à trouver des moyens d’utiliser le SMART pour compléter vos techniques de combat !
Tous les commentaires (6)
hahahaha !!!! excelent.
Ça a l'air bien sympa quand même tout ca.
Et bien si tous ca est vrai
Vivement une demo :)
Allez, Splash Damage, soit sympa, depuis le temps qu'on s'connaît.
En tout cas, plus j'entends parler de ce jeu, plus il me donne envie.
Si tu parles d'une démo sur le XBL/PSN rien n'est est encore sûr.