| Instance Random | |
|
|
Auteur | Message |
---|
Daerrius Pas mal
Messages : 32
| Sujet: Instance Random Sam 25 Oct 2014 - 10:20 | |
| Bonjour, je voudrais créer un spawn d'arbres aléatoire sur la map, donc j'utilise ça : instance_create(random(room_width),random(room_height), obj_arbre); mais le problème c'est que parfois, certains arbres se spawn sur eux même, comment faire pour les spawns a une distance minimum l'un de l'autre ? et aussi, j'ai copier tellement de fois cette ligne pour pouvoir en spawn beaucoup que quand je modifie le texte ça ram, c'est possible de dire qu'il m'en spawn 100 en une ligne ? merci |
|
| |
hyper Utilisateur confirmé: Rang ****
Messages : 1458 Localisation : près de Nantes Projet Actuel : Super Note Aventure
| Sujet: Re: Instance Random Sam 25 Oct 2014 - 11:00 | |
| |
|
| |
Daerrius Pas mal
Messages : 32
| Sujet: Re: Instance Random Sam 25 Oct 2014 - 11:19 | |
| Merci beaucoup, c'est exactement ce que je cherchais |
|
| |
Daerrius Pas mal
Messages : 32
| Sujet: Re: Instance Random Sam 25 Oct 2014 - 11:27 | |
| ah mince, du coup si je pose 10 000 arbres et que je fais supprimer ou déplacer en collision ça rame a mort ^^, il faudrait un système dans le code pour dire une distance minimum :/ |
|
| |
hyper Utilisateur confirmé: Rang ****
Messages : 1458 Localisation : près de Nantes Projet Actuel : Super Note Aventure
| Sujet: Re: Instance Random Sam 25 Oct 2014 - 13:06 | |
| Si ça rame à mort, peut-être que tu l'as pas mis dans le Create... Sinon pour les distances : if distance_to_object(obj_arbre) < distance _________________ côt.
|
|
| |
Mobi Utilisateur confirmé: Rang ****
Messages : 1256 Localisation : Dijon
| Sujet: Re: Instance Random Sam 25 Oct 2014 - 13:25 | |
| 10 000 arbres c'est beaucoup trop pour ce pauvre GM _________________ |
|
| |
hyper Utilisateur confirmé: Rang ****
Messages : 1458 Localisation : près de Nantes Projet Actuel : Super Note Aventure
| Sujet: Re: Instance Random Sam 25 Oct 2014 - 13:47 | |
| Je te conseille d'optimiser tout ça (en désactivant les instances en dehors de la vue par exemple). Mais ça rame seulement au démarrage ou tout le temps ? _________________ côt.
|
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Instance Random Sam 25 Oct 2014 - 14:46 | |
| Nan mais 10 000 objets ca peut que ramer en permanence... Déjà faire un for qui fait des draw_sprite() dans un seul objet me paraitrai plus optimisé que d'utiliser 10 000 objets, mais dans tous les cas c'est juste pas possible Fais des maps plus petites ou alors utilise une structure en chunk, mais ca me parait compliqué pour débuter... _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Instance Random Sam 25 Oct 2014 - 15:20 | |
| 10k objets, si tu les désactives en dehors de la view ça devrait passer, c'est pas non plus la mort même sous GM. Après, faut bien faire gaffe a pas faire d'update de depth dedans ou trucs gourmands du genre.
|
|
| |
Daerrius Pas mal
Messages : 32
| Sujet: Re: Instance Random Sam 25 Oct 2014 - 21:12 | |
| tout ça en réponses ! oui 10000 ma map fait 30 000 x 30 000, c'est un jeu de survie sur une très grand map, alors je vais tester tout ce que vous me dites, soit désactivé en dehors de la map ou en faire un qui spawn des sprites, mais je sais pas si ça fonctionnerait vu que l'arbre est pas mal scripter tout ça, merci beaucoup, je test et je reviendrais vous dire si tout ce passe bien |
|
| |
Daerrius Pas mal
Messages : 32
| Sujet: Re: Instance Random Sam 25 Oct 2014 - 21:14 | |
| Merci pour les distances, et oui je l'ai bien mis dans un create, ça ram soit énormément soit carrément un "out of memory" |
|
| |
hyper Utilisateur confirmé: Rang ****
Messages : 1458 Localisation : près de Nantes Projet Actuel : Super Note Aventure
| Sujet: Re: Instance Random Sam 25 Oct 2014 - 21:35 | |
| Et si tu essayais de faire ça en plusieurs steps ? (pour n steps de chargement, chaque step serait n fois moins lourds que le step fatal) puis attention au double-post _________________ côt.
|
|
| |
Daerrius Pas mal
Messages : 32
| Sujet: Re: Instance Random Sam 25 Oct 2014 - 23:04 | |
| (désolé pour le double post ), je viens de tester, j'ai fais créer 10 arbres a chaque step, et au bout d'un certain nombre, le couper, mais c'est tellement long à charger , surtout que j'ai exactement 8000 arbres, mais il va y avoir des buissons, des bâtiments tout ça, ça va être horriblement long. Déjà j'ai gagné énormément d'fps en désactivant les instances hors de la view. En fait tout va bien maintenant, sauf que, le système d'espace entre chaque objets ne marche pas finalement, donc j'ai voulu faire que s'il entre en collision ils se suppriment, mais je pensais que ça fonctionnerait seulement dans la view, mais non, les collisions fonctionnent même hors de la view donc ca ram a mort. Il faudrait un système d'activer les collisions seulement dans la view, mais je crois que j'en demande trop ^^ |
|
| |
hyper Utilisateur confirmé: Rang ****
Messages : 1458 Localisation : près de Nantes Projet Actuel : Super Note Aventure
| Sujet: Re: Instance Random Dim 26 Oct 2014 - 9:10 | |
| Les arbres ne bougent pas, tu pourrais tester les collisions seulement dans le chargement, en rajoutant cette étape à la fin, non ? (je pensais pas à 1000 steps de chargement, genre 20 ou 30 par exemple ) _________________ côt.
|
|
| |
glcraft Utilisateur confirmé: Rang *****
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
| Sujet: Re: Instance Random Dim 26 Oct 2014 - 13:02 | |
| mais dans le jeu, tu crées des arbres constamment ou que lors du chargement du jeu ? |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Instance Random Dim 26 Oct 2014 - 13:54 | |
| Ca reste que mon avis, mais si t'as des problèmes avec des arbres, qu'est ce que ca va être quand tu va devoir faire une IA :/ Ca sert à rien de faire une map aussi grande pour commencer, fait un truc standard, ia déjà pas mal de trucs chauds à faire pour un jeu de ce type sans qu'en plus tu doive te faire ***** avec ca... Une fois que t'aura compris comment marche GM, que t'aura un truc jouable, là tu pourra essayer d'agrandir ta map et d'optimiser tout ca.
Et de ce que je sais, il vérifie pas les collisions pour les objets désactivés. _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
Daerrius Pas mal
Messages : 32
| Sujet: Re: Instance Random Dim 26 Oct 2014 - 19:00 | |
| Le jeu crée des arbres seulement au lancement, mais ne lag plus du tout, c'est juste quand je veux supprimer ceux qui se touche, mais bon vous avez raison, la map est surement vraiment trop grande, je pense en faire plusieurs petites, après savoir si c'est possible de pouvoir changé de map quand on arrive au bout et arrivé au même endroit de l'autre coté quoi, on verra bien |
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: Instance Random Dim 26 Oct 2014 - 19:45 | |
| - Daerrius a écrit:
- tout ça en réponses ! oui 10000 ma map fait 30 000 x 30 000, c'est un jeu de survie sur une très grand map, alors je vais tester tout ce que vous me dites, soit désactivé en dehors de la map ou en faire un qui spawn des sprites, mais je sais pas si ça fonctionnerait vu que l'arbre est pas mal scripter tout ça, merci beaucoup, je test et je reviendrais vous dire si tout ce passe bien
Fais un système de chunk comme minecraft (même si c'est un peu chaud au début, mais les résultats se font sentir) _________________ <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
|
|
| |
Contenu sponsorisé
| Sujet: Re: Instance Random | |
| |
|
| |
| Instance Random | |
|