Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Tutoriel] Tile Mapping

vos questions, propositions d'évolution

    16 janvier 2010 à 15:12:55

    Bonjour :)

    Déjà, très beau tuto. Ça va aider beaucoup de gens ;)
    Ensuite j'ai une question:

    Est-ce le même principe pour la 2d isométrique?
    • Partager sur Facebook
    • Partager sur Twitter
      16 janvier 2010 à 17:42:23

      Oui, pour la 2d iso, tu peux raisonner avec les memes fonctions (tout se passe en mémoire comme si c'était bien droit)
      Et c'est uniquement au moment de l'affichage que ça se joue :)

      Peut etre proposerais je dans l'avenir une variante d'un des exemples pour faire un rendu 2D iso. Il n'y aura pas grand chose qui changera...

      Sinon, je viens de poster le 2e chapitre, avec 3 sous parties.
      Ce nouveau chapitre va définir un personnage, l'assimiler pour le moment a un rectangle vert, l'insérer dans le monde en gérant les collisions, et faire un scrolling automatique qui suivra le perso automatiquement.
      Le temps que cette partie soit validée (fautes d'orthographes, de structuration de tuto...) et ce sera en ligne.
      • Partager sur Facebook
      • Partager sur Twitter

      Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

        16 janvier 2010 à 17:50:28

        D'accord merci.
        Une deuxième question, pendant que j'y suis, j'ai vu, sur le forum, un projet de MMORPG (Les rouages de Green), et l'auteur dit: "Les tiles serons d'abord en swf et fla !Mais par la suite elle serons porter pour être utiliser par le moteur du jeu.(bitmap je crois mais rien est définis de se coter la)". Si j'ai bien compris, il crée ses tiles en .swf et ensuite il les convertit en .bmp?
        • Partager sur Facebook
        • Partager sur Twitter
          16 janvier 2010 à 17:56:36

          Demande lui, moi je ne comprends pas son cheminement...
          les tiles, ce sont des dessins qui représentent des carreaux, et uniquement des dessins. Je ne vois pas ce que vient faire flash la dedans.
          Peut etre une sorte d'éditeur de niveau en flash qui lui fait sa planche de tiles ??

          Je ne sais pas. Cependant, souvent, j'évite les sujets "MMORPG", car dans 99% des cas, les gens qui se lancent dans ces projets se ramassent, parce qu'ils n'ont pas évalué du tout ce qu'ils essaient de faire, et pensent réaliser leur rêve facilement.

          Ce n'est que mon avis, mais je préfère largement un mec humble qui va réaliser un tetris, un snake, ou un autre jeu simple, plutot qu'un mec qui va se lancer dans un MMORPG en nous montrant un scénario, des dessins, mais qui ne nous montrera jamais rien tourner...
          • Partager sur Facebook
          • Partager sur Twitter

          Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

            16 janvier 2010 à 18:07:14

            Ok, je te remercie d'avoir pris du temps pour me répondre.
            Bonne continuation pour le tuto ;)
            • Partager sur Facebook
            • Partager sur Twitter
              20 janvier 2010 à 4:31:40

              Bravo pour ce super tuto et j'attend avec impatience la suite.

              La collision avec le personnage et le décor est la partie qui m'as le plus aidé. Non seulement ce concept s'applique à des jeux de platformes mais aussi à d'autres types de jeux. Franchement bravo. :)

              • Partager sur Facebook
              • Partager sur Twitter
                20 janvier 2010 à 9:04:59

                Merci a toi :)
                En effet, meme les jeux vus de dessus comme par exemple "Zelda link to the past" utilisent une technique similaire :)
                • Partager sur Facebook
                • Partager sur Twitter

                Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

                  21 janvier 2010 à 17:41:18

                  Vraiment sympa ce tuto.
                  Je cherchais justement à faire le même genre de truc mais en C#.

                  Je vais essayer d'appliquer la même méthode. Et je suis impatient de voir les nouveautés. :)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 janvier 2010 à 17:43:56

                    Le tuto présente les algos utilisés de façon formelle.
                    Il peut convenir a tout langage, avec toute librairie graphique. ;)

                    Le code présenté en C avec SDL n'est qu'une illustration de ces algos dans ce langage, mais tout s'adapte ! ;)
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

                    Anonyme
                      21 janvier 2010 à 20:47:55

                      je voulais savoir pour quand prevoi tu un nouveau chapitre.je meurt d'impatience
                      • Partager sur Facebook
                      • Partager sur Twitter
                        21 janvier 2010 à 22:16:59

                        Pour l'instant, il n'est pas commencé !
                        Mais je pense que le prochain chapitre parlera de l'animation du personnage, des sauts, tout ça.
                        Ou alors (je ferai les deux mais je ne sais pas dans quel ordre), le scrolling a plusieurs couches.

                        Que préfères tu d'abord ?
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

                          22 janvier 2010 à 13:25:51

                          Salut,

                          Citation : Fvirtman

                          Demande lui, moi je ne comprends pas son cheminement...
                          les tiles, ce sont des dessins qui représentent des carreaux, et uniquement des dessins. Je ne vois pas ce que vient faire flash la dedans.
                          Peut être une sorte d'éditeur de niveau en flash qui lui fait sa planche de tiles ??


                          Il me semble qu'il se sert juste d'Adobe Flash CS4 comme éditeur. Perso, je trouve franchement pratique pour faire des dessins, car il contient beaucoup d'options qui facilitent la vie. Même si je vois pas franchement l'intérêt de faire un dessin en vectoriel si c'est pour l'exporter en PNG après :-° . Sinon, très bon tuto Fvirtman ;) !
                          • Partager sur Facebook
                          • Partager sur Twitter
                            22 janvier 2010 à 13:40:05

                            Ah il s'en sert juste comme logiciel de dessin finalement.
                            Tous les moyens sont bons pour se faire ses dessins ! Mais enfin bon.

                            Bref, sinon, merci a toi pour ta remarque :)
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

                              28 janvier 2010 à 10:15:02

                              Bonjour à tous,

                              Citation : harold425

                              je voulais savoir pour quand prevoi tu un nouveau chapitre.je meurt d'impatience



                              Citation : Fvirtman

                              Pour l'instant, il n'est pas commencé !
                              Mais je pense que le prochain chapitre parlera de l'animation du personnage, des sauts, tout ça.
                              Ou alors (je ferai les deux mais je ne sais pas dans quel ordre), le scrolling a plusieurs couches.

                              Que préfères tu d'abord ?



                              Salut Fvirtman, je pense que le mieux serait que le prochain chapitre traite de l'animation du personnage, des sauts, de la gravité, etc...

                              Je pense (mais peut-être que je me trompe) que le scrolling à plusieurs couches sera plus facile à implémenter dans le code par la suite...

                              Sinon, merci pour ce super tuto !!! Vivement la suite :)
                              • Partager sur Facebook
                              • Partager sur Twitter
                                28 janvier 2010 à 10:39:00

                                En effet, je vais d'abord m'occuper du personnage lui même :) (j'ai déja commencé un petit plan)

                                Par contre, scrolling a plusieurs couches ou perso animé, je dirais que l'ordre n'a pas d'importance par rapport a la structure que je vais adopter.

                                Bref, le prochain chapitre sera l'animation, et celui d'apres un peu de physique (sauts, etc...)
                                • Partager sur Facebook
                                • Partager sur Twitter

                                Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

                                Anonyme
                                  28 janvier 2010 à 18:24:30

                                  pour les sauts, ceux qui sont intéressé il ya un tuto sur le site. pour les animation tu pense utiliser un charset ou juste des images différentes pour chaque position?
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    28 janvier 2010 à 20:44:44

                                    Un charset. Je prendrai une image avec toutes les positions. J'expliquerai pourquoi je fais ce choix, et comment faire autrement sinon.
                                    Pour les sauts, oui, j'ai vu le tuto :) Je brancherai rapidement une méthode de Newton dans l'exemple que je proposerai.
                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

                                      7 février 2010 à 17:15:23

                                      Merci Fvirtman pour ce tuto !
                                      J'ai eu comme une illumination (grâce a ton tutoriel évidemment ) , ça fait plaisir de comprendre comment cela fonctionnait et fonctionne encore ! Moi qui pensais que les développeurs créaient les maps a la "main" ..Un fichier tout simplement...Ton tutoriel m'a beaucoup aidé, maintenant j'ai beaucoup plus d'idées concernant les jeux en 2D , tetris-like pong-like etc.. Merci beaucoup et bonne continuation a toi :)
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        7 février 2010 à 18:19:21

                                        Merci pour ce tuto !

                                        Moi je le fais avec la SFML et une classe "Carte" qui gère toute la carte et l'affichage/scrooling.

                                        Mais j'ai cependant une question : comment ce fait il que dans ton tuto, quand on affiche toute la map (celle avec "Fred"), on a du 3 FPS, alors que dans un jeu récent 3D, ultraréaliste, ultra.... l'affichage soit super fluide o_O ??
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          7 février 2010 à 20:54:28

                                          Parce que la SDL est ultra lente. Elle n'utilise la carte graphique seulement si on utilise la SDL avec OpenGL.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            7 février 2010 à 21:29:04

                                            Citation : lucas92

                                            Parce que la SDL est ultra lente. Elle n'utilise la carte graphique seulement si on utilise la SDL avec OpenGL.


                                            Faux! Il faut apprendre à s'en servir. :colere2:
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Zeste de Savoir, le site qui en a dans le citron !
                                              7 février 2010 à 22:01:51

                                              Seulement comme je l'ai indiqué, je n'utilise pas la SDL mais la SFML.

                                              PS: Yes, j'ai gagné 1 FPS grâce à la synchronisation verticale ! (maintenant je suis à 4 Youpiiii :euh: )
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                7 février 2010 à 22:10:32

                                                Citation : totorigolo

                                                Seulement comme je l'ai indiqué, je n'utilise pas la SDL mais la SFML.

                                                PS: Yes, j'ai gagné 1 FPS grâce à la synchronisation verticale ! (mais chu à 4 Youpiiii :euh: )


                                                Ah bon!... Alors, c'est que tu t'y prend très très mal!
                                                Sans code, on va peiner à t'aider(en même temps, le c++ c'est la porte à coté).

                                                Une chose est sure, cela ne viens pas de la SFML! ;)
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Zeste de Savoir, le site qui en a dans le citron !
                                                  7 février 2010 à 22:23:23

                                                  A mon avis je me suis très mal expliqué ^^ ...

                                                  En fait j'affiche une partie de taille 800x600 de la carte "Fred" à chaque tour de boucle... Donc mon programme lag forcément :-° . Seulement, dans les jeux genre Assassin's Creed (le premier qui me passe par la tête), l'écran ne peut pas être recharger seulement lorsque qu'une action se passe car la foule bouge sans cèsse, nous aussi,... Donc je me demande comment ils font...

                                                  Mais si je fais comme dans le tuto et que je met la taille de la fenêtre à 400x300, là je monte direct à 50 FPS.
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    7 février 2010 à 22:29:24

                                                    Citation : totorigolo


                                                    Donc mon programme lag forcément :-° .


                                                    Je peux t'assurer que tu peux sans problème blitter une image 800x600 avec un FPS > 50. Je le fais avec la SDL en en 640 x 480, 16 bits avec un 233MHZ. :-°
                                                    Avec un ordinateur moderne. :p

                                                    A moins que tu ai un dinosaure. :-°
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    Zeste de Savoir, le site qui en a dans le citron !
                                                      7 février 2010 à 22:33:29

                                                      Mais je fais un truc du genre :
                                                      // ...
                                                      	// La boucle 2D
                                                      	register unsigned int ai = 0, aj = 0; // A comme Affichage 
                                                      	for (register unsigned int i = minx; i < maxx; ++i)
                                                      	{ aj = 0;
                                                      		for (register unsigned int j = miny; j < maxy; ++j)
                                                      		{
                                                      			sprite.SetPosition((float) ai * m_tcl, (float) aj * m_tch);
                                                      
                                                      			sprite.SetSubRect(sf::IntRect(m_carte.at(i).at(j).x * (m_tcl + 1), m_carte.at(i).at(j).y * (m_tch + 1), // Point en haut à gauche
                                                      						(m_carte.at(i).at(j).x + 1) * (m_tcl + 1) -1, (m_carte.at(i).at(j).y + 1) * (m_tch + 1) -1)); // Point en bas à droite
                                                      			ecran.Draw(sprite);
                                                      			++aj;
                                                      		}
                                                      		++ai;
                                                      	}
                                                          }
                                                          return false;
                                                      }
                                                      


                                                      Avec 33*37 = 1221 tours de boucles à chaque affichage... Enfin moi je débute alors j'en sais rien ^^.
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        7 février 2010 à 22:38:18

                                                        register
                                                        

                                                        Oublie! Ton compilo fais ça mieux que toi!...

                                                        Je ne sais pas si tu te rends comptes du nombre de calculs que tu fais dans tes boucles... :-°
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                        Zeste de Savoir, le site qui en a dans le citron !
                                                          7 février 2010 à 22:41:17

                                                          Je l'avais mis pour accélérer mais cela ne change rien à la vitesse, alors autant l'oublier...

                                                          Mais pour le nombre de calculs, je suis bien obligé, non ? Vu que mes calculs ne sont jamais les même à chaque tour de boucle. J'ai aussi déjà essayé de mettre un if pour ne pas recalculer la ligne géante mais ça ralentie au contraire...
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            7 février 2010 à 23:59:17

                                                            Bonjour tres bon tuto =D.

                                                            Une question bete ... comment le compilateur reconnais pour les tiles que 0=vide 1=mur etc etc

                                                            C'est vraiment bete mais j'ai tourné le code pendant des heures je vois pas trop merci d'avance.

                                                            rom's
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              8 février 2010 à 0:07:59

                                                              c'est certain que c'est pas normal de tournée a du 4fps ...


                                                              En tout ca Merci pour se tuto qui ma permis d'entamer un jeux "mario" , qui mine de rien atrappe de belle forme.

                                                              En tout cas je ruge d'impatience de voire les prochains tuto , sur tout celui sur les collisions avec les tiles en pente , car pour la graviter et le saut j'ai trouver une solution potable , mais pas pour celui-ci.

                                                              Bref , bonne continuation.


                                                              ProgZ: je nais pas fonctionner comme dans le tuto à se niveau, mais il me semble que il utilisais un fichier qui contenais la valleur de chaque tile (mure , vide)
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              [Tutoriel] Tile Mapping

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown