20-04-2013 18:42:07
- Vvampire
- Membres

- Date d'inscription:
- Messages: 11
- IP: 78.244.202.109
- Courriel
Bonjour à tous ![]()
Je suis actuellement en train de développer mon projet d'FPS et je voudrais intégrer des ennemis (en l’occurrence, des monstres appelés "gnomons" dans mon jeux). Le problème c'est que c'est la toute première fois que je m'attaque a de l'intelligence artificielle avec Irrlicht et je ne sais pas comment m'y prendre. J'ai fait différentes recherches mais je n'ai pas eu d'infos vraiment "concret", c'est pour cela que je post moi-même sur ce forum qui m'a souvent bien aidé ![]()
En théorie, ce que je veux faire est très simple: intégrer différents gnomons dans la map. Si le joueur est à une certaine distance d'un gnomon, celui-ci s'approche de lui et l'attaque. Si le joueur est à une plus longue distance, le gnomon est en mode "pause". Si déjà je parviens a faire cela, j'aimerais aussi que le gnomon attaque le joueur que si le joueur est à une certaine distance et qu'il est également dans son champ de vision, mais ça c'est après ^^
En pratique, ça devient plus difficile pour moi
Je voudrais que vous puissiez m'aider sur la démarche à suivre et aussi me donner des exemples de code si ça peut être possible, ça m'aiderait vraiment bien et ça pourra aussi aider les autres qui lag comme moi sur cette partie :s
Merci d'avance ! ![]()
Hors ligne
20-04-2013 19:47:43
- Copland
- Modérateurs
- Date d'inscription:
- Messages: 657
- IP: 92.156.90.40
- Courriel Site web
Salut,
Pour l'IA géré selon la distance c'est pas très complexe, tu peux tester la distance entre ton personnage et le monstre en question puis déclencher ou pas une action.
vector3df position de ton perso->getDistanceFromSQ(vector3df position du méchant) ou un truc dans le genre...je me souviens plus trop.
Pour le déplacement de tes personnages, regarde sur google ce que tu trouves à l'algorithme appelé "A Star" ou A* ça pourrait bien t’aider à comprendre déjà
.
A+
Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.
Hors ligne
20-04-2013 22:49:53
- Vvampire
- Membres

- Date d'inscription:
- Messages: 11
- IP: 78.244.202.109
- Courriel
Yosh ![]()
Merci pour ces infos, j'avais jamais eu vraiment l'occaz d'utiliser le fonction getDistanceFromSQ mais je dois avouer que pour ce cas elle est très efficace , c'est déjà ça de fait ^^
Je me suis informer un peu partout sur le net concernant le A*, maintenant je comprend un peu mieux le fonctionnement du déplacement mais il faut dire que c'est un algorithme plutôt complexe et je ne vois pas comment je pourrais adapter cet algo à mon code, je voudrais donc que tu m'éclaire donc sur ce point.
Salut ![]()
Hors ligne
23-04-2013 13:09:08
- Vvampire
- Membres

- Date d'inscription:
- Messages: 11
- IP: 78.244.202.109
- Courriel
Pas d'idée
?
Hors ligne
24-04-2013 00:22:52
- Magun
- Administrateurs

- Date d'inscription:
- Messages: 910
- IP: 92.146.116.105
- Courriel Site web
penche toi du coter de DetourRecast ![]()
sa va être compliquer le A* sinon
je ne sais pas a qu'elle étapes du développement tu te situe mais en générale pour simplifier le développement en commence par l'ia (un monde virtuel)
sur le qu'elle tu greffe le graphique.
note on peut faire l'inverse mais y a souvent plus de contraint technique
bon après ça dépend du niveaux d'ia que tu envisage a long terme
Hors ligne
24-04-2013 11:13:26
- Vvampire
- Membres

