AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 OUT OF MEMORY avec pathfinding

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Evilshroom
Très bonne participation
avatar

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

MessageSujet: OUT OF MEMORY avec pathfinding   Sam 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 ****
avatar

Messages : 895

MessageSujet: Re: OUT OF MEMORY avec pathfinding   Sam 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 ****
avatar

Messages : 858
Localisation : ~Quimper
Projet Actuel : Un jeu où tu joues.

MessageSujet: Re: OUT OF MEMORY avec pathfinding   Sam 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 ****
avatar

Messages : 895

MessageSujet: Re: OUT OF MEMORY avec pathfinding   Sam 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 ****
avatar

Messages : 858
Localisation : ~Quimper
Projet Actuel : Un jeu où tu joues.

MessageSujet: Re: OUT OF MEMORY avec pathfinding   Sam 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 ****
avatar

Messages : 895

MessageSujet: Re: OUT OF MEMORY avec pathfinding   Sam 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
avatar

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

MessageSujet: Re: OUT OF MEMORY avec pathfinding   Lun 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 *****
avatar

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

MessageSujet: Re: OUT OF MEMORY avec pathfinding   Lun 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é




MessageSujet: Re: OUT OF MEMORY avec pathfinding   

Revenir en haut Aller en bas
 
OUT OF MEMORY avec pathfinding
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» OUT OF MEMORY avec pathfinding
» Memory
» Calcul de dénivelé par Memory Map
» Memory map
» j ai des souci , je debute depuis ce jour avec linux fedora

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: