AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Disque dur SSD CRUCIAL P3 1 To (3D NAND NVMe PCIe M.2)
65.91 €
Voir le deal

 

 OUT OF MEMORY avec pathfinding

Aller en bas 
4 participants
AuteurMessage
Evilshroom
Très bonne participation
Evilshroom


Messages : 121
Localisation : ....
Projet Actuel : ????????

OUT OF MEMORY avec pathfinding Empty
MessageSujet: OUT OF MEMORY avec pathfinding   OUT OF MEMORY avec pathfinding EmptySam 10 Jan 2015 - 20:08

Bonjour gang! J'ai un problème que je n'arrive pas à régler... kill

Dans mon top-down shooter, j'ai mis ce code dans le zombie dans «Begin Step»




Code:
if distance_to_object(obj_parent_character) < 600
{
dir=direction
grid=mp_grid_create(0,0,room_width/8,room_height/8,8,8);
path=path_add();
mp_grid_add_instances(grid,obj_parent_solid,1) 
mp_grid_path(grid,path,x,y,obj_parent_character.x,obj_parent_character.y,1);
path_start(path,4,'',1);
sprite_index = spr_zombie

}


Mais une fois activé... le jeu crash et sa dit «OUT OF MEMORY»


Jai fait des recherches sur google, et je ne trouve aucune solution!! Sad scratch


Est-ce que quelqu'un a déja eu le même probleme?

ps: J'ai Game Maker Studio en version plus récente, et avec la Master Collection
Revenir en haut Aller en bas
Asu
Utilisateur confirmé: Rang ****
Asu


Messages : 895

OUT OF MEMORY avec pathfinding Empty
MessageSujet: Re: OUT OF MEMORY avec pathfinding   OUT OF MEMORY avec pathfinding EmptySam 10 Jan 2015 - 21:06

Quelle est la taille de ta room?
OUT OF MEMORY veut dire que GM n'a pas pu réserver assez de mémoire pour initialiser ta grille (à priori) et qu'elle est peut être trop grosse.

_________________
‎<‎Cysteine‎>‎ nON mais la touche maj s'active/se désactive toute seule
‎<‎Cysteine‎>‎ et a du mal à réponDRE QUANd j'appuie dessus
‎<‎Cysteine‎>‎ et je l'ai démont2? IL Ny a rien DEDANs
Revenir en haut Aller en bas
DeinDall
Utilisateur confirmé: Rang ****
DeinDall


Messages : 858
Localisation : Quimper

OUT OF MEMORY avec pathfinding Empty
MessageSujet: Re: OUT OF MEMORY avec pathfinding   OUT OF MEMORY avec pathfinding EmptySam 10 Jan 2015 - 21:25

Le problème c'est surtout que tu crées une grille à chaque (begin) step sans la détruire, et c'est une très mauvaise idée. La grille il faut que tu la crée une seule fois et l'utiliser plusieurs fois plus tard, et la mettre a jour si jamais il y a changement de la disposition de la room et la détruire à la "fin de la room".

_________________
.
Revenir en haut Aller en bas
Asu
Utilisateur confirmé: Rang ****
Asu


Messages : 895

OUT OF MEMORY avec pathfinding Empty
MessageSujet: Re: OUT OF MEMORY avec pathfinding   OUT OF MEMORY avec pathfinding EmptySam 10 Jan 2015 - 22:13

DeinDall a écrit:
Le problème c'est surtout que tu crées une grille à chaque (begin) step sans la détruire, et c'est une très mauvaise idée. La grille il faut que tu la crée une seule fois et l'utiliser plusieurs fois plus tard, et la mettre a jour si jamais il y a changement de la disposition de la room et la détruire à la "fin de la room".
GM n'est pas censé le détruire si on redéfinit la variable?

_________________
‎<‎Cysteine‎>‎ nON mais la touche maj s'active/se désactive toute seule
‎<‎Cysteine‎>‎ et a du mal à réponDRE QUANd j'appuie dessus
‎<‎Cysteine‎>‎ et je l'ai démont2? IL Ny a rien DEDANs
Revenir en haut Aller en bas
DeinDall
Utilisateur confirmé: Rang ****
DeinDall


Messages : 858
Localisation : Quimper

OUT OF MEMORY avec pathfinding Empty
MessageSujet: Re: OUT OF MEMORY avec pathfinding   OUT OF MEMORY avec pathfinding EmptySam 10 Jan 2015 - 22:25

Une variable classique ou un tableau oui mais pas une structure de données. La variable ne contient alors que l'identifiant de la grille/liste/pile/... et non la structure elle-même. C'est comme un pointeur en C si on veux.

_________________
.
Revenir en haut Aller en bas
Asu
Utilisateur confirmé: Rang ****
Asu


Messages : 895

OUT OF MEMORY avec pathfinding Empty
MessageSujet: Re: OUT OF MEMORY avec pathfinding   OUT OF MEMORY avec pathfinding EmptySam 10 Jan 2015 - 22:51

DeinDall a écrit:
Une variable classique ou un tableau oui mais pas une structure de données. La variable ne contient alors que l'identifiant de la grille/liste/pile/... et non la structure elle-même. C'est comme un pointeur en C si on veux.
Ah, effectivement.
Du coup le problème c'est très sûrement ça.

_________________
‎<‎Cysteine‎>‎ nON mais la touche maj s'active/se désactive toute seule
‎<‎Cysteine‎>‎ et a du mal à réponDRE QUANd j'appuie dessus
‎<‎Cysteine‎>‎ et je l'ai démont2? IL Ny a rien DEDANs
Revenir en haut Aller en bas
Evilshroom
Très bonne participation
Evilshroom


Messages : 121
Localisation : ....
Projet Actuel : ????????

OUT OF MEMORY avec pathfinding Empty
MessageSujet: Re: OUT OF MEMORY avec pathfinding   OUT OF MEMORY avec pathfinding EmptyLun 12 Jan 2015 - 4:49

Allo!


Merci beaucoup de vos réponses. Et en effet la room est TREEEEEESSSSS grande! (20640x9408)

Et le bug ne survient pas dans de petites room.



Donc! Ce que j'ai pensé faire, c'est écrire dans le code quelque chose au lieu de

Code:
if distance_to_object(obj_parent_character) < 600
{
dir=direction
grid=mp_grid_create(0,0,room_width/8,room_height/8,8,8);
path=path_add();
mp_grid_add_instances(grid,obj_parent_solid,1) 
mp_grid_path(grid,path,x,y,obj_parent_character.x,obj_parent_character.y,1);
path_start(path,4,'',1);
sprite_index = spr_zombie

}

Mettre ça à la place :

Code:
if distance_to_object(obj_parent_character) < 600
{
dir=direction
grid=mp_grid_create(0,0,view_wview/8,room_hview/8,8,8);
path=path_add();
mp_grid_add_instances(grid,obj_parent_solid,1) 
mp_grid_path(grid,path,x,y,obj_parent_character.x,obj_parent_character.y,1);
path_start(path,4,'',1);
sprite_index = spr_zombie

}


Comme ça, les ennemis vont créer une grid SEULEMENT dans le view... Mais non!!! Ça n'a pas plus fonctionné! Sad


Sauriez-vous pourquoi par hasard?
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é
||--------

OUT OF MEMORY avec pathfinding Empty
MessageSujet: Re: OUT OF MEMORY avec pathfinding   OUT OF MEMORY avec pathfinding EmptyLun 12 Jan 2015 - 14:49

faut aussi que tu replace la grid en x et y, w et h ne suffisent pas
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Contenu sponsorisé





OUT OF MEMORY avec pathfinding Empty
MessageSujet: Re: OUT OF MEMORY avec pathfinding   OUT OF MEMORY avec pathfinding Empty

Revenir en haut Aller en bas
 
OUT OF MEMORY avec pathfinding
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Eviter des objets mobiles avec un pathfinding
» Pathfinding isométrique ouch!!
» surface_free "out of memory"
» [Résolu] Pathfinding Algorithme A* - exemple exe gmk
» [Résolu] out of memory

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