Partage
  • Partager sur Facebook
  • Partager sur Twitter

Moteur de jeu en C++

Comment creer un moteur de jeu en C++

    1 juin 2020 à 18:54:00

    Bonjour, je voudrait savoir à titre indicatif si c'était possible de coder soit même un moteur de jeu en C++.:)

    • Partager sur Facebook
    • Partager sur Twitter
      1 juin 2020 à 19:44:42

      Bien sûr ! Il en existe un arsenal, un arsenal d'arsenal. Exemple:

      • Partager sur Facebook
      • Partager sur Twitter
        1 juin 2020 à 20:39:24

        Lu'

        C'est tout à fait possible, et ça a l'avantage qu'on puisse adapter un moteur spécifique à ses besoins.
        Les seules choses dont tu auras besoins : des connaissances en C++ et en maths ; et du temps.

        • Partager sur Facebook
        • Partager sur Twitter
          1 juin 2020 à 20:53:47

          Oui merci de m’avoir aidé
          • Partager sur Facebook
          • Partager sur Twitter
            1 juin 2020 à 21:06:25

            Je me permets de modifier un tout petit peu la réponse de @PokiCode, des connaissance SOLIDES et avancées, en C++, fonctionnement général de tout ce qui touche au rendu, aux graphismes etc.

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              2 juin 2020 à 1:06:09

              Hello,

              Pour aller plus loin que @Daimyo_, le langage seul ne suffit plus à ce stade car on parle d'un gros chantier - sans vouloir décourager. ^^
              Bien sûr, maîtriser le langage est important. Mais il faut en plus des notions d'architecture logicielle (E-C-S par exemple) et d'algorithmique (au moins savoir lire et comprendre un algorithme, bien mieux en connaître et savoir en écrire). Voire même, surtout en 3D, avoir de bonnes notions sur le hardware : pipeline de rendu, fonctionnement d'un GPU (très différent d'un CPU), représentation des données en mémoire, etc.

              Enfin, c'est peut-être déjà le cas, il faut acquérir une bonne expérience sur au moins un moteur de jeu existant. "Au moins" car si tu peux en utiliser plusieurs, ça ne te fera que de l'expérience pour essayer d'en tirer le "meilleur" de chacun (= ce qui te plaît le plus, c'est subjectif). Je veux dire par là, chaque moteur a son fonctionnement. Il y en a dont on peut aimer la "philosophie", d'autres moins ou encore d'autres qui sont cools mais qui ont des défauts, qu'on voit essentiellement quand on s'implique plus dans leur utilisation et dont peu tirer parti pour éviter de tomber dans le "piège".

              -
              Edité par Anonyme 2 juin 2020 à 1:07:42

              • Partager sur Facebook
              • Partager sur Twitter
                5 juin 2020 à 23:03:00

                Je t'invite à regarder les lives twitch de notre ami Lynix qui n'est ni plus ni moins que l'auteur du moteur de jeu Nazara Engine (sur lequel il travaille depuis 8 ans) , c'est  très instructif bien que pas accessible aux débutants

                mais avant de te lancer dans ce vaste projet c'est pas en ayant fini le primer que tu pourras , mon voisin du dessus à globalement résumer mais rien que l'apprentissage des API graphiques comme  Vulkan (OpenGL est mort de nos jours) ça se fera pas facilement de plus acquérir toutes les techniques lié aux GPU/3D c'est la aussi très long.

                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  6 juin 2020 à 15:01:05

                  Sans parler de la mort d'OpenGL - je serais plus nuancé car il y a des applicatifs qui n'ont nullement besoin des apports et des contraintes de Vulkan - je pense que ça reste tout de même un point d'entrée intéressant pour quiconque veut apprendre la Chose des API graphiques dites bas niveau.

                  Bien sûr, il s'agirait d'apprendre au moins les bases avec une version moderne d'OpenGL, la 4.6 sortie en 2017 (donc postérieure à la sortie de Vulkan 1.0, signe qu'il bouge encore) à plus forte raison. Puis, basculer doucement vers Vulkan si c'est souhaité. OpenGL 4.6 reste tout de même plus "facile" à maîtriser que Vulkan dans le sens où une bonne partie du boulot est assurée par le driver. Avec Vulkan, on doit donc en plus se charger de faire le travail du driver... Autant dire que si on n'a pas de solides bases avec quelque chose de légèrement plus abstrait, on risque d'aller droit dans le mur.

                  Enfin, tout n'est pas perdu avec OpenGL vs Vulkan. OpenGL4.6 supporte SPIR-V par exemple, autrement dit on peut utiliser les mêmes shaders pour une approche OpenGL et Vulkan.

                  Le vieux pipeline direct des premières versions d'OpenGL est émulé depuis l'apparition des shaders, avec des shaders justement. Qui nous dit que (si ce n'est déjà le cas), OpenGL ne sera pas maintenu sous la forme d'une "émulation"/réécriture avec Vulkan juste en-dessous.

                  -
                  Edité par Anonyme 6 juin 2020 à 15:06:47

                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 juin 2020 à 17:19:45

                    Le moteur graphique est un sous ensemble du moteur de jeu. Un moteur de jeu complet est un projet titanesque, et la plupart d'entre eux sont effectivement principalement développés en C++.

                    Si tu veux des infos, tu peux lire le livre Game Engine Architecture (écrit par un développeur de Naughty Dog: Uncharted, The Last of Us etc). Cela te donnera de bons éléments pour architecturer un moteur de jeu. Il y a des éléments pour comprendre chaque composant (graphique, audio, physique, réseau etc), mais clairement le développement concret de chacun de ces composants demande ensuite des ressources plus spécialisées.

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Moteur de jeu en C++

                    × 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