AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
Jeux, jouets et Lego : le deuxième à ...
Voir le deal

 

 IA zelda

Aller en bas 
+3
glcraft
Sekigo Le Magnifique
Jerelink
7 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

IA zelda Empty
MessageSujet: IA zelda   IA zelda EmptyVen 14 Aoû 2009 - 2:23

Bonsoir a tous, je cherche a créer une intelligence artificielle se rapprochant de zelda, j'ai cherché sur le forum pour trouvé quelque chose de potable avec sa mp_potential_step(random(room_width),random(room_height),2,true);
Mais le problème c' est que la il bouge un peu n'importe comment ^^
Comment faire pour que L'IA bouge correctement comme dans un zelda ?
Dans la mesure ou je suis débutant, si c' est trop compliqué dans ce cas je laisse sa de coté et je m'attaque a moin difficile pour mieux apprendre le logiciel =p
Merci a vous bonne soirée happy1

_________________
IA zelda Signu
Revenir en haut Aller en bas
Sekigo Le Magnifique
Utilisateur confirmé: Rang *****
Sekigo Le Magnifique


Messages : 1720

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyVen 14 Aoû 2009 - 9:47

http://www.lecbna.org/pages/gm6.php

En regardant dans les exemples du pack 6, il me semble qu'il y a un exemple pour ce que tu recherches.

Edit => Oui, c'est dans la section [TheDarkTiger], tuto_zelda_enemis.
Revenir en haut Aller en bas
https://2img.net/image.noelshack.com/old/up/gmzonecbna-3cfbc56d25.jpg
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyVen 14 Aoû 2009 - 12:06

Merci beaucoup =p, je pense voir sa bien plus tard, jpense que c' est encore un peu trop dur pour le moment ^^, je garde le gm6 sur mon pc sa me servira un jour =)

_________________
IA zelda Signu
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptySam 15 Aoû 2009 - 19:18

Nan ba fait pas la mauvaise foi happy1 , tu peut utiliser game maker en temps que Drag&Drop !
Tu vera après pour le script mais pour l'instant utilise le D&D, Ca passera tout seul Wink
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptySam 15 Aoû 2009 - 19:23

Tient justement, hier j'ai tenté de créer une IA moi même et j'avoue que le résultat est pas mal =p
J' ai géré sa avec des alarms pour les changement de directions aléatoires et sa rend super =p
Mais sauf quand le hero a est a -200pix du monstre, sa marche sauf que j'aimerais qu'il bouge dans 8 direction seulement, la c' est un peut du 0-360 xD
Puis lors des collisions avec un mur la il arrête pas de bougé n'importe comment, super bizarre xD

_________________
IA zelda Signu
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptySam 15 Aoû 2009 - 20:47

