Nous pouvons dire qu'à un certain niveau, le jeu suit un chemin pré-calculé. Étant donné que les pistes du jeu de course sont (généralement) un chemin pré-calculé de toute façon.
Même si nous parlons de générer des pistes au hasard, le jeu doit avoir calculé la portion actuelle des pistes pour le moment où la voiture y arrive.
Eh bien, c'était facile. Autre chose à ce sujet?
Les deux, suivre un chemin pré-calculé et contrôler la voiture ont systématiquement des utilisations dans l'industrie du jeu. La réponse est d'utiliser les deux, en quelque sorte.
Tout d'abord, je tiens à mentionner que «calculer une courbe» peut signifier deux choses:
Création de fonctions qui afficheront la position sur la courbe, avec comme paramètre la distance que vous souhaitez interroger.
Création d'un chemin, compris comme une liste de points (ou instructions et autres informations de contrôle) à suivre.
Le premier peut être utile pour la prédiction ou dans certaines simulations physiques. Pourtant, lorsque nous parlons de contrôler un objet, ce dernier est l'approche recommandée.
Remarque: pour les jeux plus anciens (années 80), les autres voitures ressemblent davantage à des obstacles mobiles. Ils étaient là pour que vous les évitiez et les dépassiez. Nous n'en parlons pas.
Suivre un chemin pré-calculé: Ceci est utile pour les cinématiques ou les scènes répétables. Par exemple, dans GTA San Andreas, les missions de poursuite de la cible de poursuite et toutes les voitures suivent un chemin prédéfini (cela garantit que la cible de poursuite peut éviter le trafic ※). Pourtant, dès que vous les perturbez, ils retombent sous le contrôle de l'IA, dans ce cas, l'IA devra trouver un chemin pour arriver là où elle devrait suivre son chemin normal.
※: En fait, il a été préenregistré. L'enregistrement et la lecture étaient l'une des nouvelles fonctionnalités du moteur de jeu GTA SA.
Contrôlé par l'IA:
L'IA dans sa forme la plus simple est une machine à états. Il vérifie son état et exécute une action en fonction de cela. Je ferai référence à ces combinaisons d'état et d'action en tant que comportements. Les actions ne doivent pas nécessairement correspondre à la manette de jeu du joueur. Les comportements non plus.
Pour un jeu simple, vous n'avez probablement besoin que de deux comportements notables: 1) s'il est sur les pistes puis suivez la piste en évitant les autres voitures et les obstacles et 2) s'il n'est pas sur les pistes, revenez sur les pistes.
A ce stade, il n'est pas loin de suivre un chemin (les pistes). Pourtant, comme les pistes ne sont pas vraiment une ligne, il ne s'agit pas de suivre un chemin, mais de rester près de celui-ci (en évitant les autres voitures et les obstacles). Cela signifie que l'IA doit résoudre "la direction, le freinage et l'accélération".
Pour un jeu moderne, la voiture sera également soumise à une simulation physique (pour résoudre les collisions et garder le réalisme). Pour cette raison, à chaque itération de la boucle de jeu, la voiture sera mise à jour en fonction de sa vitesse et de son accélération, et également «direction, freinage et accélération» (réglages de la vitesse) seront appliqués pour suivre le comportement actuel.
Je veux également mentionner que les jeux modernes peuvent avoir des comportements plus complexes, par exemple, l'IA peut choisir de frapper une autre voiture ou de se bloquer. En fait, l'IA peut même choisir lequel appliquer en fonction d'une certaine forme d'apprentissage automatique, mais je m'éloigne du sujet.
Enfin, considérez qu'il peut également être utile d'avoir un contrôle plus simple pour les voitures IA en dehors de la vue du joueur. Soit pour la performance, soit pour le Rubber Banding (qui dans ce cas maintient les voitures IA proches du joueur pour garder la course intéressante, elle peut être considérée comme la tricherie AI lorsque vous ne pouvez vraiment laisser derrière vous aucun adversaire).
Concernant l'animation, ce n'est généralement pas une bonne idée de simuler la physique des roues indépendamment. Si vous le faites, cela pourrait ajouter du réalisme au jeu, mais coûtera les performances. Habituellement, le jeu animera les roues en fonction du comportement au lieu d'exprimer le comportement en termes de mouvement des roues et de simuler les conséquences.
Bien sûr, vous devrez peut-être accorder une attention supplémentaire à ce que les roues soient ou non en contact avec le sol. Et peut-être animer la suspension.