Blender Game Engine AIR: Artificial Intelligence Racing

Nycholas Weiss­berg, un jeune Brésilien de São Paulo, pas­sion­né par Blender, nous présente son jeu de course de voitures A.I.R., un pro­jet en cours de réal­i­sa­tion et util­isant le Blender Game Engine.

Voici une démo télécharge­able de son tra­vail sur l’intelligence arti­fi­cielle (pro­jet AIR) pour les util­isa­teurs du BGE. Tout le code source est disponible. Un coup de main à l’auteur serait appré­cié.

L’idée prin­ci­pale de ce pro­jet est de faire une IA pour jeu de course afin que tous les mem­bres de la com­mu­nauté puis­sent l’utiliser dans leurs pro­pres pro­jets. Même si actuelle­ment c’est tou­jours un tra­vail en cours.

Capture d'écran 2015-04-03 11.14.44Le paramé­trage des voitures est iden­tique au pro­jet dévelop­pé dans mon livre, donc vous ne serez pas per­dus.

Voici quelques ques­tions et répons­es du forum Blender­Artists:
Q — cypher2012: Beau tra­vail. Utilisez-vous un com­bo de path-fol­low­ing et d’étapes? Je n’ai pas fait jeu de course avant, mais je sup­pose que c’est la façon dont c’est fait. Cela sem­ble fluide.Bravo.

R : C’est plus à base de points d’étapes que de path find­ing, car il n’y a pas de routes alter­na­tives, utilis­er des points d’étapes sem­blait plus pré­cis…

 Q — Smoking_mirror: Cela sem­ble vrai­ment intéres­sant. Com­ment les voitures cal­cu­lent-elles leur tra­jec­toire? Est ce que les lignes sont une illus­tra­tion de ray­cast­ing? Elles sont assez bonnes pour éviter les acci­dents.

R : Le def con­trollerAI () dans le script “carControll.py” con­trôle le véhicule, dans ce fichi­er vous trou­verez tous les cal­culs. Les lignes qui ont la même couleur que la voiture sont des vecteurs util­isés dans le cal­cul du chemin qu’il doit suiv­re. La ligne blanche est util­isée pour cal­culer l’angle pos­si­ble à utilis­er au prochain point de la piste pos­si­ble avec la vitesse actuelle du véhicule. La ligne rouge qui appa­raît est le lancer de ray­on qui véri­fie la prox­im­ité d’autres véhicules, en d’autres ter­mes, les yeux du con­duc­teur.

Q — Solar­Lin­er: A quel point est com­plexe la physique des voitures? IMHO ils tour­nent un peu plus vite que ce que je pen­sais. Quoi qu’il en soit, c’est une super IA ! Flu­ide et agréable à regarder. Bon tra­vail sur ce point!

The RPM can be cal­cu­lat­ed from the cur­rent speed: line 136: own[“RPM”] = ( ( (ownSpeed*1000) * (GearRatio[own[“GEAR”]]*3.42) ) / 82.1 ) + pow­er

pow­er is the pow­er that the dri­ver is apply­ing to the car, in oth­er words, the gas.

R : La voiture utilise les con­traintes de la physique de la voiture comme celui trou­vé ici, c’est assez bon, de même dans le script Motor.py j’ai implé­men­té le rap­port de vitesse de voiture expliqué ICI et ICI ain­si que les valeurs de vitesse dans:

ligne 122: GEAR­ra­tio = [3,78, 2,12, 1,27, 0,87, 0,66] est la valeur réelle de ce mod­èle de Jet­ta. Ain­si, la vitesse du véhicule par exem­ple en pre­mière vitesse à 2000 RPM est la vitesse réelle que la réelle Jet­ta aurait eu.

ligne 165: maxSpeed ​​= ((82,1 * pro­pre [“RPM”]) / (GEAR­ra­tio [pro­pre “Gear” []] * 3,42)) / 1000
Le RPM peut être cal­culée à par­tir de la vitesse actuelle:

ligne 136: pro­pre [“RPM”] = (((own­Speed ​​* 1000) * (GEAR­ra­tio [pro­pre “Gear” []] * 3,42)) / 82,1) + puis­sance. Puis­sance, c’est la puis­sance que le con­duc­teur applique à la voiture, en d’autres ter­mes, le gaz.

imageUn mes­sage de l’auteur: “Mer­ci beau­coup pour votre atten­tion, n’hésitez pas à utilis­er cette IA comme vous le voulez.”

Liens : Thread sur Blender­Artists

La chaine youtube de l’auteur (d’autres pro­jets util­isant le BGE y sont présen­tés).

Un autre thread présen­tant son pro­jet Elpis.

Source US: arti­cle 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 seule­ment:

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.