Blender Game Engine AIR: Artificial Intelligence Racing

par | 3 Avr 2015

Nycholas Weissberg, un jeune Brésilien de São Paulo, passionné par Blender, nous présente son jeu de course de voitures A.I.R., un projet en cours de réalisation et utilisant le Blender Game Engine.

Voici une démo téléchargeable de son travail sur l’intelligence artificielle (projet AIR) pour les utilisateurs du BGE. Tout le code source est disponible. Un coup de main à l’auteur serait apprécié.

L’idée principale de ce projet est de faire une IA pour jeu de course afin que tous les membres de la communauté puissent l’utiliser dans leurs propres projets. Même si actuellement c’est toujours un travail en cours.

Capture d'écran 2015-04-03 11.14.44Le paramétrage des voitures est identique au projet développé dans mon livre, donc vous ne serez pas perdus.

Voici quelques questions et réponses du forum BlenderArtists:
Q – cypher2012: Beau travail. Utilisez-vous un combo de path-following et d’étapes? Je n’ai pas fait jeu de course avant, mais je suppose que c’est la façon dont c’est fait. Cela semble fluide.Bravo.

R : C’est plus à base de points d’étapes que de path finding, car il n’y a pas de routes alternatives, utiliser des points d’étapes semblait plus précis…

 Q – Smoking_mirror: Cela semble vraiment intéressant. Comment les voitures calculent-elles leur trajectoire? Est ce que les lignes sont une illustration de raycasting? Elles sont assez bonnes pour éviter les accidents.

R : Le def controllerAI () dans le script « carControll.py » contrôle le véhicule, dans ce fichier vous trouverez tous les calculs. Les lignes qui ont la même couleur que la voiture sont des vecteurs utilisés dans le calcul du chemin qu’il doit suivre. La ligne blanche est utilisée pour calculer l’angle possible à utiliser au prochain point de la piste possible avec la vitesse actuelle du véhicule. La ligne rouge qui apparaît est le lancer de rayon qui vérifie la proximité d’autres véhicules, en d’autres termes, les yeux du conducteur.

Q – SolarLiner: A quel point est complexe la physique des voitures? IMHO ils tournent un peu plus vite que ce que je pensais. Quoi qu’il en soit, c’est une super IA ! Fluide et agréable à regarder. Bon travail sur ce point!

The RPM can be calculated from the current speed: line 136: own[« RPM »] = ( ( (ownSpeed*1000) * (GearRatio[own[« GEAR »]]*3.42) ) / 82.1 ) + power

power is the power that the driver is applying to the car, in other words, the gas.

R : La voiture utilise les contraintes de la physique de la voiture comme celui trouvé ici, c’est assez bon, de même dans le script Motor.py j’ai implémenté le rapport de vitesse de voiture expliqué ICI et ICI ainsi que les valeurs de vitesse dans:

ligne 122: GEARratio = [3,78, 2,12, 1,27, 0,87, 0,66] est la valeur réelle de ce modèle de Jetta. Ainsi, la vitesse du véhicule par exemple en première vitesse à 2000 RPM est la vitesse réelle que la réelle Jetta aurait eu.

ligne 165: maxSpeed ​​= ((82,1 * propre [« RPM »]) / (GEARratio [propre « Gear » []] * 3,42)) / 1000
Le RPM peut être calculée à partir de la vitesse actuelle:

ligne 136: propre [« RPM »] = (((ownSpeed ​​* 1000) * (GEARratio [propre « Gear » []] * 3,42)) / 82,1) + puissance. Puissance, c’est la puissance que le conducteur applique à la voiture, en d’autres termes, le gaz.

imageUn message de l’auteur: « Merci beaucoup pour votre attention, n’hésitez pas à utiliser cette IA comme vous le voulez. »

Liens : Thread sur BlenderArtists

La chaine youtube de l’auteur (d’autres projets utilisant le BGE y sont présentés).

Un autre thread présentant son projet Elpis.

Source US: article sur BlenderNation.com

je vous laisse avec une demo reel du même auteur, qu’il a mis en ligne il y a quelques mois seulement:

Découvrez nos derniers numéros !

0 commentaires

Laisser un commentaire

Ces articles pourraient aussi vous intéresser …

Participez à partir de 1€ à notre campagne sur Ulule
pour obtenir le magazine sous forme papier

cliquez pour aller sur la campagne

Ceci fermera dans 21 secondes