| [résolu] Problème de gestion IA | |
|
|
Auteur | Message |
---|
kujaff Très bonne participation
Messages : 127 Localisation : Dans mon Atelier Projet Actuel : Puzzle/Reflexion
| Sujet: [résolu] Problème de gestion IA Lun 4 Mar 2013 - 14:56 | |
| Salut,
j'ai commencer un petit "tower defence" en reprenant la base d'un ancien de mes projets... Pour moi, mon script a l'air bon, mais en jeu, mon IA fait un peu comme bon lui semble.
Elle est censé : si un ennemi est dans la zone X alors aller vers lui, dès que l’ennemi est trop loin, revenir a ça position initial.
Le soucis, donc, c'est que des moment elle y va, des moment non, des moments elle reviens a ça place et des moments non... C'est assez gavant sachant surtout que je n'ai pas la moindre idée d'où viens le problème... Donc si quelqu'un aurais la gentillesse de me dire comment faire où au moin de localisé le problème...
Merci.
////////////////////////////////////////////////////////////////////////// //////////////////////// MOUVEMENTS ///////////////////////////////////// //////////////////////////////////////////////////////////////////////// if bouge = 1 { if (direction >= 0 && direction <= 22.5) { sprite_index = spr_fighterM_droite } if (direction >= 22.5 && direction <= 67.5) { sprite_index = spr_fighterM_hautdroite } if (direction >= 67.5 && direction <= 112.5) { sprite_index = spr_fighterM_haut } if (direction >= 112.5 && direction <= 157.5) { sprite_index = spr_fighterM_hautgauche } if (direction >= 157.5 && direction <= 207.5) { sprite_index = spr_fighterM_gauche } if (direction >= 207.5 && direction <= 257.5) { sprite_index = spr_fighterM_basgauche } if (direction >= 257.5 && direction <= 307.5) { sprite_index = spr_fighterM_bas } if (direction >= 307.5 && direction <= 357.5) { sprite_index = spr_fighterM_basdroite } if (direction >= 357.5 && direction <= 0) { sprite_index = spr_fighterM_droite } } ////////////////////////////////////////////////////////////////////////// //////////////////////// mouvement ////////////////////////////////////// //////////////////////////////////////////////////////////////////////// if (distance_to_object(obj_applekid) = 60) { bouge = 1 move_towards_point(positionX,positionY,3) } if (distance_to_object(obj_applekid) <= 50) { bouge = 1 move_towards_point(obj_applekid.x,obj_applekid.y,3) } ///////////////////////////retour////////////////////////////////// if (position_meeting(positionX,positionY,self) && bouge = 1) { bouge = 0 speed = 0 sprite_index = spr_fighterM_bas } ////////////////////////attaque////////////////////////////////// if (distance_to_object(obj_applekid) < 5 && blocage = 0) { if (direction >= 0 && direction <= 22.5) blocage = 1 alarm[0] = 5 { sprite_index = spr_fighterM_atkdroite blocage = 1 alarm[0] = 5 } if (direction >= 22.5 && direction <= 67.5) { sprite_index = spr_fighterM_atkhautdroite blocage = 1 alarm[0] = 10 } if (direction >= 67.5 && direction <= 112.5) { sprite_index = spr_fighterM_atkhaut blocage = 1 alarm[0] = 10 } if (direction >= 112.5 && direction <= 157.5) { sprite_index = spr_fighterM_atkhautgauche blocage = 1 alarm[0] = 10 } if (direction >= 157.5 && direction <= 207.5) { sprite_index = spr_fighterM_atkgauche blocage = 1 alarm[0] = 10 } if (direction >= 207.5 && direction <= 257.5) { sprite_index = spr_fighterM_atkbasgauche blocage = 1 alarm[0] = 10 } if (direction >= 257.5 && direction <= 307.5) { sprite_index = spr_fighterM_atkbas blocage = 1 alarm[0] = 10 } if (direction >= 307.5 && direction <= 357.5) { sprite_index = spr_fighterM_atkbasdroite blocage = 1 alarm[0] = 10 } if (direction >= 357.5 && direction <= 0) { sprite_index = spr_fighterM_atkdroite blocage = 1 alarm[0] = 10 } }
(je ne l'ai pas mit un "code" pour ne pas couper le scripte et ainsi le voire en entier.
Dernière édition par kujaff le Mer 5 Juin 2013 - 11:23, édité 1 fois |
|
| |
hofmeister Bavard
Messages : 109
| Sujet: Re: [résolu] Problème de gestion IA Lun 4 Mar 2013 - 15:15 | |
| Bonjour, peut-être que dans "mouvements" pour le test vérifiant que la distance est égale à 60, il faudrait mettre >=? Parce que là, ce n'est pris en compte que pour une distance précise. D'autre part il y a une marge, entre 50 et 60, où rien ne se passe, c'est normal? (Je sais pas si je suis clair). |
|
| |
kujaff Très bonne participation
Messages : 127 Localisation : Dans mon Atelier Projet Actuel : Puzzle/Reflexion
| Sujet: Re: [résolu] Problème de gestion IA Lun 4 Mar 2013 - 15:55 | |
| Ouai, je mettrai les supérieur ou égal... en te lisant, ça m'a fait réagir a un truc...
Il faut que je mette
si la distance est inférieur ou égale a 50 alors sur la distance est supérieur ou égale a 50 alors...
j'ai donc mit
if (distance_to_object(obj_applekid) >= 50) { bouge = 1 move_towards_point(positionX,positionY,3) } if (distance_to_object(obj_applekid) <= 50) { bouge = 1 move_towards_point(obj_applekid.x,obj_applekid.y,3) }
c'est un peu mieux, mais ça peut arriver de "planter" avec le mec qui ne fait rien, et une fois a l'heure place ils sont tout affolés et leurs animation "bouge" dans tout les sens et n'est donc pas "fixe". |
|
| |
hofmeister Bavard
Messages : 109
| Sujet: Re: [résolu] Problème de gestion IA Lun 4 Mar 2013 - 16:03 | |
| Je pense qu'il faut mettre une des conditions >= et l'autre <, sinon l'objet veut faire les deux à la fois quand la distance est exactement de 50. |
|
| |
kujaff Très bonne participation
Messages : 127 Localisation : Dans mon Atelier Projet Actuel : Puzzle/Reflexion
| Sujet: Re: [résolu] Problème de gestion IA Lun 4 Mar 2013 - 16:36 | |
| Pas faux, mais ça ne résous pas mon problème, on va dire qu'il bouge qu'une fois et s'il arrive a leur place d'origine des moments ils ne bougent plus :s |
|
| |
hofmeister Bavard
Messages : 109
| Sujet: Re: [résolu] Problème de gestion IA Lun 4 Mar 2013 - 17:08 | |
| Je ne comprends pas très bien... L'objet se déplace une fois vers l'ennemi, revient à sa place puis ne réagit plus, c'est ça? Sinon les scripts mouvement et retour sont dans quel event? |
|
| |
kujaff Très bonne participation
Messages : 127 Localisation : Dans mon Atelier Projet Actuel : Puzzle/Reflexion
| Sujet: Re: [résolu] Problème de gestion IA Lun 4 Mar 2013 - 17:54 | |
| Oui, c'est ça. Et des moment ils ne bougent carrément pas, c'est étrange...
Tout est dans mon Objet dans Step. Dans obj_fighterM, qui est celui qui est censé ce déplacer. |
|
| |
hofmeister Bavard
Messages : 109
| Sujet: Re: [résolu] Problème de gestion IA Lun 4 Mar 2013 - 18:52 | |
| Pour les conditions du retour, essaie de rajouter "si la distance est supérieure à 50" Edit: non, c'est pas terrible, tu devrais plutôt régler une deuxième variable à vrai dans la condition <50, puis la tester ==false dans les conditions du retour, et bien sur la regler sur false au debut du step |
|
| |
kujaff Très bonne participation
Messages : 127 Localisation : Dans mon Atelier Projet Actuel : Puzzle/Reflexion
| Sujet: Re: [résolu] Problème de gestion IA Mer 6 Mar 2013 - 11:18 | |
| |
|
| |
kujaff Très bonne participation
Messages : 127 Localisation : Dans mon Atelier Projet Actuel : Puzzle/Reflexion
| Sujet: Re: [résolu] Problème de gestion IA Ven 31 Mai 2013 - 11:20 | |
| Salut, je continue se topic car j'ai un soucis equivalent sur un de mes projets...
Une fois l'objet a ça place, il n'arrete pas de "trembler" et c'est assez embettant...
Voici mon code :/
if direction > 315 && direction < 45 { sprite_index = spr_fighter_right } if direction > 45 && direction < 135 { sprite_index = spr_fighter_up } if direction > 135 && direction < 225 { sprite_index = spr_fighter_left } if direction > 225 && direction < 315 { sprite_index = spr_fighter_down } /////////////////////////////////////////// if distance_to_object(obj_enemy) < 40 { move_towards_point(obj_enemy.x,obj_enemy.y,3) } //////////////////////////////////////////////// if distance_to_object(obj_enemy) > 40 { move_towards_point(position_x,position_y,3) } ////////////////////////////////////////////// |
|
| |
Mobi Utilisateur confirmé: Rang ****
Messages : 1256 Localisation : Dijon
| Sujet: Re: [résolu] Problème de gestion IA Ven 31 Mai 2013 - 11:45 | |
| Faut utiliser les réseaux neuronaux _________________ |
|
| |
kujaff Très bonne participation
Messages : 127 Localisation : Dans mon Atelier Projet Actuel : Puzzle/Reflexion
| Sujet: Re: [résolu] Problème de gestion IA Ven 31 Mai 2013 - 11:47 | |
| ça m'aide enormement lol ! I joke... |
|
| |
marty Utilisateur confirmé: Rang ***
Messages : 697 Projet Actuel : laby-ereinte !
| Sujet: Re: [résolu] Problème de gestion IA Ven 31 Mai 2013 - 16:35 | |
| ajoute un événement ou le perso est au repos avec un speed à zéro! car les fonction move to ,speed ect donne (j'avance dans une direction ,j'avance dans une autre direction mais jamais, là je peux m’arrêter) il faut donc indiquer à quel moment il s’arrête. |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: [résolu] Problème de gestion IA Ven 31 Mai 2013 - 18:22 | |
| GM utilise des doubles pour toutes ses variables, donc suffit de caster : dans step : x=round(x); y=round(y); _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
kujaff Très bonne participation
Messages : 127 Localisation : Dans mon Atelier Projet Actuel : Puzzle/Reflexion
| Sujet: Re: [résolu] Problème de gestion IA Ven 31 Mai 2013 - 18:57 | |
| térence ta solution marche pour l'animation avant que le perso bouge.
Enfaite, le soucis c'est que le perso ne reviens pas EXACTEMENT a ça place :/ |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: [résolu] Problème de gestion IA Ven 31 Mai 2013 - 19:02 | |
| A combien de pixels près ? Essaie d'arrondir aussi xstart et ystart (si c'est pas en lecture seule). _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
kujaff Très bonne participation
Messages : 127 Localisation : Dans mon Atelier Projet Actuel : Puzzle/Reflexion
| Sujet: Re: [résolu] Problème de gestion IA Ven 31 Mai 2013 - 19:34 | |
| je dirais a peut pret 5 ou 6 pixel...
je ne sais pas utilisé le xstart et ystart ^^' premiere fois que j'en attend parler |
|
| |
kujaff Très bonne participation
Messages : 127 Localisation : Dans mon Atelier Projet Actuel : Puzzle/Reflexion
| Sujet: Re: [résolu] Problème de gestion IA Lun 3 Juin 2013 - 17:25 | |
| Up Personne pour m'aider ? :/ je suis bloqué. Je sais d'ou viens le soucis mais aucune idée de comment y remedier... En faite, mon perso ne reviens pas exactement a ça place initial ce qui ne permet pas de remplir les bonne condition pour l'animation... Je peux eventuelement passé mon .gmk. Merci d'avance. |
|
| |
marty Utilisateur confirmé: Rang ***
Messages : 697 Projet Actuel : laby-ereinte !
| Sujet: Re: [résolu] Problème de gestion IA Lun 3 Juin 2013 - 21:16 | |
| |
|
| |
kujaff Très bonne participation
Messages : 127 Localisation : Dans mon Atelier Projet Actuel : Puzzle/Reflexion
| Sujet: Re: [résolu] Problème de gestion IA Mar 4 Juin 2013 - 11:32 | |
| |
|
| |
marty Utilisateur confirmé: Rang ***
Messages : 697 Projet Actuel : laby-ereinte !
| Sujet: Re: [résolu] Problème de gestion IA Mar 4 Juin 2013 - 21:57 | |
| |
|
| |
kujaff Très bonne participation
Messages : 127 Localisation : Dans mon Atelier Projet Actuel : Puzzle/Reflexion
| Sujet: Re: [résolu] Problème de gestion IA Mer 5 Juin 2013 - 11:22 | |
| Merci Man |
|
| |
Contenu sponsorisé
| Sujet: Re: [résolu] Problème de gestion IA | |
| |
|
| |
| [résolu] Problème de gestion IA | |
|