Comment sont faits nos jeux ?

Réduire
X
 
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages
  • Darkseid
    Boing Boom Tschak


    • septembre 2010
    • 3843

    #1

    Comment sont faits nos jeux ?

    Bonjour,

    Je vous propose une discussion concernant la création de nos jeux préférés.

    Cette discussion aurait pour but d'informer tous ceux qui s'interrogeraient sur l'aspect technique en général (moteur, graphismes, son...) ou au sujet d'un jeu en particulier.

    Certains d'entre vous sont des créateurs ou très pointus en terme informatique. lls pourraient répondre aux questions de simples joueurs de manière "pédagogique" et accessible au plus grand nombre. Ca serait une sorte de vulgarisation un peu à la manière d'une émission comme Compiler sur Nolife.

    J'espère que c'est faisable et que ça vous plaira.

    Pour ma part j'initie la première question si jamais vous êtes partants :

    J'ai beaucoup entendu parler d'aspects "révolutionnaires" dans le travail de John Carmack sans jamais rien y comprendre réellement. Même si visuellement parlant on voit un avant et un après Wolfenstein 3D et Doom, qu'est-ce que ce Monsieur a apporté techniquement parlant ?

    Merci
    sigpic

    By pressing down a special key, it plays a little melody
  • gameslover
    Ojii-sama


    • septembre 2001
    • 21343

    #2
    Il me semble surtout qu'il a créer un genre non ? Le FPS, avant Doom je n'en avais jamais entendu parler... c'est assez révolutionnaire je trouve ^^

    Commentaire

    • Darkseid
      Boing Boom Tschak


      • septembre 2010
      • 3843

      #3
      Oui effectivement avec l'ensemble de l'équipe ID.
      Mais il est souvent cité à titre individuel pour son travail technique et sur l'aspect très novateur de celui-ci. Il semble également avoir été le premier à mettre en pratique en jeu vidéo des théories connues avant cela.
      Il n'est pas le premier à avoir crée des moteurs 3D mais il souvent cité comme un "génie".
      Je n'arrive pas à comprendre dans le cadre de mes lectures son apport. Les articles sont soit hyper simplifiés et inintéressants ou hyper complexes comme l'article sur Wikipédia

      NB. Gameslover , ton site est excellent. Le travail fait est énorme. Un must quoi.
      Dernière modification par Darkseid, 30 septembre 2010, 10h11.
      sigpic

      By pressing down a special key, it plays a little melody

      Commentaire

      • gameslover
        Ojii-sama


        • septembre 2001
        • 21343

        #4
        Envoyé par Darkseid Voir le message
        NB. Gameslover , ton site est excellent. Le travail fait est énorme. Un must quoi.
        Merci bcp ça fait toujours plaisir de lire ce genre de commentaire

        Commentaire

        • Snow
          Roi de la Glande


          • décembre 2003
          • 7660

          #5
          Envoyé par Darkseid Voir le message
          NB. Gameslover , ton site est excellent. Le travail fait est énorme. Un must quoi.
          Arrête-toi malheureux ! Il va finir par le croire !

          La vitesse de la lumière est supérieure à celle du son !
          C'est pourquoi bien des gens ont l'air brillant jusqu'à ce qu'ils ouvrent la bouche !

          Commentaire

          • Slakvuq
            Compte archivé

            • mars 2010
            • 23

            #6
            Raahhh John Carmack, j'adore le travail de ce mec ! Oui il possède un certain génie mais c'est surtout un bosseur acharné et un passionné hors du commun.

            - Avant de commencer, une petite précision : non ce n'est pas lui et IdSoftware qui ont inventé le genre des FPS; ça existait bien avant, avec des tanks ou des vaisseaux spatiaux (j'entends par là le tir en vue subjective, ça date du début des années 80) mais leur apport dans le genre, au delà de ce que l'on en connaît, c'est surtout le fait de voir la main du tireur et son arme et ça, pour le réalisme, c'est énorme !!

            - Mais et le bonhomme alors ? Génie ou simple programmeur doué, surfant la vague au bon moment ? Pour répondre, je me baserai sur mes modestes travaux sur la 3D et sur un super livre qui raconte l'histoire de ce mec et de ces potes d'IdSoftware :

            John Carmack est un programmeur, spécialisé dans les moteurs de rendu graphique. Sa force réside dans sa capacité à créer des algorithmes permettant de calculer, toujours plus vite, des images toujours plus belles sur du matériel toujours plus pointu. En gros, il tire le max de votre carte graphique pour afficher des trucs de fou à une vitesse suffisante. Souvent, les moteurs qui sont sortis de son imagination ne permettent de jouer à des vitesses confortables que lorsque les constructeurs sortent la carte 3D qui permettent d'exploiter ce potentiel dormant; on peut ainsi sire que pendant un temps, M. Carmack orientait le secteur R&D de 3DFX ou NVidia (il fallait sortir le matos capable d'afficher les superbes décors de ce type et ce, à au moins 30 fps à l'époque). Et il reste un mec très influent, on écoute ce qu'il dit dans le domaine du jeu et du matos.

            - Comment ça marche ? Bah un moteur de rendu 3D calcule les unes après les autres, les images à afficher et ce doit aller le plus vite possible pour obtenir un maximum de fluidité à l'écran ou bien encore plus de détails et d'effets si l'on se contente d'un certain nombre d'images à la seconde.

            Et donc pour répondre (enfin) à ta question Darkseid, ce mec a notamment conceptualisé puis mis en pratique dans un algorithme puis un jeu le concept déplacement EN TEMPS REEL dans un environnement qui donne une impression de 3D (le fait de tirer sur les gens, c'est surtout pour le fun et l'illustration du concept, ils auraient pu tout aussi bien l'utiliser pour créer de beaux jeux d'aventures dès le début) et tout ça ASSEZ FLUIDE sur une machine de l'époque (on est au début des années 90 là). Carmack a carrément inventé des techniques simples à comprendre pour minimiser les calculs sans détruire le gameplay et les graphismes. En gros, à partir d'une carte 2D, on crée un monde 3D dont l'"épaisseur" est fixe et on y place des sprites de tailles et de niveaux de détails différents (en utilisant le mip-mapping = diverses résolutions d'un même sprite). Pour calculer les tailles, on utilise un coef basé sur la distance par rapport au point de vue (le joueur). Tout a été pensé pour économiser des opérations au processeur et ainsi avoir un jeu jouable sur du matériel pas top ou alors un jeu encore plus beau sur du matos de compet. Puis Carmack créa le premier moteur temps réel entièrement en 3D, celui que Quake 1, puis le premier moteur avec lumières colorées (Quake 2), le premier avec lumières dynamiques et utilisation intensive du lightmapping (Quake 3) et constante amélioration du concept de BSP-Tree, la console dans les jeux (à la base crée pour débugguer mais utiliser ensuite pour pleins d'autres choses, etc... Ce mec était capable de voir un truc qui lui plaisait sur un écran et de se dire : "je peux faire mieux et/ou plus rapide" et il le faisait ! Il a exploré des voies inhabituelles en programmation, fait de la recherche sur des techniques connues mais pas répandues dans les jeux (les voxels notamment) et influencé à jamais le développement de l'accélération 3D dans les jeux sur ordinateurs et donc ensuite sur consoles et ainsi de suite. S'il avait ouvert une voie différente à l'époque, la face actuelle du monde vidéoludique en 3D serait sans aucun doute différente et ça, aucun autre programmeur du monde moderne ne peut s'en vanter et ça n'arrivera plus avant quelques temps.

            En conclusion de ce pavé (désolé, je me suis déjà restreins, comme vous pouvez vous en doutez ^^), je dirais que, bien qu'aujourd'hui la différence soit moins flagrante lorsque l'on compare les jeux issus des moteurs Id Tech à ceux des autres développeurs (Crytek notamment), c'est dans le code qu'on peut se rendre compte de la puissance de l'esprit et du génie d'un mec comme Carmack. Car il a l'habitude de rendre public, sous licence GPL, le code de ses anciens moteurs graphiques et l'on peut ainsi savoir comment tel effet du jeu qui nous passionnait à l'époque avait été codé (bien sûr, tout n'est pas facile ou possible à lire, ça reste un génie, lui !) J'attends avec impatience de pouvoir tester et voir des vidéos HD de Rage, prévu dans un an, car là encore, ça va frapper fort, pas forcément au niveau du scénario mais au niveau des mirettes >< Et ce que j'aime aussi chez ce mec et chez Id, c'est le concept, très propre, du jeu qui se résume à un pack et un fichier exécutable, ça simplifie bien la création de mod et d'extensions et ça, ça butte !

            PS : Pour les passionnés, voici les infos sur le bouquin que je cite au début : "Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture". Je ne pense pas qu'il existe en français, je l'ai trouvé par hasard dans une librairie en Australie mais ça se lit très bien et c'est passionnant. Si j'ai été trop pompeux ou au contraire si quelqu'un veut plus d'infos sur ce qui est dit plus haut, vous savez où me trouvez

            Commentaire

            • Darkseid
              Boing Boom Tschak


              • septembre 2010
              • 3843

              #7
              Merci beaucoup Slakvuq de toutes ces explications. Je crois que c'est beaucoup plus clair maintenant.
              J'aime beaucoup en particulier l'aspect traitant de l'optimisation du code afin de faire fonctionner le jeu sur des bécanes moins puissantes.
              A la sortie de Wolfenstein 3d et Doom je n'avais pas ressenti l'obligation de booster le PC contrairement à l'impression que donnait chaque sortie d'Origins.
              Ça me penser au travail que font les programmeurs sur des machines non évolutives (micro familiaux ou consoles) ou les mecs finissent par faire cracher les tripes aux machines.

              NB. Gameslover t'as raison d'y croire
              sigpic

              By pressing down a special key, it plays a little melody

              Commentaire

              • Slakvuq
                Compte archivé

                • mars 2010
                • 23

                #8
                C'est marrant que tu parles des jeux Origin parce que la petite histoire veut que Carmack, dixit lui-même, s'inspire pour la création du moteur de Wolfenstein 3D, d'une démo technologique de "Ultima Underwold : The Stygian Abyss". Il a dit en la voyant : "Je peux le faire avec un rendu plus rapide" et il l'a fait, certes au détriment de quelques fonctionnalités par rapport à la démo montrée par Origin mais par contre son travail à lui tournait sur des machines moins puissantes, voir un peu pourries ^^

                Commentaire

                • Papa Noël
                  Compte archivé

                  • août 2004
                  • 231

                  #9
                  Envoyé par Slakvuq Voir le message
                  C'est marrant que tu parles des jeux Origin parce que la petite histoire veut que Carmack, dixit lui-même, s'inspire pour la création du moteur de Wolfenstein 3D, d'une démo technologique de "Ultima Underwold : The Stygian Abyss". Il a dit en la voyant : "Je peux le faire avec un rendu plus rapide" et il l'a fait, certes au détriment de quelques fonctionnalités par rapport à la démo montrée par Origin mais par contre son travail à lui tournait sur des machines moins puissantes, voir un peu pourries ^^
                  Ultima Underworld était lui en vrai 3D (le monde : pas les objets/persos qui étaient des sprites) : là c'est une grosse différence avec Doom et ça justifie peut être en partie la différence de vitesse (même si vu la vitesse, le rendu final et la taille de la fenêtre à l'écran, ça devait pas être top en programmation)

                  Commentaire

                  • Slakvuq
                    Compte archivé

                    • mars 2010
                    • 23

                    #10
                    Tout à fait d'accord avec toi, Papa Noël ! Mais les deux ont leur mérite : d'un coté, la "vraie 3D" d'Ultima (pas tout à fait quand même hein ^^ c'est le même genre que celle de Wolf3D au final) mais gourmande en ressources de part l'utilisation d'autres tricks pour les angles de mur à 45° et les différences de hauteurs de plafonds possibles dans les niveaux et de l'autre la puissante brute de la simplicité extrême du code de Wolf3D qui a rendu possible le fonctionnement sur des plateformes anciennes. Enfin je l'ai compris comme ça moi, je me trompe peut être.

                    Dans un cas comme dans l'autre, on est loin (mais pas en années) des polygones de Quake 1.

                    Commentaire

                    • Darkseid
                      Boing Boom Tschak


                      • septembre 2010
                      • 3843

                      #11
                      Envoyé par Slakvuq Voir le message
                      C'est marrant que tu parles des jeux Origin parce que la petite histoire veut que Carmack, dixit lui-même, s'inspire pour la création du moteur de Wolfenstein 3D, d'une démo technologique de "Ultima Underwold : The Stygian Abyss". ^^
                      D'autant plus que je connaissais l'anecdote et que je pensais plus à ce moment aux Ultima classiques et à Wing Commander.

                      Mais concernant la technique des voxels dont tu parlais, des jeux comme Comanche l'ont utilisé également à la même période non ?
                      Je n'ai pas l'impression en fait que ce soit spécifique au travail de Carmack.

                      Pour ce qui est de la gestion des éléments 2D de Doom ou Wolfenstein ça me fait penser également aux techniques classiques de jeux 2D comme Space Harrier.
                      C'est d'ailleurs sur cette base que fonctionne le mode 7 de la Super Nintendo.
                      Est-ce que le moteur de Doom est une version évoluée de ça ou est-ce que ça marche différemment ?
                      sigpic

                      By pressing down a special key, it plays a little melody

                      Commentaire

                      • Ian
                        Il fait chaud


                        • avril 2008
                        • 1296

                        #12
                        Pour ce qui est du moteur de Wolfenstein 3d, Carmack a utilisé une technique dite de raycasting : pour faire simple, les textures sont projetées sur une grille fixe et dont la visualisation finale dépend de l'angle et de la distance de laquelle on les voit ( si tu as l'occas de jouer à Wolfenstein 3d, utilise la souris pour te déplacer de manière très lente, tu remarqueras comment la texture se redessine au fur et à mesure de tes déplacements )

                        Le mode 7 utilise me semble t-il une méthode similaire. La 3D est complètement artificielle, dans le sens où la perspective est simulée par des calculs 2d. Cela explique d'ailleurs que dans les moteurs de FPS 2D ( que ce soit Doom ou même Duke Nukem 3d ), il n'était pas possible de regarder complètement à la verticale ( à l'instar dans Quake ), et que de ce fait, la perspective de l'image était déformée.

                        Il est à noter qu'avec la mise en libre circulation de tous ces moteurs graphiques, la communauté a gommé toutes ce type de restrictions qui à l'époque étaient impossibles à réaliser techniquement. Il suffit de regarder le Duke High Resolution Pack pour se rendre compte que ne nous n'avons plus affaire à un moteur 2d

                        Commentaire

                        • Darkseid
                          Boing Boom Tschak


                          • septembre 2010
                          • 3843

                          #13
                          Envoyé par Ian Voir le message
                          Pour ce qui est du moteur de Wolfenstein 3d, Carmack a utilisé une technique dite de raycasting : pour faire simple, les textures sont projetées sur une grille fixe et dont la visualisation finale dépend de l'angle et de la distance de laquelle on les voit ( si tu as l'occas de jouer à Wolfenstein 3d, utilise la souris pour te déplacer de manière très lente, tu remarqueras comment la texture se redessine au fur et à mesure de tes déplacements )
                          Je viens d'essayer pour Wolfenstein 3D et c'est excellent.
                          C'est là où joue également le game design car le rythme du jeu fait qu'on ne s'en rends pas compte.
                          sigpic

                          By pressing down a special key, it plays a little melody

                          Commentaire

                          • Ian
                            Il fait chaud


                            • avril 2008
                            • 1296

                            #14
                            Ce qu'on voyait surtout à l'époque, c'était toutes les astuces qu'utilisaient les jeux pour dépasser les contraintes techniques, ce qui donnaient des visuels vraiment originaux.

                            Avec l'arrivée de Direct X et de l'Open GL, les rendus se sont unifiés selon un même procédé, ce qui explique pourquoi les jeux d'aujourd'hui sont très similaires en terme de rendu d'image ( sans compter les nombreux usages des différents moteurs graphiques ). Il n'y a plus réellement de technologies dédiées comme il y a une dizaine d'années, au point qu'on voit Nintendo s'équiper chez ( feu ) ATI et Macintosh chez Intel...

                            Commentaire

                            • Darkseid
                              Boing Boom Tschak


                              • septembre 2010
                              • 3843

                              #15
                              C'est de cette uniformisation que se plaignent les graphistes des jeux 3D.
                              Ils sont limités dans la structure des objets 3D et ne peuvent exprimer leur créativité.
                              DirectX 11 est sensé changer ça.
                              Reste à savoir si on va vers une nouvelle uniformisation ou si des designs 3D originaux vont éclorent
                              sigpic

                              By pressing down a special key, it plays a little melody

                              Commentaire

                              Chargement...