
|
| | | Des room infini (réellement en taille) | |
| | Auteur | Message |
|---|
Fogia Futur maitre absolu


Nombre de messages: 873 Age: 151 Programme utilisé (Gm/RmXp/...): Mousse au cholocat/Cacahouète Loisirs: reseau locale powa Date d'inscription: 20/09/2006
 | Sujet: Des room infini (réellement en taille) Mar 21 Juil - 0:55 | |
| Voila, c'est pas vraiment un tuto mais je savais pas ou mettre (il y a pas de 'Autre' pour Game Maker) Comme promie je dévoile une astuce simple. N'importe quelle room dans game maker, peut être infiniment grande. Enfaite La taille de la pièce ( room_widthet room_height) ne limite pas la taille de la pièce réelement. Tous d'abord il suffit de débloquer la view, pour se fair il ne faut pas lui attribuer d'objet a suivre depuis l'editeur de room mais fair un code en GML simple suivant un objet, taper manuelement dans un step event comme : view_xview=OBJET. x- view_wview/2 view_yview=OBJET. y- view_hview/2 et surtout ne pas empècher la view d'aller en dessous de valeur 0 ou que la limite de la room comme if view_xview<0 {view_xview=0;} (adresser aux utiliser confirmer en gml qui on l'habitude) 1) Effectivement, si vous déplacer la view plus loin que la dimention de la room (en bas a droite) le background continue si il a était cocher Tile Vert et Tile Hort dans catégorie Background de l'editeur de room, et des objet peuvent être visible et intéragir comme ceux se trouvent dans les limites. Donc la taille d'une room est inifniment grande dans cette direction (voir photo) 2) Quand en haut a gauche, il a aussi possibilité d'étendre la room a l'infinie : le backgrounds peuvent commencer avec décalement : on peut mettre un chiffre négatif aussi grand que l'on souhaite, et les objet peuvent aussi exister. 3)Il y a en contre partie un inconvénient, il est impossible de placer des objets a coordoné négatif ou plus grande que la taille de la room depuis l'editeur de room de game maker, fait si vôtre projet est munie d'un editeur de carte par exemple, on d"un placement d'objet par code en debut de room, c'est possible de placer les objet n'importe ou. Ptit exemple : une room qui fait par exemple 800x600,  On peut placer des objets A,B,C de coordonée : 2500,500 ou 500,2500 ou -1000,-1000 (reconnaissable par des point rouge sur le schéma si dessus). La view centrer sur l'objet A (2500,500) Un porblème ? une question ? n'hesitez pas  _________________ Je suis un  dans le GM Quiz! :þ while(projet= "échouer ") { projet= "recommencer " } |
|  | | Kryptos Moderateur


Nombre de messages: 1562 Age: 22 Programme utilisé (Gm/RmXp/...): Qt creator, Game Maker Etudes: INSA de Rennes Loisirs: role playing Date d'inscription: 26/05/2005
 | Sujet: Re: Des room infini (réellement en taille) Mar 21 Juil - 20:47 | |
