Partage
  • Partager sur Facebook
  • Partager sur Twitter

Action RPG en 2D en C avec SDL et FMOD

Sujet résolu
    15 janvier 2010 à 17:06:50

    Ha ben dans ce cas la, je vais sûrement modifier moi même à partir de celle qui est sur le site, je suis pas sur que Linux puisse associer des images au fichier exécutable.
    • Partager sur Facebook
    • Partager sur Twitter
      15 janvier 2010 à 17:09:24

      Bah on verra, mais si il à pas prévu de faire de modifications majeures de son programme je vais tenter de le retaper (programmation modulaire powa !). Parce que 1 fonction/fichier 4000 lignes o_O j'ai pas compris pourquoi ça laggait au début ... j'ai vite compris :lol:
      • Partager sur Facebook
      • Partager sur Twitter
        15 janvier 2010 à 17:18:50

        Les fonctions de 4000 lignes ne rament pas forcément.
        Par contre, c'est pour le programmeur que c'est le bordel.

        Cependant, si tu peux factoriser, et transformer ta fonction de 4000 lignes, en 5 fonctions de 30 lignes, ce sera + cache friendly.
        • Partager sur Facebook
        • Partager sur Twitter

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

          15 janvier 2010 à 17:21:46

          Quand j'ai dit que ça laggait c'était à l'ouverture du fichier ^^
          J'ai fait un copier/coller ... mdr
          Le jeu ne lag pas (enfin pas vu en tout cas ;) )
          Mais comme il y a beaucoup de redondances on peut sûrement factoriser le code et le réduire de moitié voire plus ! Et améliorer la lisibilité de ... plus que 2 en tout cas ;)
          • Partager sur Facebook
          • Partager sur Twitter
            15 janvier 2010 à 17:27:41

            Où alors, mais ça représente sûrement un travail énorme, il faudrait que pour la v1.1, Jay retouche le code en créant plein de fonctions, et le commentant un peu plus de sorte à ce que tout le monde puisse le tripoter.

            Un super exemple pour ça, c'est le code de Nutsh (un projet de lecteur multimédia du zéro) qui est bien commenté (ni trop/ni trop peu), et vachement clair.

            Le problème, c'est que pour Jay, ça fera quand même une grosse soirée de perdue.
            C'est le temps que je prends quand je reforumule un projet assez conséquent.
            Ensuite c'est vrai que pour ses modifications et ceux qui voudront en faire, ça fera sûrement plusieurs soirées de gagnées.

            En tout cas, faut reconnaître que le RPG à vachement évolué par rapport à la présentation, je pense que c'est l'un des projets de RPG les plus avancés que j'ai vu sur le SdZ.
            Enfin, y'en avait un autre, un MMORPG en 3D qu'avait l'air énorme, mais je crois qu'il est dans le coma. :-°
            • Partager sur Facebook
            • Partager sur Twitter
              15 janvier 2010 à 18:06:04

              Merci pour vos commentaires. C'est bien, si vous appréciez le jeu. :D

              Maintenant, niveau code, effectivement, c'est factorisable : Par exemple, le code pour les 5 ennemis est quasiment le même. Le problème, c'est que pour le faire, il y a énormément de choses à modifier et il faut revoir toute la structure du programme...

              J'avoue ne pas en avoir eu le courage... :-°
              J'y ai pensé à un moment, au fur et à mesure que j'ai appris des choses en C et que j'ai vu que cette structure n'était pas la meilleure, mais j'ai préféré remettre ça à mon prochain projet.

              Maintenant, j'envisage de faire un petit jeu de plateformes (mais pas encore un mario ! ;) ) assez fun avec un leveleditor aussi (ou plus) intuitif que celui de Roswyn. Je reviendrai sûrement vous demander des conseils, car ce coup-ci, je vais essayer de mieux le structurer au fur et à mesure (ça sera moins douloureux :lol: )

              PS: Pour la 1.1, je vais quand même essayer de rajouter (au moins) des commentaires :D

              @+ et merci pour votre aide sur ce projet !
              • Partager sur Facebook
              • Partager sur Twitter
                15 janvier 2010 à 19:59:27

                Salut,

                Citation : Jay81

                - Correction graphique des "arbres boules" : les 4 tiles qui le composent sont maintenant alignées.


                il y a quand même une question que me pose. Si j'ai bien compris, un niveau de ton jeu est composé de caractères de 35x35, posés les uns à coté des autres. Dans ce cas, pourquoi autoriser dans l'éditeur le déplacement pixel par pixel au lieu d'un déplacement 35 pixels par 35 pixels???
                • Partager sur Facebook
                • Partager sur Twitter
                  15 janvier 2010 à 20:32:46

                  Bonne chance pour ton prochain projet, je me ferais une joie de le suivre, et si tu veux, te le compiler pour Linux. :D
                  • Partager sur Facebook
                  • Partager sur Twitter
                    15 janvier 2010 à 21:59:15

                    Merci roibakura (et j'éviterai FMOD :lol: ) !

                    @Pfeuh : je ne comprends pas vraiment ta question. o_O
                    Un niveau est bien constitué de tiles (carrés) de 35x35 pixels, mais le leveleditor ne sert pas qu'à placer les tiles, il permet aussi de placer les ennemis, boules de feu, PNJs, warps, etc... au pixel près (les coordonnées exactes de la souris s'affichent en haut pour plus de précision).
                    En plus, un déplacement de souris qui saute 35 pixels d'un coup, ça ferait bizarre :lol: !

                    @+
                    • Partager sur Facebook
                    • Partager sur Twitter
                      16 janvier 2010 à 12:20:06

                      Pourquoi se priver de FMOD il suffier juste de mettre tes fichiers sons en ogg(, OpenAl à l'air assez complexe.)
                      Au passage, je vais essayer de te faire un makefile pour linux.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        16 janvier 2010 à 12:44:39

                        Ou une possibilité, c'est de renoncer aux midis (pas terribles de toute façon ;) ) et que je me remette à la musique :lol: mais c'est pas gagné !

                        Je verrais pour le prochain projet...
                        • Partager sur Facebook
                        • Partager sur Twitter
                          16 janvier 2010 à 15:27:29

                          Personne, saurais faire marcher FMOD sous linux avec des .ogg, ça fait deux heures que j'y suis j'ai reconverti tous les fichiers et la musique en .ogg mais ça ne ne marche pas.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            16 janvier 2010 à 15:52:19

                            Si !
                            Le problème c'est qu'il faut que tu modifies tout le code :'(
                            Parce que FMUSIC_LoadSong ne fonctionne que sur des fichiers midi (et quelques autres). Du coup faut que tu modifies ça et toutes les fonctions de lecture, et compagnie ...
                            Je suis en train de remodeler un peu son code, j'ajouterai la gestion des sons sur Unix te fait pas chier ;)
                            • Partager sur Facebook
                            • Partager sur Twitter
                              16 janvier 2010 à 16:00:51

                              Mais j'ai tout modifié, maintenant la musique marche youpi. Plus que la répétition infinie qui marche bof.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                16 janvier 2010 à 16:18:44

                                J'aime bien c'est assez sympa, mais ca se voit que tu est parti de Mario Sokoban, dans les sources on a : mario[BAS] = IMG_Load("sprites1/player_bas1.gif");

                                XD. Sinon donc ton jeu ait bien, mais le code est n peu cochon, si tu voit ce que je veut dire :).
                                En c++ bien architecturé ca aurait eu la classe internationale :p

                                EDIT : le dmg pour mac ne marche pas a moins d'avoir sur son ordi les différente lib utilisées ;) c'est un défaut non négligeable.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  16 janvier 2010 à 16:25:13

                                  Finalement, ça marche, compilation réussie, musique qui marche (arrêté tout les logiciels qui permettent de jouer de la musique) et tout et tout. Après 2h30 de debug ..
                                  Un petit bug, sur le 9è dragon, le jeu plante à chaque fois que je m'acharne dessus.
                                  Un autre problème, de la mémoire n'est pas désallouer.

                                  Edit: Je m'occupe du Makefile. Je t'enverrais le code modifié (provisoire, vu que Pouet fait une refonte si j'ai bien compris) ainsi que le Makefile dés que j'aurais fini.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    16 janvier 2010 à 16:26:30

                                    Citation : The Doctor

                                    EDIT : le dmg pour mac ne marche pas a moins d'avoir sur son ordi les différente lib utilisées ;) c'est un défaut non négligeable.


                                    Ah ?
                                    Merde ... comment remédier à ça ? :euh:
                                    Pourtant pour la SDL ça fonctionne bien non ?
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      16 janvier 2010 à 17:26:51

                                      Je me suis mal exprimé :) dans le dossier Roswyn.App/Contents/Framework il n'ya a que SDL.Framework alors qu'il devrait aussi y avoir SDL_ttf et toutes les autres libs (meme en y ajoutant SDL_ttf ca ne marche pas il y'a un unedefined symbol après j'ai du tester sur un PC faute de temps).
                                      Si tu ne sais pas accéder au dossier dont je t'ai parlé : Clic Droit (CTRL+Clic) sur l'APP Roswyn puis Afficher le contenu du paquet et tu verras :)
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        16 janvier 2010 à 18:07:46

                                        C'est rectifié pour la prochaine version ;)
                                        Je vais voir pour les links comment je peux les faire :)
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          16 janvier 2010 à 18:13:09

                                          Okey :) alors bonne continuation, un conseil passez à la 2D iso :)
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            16 janvier 2010 à 21:19:40

                                            @Lithrein; bon, ben j'étais parti pour le faire, mais apparemment tu as déjà commencé, alors je te laisse la main pour la compilation Linuxienne.

                                            Je plussoie, il faut pas se passer de FMOD. Juste des midis, qui de toute façon, sont vraiment pas bandants. (À part l'économie de place)
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              17 janvier 2010 à 12:38:27

                                              J'ai compilé le RPG avec la musique et j'ai fait le Makefile.
                                              Il ne me reste plus que la gestion de la musique pour le Level editor.
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                17 janvier 2010 à 12:46:15

                                                Tu veux bien envoyer le tar.gz steuplé ?
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  17 janvier 2010 à 12:50:18

                                                  Si tu veux mais j'ai pas encore fini le level editor. Donc je t'envoie que le rpg.
                                                  Edit: http://rapidshare.com/files/336688100/RPG.tar.gz.html
                                                  MD5: DDABBC0DBE12D66A4B5B2AF925770552

                                                  Il ne peut être télécharger que 10 fois.
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    17 janvier 2010 à 23:20:07

                                                    Resalut,

                                                    Sinon, entre temps, j'ai commencé un autre petit projet (depuis le temps que ça me démangeait de faire du neuf ! :lol: ). Pour l'instant, ça en est au tout début, et je me suis essntiellement basé sur deux tutos que j'ai regroupés ensemble et arrangés à ma sauce ;)

                                                    Il s'agit d'un jeu de plateformes, toujours en 2D avec pour inspiration Alex Kidd 1 (pour l'instant, mais après ça sera un projet original et pas un simple plagiat ;) )

                                                    Je me suis bien amusé à dessiner l'animation du perso et à programmer le double saut (un vrai jeu de plateformes a un double saut ! o_O Ah! sauf Mario :lol: )

                                                    Vous trouverez un peu plus d'infos sur mon site http://www.rpgamer.fr/projetrpg.html (j'ai pas eu le temps de changer le nom de la page) et je ferai une présentation ici plus tard).

                                                    A noter, vous pourrez aussi télécharger les sources pour essayer la première (très petite) démo.

                                                    Si ça vous intéresse...

                                                    Image utilisateur

                                                    @+
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      17 janvier 2010 à 23:59:30

                                                      Alex Kidd ??
                                                      THIS GAME IS AWESOME !
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        18 janvier 2010 à 1:32:22

                                                        a quand le reseau pour Roswynn :p
                                                        Bien joué en tous cas
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          18 janvier 2010 à 8:59:47

                                                          Et bien tu te déchires :) C'est bien ça !
                                                          Toujours sans scrolling ?

                                                          Sinon, le double saut, en effet, il faudra que j'en parle dans mon tuto a terme :) Mais commençons par la simple saut !

                                                          Question de curiosité, de quelle façon as tu procédé pour ton double saut ? Newton ?
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

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

                                                          Anonyme
                                                            18 janvier 2010 à 10:52:51

                                                            Franchement GG à toi !

                                                            c 'est la premiere fois que je vois un projet hyper bien avancé ^^, et surtout tu fait ca seul ^^ !


                                                            Moi j' avait commencé mon rpg, j' ai finit le moteur mais je bloquais aux collisions mais la je vais allez voir avec le code de Fvirtman et si tout est bon je le continue ^^ =)

                                                            Allez bon courage pour tes autres projet ^^ et peut etre qu' un jour ont pourrai en faire un ensemble :p
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              18 janvier 2010 à 12:09:46

                                                              sasuke78200 > J'ai posté vendredi la suite de mon tuto de TileMapping : dans la nouvelle partie, il y aura la gestion des collisions avec le décor, le scrolling automatique...

                                                              Le temps que ce soit validé ;)
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

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

                                                              Action RPG en 2D en C avec SDL et FMOD

                                                              × 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