- Date d'inscription:
- Messages: 11
- IP: 78.244.202.109
- Courriel
Salut ![]()
Merci pour ta réponse, mais j'ai beau chercher sur le net , je ne vois pas beaucoup d'informations concernant le DetourRecast. Mais est-ce vraiment la bonne solution de partir dans des algos aussi complexes que le A* ? Il faut dire que je n'envisage pas de faire un niveau d'IA très élevé, comme je l'avais dis plus haut, je veux juste que le monstre puisse se déplacer en direction de la camera afin de l'attaquer. Je veux juste que vous m'aidiez sur ce point sachant que je ne veux pas que l'IA soit hyper performant, en donnant un exemple de code si possible pour mieux comprendre.
Merci d'avance ![]()
Hors ligne
24-04-2013 11:52:33
- Magun
- Administrateurs

- Date d'inscription:
- Messages: 910
- IP: 92.146.116.105
- Courriel Site web
la second solution serait de mapper ton niveaux avec des path que tu défini toi même
si ton joueur ce situe pret d'un path et qu'une autre etiter si trouve aussi tu peut le ramener vers lui en suivant celui-ci
dans tout les cas tu auras beusoin au final d'un algo pour contourner les obstacles
si tu veut diriger un enemis vers un point qui n'est pas en ligne droite ou si ce point bouge il va ce retrouver coincer dans un angle au bout d'un moment
et si tant a plusieur t'auras un tas ![]()
l'utiliter de DetourRecast c'est justement de mapper ton niveaux pour le A* en simplifiant les géometries pour que ce soit plus obtimiser
d'ailleur une implementation est déjà dispo pour irrlicht http://irrlicht.sourceforge.net/forum/viewtopic.php?f=9&t=47017
a la fin tu fait un test de visibiliter pour les enemie sur ton joueur et des qu'il le voie op tu active le A* sur ton joueur que tu rafraichie de temps en temp
Hors ligne
25-04-2013 16:37:05
- Copland
- Modérateurs
- Date d'inscription:
- Messages: 657
- IP: 109.223.37.193
- Courriel Site web
Fait des recherches partout sur le forum officiel d'irrlicht avec comme mot clé "A*","A Star","PathFinding", si avec ça tu trouves pas ton bonheur, bein t'a plus qu'a coder tout toi même ![]()
Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.
Hors ligne
25-04-2013 18:07:04
- Vvampire
- Membres

- Date d'inscription:
- Messages: 11
- IP: 78.244.202.109
- Courriel
Salut ![]()
Merci pour vos réponses
Magun j'ai testé le lien que tu m'as donné mais je ne peux pas telecharger l'ensemble avec ce lien : http://recastnavigation.googlecode.com/svn/trunk/ , j'ai essayé mais il me manquait encore des fichiers, bizarre :s. Et aussi j'ai connu l'existence de irrAI, est-ce que ca peut me servir dans mon cas ? Ca peut être pratique puisque je fais mes niveaux avec irredit et qu'il y a justement un logiciel irrai editor qui permet d'ajouter en temps réel les paths, faudrait voir..
Copland, j'ai cherché et j'ai trouvé ca : http://irrlicht.sourceforge.net/forum/viewtopic.php?f=6&t=47457&start=15#p277547
J'avais déja testé ce jeux et il faut dire que j'ai exactement besoin de ce type de IA dans mon jeux, tu as une idée de comment il a procédé ? ^^
a+ ![]()
Hors ligne
25-04-2013 20:03:26
- Magun
- Administrateurs

- Date d'inscription:
- Messages: 910
- IP: 92.146.116.105
- Courriel Site web
a toi de définir ce que tu a vraiment beusoin, a mon gouts irrAI ne me semble pas une bonne chose
je n'est pas de soucis de compilation pour DetourRecast a tu bien lancer cmake ?
Hors ligne
26-04-2013 20:21:20
- Vvampire
- Membres

- Date d'inscription:
- Messages: 11
- IP: 78.244.202.109
- Courriel
Salut ![]()
Je sais pas c'est bizarre, ca me fait encore plein d'erreur
.Ce qui serait bien, c'est que si tu en a un, ajoute moi sur skype ( U59150 ) pour pouvoir parler mieux de tout cela. En vérité je fais mon jeux dans le cadre du concours innov game, et la création du jeux est à faire avant le 2 mai
. Donc ce serait vraiment sympa de ta part si tu pourrais m'aider sur ce domaine qui me semble flou ![]()
a+ ![]()
Hors ligne



