Les défis du développement pour PC et mobiles. Partie 1 : Contrôles

Conception des contrôles

Écrit par Mattieu Bégin et Jonathan Guillemette.
Lorsque nous avons commencé à travailler sur Leap of Fate, notre objectif initial était de créer un jeu d’action pur et dur qui fonctionnerait aussi bien sur PC que sur mobile.
Nous savions que de nombreux jeux d’action avaient échoué sur mobile à cause des contrôles, alors non seulement nous voulions éviter le même sort, mais nous voulions aussi établir une référence de qualité pour les contrôles tactiles sur cette plateforme.
Cela a donné lieu à de nombreuses décisions intéressantes en matière de conception, dont certaines sont abordées ici.

LoF_AnimatedGif_ActionScene.gif

Marcher dans l’ombre et tirer comme un fou dans Leap of Fate

Pour vous donner un aperçu, Leap of Fate est un jeu de tir de haut en bas à deux sticks.
C’est un jeu qui exige une dose égale de rapidité et de précision en termes de contrôle des attaques et d’auto-positionnement.
Comme vous pouvez vous en douter, la qualité des contrôles est cruciale pour l’expérience de Leap of Fate.
Voici la liste des actions de combat disponibles pour le joueur. LoF_TableOfControls Pour ce type de jeu, la plateforme la plus facile à concevoir, en termes de contrôles, est le PC avec clavier et souris.
Nous avons immédiatement opté pour le schéma de contrôle bien établi à deux manettes : WASD + souris.
La raison de ce choix provient de nos deux principales influences en matière de gameplay.
Nous voulions le contrôle direct du personnage que l’on trouve dans The Binding of Isaac, qui permet d’éviter les pièges et les projectiles avec précision, et nous avons mélangé cela avec le système de ciblage de la souris de League of Legends, où le ciblage des capacités est découplé du mouvement et de l’orientation du personnage.
Nous avons beaucoup aimé la façon dont le système de contrôle obtenu permet d’attaquer et de défendre simultanément, ce qui rend le jeu d’autant plus axé sur les compétences.

LoF_KeyboardControls.png

L’autre raison importante de ce choix était d’assurer une bonne répartition de la charge d’entrée sur les deux mains et d’éviter toute gymnastique des doigts.
En fait, dans Leap of Fate, vos doigts n’ont jamais besoin de bouger des boutons sur lesquels ils sont naturellement placés, ce qui est aussi directement lié à notre choix de minimiser le nombre d’actions du joueur.
Tout cela pour que le joueur puisse se concentrer sur le jeu plutôt que sur les commandes, et pour faciliter le portage sur d’autres plates-formes.  

Contrôles tactiles pour les mobiles

Bien que le schéma de contrôle pour PC ait été un choix naturel, notre tout premier prototype de Leap of Fate était plutôt sur mobile, car nous savions que les contrôles tactiles pour un jeu d’action rapide seraient notre plus grand défi.
En effet, quiconque a déjà joué à un jeu d’action sur mobile a probablement eu de nombreuses mauvaises expériences avec les commandes.
Manque de réactivité, mauvais clics, perte de contrôle, la liste est longue.
Bien que nous nous soyons efforcés d’éviter tous ces écueils, notre priorité absolue était de concevoir un système de contrôle qui ne vous oblige pas à regarder le HUD (l’interface du jeu).
Tout comme sur une console Xbox ou Play Station, où vous n’avez jamais besoin de regarder vos doigts, nous voulions une expérience mobile où les yeux du joueur seraient sur l’action 100 % du temps, ce qui est crucial pour un jeu d’action à haute difficulté et à rythme rapide.
Le mobile est une solution naturelle pour les jeux de tir à deux bâtons.
Néanmoins, on peut facilement affirmer qu’une grande partie de ces jeux n’offrent pas de bons contrôles.
C’est pourquoi nous avons tout d’abord cherché à repenser le système de double manette.
Nous sommes rapidement arrivés à la conclusion qu’il nous fallait des sticks virtuels dynamiques (des sticks qui ne sont pas fixés à l’écran).
Nous voulions ainsi éviter le principal problème des sticks statiques, à savoir que vous devez constamment regarder le HUD pour repositionner vos pouces.
D’après nos tests de jeu, ce problème s’exprime de deux manières :

  1. Au cours d’un jeu normal, il se crée rapidement une petite différence entre l’endroit où le joueur pense que ses pouces sont par rapport au centre des baguettes et l’endroit où ils se trouvent réellement.
    C’est ce qui provoque le sentiment que « le jeu ne réagit pas comme il le devrait ».
  2. Dans les situations de stress ou de surprise, les joueurs ont tendance à réagir de manière excessive et à déplacer soudainement leur pouce trop loin du rayon d’action de la manette, ce qui fait que leur saisie ne s’enregistre plus ou du moins s’enregistre de manière erronée.

Nos sticks dynamiques ont été conçus pour éviter ces problèmes.
Ils permettent au joueur de placer ses pouces à l’endroit qui lui semble le plus naturel sur l’écran.
Si, pour une raison quelconque, cette position change en cours de jeu, les baguettes suivent les pouces et aucune modification de la réactivité de l’entrée ne se produit.
Le joueur peut se concentrer sur le jeu et non sur la manette virtuelle.

LoF_AnimatedGif_Movement.png

Le bâton virtuel dynamique de Leap of Fate

Il est intéressant de noter que cela n’a été possible qu’en rendant les bâtons extrêmement sensibles.
En fait, il suffit d’un déplacement du pouce d’environ 1 cm pour atteindre le point d’entrée maximale, après quoi le centre du bâton commence à suivre.
L’avantage de cette méthode est qu’elle élimine efficacement la demi-entrée et l’espace mental nébuleux dans lequel elle place le joueur.
De plus, cela permet de s’assurer que vous n’êtes jamais à plus de 2 cm d’un virage à 180 degrés.
En d’autres termes, les actions les plus extrêmes de Leap of Fate sont extrêmement rapides à réaliser et peuvent être effectuées depuis n’importe quel endroit de l’écran, ce qui garantit la grande réactivité nécessaire pour jouer à ce jeu d’action au rythme effréné.
Nous disposions désormais d’une base efficace à deux bâtons, mais la contrainte inhérente à ce schéma de contrôle est qu’il ne vous permet que de tirer de manière directionnelle, et ne permet pas le ciblage précis dont nous avions besoin pour ce jeu.
L’ajout de cette fonction a nécessité plusieurs étapes itératives.
Tout d’abord, nous avons dû ajouter des boutons virtuels pour déclencher les attaques spéciales et la marche des ombres.
De nombreux jeux mobiles utilisent des boutons virtuels, mais ils sont généralement petits et présentent un grave problème de mauvais clics.
Notre solution a consisté à rendre les boutons si gros que même une tentative à l’aveugle ne pourrait pas les rater.
En fait, chacun de nos deux boutons occupe environ 15 % de l’écran !
Bien entendu, nous avons fait en sorte qu’ils soient visuellement discrets, avec juste une ligne de démarcation dans le HUD.
Pour déclencher une capacité, il suffit au joueur de taper n’importe où « vers le haut », ce qui donne un taux de réussite presque parfait, sans qu’il soit nécessaire de regarder.
Une fois la capacité déclenchée, le joueur est invité à toucher n’importe où sur l’écran pour choisir une cible.
Cela semble parfaitement naturel avec un appareil tactile et correspond à la précision de ciblage d’une souris sur PC.

LoF_AnimatedGif_targeting.png

L’activation d’une capacité spéciale déclenche un effet de temps de balle.

La partie à deux sticks fonctionnait donc bien, et le ciblage était facile et naturel, mais le problème restant était la transition entre les deux.
Plus précisément, le temps nécessaire au repositionnement de la main faisait que vous étiez souvent touché pendant la transition, en plus de risquer une position sous-optimale de la main si vous alliez trop vite et perdiez partiellement la main sur l’appareil.
Notre solution a été assez innovante : nous avons ajouté un effet de temps de balle (sur Mobile uniquement).
Chaque fois que vous activez une capacité, le bullet time se déclenche, ralentissant le jeu à une vitesse de 10 %, y compris votre propre personnage.
Cela signifie qu’une fois le bouton pressé, le joueur a amplement le temps de déplacer sa main sur l’appareil et de sélectionner une cible sans risquer d’être endommagé par les ennemis.
Une fois la cible sélectionnée, au lieu d’arrêter immédiatement le bullet time, nous le laissons revenir progressivement en arrière en 0,5 seconde, afin de laisser le temps de revenir à la position du double bâton.
Dans l’ensemble, cette conception innovante a permis d’obtenir une expérience mobile très similaire à la version PC.
Notez que cela a également impliqué la création d’un équilibre de jeu distinct et l’ajout d’une assistance à la visée pour tenir compte de la précision intrinsèquement plus faible de la saisie sur mobile.
Mais le résultat final est d’une extrême fluidité.
La clé de notre processus de conception a été de remettre en question les normes acceptées et d’être prêts à innover en fonction des besoins du jeu.
Nous nous sommes retrouvés avec des éléments de contrôle étonnamment efficaces, tels que des sticks dynamiques hyper-sensibles, des boutons énormes et le bullet time.
Et les résultats parlent d’eux-mêmes : de nombreux joueurs ont laissé des commentaires très positifs sur les contrôles et ont déclaré qu’ils n’auraient jamais pensé qu’un jeu d’action aussi rapide pouvait fonctionner sur mobile.  

Manette de jeu sur PC

Bien que Leap of Fate ne soit pas sorti sur consoles, nous avons fini par prendre en charge les manettes de jeu sur PC.
Cela ne faisait pas partie de notre plan initial, car nous savions que les manettes de jeu n’étaient pas idéales pour ce type de jeu, mais de nombreux joueurs de l’Early Access sur Steam nous l’ont demandé.
Le raisonnement typique était le suivant : « Hé, c’est un jeu de tir à deux sticks, il fonctionnera naturellement très bien avec les manettes de jeu. Il suffit de le faire !
Cependant, ce qu’ils ont oublié, c’est le ciblage précis.
S’il y a une chose que les manettes de jeu ne font pas bien, c’est émuler une souris.
Il s’agit là d’un autre défi de conception pour nous.
Comme vous le verrez, il s’agissait d’éliminer les prototypes insatisfaisants jusqu’à ce que nous en trouvions un qui fonctionne.
Contrairement à nos attentes initiales, la mise en œuvre d’un schéma à deux bâtons pur (c’est-à-dire pas de boutons, seulement les deux bâtons) n’a pas fonctionné.
En effet, nous avions besoin d’un curseur, et déplacer le curseur signifiait nécessairement tirer dans cette direction.
Comme il y a de nombreuses raisons dans Leap of Fate pour lesquelles vous voudriez pouvoir déplacer le curseur sans tirer, ce n’était pas une option valable pour nous.
Par conséquent, nous avons dû utiliser un schéma où l’attaque de base était contrôlée par une combinaison du stick et d’un bouton de la gâchette.
Notez que nous avons dû ajouter un tout petit peu d’assistance à la visée sur l’attaque de base, car une saisie au stick directionnel est nécessairement moins précise que de placer le curseur de la souris sur un ennemi pour une visée parfaite.

LoF_GamepadControls.png

L’étape suivante consistait à trouver comment effectuer le ciblage (le verrouillage de cible ou le cyclage de cible n’avaient pas de sens dans ce jeu, puisque vous ciblez généralement des positions au sol, et non des ennemis).
Au lieu de cela, le ciblage devait fonctionner avec un curseur, mais ce qui est bon en termes de curseur pour l’attaque de base directionnelle ne l’est pas pour l’attaque spéciale ciblée, et vice versa.
Par exemple, lorsque vous utilisez l’attaque de base, vous ne voulez pas avoir à gérer la distance du curseur parce que c’est inutile, et vous préférez en fait avoir le curseur toujours en vue, à une distance confortable.
De plus, lorsque vous avez besoin de changer soudainement la direction du tir, vous avez besoin que cela se produise immédiatement.
Au contraire, lorsque vous visez une attaque spéciale, vous préférez que le curseur se déplace librement pour atteindre l’endroit désiré.
Vous êtes également beaucoup plus attaché à la précision, et le curseur ne doit donc pas se déplacer trop rapidement ou être trop nerveux.
Pour tenir compte de ces besoins très différents, nous avons décidé d’alterner les modes de curseur entre les deux types d’action.
Notre première tentative a consisté à donner à chaque curseur son comportement optimal.
Mais cela s’est avéré peu pratique car il y avait trop de différences entre les deux, ce qui rendait les transitions difficiles à adapter.
De plus, l’utilisation d’un curseur libre pour les capacités spéciales ne fonctionnait finalement pas si bien, car ce curseur ne pouvait pas être assez précis pour cibler tout en étant assez rapide pour changer de cible à la volée.
Nous avions besoin d’un compromis.

LoF_AnimatedGif_GamepadCursor.png

Le curseur de l’attaque de base, suivi du curseur de l’attaque spéciale

Nous avons fini par faire du curseur de ciblage une extension modifiée du curseur d’attaque de base.
Le curseur de base a donc été conçu pour tourner dans un rayon fixe autour du personnage, avec un décalage minimal par rapport à la position du stick physique.
Ensuite, lorsque le bouton d’attaque spéciale est pressé, le rayon augmente d’environ 30 % et la vitesse du curseur diminue légèrement.
Bien sûr, l’inconvénient de ce système est qu’il ne permet pas de cibler sur l’ensemble de l’écran.
Cependant, il est compensé par les avantages suivants ;

  • il a une bonne synergie avec le comportement du curseur de l’attaque de base
  • il affiche la stabilité nécessaire du curseur grâce au rayon maximal (puisqu’il s’arrête de bouger à ce point)
  • il est suffisamment rapide pour permettre de changer de cible

Bien que cela ait résolu le problème de l’attaque de base par rapport à l’attaque spéciale, le ciblage de la marche dans l’ombre restait un problème.
Lorsqu’un joueur se retrouve en mauvaise posture pendant un combat, la meilleure chose à faire est souvent de s’éloigner en marchant dans l’ombre pour se mettre à l’abri.
Il s’agit d’une action que vous souhaitez généralement exécuter le plus rapidement possible.
Cependant, le système de curseur de ciblage actuel était trop lent pour cela.
Nous avons d’abord essayé un tout autre système pour la marche dans l’ombre, un système dans lequel il n’était pas nécessaire de cibler.
Au lieu de cela, le joueur commençait immédiatement à marcher dans l’ombre dès qu’il appuyait sur un bouton dans la direction du curseur, et continuait à avancer jusqu’à ce que le bouton soit relâché.
En fait, cela fonctionnait très bien.
Le problème, c’est que le fonctionnement était complètement différent de tout le reste du jeu, et qu’il aurait donc fallu une explication complète du didacticiel et un retour d’information très clair.
Mais si quelqu’un commençait le jeu avec un clavier et une souris, et passait ensuite au gamepad, il ne verrait jamais ce tutoriel, et ne comprendrait probablement pas comment marcher dans l’ombre.

LoF_ShadowWalk.png

Les ombres qui traversent les ennemis les font exploser.

Nous sommes donc revenus au système de curseur standard, en introduisant à la place un modificateur spécial.
Lors du déclenchement d’une marche dans l’ombre, le curseur bénéficie d’une augmentation de vitesse substantielle, mais seulement dans les 0,2 premières secondes, et seulement si le stick reçoit une force d’entrée complète.
Cela couvre la plupart des cas où le joueur doit s’échapper immédiatement, et fonctionne assez bien.
Dans l’ensemble, le résultat est un système de contrôle unique au gamepad qui, il faut l’admettre, demande un peu de temps pour s’y habituer.
Il s’agit ni plus ni moins de notre meilleur effort pour résoudre un problème de conception difficile imposé par nos joueurs.
Heureusement, les commentaires sur Steam ont été très positifs à propos de la prise en charge de la manette de jeu, donc tout va bien en fin de compte.  

Mention spéciale : Contrôles de téléportation

Il s’agit d’une toute petite partie du gameplay de Leap of Fate qui, étonnamment, est un facteur majeur dans l’appréciation de nos contrôles.
À la fin de chaque séquence de combat, le joueur doit retourner au centre de niveau pour choisir un autre niveau à explorer.
Pour ce faire, il doit maintenir les commandes de téléportation pendant une seconde, le temps que le personnage se recharge.
La plupart des joueurs apprécient cette interaction et le zoom de la caméra qui l’accompagne.
Il est intéressant de noter que ce type d’interaction est le plus efficace sur mobile.
Il y a quelque chose de très satisfaisant à appuyer physiquement ses deux pouces sur de grosses sphères magiques pour charger la téléportation.
Lorsque vous explorez l’espace de conception de vos commandes, gardez un œil sur les interactions qui sont tout simplement amusantes à réaliser.
Cela donnera un petit avantage supplémentaire à votre jeu.

LoF_AnimatedGif_Teleport.png

Je m’en vais.

Conclusion

Développer un jeu sur plusieurs plateformes peut être un véritable défi.
Il n’y a rien de pire que de s’entendre dire que l’une de vos versions n’est qu’un « portage ».
Les joueurs exigent des développeurs qu’ils conçoivent leurs jeux en tenant compte des contraintes propres à leur plate-forme préférée, ce qui est un excellent moyen de maximiser votre succès sur cette plate-forme.
Si Leap of Fate a fait quelque chose de vraiment bien en termes de conception, nous aimons à penser que c’est d’avoir réussi le schéma de contrôle sur toutes les plates-formes.
Ce qu’il faut retenir de cet article, c’est qu’en tant que concepteur, vous devez vous autoriser à remettre en question les normes actuelles.
N’ayez pas peur de repousser les limites et même d’introduire des différences de gameplay importantes entre vos versions si cela permet à votre jeu de briller sur toutes les plateformes.   Publié à l’origine sur Gamasutra : http://www.gamasutra.com/blogs/MattieuBegin/20161003/282581/The_Challenges_of_Developing_for_PC_and_Mobile_Part_1_Controls.php