Comment fonctionne l'assistance au freinage des jeux de course automobile?

8

Il existe de nombreux jeux de course de voitures PC autour desquels cette aide à la conduite unique aide à freiner votre voiture afin que vous puissiez la faire tourner en toute sécurité. Alors que dans certains jeux, il s'agit simplement d'une `` assistance '', cela aidera simplement votre frein de voiture mais n'assurera pas un virage en toute sécurité. Alors que dans d'autres, l'aide au freinage vous aidera à prendre un virage en toute sécurité. Je me demandais quel pourrait être l'algorithme qui est suivi pour y parvenir.

Un algorithme très basique auquel je pouvais penser était,

  • Déterminez à l'avance la distance de freinage d'une voiture idéale pour chaque virage de la piste, en fonction du rayon du virage, puis commencez à freiner la voiture en conséquence. Par exemple, pour un virage de moins de 90 o , la voiture commencerait à freiner automatiquement à 50 m de distance du début du virage.

Un algorithme plus avancé, qui assurerait un virage en toute sécurité, pourrait être

  1. Prédéfinissez la vitesse de la voiture au début de chaque virage, individuellement pour chaque piste, virage et voiture. De plus, prédéterminez le taux de décélération de chaque voiture individuellement, qui varie en raison des performances de la voiture.
  2. L'assistance au freinage continuerait à enregistrer la vitesse de la voiture à un certain instant.
  3. Commencez à freiner la voiture de manière appropriée afin que la voiture atteigne la vitesse exacte requise au début du virage.
  4. Par exemple, que la vitesse d'une voiture particulière au début d'un virage de 43 m de rayon soit de 120 km / h. Soit le taux de décélération de la voiture de 200 km / h 2 . Si, à un instant donné, la vitesse de la voiture est de 200 km / h, alors la voiture commencerait automatiquement à freiner à 400 m dès le début du virage.
Ayush Khemka
la source
2
Des options plus sophistiquées tiendraient compte des conditions météorologiques, de la surface de la route, de la répartition du poids de la voiture, des caractéristiques de la suspension et des pneus. J'ai vu des jeux comme Real Racing 2 où les options de mise à niveau modifient la suspension et les pneus et d'autres permettent le réglage de la suspension. Un jeu avec des caractéristiques mondiales persistantes pourrait prendre en compte la merde accumulée sur la route et l'évolution de l'usure et de la rigidité des pneus à mesure qu'ils s'échauffent.
Andy Dent
[il semble que je ne puisse pas encore commenter, donc je poste ceci comme réponse] En plus de la deuxième de vos propositions, je modifierais cet algorithme pour freiner un peu trop afin que la vitesse au début du virage soit inférieure à la vitesse optimale . L'intention ici est que le joueur découvre qu'il peut prendre le virage plus rapidement sans sortir de la piste s'il n'utilise pas l'aide. Je voudrais encourager le joueur à désactiver les passes décisives, ce qui devrait le rendre plus fier de lui.
Grzegorz Sławecki
Un algorithme serait-il sensiblement différent de celui de contrôler un adversaire IA?
remorqueurs
Pas sensiblement, mais oui, différent à bien des égards. Vous pouvez faire bouger l'IA à n'importe quelle vitesse et à n'importe quel angle tout en faisant une impression de mouvement normalisé. Dans ce cas, un personnage IA peut tourner même à des vitesses de 160 km / h, même si ce n'est pas possible, mais le premier algorithme ici ne permettrait pas à un joueur de le faire. Même pour le second, le rôle de l'assistance est d'amener la voiture à la vitesse optimale requise au début du virage. Si un joueur prévoit d'augmenter sa vitesse par la suite, il ne pourra pas tourner.
Ayush Khemka

Réponses:

4

Fondamentalement, l'assistance au freinage fonctionne en comparant la vitesse de la voiture du joueur à la vitesse du point le plus proche sur la ligne de course optimale de la piste, et en appliquant automatiquement les freins selon les besoins pour réduire la vitesse de la voiture du joueur pour correspondre à la vitesse spécifiée sur la ligne de course optimale. C'est exactement comme écrire l'IA d'une voiture de course, mais appliquer uniquement les sorties de freinage de l'IA, pas l'accélérateur ou la direction.

Cela nécessite (évidemment) que vous ayez des données sur une ligne de course optimale, afin que vous puissiez dire combien le joueur a besoin de ralentir. Cette ligne de course est généralement générée par ordinateur pendant le développement et est livrée avec le jeu sous forme de données statiques, plutôt que d'être calculée au moment de l'exécution. (J'ai travaillé sur des jeux qui généraient dynamiquement une ligne de course devant le joueur, mais c'était coûteux en calcul, et je ne le recommande pas sauf si vous avez des pistes qui changent de manière imprévisible)

Trevor Powell
la source
1

Vous pouvez calculer le chemin que la voiture décrirait si elle tourne avec la vitesse actuelle sans dériver. Appliquez ensuite les freins proportionnellement à la distance d , qui est la distance mesurée entre la trajectoire calculée et la courbe.

entrez la description de l'image ici

rraallvv
la source