pour la direction, tu fais
direction=round(random(Cool)*45
et t'as les 8 directions

S'il tourne bizarrement dans les murs, c'est peut être qu'il est coincé dedans.
Essaye de voir si tu peux modifier ton script pour que l'IA regarde AVANT de se deplacer s'il va y avoir une collision, et comme ça, tu peux tout de suite executer ce qui se passe lors de la collision, et t'es sur que l'IA va pas se coincer dans un mur Smile

_________________
IA zelda Control-commentTous les icones de gm utilisables sur le cbna ICI  IA zelda Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptySam 15 Aoû 2009 - 21:10

J'vais essayé sa, j'éditerais se soir ou demain pour dire si sa va ou pas, merci =p

_________________
IA zelda Signu
Revenir en haut Aller en bas
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 19 Aoû 2009 - 10:39

Bonjour, je voulais juste précisé, que les IA me suivent gracent a mp_potential step, c' est quand même possible de limitté les mouvement de l'ia a 8 direction, autrement ce bout de code ne marche pas =/

_________________
IA zelda Signu
Revenir en haut Aller en bas
Invité
Invité




IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 19 Aoû 2009 - 10:57

M@d_Doc a écrit:
direction=round(random(Cool)*45

Cool
Revenir en haut Aller en bas
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 19 Aoû 2009 - 11:00

Justement j'ai essayé mais couplé a mp_potential_step l'IA nous fait une petite danse brésilienne rire

_________________
IA zelda Signu
Revenir en haut Aller en bas
Wargamer
*Excellent utilisateur*
Wargamer


Messages : 6938
Projet Actuel : Bataille de cake au fruits

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 19 Aoû 2009 - 16:42

des if
if direction>37 and direction < 58
direction = 45
enfin, un truc du genre

_________________
IA zelda Wargamer3
Règle #1 du CBNA, ne pas chercher à faire dans la subtilité; personne comprend
Revenir en haut Aller en bas
keïtchi
Utilisateur confirmé: Rang **
keïtchi


Messages : 366
Localisation : Don't Follow me, I'm lost too!

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyDim 13 Sep 2009 - 15:31

Que de souvenir!!! xD
Bon des ai de zelda, ça ce fait sur mesure, avec un system de path et grille certe, mais sur mesure quand même, aussi faudrais qu'avant de te lancer dedant tu comprenne bien comment ça marche, les monstre peuvent suivre la grille de 2 façon, en suivant 4 direction, ou 360... xD
Les octorock, ça ce deplace dans 4 direction, et les Gelée ChuChu dans 360...
Pour choisirs sont type de deplacement, ça ce passe ici:
mp_grid_path(id,path,xstart,ystart,xgoal,ygoal,allowdiag)
c'est à dire a la création du path par raport a la grille, en metant 0 a allowdiag, le path ce fera en 4 direction, si tu met 1, il le fera sans restriction au niveau des direction.

et pour le sprite en fonction des direction, voici les condition:
Code:
/*------ Sprite ------*/
/*--- haut ---*/
if (direction>=45&&direction<=134)
{
sprite_index=spr_up;
}
/*--- bas ---*/
if (direction>=225&&direction<=314)
{
sprite_index=spr_down;
}
/*--- gauche ---*/
if (direction>=135&&direction<=224)
{
sprite_index=spr_left;
}
/*--- droite ---*/
if (direction>=315&&direction<=360)
{
sprite_index=spr_right;
}
if (direction>=0&&direction<=44)
{
sprite_index=spr_right;
}
/*------------*/

Voila. =)

_________________
Mon Projet:
IA zelda Backgroundchargement1jc9
Revenir en haut Aller en bas
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyLun 14 Sep 2009 - 12:56

Merci beaucoup sa va vachement m'aidé tout sa =p !
Par contre juste une petite question, comment sa marche exactement :
Code:
mp_grid_path(id,path,xstart,ystart,xgoal,ygoal,allowdiag)
?
Parce a la base, un path suit un chemin prédéfinit par l'utilisateur et non un objet peut importe sa position sur la map..Enfin je dit sa je dit rien ^^'
Merci et bonne journée =p

_________________
IA zelda Signu
Revenir en haut Aller en bas
keïtchi
Utilisateur confirmé: Rang **
keïtchi


Messages : 366
Localisation : Don't Follow me, I'm lost too!

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMar 15 Sep 2009 - 16:32

non oublie tout ce que tu pense des path, un path c'est tout simplement un chemin, tu peut donc le manipuler et le modifier même une fois le jeux lancer, pour ça il y a des commande,
avant tout, tu doit crée une grille, la grille que suivra ton path pour arrivé a destination, a toi de choisir la plus adapter au sprite de ton jeux, pour zelda minish cap, le must reste de faire une grille en 16*16, pour cela il y a le code suivant quand le jeux commence:
Code:
global.grid=mp_grid_create(0,0,room_width/16,room_height/16,16,16);
la grille et donc crée et son id est retourner via la variable global.grid, tu poura grace a ça y faire appel plus tard.

Ont a donc une grille de 16*16 qui fait tout l'ecrant, il faut maintenant rajouter les objet que doit evité le monstre ou tout autre ai pour aller du point de départ a l'arriver, pour cela tu a la commande:
Code:

mp_grid_add_instances(global.grid,obj_bloc1,1);
Si tu veux mon avis perso, crée un objet, moi je l'ai appeler bloc1, et quand tu a envie que ton path evite un objet précis:
Si il est imobile dans create tu met:
Code:
ii=instance_create(x,y,obj_bloc1);
ii.sprite_index=sprite_index;
ii.image_alpha=0;
et s'il bouge, tu fait pareil mais tu met dans step:
Code:
ii.x=x;
ii.y=y;
Ca t'évitera de devoir modifier a chaque fois ton code pour rajouter une instance a la grille,

Résumont une fois de plus pour que ça rentre bien, tu a une grille, des case vide s'il n'y a pas de "bloc1" dessut, dans le cas contraire elle seront marquer comme pleine, et ceci en direct live. x)

