| Importer maps (rooms) | |
|
|
Auteur | Message |
---|
jobam Débutant
Messages : 20 Projet Actuel : casse-briques démensiel
| Sujet: Importer maps (rooms) Dim 25 Jan 2009 - 11:05 | |
| Bonjour,
Nous faisons un casse-briques à 2, et nous possédons tous 2 les mêmes "objets, sprites etc".
J'aimerai importer les maps faites par mon collaborateur sans pour autant devoir importer ses sprites, ses objets etc qui ne font qu'alourdir le programme car qui plus est, je les ai déjà.
HELP |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Importer maps (rooms) Dim 25 Jan 2009 - 11:08 | |
| Ce qu'il pourrait faire c'est un script qui stocke toutes les instances présentes sur la room dans des instance_create() et qui les mets dans un fichier .room, et comme ça il n'y a plus qu'a charger la room et a exécuter le code... J'essaye de te faire un exemple. |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Importer maps (rooms) Dim 25 Jan 2009 - 11:48 | |
| sinon vous faites tous les deux vos gm6, puis un merge game permet de tout rassembler.. |
|
| |
jobam Débutant
Messages : 20 Projet Actuel : casse-briques démensiel
| Sujet: Re: Importer maps (rooms) Dim 25 Jan 2009 - 12:16 | |
| - M@d_Doc a écrit:
- sinon vous faites tous les deux vos gm6, puis un merge game permet de tout rassembler..
Le problème c'est qu'il importe aussi tous les spirits et objets alors que je les ai déjà.... juste pour info, le jeu compte plus de 40 objets et deux fois plus de spirits, vous comprenez donc que les avoirs deux fois est vraiment impensable. |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Importer maps (rooms) Dim 25 Jan 2009 - 12:35 | |
| Tu peux les supprimer après... |
|
| |
jobam Débutant
Messages : 20 Projet Actuel : casse-briques démensiel
| Sujet: Re: Importer maps (rooms) Dim 25 Jan 2009 - 13:18 | |
| - bibi675 a écrit:
- Tu peux les supprimer après...
oui mais dans ce cas les objets de la map sont remplacés par des points d'interrogation ce qui est compréhensible |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Importer maps (rooms) Dim 25 Jan 2009 - 14:21 | |
| Je suis en train de te faire un petit algorithme qui te charge/enregistre des room contenues dans des fichiers, tu me diras ce que tu en en pense. |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Importer maps (rooms) Dim 25 Jan 2009 - 19:40 | |
| Voilà, ça y est, je viens de terminer mes scripts. Donc c'est pas compliqué à s'en servir, par contre, si tu veux comprend, tu aura plus de mal. Il y a 4 scripts dont une fonction : _Load_GML_Room : charge une room au format GML. _Save_GML_Room : enregistre une room au format GML. _Load_Bin_Room : charge une room au format binaire. _Save_bin_Room : enregistre une room au format binaire. Le format de stockage GML n'est pas du tout optimisé donc ça prend beaucoup de place mais c'est facilement compréhensible (instance_create) et assez rapide. Par contre le format binaire est quasiment incompréhensible par un être humain non-entrainé, ne prend quasiment pas de place et est un poil plus lent que le format GML. Enfin bon, on ne dépasse pas la seconde de chargement avec les deux formats sur une room de 800 x 800. Pour bien utiliser l'exemple maintenant, c'est facile, tu as un menu bien simple avec deux boutons que je vais te laisser le soin de découvrir, tu peux utiliser la touche CONTROL pour revenir au menu. Voilà, après tu peux seulement utilisé les scripts de chargement pour ta version public sans le script put_real(). Mais cette fonction est obligatoire pour les deux scripts d'enregistrement. Voilà je te laisse découvrir et si tu as des questions n'hésite pas.
Dernière édition par bibi675 le Ven 30 Oct 2015 - 0:18, édité 2 fois |
|
| |
Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: Importer maps (rooms) Ven 2 Oct 2009 - 18:26 | |
| J'ai upper ce vieux topique car pouvoir charger et sauver ses rooms, c'est plutôt génial et ça pourrait intéresser quelqu'un...
Si vous connaissez d'autre scripts sympa dans ce genre (load/sav room), merci de me prévenir ^^ |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: Importer maps (rooms) Ven 2 Oct 2009 - 18:48 | |
| Heu j'ai l'impression que bibi a posté un exemple dans le post juste au dessus du tiens |
|
| |
Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: Importer maps (rooms) Lun 12 Oct 2009 - 21:21 | |
| Je n'ai pas dis que le lien était mort, mais devant un script aussi bien fait et aussi important, j'ai upper le topique pour que d'autres le voient. |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: Importer maps (rooms) Lun 12 Oct 2009 - 22:14 | |
| Ah ok, j'avais pas pigé désolé |
|
| |
Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: Importer maps (rooms) Mar 13 Oct 2009 - 23:01 | |
| Pas grave ^^ Je t'absous de tes erreurs. |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Importer maps (rooms) Mer 14 Oct 2009 - 15:50 | |
| |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: Importer maps (rooms) Mer 14 Oct 2009 - 16:04 | |
| - bibi675 a écrit:
- Merci. ^^
lol ? |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Importer maps (rooms) Mer 14 Oct 2009 - 16:06 | |
| - Topaze22 a écrit:
- Je n'ai pas dis que le lien était mort, mais devant un script aussi bien fait et aussi important, j'ai upper le topique pour que d'autres le voient.
J'aurais du quoter. :lng: |
|
| |
blendman Utilisateur confirmé: Rang **
Messages : 433 Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.
| Sujet: Re: Importer maps (rooms) Mar 13 Avr 2010 - 17:59 | |
| salut J'ai testé ton script qui est pas mal. J'ai voulu voir si c'était plus rapide que ce que je faisais pour mon éditeur de map. J'ai donc ajouté 1000 objets dans 1 room (avec un script, pas à la main ), donc 300 avec du set_alpha. (j'ai besoind e beaucoup d'objets dans mon jeu pour les décors ). Ça met environ 12 secondes à ouvrir la map ainsi créée. Y'a moyen d'optimiser ça ou de réduire le temps de chargement, chargeant par exemple uniquement ce qui est proche du joueur ou en procédant par chargement progressif ? |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Importer maps (rooms) Mar 13 Avr 2010 - 18:10 | |
| du streaming?!? Tu peux le faire, mais ça va te prendre du temps à coder je pense... Et puis, 12secs. de chargement pour une map, si on est longtemps dessus, c'est pas très grave, non? |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Importer maps (rooms) Mar 13 Avr 2010 - 19:27 | |
| Le système est optimisable, bien entendu. Mais tu as codé tes objets en binaire ou en GML ? Car je crois que le binaire prend un peu plus de temps. Ce qu'on pourrais faire c'est décompresser les objets au début du jeu de façon séquentielle (50 caractères par step par exemple pour ne pas faire de trop gros ralentissements) comme ça, tu ne perd plus de temps à charger le fichier pendant le jeu mais juste à créer les objets (ce qui ne devrait prendre qu'une seconde pas plus). Si tu veux vraiment ce script je veux bien te le coder, j'ai un peu de temps ce soir ainsi que demain matin. Dis moi juste si ça t'intéresse. EDIT : je peux même te sortir la DLL, vu que la manipulation des caractères binaires est plus souple et plus rapide en Delphi, histoire de gagner quelques centaines de millisecondes. |
|
| |
blendman Utilisateur confirmé: Rang **
Messages : 433 Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.
| Sujet: Re: Importer maps (rooms) Mar 13 Avr 2010 - 20:39 | |
| - Citation :
- du streaming?!?
Tu peux le faire, mais ça va te prendre du temps à coder je pense... je voyais plutôt un truc qui charge uniquement dans un premier temps les objets qui sont à 1100 pixels du joueur par exemple. - Citation :
- Et puis, 12secs. de chargement pour une map, si on est longtemps dessus, c'est pas très grave, non?
Les maps font 5000*4000, mais on fait quand même vite le tour . Donc, ça me parait quand même très long, d'autant que si je crée mes rooms directement dans GM en plaçant les objets directement dessus, je n'ai quasiment aucun temps de chargement. - bibi675 a écrit:
- Le système est optimisable, bien entendu. Mais tu as codé tes objets en binaire ou en GML ?
j'ai fait un test en GML . - Citation :
- Ce qu'on pourrais faire c'est décompresser les objets au début du jeu de façon séquentielle (50 caractères par step par exemple pour ne pas faire de trop gros ralentissements) comme ça, tu ne perd plus de temps à charger le fichier pendant le jeu mais juste à créer les objets (ce qui ne devrait prendre qu'une seconde pas plus).
je crois que ce qui prend aussi du temps, c'est le fait d'avoir mis pour tester plus de 150 objet avec sprite_set_alpha_from_sprite(); Du coup, je vais aussi regarder de ce coté, histoire d'optimiser ça . - Citation :
- Si tu veux vraiment ce script je veux bien te le coder, j'ai un peu de temps ce soir ainsi que demain matin. Dis moi juste si ça t'intéresse.
oui, bien sur que ça m'intéresse, hsitoire de voir ce que ça peut donner si ça peut rendre le temps de rendu moins long. En sachant qu'il faudrait que les objets loadés soient ceux près du joueur, et pas ceux à 3000 pixels - Citation :
- EDIT : je peux même te sortir la DLL, vu que la manipulation des caractères binaires est plus souple et plus rapide en Delphi, histoire de gagner quelques centaines de millisecondes.
Ah bah écoute, si tu te sens le courage de faire ça, ma foi, ce serait très sympa de ta part . Et puis, ça profiterait à pas mal d'autres personnes, je pense . |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Importer maps (rooms) Mar 13 Avr 2010 - 20:46 | |
| Ok, je vais essayer de te faire ça demain matin. |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Importer maps (rooms) Mer 14 Avr 2010 - 17:13 | |
|
Dernière édition par bibi675 le Ven 30 Oct 2015 - 0:18, édité 1 fois |
|
| |
blendman Utilisateur confirmé: Rang **
Messages : 433 Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.
| Sujet: Re: Importer maps (rooms) Mer 14 Avr 2010 - 17:38 | |
| - bibi675 a écrit:
- Tadaam : http://www.edgar-fournival.fr/obj/CBNA/room_saver.zip. Pour 1427 instances, le chargement est de... 30 ms !
Et j'ai divisé par deux (voir trois si de grandes rooms étaient utilisées) la taille du fichier final, en codant les instances sur 5 octets au lieu d'au minimum 10. Et plus d'execute_string() ni de while dans la boucle principale.
Enjoy ! houla, wahoutch, je vais tester ça tout de suite !! Tu as testé avec des fichiers externes ? Ca va aussi vite ? |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Importer maps (rooms) Mer 14 Avr 2010 - 17:56 | |
| Bien sûr en fichier externe, les 30 ms correspondent au temps de chargement du fichier, son traitement (décompression des coordonnées et de l'object_index) et la création des instances. C'est tellement bas que tu peux très bien charger un fichier par step tout en restant à 30 fps. |
|
| |
blendman Utilisateur confirmé: Rang **
Messages : 433 Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.
| Sujet: Re: Importer maps (rooms) Mer 14 Avr 2010 - 18:14 | |
| Bon, j'ai testé avec des fichiers externes (images/sprites) et des images avec canaux alpha en niveau de gris : - 500 objets type gif avec images externes chargées aléatoirement - 500 objets type "png" (donc avec canaux alpha en niveau de gris) avec images externes chargées aléatoirement (l'image + l'image pour le canal alpha) avec un set_alpha_from_sprite Et ça me charge la room en 16 secondes. Donc, je pense que le problème vient vraiment du chargement des images externes (surtout des images avec canaux alpha en niveau de gris utilisant les set_alpha..). Je vais faire d'autres tests, mais je pense que je vais devoir trouver une autre méthode pour mes sols . Je vais faire des tests sans images avec canal alpha en niveau de gris pour voir . Merci en tout cas . Edit : je viens de tester avec 1000 objets (sans canaux alpha, juste de la transparence gif) avec images externes chargées aléatoirement et ça mets environ 3-4 secondes, ce qui est pas mal du tout . |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Importer maps (rooms) Mer 14 Avr 2010 - 19:30 | |
| Ah oui je comprend, le chargement des images externes est très lent sous GM, et c'est ça qui prend du temps car si tu as testé mon exemple, on voit bien le temps que ça prend pour des images en interne (y'a un chrono). Mais pour accélérer le chargement je n'ai pas de solution, désolé... |
|
| |
blendman Utilisateur confirmé: Rang **
Messages : 433 Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.
| Sujet: Re: Importer maps (rooms) Mer 14 Avr 2010 - 20:33 | |
| - bibi675 a écrit:
- Ah oui je comprend, le chargement des images externes est très lent sous GM, et c'est ça qui prend du temps car si tu as testé mon exemple, on voit bien le temps que ça prend pour des images en interne (y'a un chrono). Mais pour accélérer le chargement je n'ai pas de solution, désolé...
OUi, c'est surtout ça le gros problème . En essayant de les préloader à l'avance peut être, pendant le jeu. |
|
| |
Contenu sponsorisé
| Sujet: Re: Importer maps (rooms) | |
| |
|
| |
| Importer maps (rooms) | |
|