Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Jeux vidéo] Sorrok online.

Futur jeux en ligne développé en c++.

    9 juin 2021 à 20:06:09

    Bonjour, j'ai déjà commencé à rédiger le gameplay, défini les premières compétences, etc..., et je suis entrain de créer une map avec odfaegcrator pour corriger les derniers bugs, rajouter les fonctionnalités que j'ai besoin et que j'ai oublié et vérifier si tout fonctionne, une fois que la map sera créée avec ODFAEGCreator ainsi que tout les objets du gameplay, je n'aurais plus qu'à lire les fichiers de sérialisation pour les intégrer au code du jeux et normalement le projet sera déjà bien avancé, en effet j'ai déjà codé le système de combat et tout testé pour une seule quête, un seul sort un seul monstre et un seul objet parce que pour en créer plusieurs sans éditeur, et donc, dans le code, c'est assez galère, mais juste une seule entité de chaque, c'était suffisant pour tester le code, l'éditeur de map je ne l'ai fais que à la fin ce qui prouve que j'arrive à la fin du projet.

    Mais après je vais encore devoir modifier le code source du jeux, pour charger les entités créées avec l'éditeur et puis je n'ai pas encore fini de coder, tout le code du jeux côté client et côté serveur.

    Problème, même si j'en ai presque terminé avec le code du jeux, le reste sera de la création avec l'éditeur de map, il va encore y avoir tout le site web à coder. Le code du jeux sera sur un répertoire git privé bien évidement je compte commencer par une bêta en faisant un système de don et de clé pour pouvoir jouer sur toutes les maps, exactement le même système qu'ils ont fait pour naïca online.

    Par contre les effets sont plus poussés, je me demande si sur une architecture moins puissante le jeux ne va pas ramer, moi j'ai une carte graphique puissante, les effets sont plus poussés que pour d'autres projets de mmo mais ce n'est pas pour ça que le jeux aura autant de succès que pour les autres projets. 

    • Partager sur Facebook
    • Partager sur Twitter
      10 juin 2021 à 21:06:04

      Je vais rendre le code du framework plus propre avant de continuer histoire de partir sur de bonnes bases, ça va me prendre pas mal de temps et je n'ai pas vraiment le temps, mais bon..., je pense que ça motivera plus les gens à rejoindre le projet. Maintenant au niveau du design en général je vais essayer de l'améliorer, mais je ne suis pas un champion au niveau du code design ou du design pour les GUI.

      Je vais nettoyer le dépôt git et virer les fichiers ~ (c'est linux qui m'as fait des copies de fichiers automatiquement), bref, pleins de choses à faire. Je pense déjà changer ceci à l'avenir faire que la classe Entity ne possède qu'une seule variable (l'id) et faire une autre classe que je vais appeler GameObject ou SceneNode par exemple. (Qui héritera de Transformable et de Entity ou possèdera un transform, je n'en sais trop rien)

      Je vais renommer la classe map en classe Scene.

      Je vais séparer le code des fonctions trop longues, des fichiers .h, etc..., je vais voir pour rajouter des const pour ne pas modifier des variables là ou je ne dois normalement ne pas le faire.

      Je vais éliminer les dynamic_cast.

      Et je pense que ça optimisera.

      Je vais également ajouter des commentaires pour expliquer ce que je fais. (les algorithmes)

      Et encore pas mal de choses à changer.

      -
      Edité par OmbreNoire 10 juin 2021 à 21:07:18

      • Partager sur Facebook
      • Partager sur Twitter
        17 juin 2021 à 22:37:23

        Je suis entrain de tester l'éditeur et j'ai corrigé les derniers bugs pour créer le contour de la map et j'y suis enfin arrivé!!! (Ce n'était pas évident il fallait que les murs se suivent)

        Au niveau du moteur il n'y a plus grand chose à ajouter, juste améliorer la propreté du code, mais je n'ai pas trop le temps pour cela, il faut que j'avance sur le gameplay que je n'ai toujours pas terminé de rédiger et que je crée les objets avec l'éditeur de niveau, pour les charger côté serveur et côté client, une fois ça de fait, j'aurai déjà fait un grand pas vers la bêta, le reste se sera de l'ajout au niveau du code du client et du serveur de jeux, mais, il n'y a plus grand chose à faire au niveau du code que ça soit le code de l'éditeur de niveau ou le code du jeux il faut juste que j'ai la motivation d'écrire le gameplay et de l'implémenter.

        Mais là ou je vais surtout avoir besoin d'aide, c'est pour améliorer la propreté du code et optimiser le code.

        • Partager sur Facebook
        • Partager sur Twitter
          20 juin 2021 à 15:01:40

          Bonjour, je recherche une personne pouvant m'aider à améliorer le code source du moteur de jeux (c'est ce que je fais en ce moment), plus de détails sur le dernier message de ce sujet : 

          https://openclassrooms.com/forum/sujet/framework-odfaeg?page=9#message-94154414

          • Partager sur Facebook
          • Partager sur Twitter
            23 juin 2021 à 19:03:10

            J'ai retiré certains dynamic_cast mais je n'ai pas terminé, ensuite j'apporterai la const correctness, je supprimerai le code que je n'utilise plus, je séparerai mieux le code et je commenterai.

            De ce fait se sera beaucoup plus simple si quelqu'un souhaite rejoindre le projet pour lui de comprendre le code.

            • Partager sur Facebook
            • Partager sur Twitter
              27 juin 2021 à 0:33:35

              Je suis entrain de réfléchir encore et encore sur le design du code, réfléchir si je ne devrais pas charger des entités dessinables sur les composants GUI à partir de la scène comme je le fais pour les renderer plutôt que de les passer à la scene et au composants gui qui affiche l'inventaire si je dois afficher des objets sur le sol et dans l'inventaire ce qui m'oblige à les passer deux fois. (Il faudra juste évidemment les passer au layout manager pour qu'il les positionne au bonne endroit dans l'inventaire)

              Et définir quels entités doivent être afficher sur quels composants en passant un pointeur sur le composant et le type d'entités qui doivent être affichées.

              Je me demande si je dois juste passer un pointeurs sur Drawable pour que le composant gui dessine l'objet ou plutôt charger des pointeurs sur Entity* à partir de la scène.

              Je me demande aussi si je ne devrais pas faire hériter les classe qui dessinent des formes (RectangleShape, ConvexShape) de Entity pour pouvoir les ajouter à la scène ou juste les faire hériter de Drawable et de Transformable.

              J'opte plutôt pour la première solution, elle offre plus de possibilités, entre autre la possibilité de récupérer toutes les formes visible et d'afficher un rectangle autour d'elles si elles sont sélectionnées, ce qui m'a fait hésité jusqu'ici c'est ai je besoin de la complexité du framework juste pour afficher des formes simples ?

              Cependant en ayant séparer les responsabilités dans plusieurs interfaces (classes à responsabilité unique), cela est beaucoup plus simple, je retire la complexité la ou elle n'est pas nécessaire, je n'ai plus de god object et grâce aux méthodes virtuelles je peux définir un comportement par défaut là ou ce n'est pas nécessaire de redéfinir les méthodes virtuelles. (Ce qui n'est pas le cas avec les méthodes virtuelles pures mais il m'en faut quand même pour rendre certaines classes abstraites car je ne veux pas que l'on puisse créer des GameObjet ou des Entités n'importe comment, je veux que le développeur hérite de ses interfaces suivant le type d'entité. (formes simples, scene nodes, animation, bone animation, etc...) Et je veux aussi que pour des comportements plus spécifique tels que changement d'armes, lancement de sorts , etc..., il utilise un variant et le pattern visitor pour définir tout les comportements qui ne sont pas communs à tout les game object ou entités.

              Le développeur peut aussi faire ses propres classe plutôt que d'utiliser celles du framework pour gérer les animations et tout cela en redéfinissant les méthodes virtuelle qui définisse un comportement commun pour toutes les entités dessinable de ce type. (animation, bone animations, etc...)

              Bref, je galère, depuis 10 ans, mais je veux un design propre, pas un truc ou je crée des gameobjects partout avec un tas de variables pour gérer les collisions, jouer les sons, etc..., et je suis entrain de me demandé si c'est pas ce que fait Unity avec ses "game objects"...

              -
              Edité par OmbreNoire 27 juin 2021 à 0:39:01

              • Partager sur Facebook
              • Partager sur Twitter
                28 juin 2021 à 17:55:16

                Bon, je suis entrain de nettoyer le code et mettre des commentaires pour mieux m'y retrouver et me souvenir de ce que je fais.

                Une fois ça de fait, je pourrai enfin continuer à écrire le gameplay et créer les objets du gameplay avec l'éditeur. 

                Mais je voudrais que le framework soit propre avant, on sait jamais si d'autres personnes se joignent au projet ou même utilise le framework pour d'autres projets. 

                • Partager sur Facebook
                • Partager sur Twitter
                  30 juin 2021 à 22:19:17

                  Je vais finir de créer la map et les objets du gameplay et essayer de les charger dans le jeux pour voir si tout fonctionne bien.

                  Je pense que je vais faire ça en parallèle avec le nettoyage du code.

                  Je rappelle que tout aide est la bienvenue pour améliorer le design et la performance du code.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    2 juillet 2021 à 17:11:16

                    Bonjour! Les méthodes virtuelles ne suffient plus pour les plus grand projets à cause du surcout lors de l'appel des fonctions virtuelles à l'exécution, je vais donc utiliser CRTP plutôt que des fonctions virtuelles.

                    On peut voir un gain de performances dans cet exemple ici (je n'ai pas calculer le temps de la méthode add parce que ça je m'en fou je ne n'ajoute et ne supprime pas d'élément à la scène à chaque rendu parce que c'est contre performant.

                    La différence est quand même de plus d'une centaine de milliseconds, ça ne parait pas beaucoup mais si j'ai un grand nombre d'objets va faire une grande différences je pense.

                    struct animal {
                        unsigned int id;
                        unsigned int typeId;
                        static unsigned int nbInstances;
                        animal(unsigned int typeId) {
                            id = nbInstances;
                            nbInstances = id;
                            nbInstances++;
                            this->typeId = typeId;
                        }
                        template <typename D>
                        void applySpecificBehaviour() {
                          std::cout<<"base beheviour of instance : "<<id<<std::endl;
                          onSepecifiedBehaviourCalled<D>();
                        }
                        template <typename D>
                        void onSepecifiedBehaviourCalled() {
                            static_cast<D&>(*this).onSepecifiedBehaviourCalled();
                        }
                    };
                    unsigned int animal::nbInstances = 0;
                    struct cat : animal
                    {
                      cat() : animal(0) {}
                      void applySpecificBehaviour() {
                          animal::applySpecificBehaviour<cat>();
                          std::cout<<"cat beheviour of instance : "<<id<<std::endl;
                      }
                      void onSepecifiedBehaviourCalled() {
                          std::cout<<"cat on specified behaviour : "<<id<<std::endl;
                      }
                    };
                    
                    struct dog : animal
                    {
                      dog() : animal(1) {}
                      void applySpecificBehaviour() {
                          animal::applySpecificBehaviour<dog>();
                          std::cout<<"dog beheviour of instance : "<<id<<std::endl;
                      }
                      void onSepecifiedBehaviourCalled() {
                          std::cout<<"dog on specified behaviour : "<<id<<std::endl;
                      }
                    };
                    
                    struct bird : animal
                    {
                      bird() : animal(2) {}
                      void applySpecificBehaviour() {
                          animal::applySpecificBehaviour<bird>();
                          std::cout<<"bird beheviour of instance : "<<id<<std::endl;
                      }
                      void onSepecifiedBehaviourCalled() {
                          std::cout<<"bird on specified behaviour : "<<id<<std::endl;
                      }
                    };
                    struct vanimal {
                        unsigned int id;
                        unsigned int typeId;
                        static unsigned int nbInstances;
                        vanimal(unsigned int typeId) {
                            id = nbInstances;
                            nbInstances = id;
                            nbInstances++;
                            this->typeId = typeId;
                        }
                        virtual void applySpecificBehaviour() {
                          std::cout<<"base beheviour of instance : "<<id<<std::endl;
                          onSepecifiedBehaviourCalled();
                        }
                        virtual void onSepecifiedBehaviourCalled() {
                    
                        }
                    };
                    unsigned int vanimal::nbInstances = 0;
                    struct vcat : vanimal
                    {
                      vcat() : vanimal(0) {}
                      void applySpecificBehaviour() {
                          vanimal::applySpecificBehaviour();
                          std::cout<<"cat beheviour of instance : "<<id<<std::endl;
                      }
                      void onSepecifiedBehaviourCalled() {
                          std::cout<<"cat on specified behaviour : "<<id<<std::endl;
                      }
                    };
                    
                    struct vdog : vanimal
                    {
                      vdog() : vanimal(1) {}
                      void applySpecificBehaviour() {
                          vanimal::applySpecificBehaviour();
                          std::cout<<"dog beheviour of instance : "<<id<<std::endl;
                      }
                      void onSepecifiedBehaviourCalled() {
                          std::cout<<"dog on specified behaviour : "<<id<<std::endl;
                      }
                    };
                    
                    struct vbird : vanimal
                    {
                      vbird() : vanimal(2) {}
                      void applySpecificBehaviour() {
                          vanimal::applySpecificBehaviour();
                          std::cout<<"bird beheviour of instance : "<<id<<std::endl;
                      }
                      void onSepecifiedBehaviourCalled() {
                          std::cout<<"bird on specified behaviour : "<<id<<std::endl;
                      }
                    };
                    template <class B, size_t I, class... Derived>
                    struct Holder {
                    
                    };
                    template <class B, size_t I, class Head, class... Tail>
                    struct Holder<B, I, Head, Tail...> : Holder<B, I+1, Tail...> {
                        std::vector<B*> entities;
                        void add(B* entity) {
                            if (entity->typeId == I)
                                entities.push_back(entity);
                            Holder<B, I+1, Tail...>::add(entity);
                        }
                        void applyBehaviours() {
                            for (unsigned int i = 0; i < entities.size(); i++) {
                                static_cast<Head*>(entities[i])->applySpecificBehaviour();
                            }
                            Holder<B, I+1, Tail...>::applyBehaviours();
                        }
                    };
                    template <class B, size_t I, class Head>
                    struct Holder<B, I, Head> {
                        std::vector<B*> entities;
                        void add(B* entity) {
                            if (entity->typeId == I)
                                entities.push_back(entity);
                        }
                        void applyBehaviours() {
                            for (unsigned int i = 0; i < entities.size(); i++) {
                                static_cast<Head*>(entities[i])->applySpecificBehaviour();
                            }
                        }
                    };
                    template <class B>
                    struct VHolder {
                        std::vector<B*> entities;
                        void add(B* entity) {
                            entities.push_back(entity);
                        }
                        void applyBehaviours() {
                            for (unsigned int i = 0; i < entities.size(); i++) {
                                entities[i]->applySpecificBehaviour();
                            }
                        }
                    };
                    int main(int argc, char* argv[])
                    {    
                        cat c1;
                        dog d1;
                        bird b1;
                        cat c2;
                        dog d2;
                        bird b2;
                        Holder<animal, 0, cat, dog, bird> holder;
                        holder.add(&c1);
                        holder.add(&d1);
                        holder.add(&b1);
                        holder.add(&c2);
                        holder.add(&d2);
                        holder.add(&b2);
                        sf::Clock clk;
                        holder.applyBehaviours();
                        std::cout<<"CRTP time : "<<clk.getElapsedTime().asMicroseconds()<<std::endl;
                        vcat vc1;
                        vdog vd1;
                        vbird vb1;
                        vcat vc2;
                        vdog vd2;
                        vbird vb2;
                        VHolder<vanimal> vholder;
                        vholder.add(&vc1);
                        vholder.add(&vd1);
                        vholder.add(&vb1);
                        vholder.add(&vc2);
                        vholder.add(&vd2);
                        vholder.add(&vb2);
                        clk.restart();
                        vholder.applyBehaviours();
                        std::cout<<"Virtual function time : "<<clk.getElapsedTime().asMicroseconds()<<std::endl;
                        return 0;
                    }



                    -
                    Edité par OmbreNoire 2 juillet 2021 à 17:15:08

                    • Partager sur Facebook
                    • Partager sur Twitter
                      11 juillet 2021 à 0:11:25

                      Bonjour, je recrute une personne pouvant optimiser le framework du jeux, j'aimerais le finir une bonne fois pour toutes, pour enfin commencer à coder le gameplay et le plus dur qu'il me reste à faire c'est l'optimisation.

                      Vous pouvez me contacter par mail si vous êtes intéressé, j'ai trouvé une solution éliminant les fonctions virtuelles côté CPU, côté GPU je ne sais pas trop comment faire à part peut être utiliser un thread par composant de rendu pour les listes chaînées, les ombres, les lumières et la réfraction/réflexion.

                      Il ne me reste pratiquement plus que ça à faire au niveau du framework, le reste c'est de la portabilité (Vulkan, portabilité sur smartphones, etc...) et il faut que je voie comment améliorer l'éditeur.

                      Ensuite j'entame enfin le gameplay mais ce n'est pas pour tout de suite, mine de rien, optimiser, ça prend du temps!!!

                      Je n'ai pas envie de passer plus de temps à coder le framework que à coder le jeux, mais étant seul sur le projet, j'attend encore un petit peu pour voir si, il n'y a vraiment personne d'intéressé, avant de continuer le jeux, si je vois qu'il n'y a toujours personne qui a rejoins le projet, avant que j'aie fini les optimisations, je ferai le jeux seul.

                      • Partager sur Facebook
                      • Partager sur Twitter
                        15 juillet 2021 à 23:01:40

                        Bonjour, je me suis rendu compte que créer un moteur de jeux et un jeux, ce n'est pas possible, tout simplement parce que je passe plus de temps à coder le moteur, que le jeux en lui même, je n'ai su faire jusqu'à présent, que des démos.

                        Il y a sans cesse des choses à revoir au niveau de la conception, les appis (OpengL=>Vulkan) ou le langage (c++11, c++14, c++17, c+20) qui évoluent, gérer la portabilité (apparition des smartphones), etc...

                        Soit je laisse le moteur comme ça, et je crée un jeux malgré tout en implémentant juste pour les plateformes que j'utilise, mais, je pense pas que ça ira si des personnes utilisant des autres plateformes (consoles par exemple) ou OS veulent jouer.

                        De plus la portabilité est plus difficile à gérer en c++ que en java par exemple, il y a aussi les incompatibilités aux niveau des compilateurs à gérer (et oui c'est le c++!!!), le moteur de jeux compile avec mingw mais pas avec visual studio. (J'ai des erreurs au "linkage", et le fichiers mp.hpp ne compile pas sous visual studio)

                        Comme je n'ai pas d'équipe et que ce post de recrutement n'a pas l'air d'intéresser grand monde, je vais plutôt me pencher sur la création du moteur de jeux, c'est ce qui me passionne le plus (l'aspect technique), le jeux arriveras bien plus tard si j'ai le temps et si j'ai fini le moteur.

                        Maintenant je pense que cela dépend du type de jeu, au niveau de la plateforme, c'est rare que je vois un mmorpg de combat en temps réel sur smarpthone comme on en voit sur PC, enfin, pas si poussé au niveau graphisme à cause de la différence au niveau de la configuration.

                        Mon moteur de jeux vise plutôt les jeux sur PC et essentiellement sur la plateforme windows (à cause des drivers graphiques) avec du matériel supportant les nouvelles technologies.  

                        -
                        Edité par OmbreNoire 15 juillet 2021 à 23:08:37

                        • Partager sur Facebook
                        • Partager sur Twitter
                          17 juillet 2021 à 1:15:14

                          Rebonjour, finalement, ayant essayer plusieurs designs de conception, les fonctions virtuelles sont la solution la plus performante dans mon cas avec les scenes nodes, je ne dois pas changer de design.

                          Je vais juste faire une factory pour la création d'entités et composants et normalement je peux continuer l'éditeur de map que je vais tester en commençant à créer le gameplay. :)

                          • Partager sur Facebook
                          • Partager sur Twitter
                            20 juillet 2021 à 20:48:25

                            Bonjour, une personne m'a rejoint pour m'aider pour le framework, tout deux passionner par le c++ moderne et étant donné que le framework utilise le c++ moderne cette personne a été intéressée par le projet et m'a contacté, si tout se passe bien cette personne devrait m'aider pour l'implémentation vulkan.

                            • Partager sur Facebook
                            • Partager sur Twitter
                              23 juillet 2021 à 21:40:27

                              Je dois refaire le design du moteur, je recrute une personne pour m'aider à changer le design, il me faudrait un design comme celui-ci :

                              https://quick-bench.com/q/jEGRWG62s39A0OzY22E-iNtuvWo

                              • Partager sur Facebook
                              • Partager sur Twitter
                                4 août 2021 à 12:30:02

                                J'arrête de poster ici en ce qui concerne les détails techniques, je me suis rendu compte que ce n'était pas sérieux.

                                Je met en pause le développement du jeux pour perfectionner le moteur de jeux, je ne sais même pas si le moteur sera terminé un jour, il y a tellement de choses à améliorer au niveau du moteur de jeux et c'est difficile de faire les deux.

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  5 novembre 2021 à 20:03:54

                                  Salut! Je recherche de l'aide pour changer le design du moteur de jeux (passer d'un design avec interfaces et fonctions virtuelles à un design de type ECS (entity component system) avec vulkan), moi j'essaie mais je n'y arrive pas et je déteste cette façon de programmer et vulkan et beaucoup trop dense donc pour ma part je vais travailler sur autre chose que l'implémentation vulkan et le design ECS qui sont pas indispensable pour moi et je ne suis pas sûr que ça va changer grand chose au niveau des perfs.

                                  Pour l'instant on est deux développeurs sur le projet mais l'autre développeur est en pause pour ses cours.

                                  -
                                  Edité par OmbreNoire 5 novembre 2021 à 20:04:34

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    7 novembre 2021 à 10:46:37

                                    Question naïve, mais pourquoi veux tu faire un changement d'architecture si ce n'est ni indispensable, ni profitable avec certitude?
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      16 décembre 2021 à 18:42:51

                                      P.X.L a écrit:

                                      Question naïve, mais pourquoi veux tu faire un changement d'architecture si ce n'est ni indispensable, ni profitable avec certitude?


                                      L'api change de opengl on passe à vulkan, je voudrais donc en profiter pour faire un changement d'architecture.

                                      Mais ce n'est pas nécessaire pour l'instant en effet, je pourrais continuer le jeux. 

                                      Il y a juste que avec cette architecture ce n'est pas parfait, le framerate n'est pas très élevé à cause des fonctions membres virtuelles sans doute.

                                      Je voudrais faire un framework comme unity.

                                      -
                                      Edité par OmbreNoire 16 décembre 2021 à 18:43:46

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        12 janvier 2022 à 18:45:53

                                        A cause de problème à l'édition des liens avec les nouvelles version de mingw et visual studio je suis contrains d'abandonner le projet.
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          20 février 2022 à 14:31:51

                                          Salut, j'ai résolu le problème en travaillant sur linux plutôt que sur windows, j'ai eu un virus un moment donné peut être pour cela que sur windows il ne trouve plus les fichiers même cmake ne trouve pas visual studio hors qu'il est installé dessus.

                                          Le recrutement réouvre donc, j'aimerais recruté une personne sachant par exemple comment faire des "per pixel linked list" avec l'api VULKAN.

                                          pour ma part je continue le développement avec le nouveau design ECS et j'aurai besoin d'un petit coup de pouce car ce n'est pas évident de changer de design, l'ancien design marche mais il est trop lent j'ai 90 de FPS pour afficher quelques milliers de tiles, j'aimerais faire quelque chose qui se rapproche plus du moteur de jeux Unity.

                                          Malheureusement le fait de devoir refaire le design et passer d'opengl à vulkan ne me motive pas beaucoup, j'utilise encore opengl avec le nouveau design car je ne vois pas comment faire des "per pixel linked list" avec vulkan.

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            5 mars 2022 à 19:43:53

                                            Salut! J'ai besoin de quelqu'un de plus compétent que moi pour continuer le projet (ce serait dommage de le stopper), moi, je n'ai plus la motivation j'ai essayé un design de type ECS mais ça ne fonctionne pas.
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              6 avril 2022 à 2:07:27

                                              Bonjour,

                                              Je vais me permettre un pincée de sel et rappeler que des mises en garde avait été amorcées trois années plus tôt sur la difficultés et la complexité du projet.

                                              "Je vais aborder ici plusieurs points qui ne seront pas plaisant à lire, mais qui, si vous en prenez compte, vous permettrons d'éviter de vous investir dans un projet dont les résultats ne seront pas à les hauteur de vos attentes."

                                              Toutefois, comme pour tout projet, l'important n'est pas la réussite ou l'échec en soi, mais bien les enseignements qui peuvent en être tirés. Il serait, je pense, intéressant que vous fassiez un post mortem de votre aventure.

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                8 avril 2022 à 18:34:30

                                                Oui je pense à stopper le projet et faire cela, je suis actuellement bloqué de toute façon à cause des problèmes de performance.

                                                Mais j'ai appris beaucoup de choses.

                                                -
                                                Edité par OmbreNoire 8 avril 2022 à 18:35:07

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  12 avril 2022 à 19:57:17

                                                  Voici deux tutoriels vidéos sur comment utiliser le framework, le projet était trop long et je n'ai pas eu la motivation de continuer mais je suis fier de moi même si le projet n'est pas parfait, j'aurai probablement dû utiliser un design ECS et que ça ne me rapporte rien j'ai beaucoup apprit au niveau du langage c++.

                                                  https://www.youtube.com/watch?v=z7pDBl0BMtc

                                                  https://www.youtube.com/watch?v=_Ez0-4j771w

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    13 avril 2022 à 14:34:29

                                                    OmbreNoire a écrit:

                                                    Voici deux tutoriels vidéos sur comment utiliser le framework, le projet était trop long et je n'ai pas eu la motivation de continuer mais je suis fier de moi même si le projet n'est pas parfait, j'aurai probablement dû utiliser un design ECS et que ça ne me rapporte rien j'ai beaucoup apprit au niveau du langage c++.

                                                    https://www.youtube.com/watch?v=z7pDBl0BMtc

                                                    https://www.youtube.com/watch?v=_Ez0-4j771w


                                                    J'ai regardé ta vidéo en rapide, déjà 40mn en 2 vidéos sans montrer le gameplay pour un moteur de jeu c'est étrange, finalement tu montres 20s ici https://youtu.be/_Ez0-4j771w?t=1100 et tu nous dit "En seulement 1000 lignes de code" on a ça ...

                                                    Je suis désolé, mais je suis ton projet depuis le début et c'est exactement le même rendu qu'en 2019, sauf qu'ici c'est la nuit, c'est un prototype avec des glitchs de partout, le code n'est pas plus propre, tu t'y perds d'ailleurs toi aussi. 

                                                    -
                                                    Edité par angeatrg 13 avril 2022 à 14:37:45

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter

                                                    Ancien étudiant OpenClassroom, diplômé en développeur d'application Python

                                                      14 juin 2022 à 16:40:36

                                                      Bonjour, j'ai besoin d'aide j'ai tenté une implémentation avec des templates plutôt qu'avec des virtuels mais j'ai des erreurs en compilation que je ne comprends pas.
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        14 août 2022 à 20:14:20

                                                        Bonjour, ayant enfin réussi à corriger toutes ces erreurs avec les templates je recherche surtout quelqu'un pour m'aider pour implémenter le nouveau design c'est à dure entity component system.

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          14 août 2022 à 23:13:24

                                                          S'il vous plait, ne repondez pas, ne relancez pas le sujet, cela fait 3 ans qu'il n'a toujours pas compris...
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            6 septembre 2022 à 20:47:18

                                                            Bonjour bon tant pis je vais continuer avec l'ancien design j'ai une erreur de linkage d'un shader avec le nouveau design.
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              10 novembre 2022 à 17:39:13

                                                              Je vais tenter d'implémenter vulkan avec le nouveau design ça ira peut être mieux donc si il y en a qui sont tenté de m'aider pour implémenter vulkan avec le nouveau design ils sont les bienvenus.
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              [Jeux vidéo] Sorrok online.

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              • Editeur
                                                              • Markdown