Maintenant il faut être vigilant, parfois, le chemin sera impossible a effectuer pendant quelque seconde, le temps qu'un objet ce deplace aussi pour eviter des message d'erreur du style le path n'existe pas "path", il faut toujours verifier avant que le chemin est possible:
dans créate:
Code:
path=path_add();

dans step:

Code:
if (!path_exists(path))
{
path=path_add();
}

if (path_exists(path))
{
mp_grid_path(global.grid,path,x,y,i.x,i.y,1);
/*---rajoute tous les objet solid a la grille--*/
mp_grid_add_instances(grid,obj_bloc1,1);
path_start(path,1.5,0,false);

if (!mp_grid_path(global.grid,path,x,y,i.x,i.y,1))
{
path_delete(path);
}
}

Ce code pour faire simple, crée le path s'il n'éxiste pas, puis, s'il existe le demarre et pour finir, si le chemin via la grille est impossible supprime le path et recommence jusqu'a ce que le chemin soit possible.

Voila tu sait a peut pret tout, je ne sait pas si cette methode est la meilleur, mais en tout cas, elle marche bien. ^^

J'espère avoir bien expliquer et rien oublié... xD

_________________
Mon Projet:
IA zelda Backgroundchargement1jc9
Revenir en haut Aller en bas
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMar 15 Sep 2009 - 23:29

C' est m'a lair super ce système pour évité les quelque bug de collision des IA =O, mais ce que je voulais réellement savoir c' est comment faire pour que l'IA se deplace vers moi, j'ai bau lire et relire je ne voit pas la partie du code qui l'indique oO
Merci bonne soirée =)

_________________
IA zelda Signu
Revenir en haut Aller en bas
keïtchi
Utilisateur confirmé: Rang **
keïtchi


Messages : 366
Localisation : Don't Follow me, I'm lost too!

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 16 Sep 2009 - 0:00

Dans la logique, tu le met a la création du path grace a la grille, a la ligne:
mp_grid_path(global.grid,path,x,y,i.x,i.y,1);
ici j'ai mis i.x, et i.y mais c'est tout simplement car j'avais utiliser
instance_nearest, bref:
mp_grid_path(global.grid,path,la coordonée x du départ du path,la coordonée y du depart du path ,la coordonée x de toi, la coordonée y de toi ^^,1);

_________________
Mon Projet:
IA zelda Backgroundchargement1jc9
Revenir en haut Aller en bas
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 16 Sep 2009 - 0:03

J'doit vraiment être nul, le monstre ne bouge même pas, même en suivant tout a la lettre =s....

_________________
IA zelda Signu
Revenir en haut Aller en bas
keïtchi
Utilisateur confirmé: Rang **
keïtchi


Messages : 366
Localisation : Don't Follow me, I'm lost too!

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 16 Sep 2009 - 0:07

je vais te crée un exemple, attend juste un peut. =)

_________________
Mon Projet:
IA zelda Backgroundchargement1jc9
Revenir en haut Aller en bas
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 16 Sep 2009 - 0:08

Te donne pas tant de peine oO !

_________________
IA zelda Signu
Revenir en haut Aller en bas
keïtchi
Utilisateur confirmé: Rang **
keïtchi


Messages : 366
Localisation : Don't Follow me, I'm lost too!

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 16 Sep 2009 - 0:33

Voila l'exemple, essail de comprendre comment ça marche, si tu veux mon avis, ça ne marche pas car ce n'est peut être pas une grille en 16*16 qu'il te faut.
http://rapidshare.com/files/280618584/exemple_grille_et_path.zip.html

_________________
Mon Projet:
IA zelda Backgroundchargement1jc9
Revenir en haut Aller en bas
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 16 Sep 2009 - 1:17

Vraiment super ! oO, a part le fait que quelque fois le chemin se rompt c' est vraiment sa a quoi je m'attendait Merci =O !!

_________________
IA zelda Signu
Revenir en haut Aller en bas
keïtchi
Utilisateur confirmé: Rang **
keïtchi


Messages : 366
Localisation : Don't Follow me, I'm lost too!

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 16 Sep 2009 - 11:05

Citation :
Maintenant il faut être vigilant, parfois, le chemin sera impossible a effectuer pendant quelque seconde, le temps qu'un objet ce deplace aussi pour eviter des message d'erreur du style le path n'existe pas "path", il faut toujours verifier avant que le chemin est possible
donc c'est normal, si dans le chemin, il n'y a pas 16 pixel de libre, le chemin sera impossible et le path comme tu dis, ce rompt. =)
enfin, je pense que tu a tout ce qu'il te faut pour comprendre comment ça marche maintenant, si tu bloque relis ce topic tu trouvera la solution je pense. =)

_________________
Mon Projet:
IA zelda Backgroundchargement1jc9
Revenir en haut Aller en bas
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 16 Sep 2009 - 13:05

Le truc c' est que j'ai pu constaté que le chemin s'arrêter si j était en collision avec un mur vers le haut, dans la logique des chose j'ai changé l'origine link.y a +5 et la plus de souci c' est impeccable merci encore c' est super ! ^^

_________________
IA zelda Signu
Revenir en haut Aller en bas
Kryptos
Utilisateur confirmé: Rang ****
Kryptos


Messages : 1058
Localisation : très loin dans un univers étrange
Projet Actuel : Space Racer, un jeu multijoueur en ligne réalisé avec Unity 3D.

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 16 Sep 2009 - 14:11

Pour ton IA de style Zelda, je te conseille d'utiliser les algo de pathfinding associés à la gestion en grille. C'est plus efficace car déterministe. Par contre, les mouvements des IA seront limités aux quatres directions + les diagonales.

_________________
IA zelda Gmq5
Venez tester la beta de notre jeu de course Space Racer (conçu avec Unity 3D)
Revenir en haut Aller en bas
http://s150319444.onlinehome.fr
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 16 Sep 2009 - 14:14

Comment fonctionne cette methode ?

_________________
IA zelda Signu
Revenir en haut Aller en bas
keïtchi
Utilisateur confirmé: Rang **
keïtchi


Messages : 366
Localisation : Don't Follow me, I'm lost too!

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 16 Sep 2009 - 14:36

c'est la même methode que c'elle que je t'ai déjà expliquer. =)
moi j'appel ça system de path et grille mais c'est la même chose. =)

_________________
Mon Projet:
IA zelda Backgroundchargement1jc9
Revenir en haut Aller en bas
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 16 Sep 2009 - 14:38

Ahh okey x)
Me reste plus qu'a résoudre un detail etrange..,a quelque endroit dans les diagonal quand je suis en collision l'IA ne suit plus, pourtant le draw de ton path n'empiète pas sur les collisions Oo

_________________
IA zelda Signu
Revenir en haut Aller en bas
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 16 Sep 2009 - 15:05

Problème trouvé, malheureusement impossible a résoudre je pense =/:
Voila un croquis vite fait :
Les carré noirs se sont les collisions, les triangles ce sont les pentes sur les quelles le perso et aussi en collision, comme dans tout zelda quoi x).
En bleu c' est se que L'ia évite, soir des blocks, l'ia ne prend pas en compte la pente donc quand le point link.x,link.y se trouve la ou il y a une croix le chemin est rompue =/

_________________
IA zelda Signu
Revenir en haut Aller en bas
keïtchi
Utilisateur confirmé: Rang **
keïtchi


Messages : 366
Localisation : Don't Follow me, I'm lost too!

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 16 Sep 2009 - 15:18

Désoler, je ne voix pas le croqui. xD

_________________
Mon Projet:
IA zelda Backgroundchargement1jc9
Revenir en haut Aller en bas
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda EmptyMer 16 Sep 2009 - 15:19

Forcement j'ai oublié de le mettre gnii .........
https://2img.net/r/ihimizer/i/path.png/

_________________
IA zelda Signu
Revenir en haut Aller en bas
Contenu sponsorisé





IA zelda Empty
MessageSujet: Re: IA zelda   IA zelda Empty

Revenir en haut Aller en bas
 
IA zelda
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» rpg zelda
» Zelda
» jeu a la zelda
» teleportation a la zelda
» Zelda...............

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: