AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -14%
Lave-linge hublot HOOVER HWP 10 kg (Induction, 1600 ...
Voir le deal
299.99 €

 

 IA Simple de déplacement

Aller en bas 
+2
mikmacer
Frugalware
6 participants
AuteurMessage
Frugalware
Très bonne participation
Frugalware


Messages : 160
Projet Actuel : Zombad

IA Simple de déplacement Empty
MessageSujet: IA Simple de déplacement   IA Simple de déplacement EmptyDim 20 Juil 2008 - 19:10

Bonjour,
voila pas mal de temps que j'ai commençais mon projet (en janvier 2008) et depuis le début je sais que l'IA va être la chose la plus dur à faire, en effet je vient que de débuter en programmation et ne connais que les bases. Maintenant je doit attaquer l'IA. cette IA est très simple a expliquer ^^
Je chercher à faire une IA de déplacement (c'est un jeu vu de haut), il y a beaucoup de mur et d'obstacle. des objets doivent se rendre a un objet bien déterminé (zombies rouge ) malheureusement la fonction
Code:
mp_potential_step
est un vrai désastre :snif2: , j'ai regarder l'exemple d'une IA bien réussi "Fog-IA2" mais comme je ne fait que débuter en programmation je ne comprend pas bien ou est le bon code pour les mouvements, je sais que sa marche avec des paths qui se dessine aléatoirement.
Aider moi :p_svp:


Dernière édition par dimitrou le Lun 21 Juil 2008 - 23:55, édité 1 fois
Revenir en haut Aller en bas
http://zombad.c.la/
mikmacer
Utilisateur confirmé: Rang ***
mikmacer


Messages : 788
Localisation : Québec
Projet Actuel : EscapeNgine

IA Simple de déplacement Empty
MessageSujet: Re: IA Simple de déplacement   IA Simple de déplacement EmptyDim 20 Juil 2008 - 19:24

Tu pourrais regarder au niveau de l'algorthme du A* qui est implémenté dans GM. Je crois que l'utilisation de cet algo par des fonctions de GM est décrit dans la même page du manuel que mp_potential_step.

Il te faudrat spécifier un cadrier et lui indiquer les cases solid, et ceux non solid de ta map, et à partir de ça, tout objet pourra trouver un chemin du point A au point B partout dans ta map.
Revenir en haut Aller en bas
master47
Utilisateur confirmé: Rang *****
master47


Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

IA Simple de déplacement Empty
MessageSujet: Re: IA Simple de déplacement   IA Simple de déplacement EmptyDim 20 Juil 2008 - 19:34

T'as mis cette fonction dans step ou non ( mp_potential_step )
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
Frugalware
Très bonne participation
Frugalware


Messages : 160
Projet Actuel : Zombad

IA Simple de déplacement Empty
MessageSujet: Re: IA Simple de déplacement   IA Simple de déplacement EmptyDim 20 Juil 2008 - 19:37

c'est a dire que les objet solide il en a pas mal dans plein de map
j'ai bien mis la commande dans le step de l'objet


Dernière édition par dimitrou le Lun 21 Juil 2008 - 23:55, édité 1 fois
Revenir en haut Aller en bas
http://zombad.c.la/
master47
Utilisateur confirmé: Rang *****
master47


Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

IA Simple de déplacement Empty
MessageSujet: Re: IA Simple de déplacement   IA Simple de déplacement EmptyDim 20 Juil 2008 - 19:48

Alors comme MickMacer je pense qu'il faut drait que tu te tourne vers le A Star parce que la fonction mp_potential_step n'est pas assez personalisable à mon gout..
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
Frugalware
Très bonne participation
Frugalware


Messages : 160
Projet Actuel : Zombad

IA Simple de déplacement Empty
MessageSujet: Re: IA Simple de déplacement   IA Simple de déplacement EmptyDim 20 Juil 2008 - 20:28

:p_desole: mais sé quoi la A star ? :p_lol:


Dernière édition par dimitrou le Lun 21 Juil 2008 - 23:55, édité 1 fois
Revenir en haut Aller en bas
http://zombad.c.la/
Rem_101
*Excellent utilisateur*
Rem_101


Messages : 4356
Localisation : chez votre marchand de journaux

IA Simple de déplacement Empty
MessageSujet: Re: IA Simple de déplacement   IA Simple de déplacement EmptyDim 20 Juil 2008 - 20:57

Warning Patté
Spoiler:
Revenir en haut Aller en bas
Frugalware
Très bonne participation
Frugalware


Messages : 160
Projet Actuel : Zombad

IA Simple de déplacement Empty
MessageSujet: Re: IA Simple de déplacement   IA Simple de déplacement EmptyDim 20 Juil 2008 - 21:38

Je vais étudier sa de plus prêt happy1

ça a l'aire quand même compliquer


Dernière édition par dimitrou le Lun 21 Juil 2008 - 23:56, édité 1 fois
Revenir en haut Aller en bas
http://zombad.c.la/
master47
Utilisateur confirmé: Rang *****
master47


Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

IA Simple de déplacement Empty
MessageSujet: Re: IA Simple de déplacement   IA Simple de déplacement EmptyDim 20 Juil 2008 - 23:37

Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
Frugalware
Très bonne participation
Frugalware


Messages : 160
Projet Actuel : Zombad

IA Simple de déplacement Empty
MessageSujet: Re: IA Simple de déplacement   IA Simple de déplacement EmptyLun 21 Juil 2008 - 1:39

énorme merci gnii je vais essayer de plus vous embêter et de faire avec


Dernière édition par dimitrou le Lun 21 Juil 2008 - 23:54, édité 1 fois
Revenir en haut Aller en bas
http://zombad.c.la/
Rem_101
*Excellent utilisateur*
Rem_101


Messages : 4356
Localisation : chez votre marchand de journaux

IA Simple de déplacement Empty
MessageSujet: Re: IA Simple de déplacement   IA Simple de déplacement EmptyLun 21 Juil 2008 - 11:28

LoL master qui est plus claire que moi avec un seul lien que moi avec un texte :'(
Revenir en haut Aller en bas
Frugalware
Très bonne participation
Frugalware


Messages : 160
Projet Actuel : Zombad

IA Simple de déplacement Empty
MessageSujet: Re: IA Simple de déplacement   IA Simple de déplacement EmptyLun 21 Juil 2008 - 15:25

Je crois qu'il y a un petit problème dans cet exemple, je ne peut pas l'adapter dans mon jeu.

tous dabor j'ai mis les scripte dans mon jeu (rien de compliquer) j'ai reprogrammer mes objets pour que l'objet player sois le zombie et qu'il suive l'objet "perso" qui était avant la souris. rien de compliquer

mais quand je lance le jeux :


___________________________________________
ERROR in
action number 1
of Create Event
for object objObstacle:

In script AStar_setBlocked:
Error in code at line 1:
// Arguments:// 0 - x// 1 - y// 2 - 0...Free, 1...Blocked//// Returns: nothingwith (objPathFinder) { if (coordMode) ds_map_replace(cells[argument0,argument1],"blocked",argument2); else ds_map_replace(cells[floor((argument0-X_OFFSET)/CELL_WIDTH), floor((argument1-Y_OFFSET)/CELL_HEIGHT)], "blocked",argument2);}

at position 232: Unknown variable cells or array index out of bounds
-------------------------------------------------------------------------------------

sa me l'achiffe 3 foi (je fait ignorer)

mais aprés quand je sort de la zone du départ (je pensse)
____________________________________________________________
ERROR in
action number 1
of Mouse Event for Glob Left Pressed
for object objPlayer:

In script AStar_findPath:
Error in code at line 1:
// Arguments:// 0 - x1// 1 - y1// 2 - x2// 3 - y2// 4 - center (true/false)//// Returns:// path id if successful, -1 if unsuccessfulwith (objPathFinder) {var startNode,goalNode,openList,closedList,node,neighbors,i,neighborNode, isOpen,isClosed,costFromStart;if (coordMode) { startNode = cells[argument0,argument1]; goalNode = cells[argument2,argument3]; argument0 = argument0 * CELL_WIDTH + X_OFFSET; argument1 = argument1 * CELL_HEIGHT + Y_OFFSET;} else { startNode = cells[floor((argument0-X_OFFSET)/CELL_WIDTH), floor((argument1-Y_OFFSET)/CELL_HEIGHT)]; goalNode = cells[floor((argument2-X_OFFSET)/CELL_WIDTH), floor((argument3-Y_OFFSET)/CELL_HEIGHT)];}if (ds_map_find_value(goalNode,"blocked")) return -1;openList = ds_priority_create();closedList = ds_list_create();ds_map_replace(startNode,"costFromStart",0);ds_map_replace(startNode,"estimatedCostToGoal",AStar_getEstimatedCost(startNode,goalNode));ds_map_replace(startNode,"pathParent",-1);ds_priority_add(openList,startNode,ds_map_find_value(startNode,"costFromStart")+ds_map_find_value(startNode,"estimatedCostToGoal"));while (!ds_priority_empty(openList)) { node = ds_priority_delete_min(openList); if (node == goalNode) { ds_priority_destroy(openList); ds_list_destroy(closedList); return AStar_constructPath(goalNode,argument0,argument1,argument4); } neighbors = AStar_getNeighbors(node); for (i=0; i<ds_list_size(neighbors); i+=1) { neighborNode = ds_list_find_value(neighbors,i); if (ds_priority_find_priority(openList,neighborNode) > 0) isOpen = 1; else isOpen = 0; if (ds_list_find_index(closedList,neighborNode) > -1) isClosed = 1; else isClosed = 0; costFromStart = ds_map_find_value(node,"costFromStart") + AStar_getCost(node,neighborNode); if ((!isOpen && !isClosed) || (costFromStart < ds_map_find_value(neighborNode,"costFromStart"))) { ds_map_replace(neighborNode,"pathParent",node); ds_map_replace(neighborNode,"costFromStart",costFromStart); ds_map_replace(neighborNode,"estimatedCostToGoal", AStar_getEstimatedCost(neighborNode,goalNode)); if (isClosed) ds_list_delete(closedList,ds_list_find_index(closedList,neighborNode)); if (!isOpen) { ds_priority_add(openList,neighborNode,ds_map_find_value(neighborNode,"costFromStart") +ds_map_find_value(neighborNode,"estimatedCostToGoal")); } } } ds_list_destroy(neighbors); ds_list_add(closedList,node);}ds_priority_destroy(openList);ds_list_destroy(closedList);return -1;}

at position 628: Unknown variable cells or array index out of bounds
------------------------------------------------------------------------------------

de plus mes objets qui était parent du mur on disparu
voila


Dernière édition par dimitrou le Lun 21 Juil 2008 - 23:54, édité 1 fois
Revenir en haut Aller en bas
http://zombad.c.la/
edi9999
Utilisateur confirmé: Rang *****
edi9999


Messages : 2480
Localisation : France
Projet Actuel : theatre flashy

IA Simple de déplacement Empty
MessageSujet: Re: IA Simple de déplacement   IA Simple de déplacement EmptyLun 21 Juil 2008 - 17:05

tu as surement oublie d'initialiser un des scripts.
Revenir en haut Aller en bas
http://gameplay.c.la/
nicoulas
*Excellent utilisateur*
nicoulas


Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense IA Simple de déplacement Panicpr9

IA Simple de déplacement Empty
MessageSujet: Re: IA Simple de déplacement   IA Simple de déplacement EmptyLun 21 Juil 2008 - 17:07

cette erreur survient soit quand une variable est manquante, soit quand il y a un problème avec une valeur trop basse ou trop élevée dans les ds_list
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
Frugalware
Très bonne participation
Frugalware


Messages : 160
Projet Actuel : Zombad

IA Simple de déplacement Empty
MessageSujet: Re: IA Simple de déplacement   IA Simple de déplacement EmptyLun 21 Juil 2008 - 20:42

c'est bisar j'ai bien remis tous se qu'il y avait
Revenir en haut Aller en bas
http://zombad.c.la/
nicoulas
*Excellent utilisateur*
nicoulas


Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense IA Simple de déplacement Panicpr9

IA Simple de déplacement Empty
MessageSujet: Re: IA Simple de déplacement   IA Simple de déplacement EmptyMar 22 Juil 2008 - 0:59

je sais pas, peut être que trop d'objets sont pris en compte (plus que dans l'exemple peut être ?)
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
Frugalware
Très bonne participation
Frugalware


Messages : 160
Projet Actuel : Zombad

IA Simple de déplacement Empty
MessageSujet: Re: IA Simple de déplacement   IA Simple de déplacement EmptyMar 22 Juil 2008 - 12:11

non j'ai mis le même nombre d'objet
Revenir en haut Aller en bas
http://zombad.c.la/
Contenu sponsorisé





IA Simple de déplacement Empty
MessageSujet: Re: IA Simple de déplacement   IA Simple de déplacement Empty

Revenir en haut Aller en bas
 
IA Simple de déplacement
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Question simple,trop simple.....
» Rotation d'un objet toujours face à son chemin
» IA simple [GM6]
» Voir un objet suivre la souris avec un clic gauche maintenu!
» question simple, son

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: