Pour vos problème ou demande d'aide concernant la création de jeux avec GDevelop.
By RaoulmkII
#65562 Hey salut amis Gdeveloppiste !

Voilà voilà j'avance bien sur mon ptit RPG, tout marche très bien, nickel et tout, mais voilà que lors du grand test compilé je m'appercois que le jeu a de petit freeze ! Rien de trop gênant mais par soucis d'optimisation j'aimerais faire sauter ca.

Ils sont du a une fonction de recherche de chemins des Npc sur les maps complexes ou sinueuse
comme par exemple :
Image
Et voilà les événements qui gèrent ça :
Image

J'ai essayé plusieurs manières de les tourner mais rien a faire ou les freeze deviennent encore pire.
Je pense que ça viens lorsqu'un chemin a été trouvé pour un Npc mais que celui ci tombe sur dans un obstacle (les sprites jaune/noir)
J'ai essayé en mettant une condition genre "si un chemin a été trouvé" mais la ça ne marche même plus.

Alors si vous avez des idées pour tourner ça un peu mieux, je suis preneur !
User avatar
By Kink
#65574 Hello,

je n'utilise pas cette extension, mais je te suggère de regarder avec le moniteur de performance ce qui consomme le plus dans les événements. Ca ne peut se faire que si tu es en mode plateforme native, mais si c'est le cas tu identifieras peut-etre des événements qui consomment bcp pour pas grand chose, et de là imaginer de faire différemment.

Quelquefois le mal n'est pas là où on l'imagine, et pour ça le moniteur de performance est bien pratique.
By RaoulmkII
#65583 Ah je connaissais pas cette petite fonction magique !
Bah tout est blanc ou presque y'a qu'un événement en rouge c'est celui la ! C'est bien ce que je pensais c'est l'action "deplacer vers ..." qui pompe tout. Il faudrait limiter son travail avec d'autres conditions mais c'est là que je flanche ...
User avatar
By Kink
#65584 Il faudrait qu'on voit plus de ton algo, ta fonction "Fonct. move" elle est dans une condition "pour chaque objet NPC" ?

Si tes cartes sont statiques, tu peux imaginer coder des déplacements plus manuellement à l'aide des coordonnées sur la scène.
By RaoulmkII
#65586 Nop, il n'y a pas d'autre événement ou groupe qui interférent la dedans. Il y'a seulement ce que vous voyez.

En faite ça marche avec un groupe d'objet "Npc" sur la scène qui regroupe les pnj supposé bouger.
Exemple (En oubliant la variable action qui concerne autre chose) :
Si le chronomètre aléatoire "wait" et arrivé a terme et qu un objet choisit aléatoirement dans le groupe Npc est à l’arrêt , alors l'objet choisit dans le groupe Npc se déplace dans un rayon de 500 pxl autour de lui.

Dans l'absolu je sais que je peux régler le truc en utilisant l'extension "comportement chemin" pour un chemin prédéfinit mais je trouve que les Npc bougeant aléatoirement ça donne beaucoup plus de vie au jeu.