Messagerie


IA jeu de plateforme

Mikeyouf
jeudi 9 février 2017 à 09:23
Amis clickeurs, bonjour!

Je sollicite votre expérience afin de me guider à travers les méandres sinueux de la création d'une IA digne de ce nom, niveau débutant ^^ car, j'ai beau avoir cherché ou lu certaines infos, je n'y arrive pas tout à fait.

Pour commencer, j'arrive à faire une IA basique de déplacement, soit avec le mouvement balle qui rebondit ou cheminement. Que se soit un goblin qui marche ou une gargouille qui vole... -> OK

J'arrive à faire attaquer au contact d'une hitbox joueur spécialement conçue pour cette action.
Mais je n'arrive pas à un résultat convaincant, c'est brouillon, si mon perso bouge, l'IA attaque sans relâche a La vitesse de l'éclair, alors que je limite l'action a "une seule fois lorsque l'événement est en boucle".
Pareil quand le joueur tue l'IA, si je l'a détruit quand sa variable vie atteind 0 -> OK
Mais si je m'amuse à créer une explosion ou à lancer l'animation "mort", ça devient vite brouillon, une fois l'animation terminée, il reste dans la dernière frame de cette animation et continue son mouvement malgré l'injonction "stop". Et pour les IA volantes, pires, elles restent figées en l'air.

Vous l'aurez compris, je patauge depuis quelques semaines à peaufiner mon IA, quelqu'un pourrait il me mette sur la voie de l'illumination ? Je ne cherche pas une IA très complexe, mais surtout une IA basique, fluide et propre :-)

Pour info, je lance toutes mes animations joueur et IA via des variables.
Pit73
1055 messages
Fusion 2.5 Dev
Exporteur iOS Exporteur Android Exporteur HTML5
jeudi 9 février 2017 à 10:13
Hello
Je te conseille de découper tes besoins en petites reflexion ds des mfa séparé, histoire de focaliser sur une seule chose à la fois.
-Se déplacer d'un endroit a un autre
-se defendre
-voir le player et réagir
etc...
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
jeudi 9 février 2017 à 10:58
… et continue son mouvement malgré l'injonction "stop". Et pour les IA volantes, pires, elles restent figées en l'air.

Il y a très probablement des conflits avec des conditions qui les font bouger.
Elefterov
20 messages
Fusion 2.5
jeudi 9 février 2017 à 16:28
Bonjour,

Concernant les ennemis qui attaquent à la vitesse de l'éclair :
-Peut-être peux-tu modifier la vitesse d'animation de leurs attaques.
-Et conditionner leur attaque au fait que l'animation "attaque" n'est pas active.

J'ai remarqué que lorsqu'un objet actif est détruit, l'animation de disparition est toujours immobile et interrompt le déplacement de l’objet actif.
Est-ce qu'en créant une nouvelle animation (clic droit dans la liste des animations de l'objet, puis faire "nouveau") associée à la mort de l'ennemi, ça règle certains problèmes (par contre il faut bien que les conditions impliquant cet ennemi excluent ceux qui ont cette animation de mort active) ?
Mikeyouf
jeudi 9 février 2017 à 19:45
Merci pour vos réponses, ça me donne quelques pistes.

Pour la vitesse d'attaque c'est dû uniquement au fait que l'IA attaque lorsqu'elle est en collision avec la hitbox du joueur, et quand le joueur bouge, l'IA est plusieurs fois en collision donc elle attaque plusieurs fois. En même temps elle fait ce qu'on lui dit ^^ c'est moi qui m'y prend mal!

Il paraît que dans le PMO il y a un exemple d'IA, je regarde ça tout à l'heure et je reviens vous tenir au courant
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
jeudi 9 février 2017 à 23:13
Du coup, tu ajoutes un cooldown pour limiter les attaques.
Mikeyouf
vendredi 10 février 2017 à 06:05
Tu peux m'expliquer stp? Tu fais ça avec un compteur?

Pour le PMO, pas d'exemple dedans. J'ai bricolé une IA avec et ça fonctionne pareil. Le seul hic, c'est que je dois donner un mouvement à mon actif contrairement au PMO du joueur qui lui, répond aux touches du clavier. Du coup j'ai l'impression que c'est ce mouvement qui prend la priorité sur le PMO.
Quelqu'un a déjà fait une IA avec le PMO ? (Platform Movement Object)
Modifié le vendredi 10 février 2017 à 09:38 par Seyjin
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
vendredi 10 février 2017 à 09:42
Par exemple, tu incrémente une variable de 1 toutes les secondes et si l’ennemi touche le joueur et que la variable et supérieure à 0 alors il attaque et la variable passe à 0.
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
vendredi 10 février 2017 à 09:44
Chaos Fighter ici : http://biblioklik.free.fr/MMF2/04sources/sources04.htm
Mikeyouf
vendredi 10 février 2017 à 09:54
Ok super merci ;-)
J'ai également divisé ma hitbox "attaque" en deux, ainsi quand l'IA est de dos et qu'elle est en contact avec celle-ci, l'IA n'attaque pas dans le vide.

