Partage
  • Partager sur Facebook
  • Partager sur Twitter

Avenir du c++

    13 juin 2015 à 14:52:32

    Bonjour à tous.

    J'ai un projet dans les jeux vidéos, style silent hill avec les standards actuels en terme de graphisme et de gameplay. Hormis la part de faisabilité, les grosses difficultés de programmation et de budget et de temps qu'un projet de cette envergure rencontre, je me cantonne à l'aspect du choix technologique. Unreal engine va surement faciliter pas mal de choses mais le sujet n'est pas là.

    Il y a 10 ans de cela je suis tombé sur ca:

    http://openclassrooms.com/forum/sujet/cc-obsolete-86105?page=4

    De nos jours en 2015, Est-ce que le C++ est toujours aussi performant et utilisé

    - dans le domaine des jeux AAA actuels (the witcher 3, GTA5) 

    - dans mon cas?

    Alors on dit que le C++, c'est dur avec la notion de gestion de mémoire, qu'il vaut mieux utiliser Java plus simple et utilisé par tout le monde.

    Donc je vois une relation

    - performance du langage, niveau et besoin de sophistication du jeu vidéo souhaité

    - difficulté à maitriser le langage (expertise ou pas, les JV AAA demandent un langage pointu qui en plus est difficile à maitriser)

    - facilité de recrutement de codeur du programme (Java plus répandu, donc plus de codeurs recrutables - C++ plus difficile et moins utilisé, moins de codeurs recrutables)

    Je dois donc jongler avec ces repères pour avoir une orientation plausible et pas trop catastrophique.

    Voyez-vous les nouvelles tendances de langage utilisé dans le monde du jeu vidéo style AAA (je ne parle pas des candy crush &co hein)

    Etant donné que j'ai plus un profil d'entrepreneur que programmeur (bon ok un passage en deug info), je souhaite vos précieux avis, qui pourraient m'éviter quelques boulettes et le recrutement de codeurs.

    Merci bien!

    • Partager sur Facebook
    • Partager sur Twitter
      13 juin 2015 à 14:57:25

      Lu'!

      foxdigital a écrit:

      Alors on dit que le C++, c'est dur avec la notion de gestion de mémoire, qu'il vaut mieux utiliser Java plus simple et utilisé par tout le monde.

      Connerie. On n'a pas besoin de gérer manuellement la mémoire en C++. Et il y a un paquet de développeur Java qui se targuent de le maîtriser alors que ce n'est pas le cas.

      Sinon pour le reste, les questions sont globalement hors de propos. Cela fait très longtemps que les créateurs de jeux vidéos n'utilisent plus un unique langage pour leur travail. C'est plutôt de l'ordre de la dizaine de langage différents selon quelle partie on est en train de réaliser.

      EDIT : sans compter qu'une part monumentale du travail se trouve dans le design des éléments du jeu.

      -
      Edité par Ksass`Peuk 13 juin 2015 à 15:10:34

      • Partager sur Facebook
      • Partager sur Twitter

      Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

        13 juin 2015 à 15:13:10

        Je dirais pour commencer que la durée de vie d'un langage n'a pas grand chose à voir avec ses qualités et défaut. Un langage comme COBOL continue de vivre, alors que c'est un langage très loin des critères de qualité des langages "modernes". Le C++ continuera a vivre encore longtemps, même si c'était un langage tout moisi (ce qui n'est pas le cas, bien sûr).

        Je pense que l'on a une approche plus raisonnable des langages de nos jours. Avant, on pouvait rejeter le C++ et utiliser le Java, parce que le C++, "c'est compliqué à utiliser". De nos jours, on va utiliser le C++ bas niveau pour le code critique, le C++ "normal" (sans gestion manuelle de la mémoire) pour du code non critique, utiliser du Python pour scripter les applications, écrire une partie en C# ou Java ou Brainfuck, etc. Bref, utiliser l'outil qui répond à chaque besoin.

        Du coup, je n'ai pas l'impression que l'on soit en manque de dévs C++ ou en manque de boulots à leur donner, bien au contraire. Même si les ordinateurs sont plus puissants, on a toujours des contraintes de performances, ou économie d'énergie, ou autre, qui font que le C++ reste très intéressant dans beaucoup de domaines (et de plus en plus de domaines : embarqués, serveurs, etc)

        Par exemple, dans le cas spécifique des jeux, on va avoir des gros besoins de devs très pointus pour la partie création du moteur de jeux, du moteur de rendu, la gestion du réseau, avoir pleins d'effets, etc. Mais aussi beaucoup de besoins de devs non C++ pour le game play, les outils de création du jeux, etc.

        Bref, le C++ reste très intéressant (ou pas... ne faites pas de C++, ça me permet de demander un plus gros salaire s'il y a moins de devs C++ sur le marché de l'emploi :D ), mais cela ne veut pas dire que c'est intéressant pour toi. Tu n'auras probablement pas les moyens de créer une équipe spécialisée pour travailler sur le moteur de jeux ou de rendu. Donc il est bien plus intéressant pour toi de commencer par constituer une équipe de personnes qui auront un impact direct sur le jeux (graphiste, game designer, game level, compositeur, etc), qui utiliseront les outils existants. Et par le suite, lorsque l'équipe sera plus développée et que le besoin se présentera (implémenter certaines fonctionnalités pour personnaliser le moteur de jeux que vous utiliser par exemple), recruter des devs C++. Pas avant.

        HS : un résumé d'une bonne approche de conception d'un jeu :

        Et à lire : Erreurs classiques des créateurs de jeux vidéo amateurs

        -
        Edité par gbdivers 13 juin 2015 à 15:14:21

        • Partager sur Facebook
        • Partager sur Twitter
          13 juin 2015 à 15:14:09

          Le C++03 est dépassé depuis que le C++11 est sorti, et aujourd'hui on est à l'époque du C++14 (et dans un peu plus de deux ans normalement, le C++17 qui devrait encore nous apporter pas mal de changements modernes).

          Bref, le C++ a encore de très beaux jours devant lui, mais il est certain que la gestion manuelle de la mémoire est clairement dépassé (sauf cas très exceptionnels bien sûr..), mon avis est qu'une fois qu'on a goûté au RRID (aussi appelé RAII), on ne peut plus s'en passer.

          foxdigital a écrit:

          Il y a 10 ans de cela je suis tombé sur ca:

          http://openclassrooms.com/forum/sujet/cc-obsolete-86105?page=4

          Wow, les conneries que j'ai posté dessus, je me prends un de ces coups de vieux.

          • Partager sur Facebook
          • Partager sur Twitter

          Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

            13 juin 2015 à 15:30:26

            Va faire un GTA 5 en Java, qu'on rigole un petit coup.

            • Partager sur Facebook
            • Partager sur Twitter
              13 juin 2015 à 15:43:50

              Ou un jeu plus simple encore, juste pour voir à quel point ça galère niveau performances, genre Minecr.. Ah oui c'est vrai.

              • Partager sur Facebook
              • Partager sur Twitter

              Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                13 juin 2015 à 16:44:05

                gbdivers a écrit:

                Et à lire : Erreurs classiques des créateurs de jeux vidéo amateurs

                wow, merci pour cette bible !

                En effet, la complexité technologique doit m'obliger à rester prudent. Donc une approche lean est pas mal appropriée. Il y a déjà assez à faire avec le scénar, direction artistique et autre game design, faut pas porter trop de poutres  non plus.

                Après si les jeux AAA sont la plupart en c++, tout du moins le coeur du langage à ce que je vois, bah ca m'offre 2 choix

                - revoir l'ambition à la baisse techniquement, demander un truc qui soit au niveau de java (candy crush ?). Enfin, faire un jeu CCC qui ne soit pas trop gourmand avec un bon design innovant... jouer sur une autre corde quoi

                - mettre les pieds dans le plat ou "mode banzai même pas mal". Apprendre, exercer et réaliser. Avec en tête Just do it (et autres mantras)

                A la limite, faudrait que je trouve un projet pas trop ambitieux, mais nécessitant du c++, histoire d'aller crescendo.

                - une dizaine de langages dans un jeu AAA? omg, bonjour les dégats. J'imagine même pas la gestion de projet derrière. Après si un GTA5 nécessite plusieurs années de production alors que les gars ont déjà les 4 premiers GTA comme base, ça promet pour les jeunes studios.

                Edit: Je suppose que l'IA est généralement codée en  c++ non ? Tous les Nao et autre asimo.

                l'IA dans les JV (qui est généralement pourri), plutot python  non?

                -
                Edité par foxdigital 13 juin 2015 à 16:44:47

                • Partager sur Facebook
                • Partager sur Twitter
                  13 juin 2015 à 18:08:04

                  foxdigital a écrit:

                  Bonjour à tous.

                  J'ai un projet dans les jeux vidéos, style silent hill avec les standards actuels en terme de graphisme et de gameplay. 

                  Qu'est ce que tu as déjà fait avant cela ? Quelle est ton expérience ? Montre nous quelques projets que tu as déjà fait.
                  • Partager sur Facebook
                  • Partager sur Twitter

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

                    13 juin 2015 à 18:47:24

                    Au contraire, l'IA est souvent faite à l'aide de scripts qui sont bien plus haut niveau et bien plus faciles à manipuler. Les langages de règles permettent bien plus de libertés, à condition d'avoir la bonne interface.

                    Sinon, ça fait maintenant déjà 5 ans mais face de bouc a transformé son code PHP en C++ dans le but de le rendre plus performant. Dans cette optique, il semblerait que la charge CPU des serveurs ait été divisée par 2.

                    En revanche, ça ne sert à rien de faire un jeu C++ tout seul, tu vas probablement abandonner avant que ça n'aboutisse par faute de temps à y consacrer ou de résultats. De nombreux jeux sortent en flash, java, html5,... et sont joués par de nombreux joueurs occasionnels.

                    Quant aux jeux AAA, as-tu compté le nombre de personnes ayant participé au développement ? As-tu compté le nombre de personnes que tu étais ? (à part en étant schizophrène, tu devrais répondre 1 à la 2ème question). Je connais un jeu indépendant développé en C++ (pour le moteur de jeu) et entièrement basé sur le script pour le reste. Ils sont actuellement 4 ou 5 à plein temps dessus et pourtant, il est en développement depuis maintenant presque 2 ans.

                    Pour moder un jeu, il est également plus simple de le faire dans un langage de script de haut niveau qu'en C++ car il y aura une communauté bien plus importante qui pourra en faire et donc faire vivre ton jeu.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      13 juin 2015 à 18:51:31

                      Cobol était moribond en 1991, Fortran aussi, on allait voir ce qu'on allait voir,  le C lui même  était condamné...

                      25 ans plus tard, on a vu, le C se porte très bien, merci pour lui, les deux dinosaures (COBOL & Fortran) ne manifestent aucun signe d'extinction, quant au petit Java, qui ne devait pas passer l'hiver (mais ça c'était un peu plus tard )...

                      Un jeu AAA c'est en données corrigées des variations saisonnières (euphémismes bien connu pour dire que ça augmente de façon soutenue) entre 500 et 1000 AH. Combien peux tu mettre sur la table? 40? 50 ans ? tu es très loin du compte...

                      -
                      Edité par int21h 13 juin 2015 à 19:17:21

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Mettre à jour le MinGW Gcc sur Code::Blocks. Du code qui n'existe pas ne contient pas de bug
                        13 juin 2015 à 21:45:45

                        Fvirtman a écrit:

                        foxdigital a écrit:

                        Bonjour à tous.

                        J'ai un projet dans les jeux vidéos, style silent hill avec les standards actuels en terme de graphisme et de gameplay. 

                        Qu'est ce que tu as déjà fait avant cela ? Quelle est ton expérience ? Montre nous quelques projets que tu as déjà fait.

                        un projet amateur d'action RPG il y a pas mal d'années, 10 ans en fait, avec ogre. Mais pas de démo à l'appui. La cata à l'époque. (projet Arcancia)

                        Actuellement, 

                        - pas de compétences en prog (de solide en tout cas)

                        - temps limité (pour le projet, et je suis plus un étudiant), ne peux pas consacrer 2 ans full time (en tout cas sans revenus réguliers)

                        - peu de ressources financières

                        Mais j'ai une envie de dingue, et surtout la prudence face aux longs et complexes projets. Bref, je n'ai que ma b... et mon couteau avec une expérience professionnelle hors programmation.

                        Si on fait un diagramme mes compétences/ jeu souhaité / XP et ressources exigé bah c'est sur que c'est pas très favorable pour ma position actuelle.

                        Mais le fait de savoir que non seulement le c++ se porte bien, mais qu'en plus il y a pas d'alternatives pour faire des AAA performants.

                        Je vais surement me focaliser sur les casual tout d'abor, le AAA en parallèle mais c'est vraiment avec prudence avec des jalons réguliers.

                        -
                        Edité par foxdigital 13 juin 2015 à 21:47:26

                        • Partager sur Facebook
                        • Partager sur Twitter
                          13 juin 2015 à 21:54:24

                          foxdigital a écrit:

                          Fvirtman a écrit:

                          foxdigital a écrit:

                          Bonjour à tous.

                          J'ai un projet dans les jeux vidéos, style silent hill avec les standards actuels en terme de graphisme et de gameplay. 

                          Qu'est ce que tu as déjà fait avant cela ? Quelle est ton expérience ? Montre nous quelques projets que tu as déjà fait.

                          un projet amateur d'action RPG il y a pas mal d'années, 10 ans en fait, avec ogre. Mais pas de démo à l'appui. La cata à l'époque. (projet Arcancia)

                          Actuellement, 

                          - pas de compétences en prog (de solide en tout cas)

                          - temps limité (pour le projet, et je suis plus un étudiant), ne peux pas consacrer 2 ans full time (en tout cas sans revenus réguliers)

                          - peu de ressources financières

                          Mais j'ai une envie de dingue

                          J'ai arrêté ma lecture ici, réduit tes ambitions, crois-moi ça vaut mieux.

                          • Partager sur Facebook
                          • Partager sur Twitter

                          Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                            13 juin 2015 à 22:05:55

                            Je ne connais absolument personne sur Terre qui soit capable de réaliser de A à Z un jeu de type "AAA". C'est BEAUCOUP trop complexe.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              13 juin 2015 à 22:12:22

                              foxdigital a écrit:

                              Fvirtman a écrit:

                              foxdigital a écrit:

                              Bonjour à tous.

                              J'ai un projet dans les jeux vidéos, style silent hill avec les standards actuels en terme de graphisme et de gameplay. 

                              Qu'est ce que tu as déjà fait avant cela ? Quelle est ton expérience ? Montre nous quelques projets que tu as déjà fait.

                              un projet amateur d'action RPG il y a pas mal d'années, 10 ans en fait, avec ogre. Mais pas de démo à l'appui. La cata à l'époque. (projet Arcancia)

                              Actuellement, 

                              - pas de compétences en prog (de solide en tout cas)

                              - temps limité (pour le projet, et je suis plus un étudiant), ne peux pas consacrer 2 ans full time (en tout cas sans revenus réguliers)

                              - peu de ressources financières

                              Mais j'ai une envie de dingue, et surtout la prudence face aux longs et complexes projets. Bref, je n'ai que ma b... et mon couteau avec une expérience professionnelle hors programmation.

                              Si on fait un diagramme mes compétences/ jeu souhaité / XP et ressources exigé bah c'est sur que c'est pas très favorable pour ma position actuelle.

                              Mais le fait de savoir que non seulement le c++ se porte bien, mais qu'en plus il y a pas d'alternatives pour faire des AAA performants.

                              Je vais surement me focaliser sur les casual tout d'abor, le AAA en parallèle mais c'est vraiment avec prudence avec des jalons réguliers.

                              -
                              Edité par foxdigital il y a 22 minutes


                              En effet, il faut arrêter ton projet, tu vas dans le mur.

                              Tu sous estimes beaucoup le boulot.

                              Les jeux de ce genre sont développés à plein temps par des professionnels très qualifiés, organisés et nombreux. Pour ton bien arrête maintenant, c'est comme si tu nous disais que tu sais planter un clou dans une planche, et que tu veuilles construire un château de grand architecte.

                              Je crois qu'aucun amateur ou presque n'a réussi à faire ce genre de projet, même des gens qui programment depuis des années ont jeté l'éponge sous estimant l'ampleur de la tâche.

                              -
                              Edité par Fvirtman 13 juin 2015 à 22:14:10

                              • Partager sur Facebook
                              • Partager sur Twitter

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

                                14 juin 2015 à 4:19:00

                                Jeu AAA = entre 500 et 1000 AH.

                                Ton budget: 2 AH en comptant très large, ne reste plus qu'entre 498 et 998 AH à trouver, entre un demi millénaire et un millénaire complet, une paille ^^

                                -
                                Edité par int21h 14 juin 2015 à 5:00:25

                                • Partager sur Facebook
                                • Partager sur Twitter
                                Mettre à jour le MinGW Gcc sur Code::Blocks. Du code qui n'existe pas ne contient pas de bug
                                  14 juin 2015 à 13:10:49

                                  Ahem, ok vous m'avez convaincu =)

                                  PS: que veut dire AH ?

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    14 juin 2015 à 13:27:47

                                    foxdigital a écrit:

                                    Ahem, ok vous m'avez convaincu =)

                                    PS: que veut dire AH ?


                                    année.homme ie le travail d'une personne à plein temps pendant une année.

                                    Tu peux l'atteindre en 6 mois si les gens sont prêts à travailler 20h par jour.

                                    Ou si les dev sont deux fois plus compétents..

                                    Si tu ne connais pas déjà: http://thedailywtf.com/

                                    Je ne te garantie pas que les histoires sont 100% vraies, mais elles sont assez représentatives de la réalité.

                                    Peut-être qu'un jeu du genre Ecstatica est plus à ta portée.

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

                                    -
                                    Edité par LucieTroidé 14 juin 2015 à 13:45:50

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      14 juin 2015 à 14:42:25

                                      Bonjour, La réalisation d'un jeu AAA nécessite plusieurs années et des centaines de professionnels (ainsi que plusieurs langages comme je viens de l'apprendre, ce que je trouve assez étonnant) mais prenons les jeux indé (pas Minecraft qui est en Java comme l'a bien fait remarquer @Lynix -> j'ai beaucoup ri) ceux-ci sont écris en un seul langage non ? Et puis il existe des bibliothèques permettant de réaliser des jeux vidéos (la SFML pour le C++ par exemple). Si @foxdigital le veut, il pourrait réaliser un jeu indé tout à fait acceptable et innovant avec peut-être même une chance de succès commercial grâce à une telle bibliothèque (ou une autre, notre chaton favori ( @Lynix ) serait sûrement très heureux si tu utilisais le moteur Nazara pour créer un jeu avec succès (commercial ou pas)). Attention : je ne dis pas que ce serait facile mais réalisable. A++ EDIT : sur l'orthographe

                                      -
                                      Edité par Bouli1515 14 juin 2015 à 14:45:06

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        14 juin 2015 à 14:42:31

                                        Ecstatica a été fait à une époque ou tout était fait from scratch, y compris la 3D. Donc ils ont utilisé une technique basée sur des ellipsoïdes.

                                        Maintenant avec les cartes graphiques, tout est taillé pour du polygone, donc je pense qu'il ne faut pas s'en priver !

                                        Mais ça ne remet pas en cause le sujet de base : beaucoup trop ambitieux. 

                                        • Partager sur Facebook
                                        • Partager sur Twitter

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

                                          14 juin 2015 à 14:56:33

                                          Fvirtman a écrit:

                                          Ecstatica a été fait à une époque ou tout était fait from scratch, y compris la 3D. Donc ils ont utilisé une technique basée sur des ellipsoïdes.

                                          Maintenant avec les cartes graphiques, tout est taillé pour du polygone, donc je pense qu'il ne faut pas s'en priver !

                                          Mais ça ne remet pas en cause le sujet de base : beaucoup trop ambitieux. 


                                          Il peut aussi partir de  exemples fournis avec Bullet Physics. Il y a des véhicules, des pantins, des clothes..
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            14 juin 2015 à 16:17:51

                                            Bouli1515 a écrit:

                                            Bonjour,
                                            La réalisation d'un jeu AAA nécessite plusieurs années et des centaines de professionnels (ainsi que plusieurs langages comme je viens de l'apprendre, ce que je trouve assez étonnant) mais prenons les jeux indé (pas Minecraft qui est en Java comme l'a bien fait remarquer @Lynix -> j'ai beaucoup ri) ceux-ci sont écris en un seul langage non ? Et puis il existe des bibliothèques permettant de réaliser des jeux vidéos (la SFML pour le C++ par exemple). Si @foxdigital le veut, il pourrait réaliser un jeu indé tout à fait acceptable et innovant avec peut-être même une chance de succès commercial grâce à une telle bibliothèque (ou une autre, notre chaton favori ( @Lynix ) serait sûrement très heureux si tu utilisais le moteur Nazara pour créer un jeu avec succès (commercial ou pas)).
                                            Attention : je ne dis pas que ce serait facile mais réalisable.
                                            A++
                                            EDIT : sur l'orthographe

                                            J'ai fais un bomberman basique en 3D pour mon école en 1 mois et demi et on a utilisé 3 langages. C'est pas parce que le jeu est simple que les technos le sont.
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              14 juin 2015 à 16:26:21

                                              Tu as raison mais reste qu'on bomberman basique est plus abordable qu'un jeu AAA ;) .Ce pourrait être un projet abordable pour le PO. Mais quels langages as-tu utiliser ?

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                14 juin 2015 à 16:50:55 - Message modéré pour le motif suivant : Message complètement hors sujet


                                                Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                                                  14 juin 2015 à 17:32:40 - Message modéré pour le motif suivant : Message complètement hors sujet


                                                    14 juin 2015 à 17:39:09 - Message modéré pour le motif suivant : Message complètement hors sujet


                                                    Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                                                      14 juin 2015 à 17:41:29 - Message modéré pour le motif suivant : Message complètement hors sujet


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

                                                      Anonyme
                                                        14 juin 2015 à 17:51:09

                                                        Si tu veux faire un AAA, te faut un moteur AAA, y en a pas 300 de dispo et en faire un n'est certainement pas a ta porte. Go UE4 et fais ton jeu en blueprint.
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          14 juin 2015 à 17:59:33 - Message modéré pour le motif suivant : Message complètement hors sujet


                                                          http://cpp-rendering.io : Vous trouverez tout ce dont vous avez besoin sur Vulkan / OpenGL et le rendu 3D !
                                                          Anonyme
                                                            14 juin 2015 à 18:00:26 - Message modéré pour le motif suivant : Message complètement hors sujet


                                                              14 juin 2015 à 18:00:40

                                                              Oui mais il faut un scénario AAA, des musiques AAA, des dialogues AAA, un gameplay AAA, du marketing AAA, des textures AAA, et plein d'autres chose AAA. Et le seul moteur qui te fournisse tout ça en même temps, c'est un jeu AAA.

                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Avenir du 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