| Ca ressemble plus à un bug, qu'à une fonctionnalité voulue par les créateurs de GM. L'informaticien que je suis se dit qu'à un moment donné le programme plantera car il essaiera d'écrire dans une zone non-allouée (dépassement de capacité d'un tableau par exemple). Tant que ça fonctionne, autant en profiter mais cela ne veut pas dire que cette particularité ne sera pas corrigée dans une version ultérieure. edit: A y réfléchir, c'est surement voulu à cause du support de la 3D. Puisque la vue 3D, elle, est infinie ! Reste que ce n'est pas très "beau" d'un point de vue informatique et qu'en interne cela doit poser des problèmes de taille de coordonnées. Bien vu quand même  |
|  | | Fogia Futur maitre absolu


Nombre de messages: 873 Age: 151 Programme utilisé (Gm/RmXp/...): Mousse au cholocat/Cacahouète Loisirs: reseau locale powa Date d'inscription: 20/09/2006
 | Sujet: Re: Des room infini (réellement en taille) Mer 22 Juil - 0:53 | |
| Merci Je me pose qaussi la question si cela est un bug ou une ouverture voulu par le concepteur. Figure toi que j'utilise plutot cette "faille" pour mes editeur de carte, car tous le monde c'est qu'il est impossible de changer instantanément la taille d'une room dans la quelle on se trouve, alors je change des variable qui bloque la view a la place, mais je n'ai jamais vraiment créer de jeux dont les carte soit inifinie car comme tu la dit, il y a risque de plantage. Une question que je me suis toujour poser, le jeux vidéo DeltaForce, est un jeux 3D qui est réputer pour être un jeux assez stable et adaptable pour l'époque, était capable de généré des carte 3D (avec des élévation différente selon les coordoné) infinie, je n'ai jamais compris comment ... _________________ Je suis un  dans le GM Quiz! :þ while(projet= "échouer ") { projet= "recommencer " } |
|  | | Topaze22 Discret


Nombre de messages: 192 Age: 23 Etudes: Génie élec et info Date d'inscription: 26/07/2006
 | Sujet: Re: Des room infini (réellement en taille) Jeu 13 Aoû - 18:19 | |
| Beaucoup plus simple : Le room width et le room height ne servent à rien en réalité enfin, quasiment rien. Juste pour - avoir les ascenseurs horizontaux et verticaux sous l'éditeur de GM, - avoir l'event "hors de room" dont on peut très facilement se passer. - la caméra dans le mode 3D se sert de cette valeur pour définir un truc genre ses "ports", il me semble, mais on s'en moque, une foi le jeu lancé, on peut modifier ces valeurs donc bon. Et perso, mes rooms dans mon jeu n'auront pas seulement une taille illimité, mais un nombre d'objet et de tuile illimité aussi, il suffit juste de réfléchir un minimum et de programmer en conséquence. La seul vrai limite, c'est les calcules (d'affichage et codes à éxécuter) consernant la masse chargée et activé. Deplus, grâce à GM8 et son import/export de room, on pourra même m'en faire. Je suis occupé en ce moment, m'enfin, arrangez vous pour faire des desactive all/activeregion une foi par second (activé une région plus large que l'écran), arrangez vous pour pouvoir charger/décharger les tuiles et les objets hors de GM dans un fichier texte et de recharger ce qu'il faut quand on s'approche de la fin de la zone dont on a chargé les obj et les tuiles et le tour est joué  Real Infinite room powaaaaaaaaaa (pour chargement déchargement des obj et tuiles, on peut se facilité la vie avec l'un des systèmes dispo je ne sais plus où [car je ne l'ai pas encore intégré mais je n'ai aucun doute du résultat.]) _________________ Mon unique projet Déjà plus de 3 ans de préparation Merci à la communauté de GMZ pour son soutient !SECOND TOPIQUE OUVERT (Merci à SHM69 pour cette bannière nul  ) Petit jeu complet "Mario La revanche" sorti et disponible. Cliquez viiiite !! |
|  | | Kryptos Moderateur


Nombre de messages: 1562 Age: 22 Programme utilisé (Gm/RmXp/...): Qt creator, Game Maker Etudes: INSA de Rennes Loisirs: role playing Date d'inscription: 26/05/2005
 | Sujet: Re: Des room infini (réellement en taille) Jeu 13 Aoû - 21:49 | |
| Il reste le problème de dépassement de valeur. Si les coordonnées sont codées sur des entiers (32bits), la limite pourra être atteinte. Il faudra quand même aller jusqu'à la -4294967295 ou +4294967296, mais dans un jeu de vitesse par exemple, ca pourra arriver. Bon, il reste quand même de la marge. Par contre, concernant la charge/décharge dans des fichiers textes, je ne pense pas que ce soit une bonne idée quand on connait le coût de lecture/écriture sous Windows. Par contre, créer une DLL pour enregistrer/charger des données sérialisées peut se révéler intéressant (reste à écrire cette DLL). |
|  | | Fogia Futur maitre absolu


Nombre de messages: 873 Age: 151 Programme utilisé (Gm/RmXp/...): Mousse au cholocat/Cacahouète Loisirs: reseau locale powa Date d'inscription: 20/09/2006
 | Sujet: Re: Des room infini (réellement en taille) Lun 17 Aoû - 14:54 | |
| | Citation: | | les rooms dans mon jeu n'auront pas seulement une taille illimité, mais un nombre d'objet et de tuile illimité aussi |
Euh excuse moi mais tu t'enflammerer pas un peut ? Un nombre n'objet illimité je croi pas que sa soit phisiquement possible car arriver a un certain nombre, même ne les désactivant sa bloquera
Kryptos, avant d'arriver a une carte de 8milliardx8milliard je croi qui faudra plusieurs vies  _________________ Je suis un  dans le GM Quiz! :þ while(projet= "échouer ") { projet= "recommencer " } |
|  | | Topaze22 Discret


Nombre de messages: 192 Age: 23 Etudes: Génie élec et info Date d'inscription: 26/07/2006
 | Sujet: Re: Des room infini (réellement en taille) Dim 30 Aoû - 21:24 | |
| | Kryptos a écrit: | Il reste le problème de dépassement de valeur. Si les coordonnées sont codées sur des entiers (32bits), la limite pourra être atteinte. Il faudra quand même aller jusqu'à la -4294967295 ou +4294967296, mais dans un jeu de vitesse par exemple, ca pourra arriver.
Bon, il reste quand même de la marge.
Par contre, concernant la charge/décharge dans des fichiers textes, je ne pense pas que ce soit une bonne idée quand on connait le coût de lecture/écriture sous Windows. Par contre, créer une DLL pour enregistrer/charger des données sérialisées peut se révéler intéressant (reste à écrire cette DLL). |
D'ac, pas illimité mais humainement, on ne pourrait pas la remplir, donc bon, à mes yeux, c'est comme si, mais dans le fond vous avez raison 
Et pour le temps de chargement, ce n'est pas un problème puisque au début, rien n'est charger, et lorsque tu passes entre 2 zones entre lesquels il faut charger, il suffit de tout supprimer (et il n'y a pas énormément donc ça se fait en un step sans soucis), puis ensuite charger ce qu'il faut pour remplir la zone en question.
Le truc, c'est que quand tu sauves ta room illimité, tu en profites pour la découper par zone, et à la limite, tu crées un fichier.txt par zone. Ainsi, tu es sûr de charger très rapidement ce qu'il faut sans perte.
Pour ce qui est des script et .dll, moui, mais je pense que si la logique est respecté, les zones ne sont pas immenses et donc, avec un script, ça ne devrait pas demander trop de temps. (on est pas à 5s de chargement prêt).
Je vous dis, en théorie, c'est très simple, en pratique, ce n'est pas très très dur à mettre en place, mais personne ne semble trop avoir eu les connaissances et la motivation pour essayer. Perso, au lieu de faire mes activ instance et desactive instance 60 fois par step, je ne le fais qu'une foi par step, et j'y gagne quand les rooms sont immenses (quasi aucunes pertes dû à une masse d'objet desactivé [mais pompant lors de la desactiv/réactivation]).
J'ai fais pleins de testes, je suis prêt à affronter toutes vos questions  Il éxiste même déjà des scriptes permettant de charger/décharger les rooms (tuiles et objets). [faudra justement que je les retrouves avant de me lancer la dedans [je ferais un appel sur le cbna, c'était un membre la bas qui avait trouvé un script du genre sur la communauté anglaise], mais pour l'instant, j'ai d'autres priorités à coder].
Attention, à partir de bientôt, je vais devenir plus actif sur cette communauté et je vais vous saouler avec mon Projer Mario, faudra tet aussi que je me fasse un topique ici car je suis sûr que certains ne postes pas la bas parcequ'ils y sont pas enregistrer_________________ Mon unique projet Déjà plus de 3 ans de préparation Merci à la communauté de GMZ pour son soutient !SECOND TOPIQUE OUVERT (Merci à SHM69 pour cette bannière nul  ) Petit jeu complet "Mario La revanche" sorti et disponible. Cliquez viiiite !! |
|  | | redoine Discret


Nombre de messages: 138 Date d'inscription: 02/11/2009
 | Sujet: Re: Des room infini (réellement en taille) Mer 4 Nov - 19:11 | |
| j'utilise Other intersect boundary en event et en actions j'utilise javascript:emoticonp('  ') Il faut bien créer plusieurs Rooms. Cordialement |
|  | | kimerafusion Possedé par Mark Overmars


Nombre de messages: 1622 Programme utilisé (Gm/RmXp/...): gamemaker 7.0 pro, code::blocks, adobe dreamweaver, gnu-gcc Etudes: futur ingénieur logiciel (j'aimerais bien bosser sur de la nanotechnologie, biotechnologie ou autres), seconde GT Loisirs: jeux-vidéos - programmation (C/C++, Qt, SDL) Date d'inscription: 14/10/2008
 | Sujet: Re: Des room infini (réellement en taille) Mer 4 Nov - 21:32 | |
| On veut une room avec une taille infinie, pas plusieurs rooms mises bout à bout! |
|  | | | | Des room infini (réellement en taille) | |
|
| Page 1 sur 1 |
| | Permission de ce forum: | Vous pouvez répondre aux sujets dans ce forum
| |
| |
| |
|