Merci Patrice pour le lien. J'ai déjà été voir ce site, j'ai du passer à côté.
Ça a l'air très intéressant!
Mikeyouf
samedi 11 février 2017 à 22:36
j'ai testé comme tu m'as proposé et ça donne un bon résultat!
Maintenant j'ai un autre soucis ^^
Tout fonctionne quand j'applique à une IA, mais dès que je duplique mon IA, tout fonctionne (les mouvements, les collisions,...) mais la création de l'arme au point d'action ne fonctionne plus.
j'ai tenté de créer mon arme sur un qualifieur mais ça marche pas ^^
Si je la crée sur mon objet actif IA, l'arme apparait uniquement sur la dernière IA crée...j'ai loupé un truc?

édit: j'ai essayé en clonant, même résultat  >:(
quand j'ai tué toutes mes IA sauf une, l'arme se crée correctement sur cette dernière IA
Mikeyouf
dimanche 12 février 2017 à 13:19
Une autre question tant qu'à faire ^^

Comment changer les touches en cours de jeu?
J'y arrive, mais ça m'oblige à assigner une touche du clavier. Hors j'ai configuré mon jeu pour que le joueur puisse choisir ses propres touches...
j'ai essayé avec "activer/désactiver" groupes aussi, je n'y suis pas arrivé  >:(
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
dimanche 12 février 2017 à 15:06
La fenêtre de configuration contrôles s'ouvre via le menu du jeu ou avec Ctrl+Y. Sinon, je t'invite à aller voire l'exemple que j'ai fait suite à la 13è vidéo tuto de BS Games ainsi que la dite vidéo, même si elle est un poil fouillis. http://comptoir-mmf.eu/Forum/index.php?topic=1718.msg17056#msg17056
Mikeyouf
dimanche 12 février 2017 à 15:41

La fenêtre de configuration contrôles s'ouvre via le menu du jeu ou avec Ctrl+Y. Sinon, je t'invite à aller voire l'exemple que j'ai fait suite à la 13è vidéo tuto de BS Games ainsi que la dite vidéo, même si elle est un poil fouillis. http://comptoir-mmf.eu/Forum/index.php?topic=1718.msg17056#msg17056


oui je sais comment les configurer, ce que je ne trouve pas, c'est comment les changer en cours de jeu?
Je vais aller voir la vidéo  ;) merci
Xsoul
dimanche 12 février 2017 à 15:45
Mikeyouf
dimanche 12 février 2017 à 15:55
Merci Xsoul mais comme dit plus haut je sais le faire par là.
L'ennui, c'est qu'en fonctionnant ainsi, je ne peux plus passer par les contrôles du joueur, mais je force le choix de la touche. C'est dur a expliquer, mais en début de partie, j'ai défini mes contrôles via le menu pour permettre aux joueurs qui ne sont pas en azerty de passer en qwerty. (au passage c'est une remarque que tu avais fait à Darwin dans son jeu, j'ai retenu pour ne pas faire la même erreur)
je suis passé par là

mais quand je fais comme tu me dis, il me demande ça


or si je fais ça, j'oblige le joueur à utiliser une touche qu'il n'a peut être pas défini au début, du coup il risque de galérer 100ans pour la trouver.

Ce que je veux: Quand mon compteur "peur" atteint 50
-> répéter tant que le joueur bouge à droite
    -> aller à gauche
et l'inverse pour la gauche.

ouch ^^
Xsoul
dimanche 12 février 2017 à 15:56
oups je sais pas alors désolé :p
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
dimanche 12 février 2017 à 16:19
Il faut utiliser Control X. Regarde l'exemple sur le lien que je t'ai donné.
Mikeyouf
dimanche 12 février 2017 à 16:34
j'ai regardé, mais il est pas compatible avec ios et android si j'ai bien vu...
Pas grave, j'ai défini les flèches comme touche gauche / droite, du coup pas de problème de clavier azerty/qwerty  :)
Merci pour votre patience ^^

Pour cette question, vous avez une piste?

Quand je duplique mon IA, impossible de créer une arme au point d'action de chaque IA, j'utilise un qualifieur, il me crée une arme uniquement quand il me reste une seul IA en vie, comment faire pour avoir une arme sur chaque IA dupliquée?

Si je trouve pas de solution, je ferai directement une animation d'attaque avec l'arme, du coup m'en faudra une pour chaque IA différente  >:(
Kloug
1497 messages
Fusion 2.5
dimanche 12 février 2017 à 18:07
Hello!

"comment faire pour avoir une arme sur chaque IA dupliquée?"

Il y a des exemples sur le CC.

http://comptoir-mmf.eu/Forum/index.php?topic=1877.0

A+
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 41 visiteurs au total

Derniers messages