Lorsque je jouais à GTA III sur Android, j'ai remarqué quelque chose qui m'ennuyait dans presque tous les jeux de course auxquels j'ai joué (peut-être à l'exception de Mario Kart): la conduite en ligne droite est facile, mais les courbes sont vraiment difficiles. Lorsque je change de voie ou dépasse quelqu'un, la voiture commence à pivoter d'avant en arrière, et toute tentative de correction ne fait qu'empirer les choses. La seule chose que je puisse faire, c'est de freiner. Je pense que c'est une sorte de survirage.
Ce qui le rend si irritant, c'est que cela ne m'arrive jamais dans la vraie vie (Dieu merci :-)), donc 90% des jeux avec des véhicules à l'intérieur me semblent irréels (bien qu'ils aient probablement de très bons moteurs physiques). J'en ai parlé à quelques personnes, et il semble que soit vous «ayez» des jeux de course, soit vous n'en avez pas. Avec beaucoup de pratique, j'ai réussi à devenir semi-bon à certains jeux (par exemple de la série Need for Speed), en conduisant très prudemment, en freinant beaucoup (et en me faisant généralement une crampe dans les doigts).
Que pouvez-vous faire en tant que développeur de jeux pour éviter la catastrophe de résonance de survirage et faire en sorte que la conduite se sente bien? (Pour un jeu de course occasionnel, cela ne vise pas une physique 100% réaliste)
Je me demande également quels jeux comme Super Mario Kart font exactement différemment afin qu'ils n'aient pas autant de survirage?
Je suppose qu'un problème est que si vous jouez avec un clavier ou un écran tactile (mais pas les roues et les pédales), vous ne disposez que d'une entrée numérique: gaz pressé ou non, direction gauche / droite ou non, et il est beaucoup plus difficile de diriger de manière appropriée pour un vitesse donnée. L'autre chose est que vous n'avez probablement pas un bon sens de la vitesse et conduisez beaucoup plus vite que vous ne le feriez (en toute sécurité) en réalité. Du haut de ma tête, une solution pourrait être de faire varier la réponse de la direction avec la vitesse.
Réponses:
Une solution serait de tricher un peu et de deviner ce que le joueur veut faire. Lorsque le joueur est sur une section droite et appuie à gauche, vous pouvez supposer qu'il veut changer de voie. Lorsqu'il est proche d'une courbe ou d'une intersection, il veut certainement tourner. Le joueur est incapable de contrôler son angle de braquage exact dans une courbe, vous pouvez donc décider de donner au joueur le bénéfice du doute et de le laisser toujours conduire à travers les courbes dans l'angle idéal lorsqu'il appuie sur le bouton de rotation au bon moment (aussi longtemps aussi physiquement possible - tout joueur qui essaie de conduire avec une courbe en épingle à cheveux à 200 km / h mérite d'être puni par un court vol au-dessus de l'herbe).
Bien sûr, cela pourrait devenir délicat lorsque le joueur veut réellement faire demi-tour sur une section droite ou veut changer de voie juste avant une intersection.
Une autre solution consisterait à faire la différence entre appuyer sur une touche et la maintenir enfoncée. Plus le joueur tient la clé en main, plus l'angle de rotation est élevé. Cela ne semble même pas irréaliste, car lorsque vous avez un volant, vous avez besoin de temps pour le tourner à fond.
Modifier: sur un écran tactile, vous pouvez utiliser des curseurs au lieu de boutons pour contrôler la direction et la vitesse de manière analogique. Lorsque l'écran est sensible à la pression, vous pouvez également interpréter la pression (mais donner un retour visuel sur la pression maximale, ou des joueurs trop zélés peuvent casser leur affichage). Lorsque l'appareil possède des capteurs d'orientation, vous pouvez utiliser l'inclinaison de l'appareil pour contrôler la direction.
la source
Je suis tombé sur cette (vieille) question en recherchant quels jeux autres que Grand Theft Auto IV et V ont implémenté, mais j'ai une réponse décente pour obtenir un survirage contrôlable. Je n'ai qu'une expérience avec le modèle de conduite dans Grand Theft Auto V, mais ces informations devraient être applicables à la plupart des modèles de conduite quelque peu réalistes.
Ce qui semble se produire dans la plupart des jeux de conduite, c'est que la sortie de direction de la voiture est directement liée à l'entrée du joueur - même si une sorte de lissage (temporel) est utilisé. Cela provoque une sensation de lenteur ou une sensation saccadée - et la voiture ne se corrige pas après avoir lâché les commandes. Cela contraste avec une vraie voiture, où la voiture a tendance à se centrer après avoir relâché la force sur la roue. Certains jeux essaient de corriger cela en changeant leur modèle de manipulation ou en ayant des modèles de manipulation d'arcade.
Ce qui peut être observé dans Grand Theft Auto V, c'est que l'entrée de direction de l'utilisateur n'est pas directement liée à la sortie de direction. Le véhicule se dirige tout seul vers son vecteur vitesse actuel. Ceci est visible lors du forçage d'une légère situation de survirage et de l'observation des roues directrices - sans aucune intervention, elles effectuent un contre-virage par elles-mêmes. Toute entrée utilisateur est ensuite ajoutée en plus de ces corrections "naturelles".
Un inconvénient de cette approche, cependant, est que la voiture se sent trop collante et quelque peu têtue pour entrer dans un glissement de puissance ou une dérive - donc cette valeur de contre-braquage peut être limitée à un certain angle.
Cette théorie peut être vérifiée en réimplémentant le système de direction et en le comparant avec le comportement d'origine.
Une chose à garder à l'esprit est que Grand Theft Auto V a été considéré comme "idéal" ici - bien que je n'aie pas encore trouvé d'autre jeu qui implémente ce système.
Si vous êtes curieux de découvrir du code, voici un extrait de mon implémentation.
la source