Alpha Waves: une étude de cas sur un jeu du debut de l’époque de la 3D

Les débuts de la 3D

Alpha waves : une etude de cas

Vincent DUPONT DE DINECHIN | B1

 

Sommaire

  1. L’origine des graphismes 3D dans le domaine de l’informatique
  2. Alpha Waves : Une étude de cas d’un jeu de l’époque d’origine de la 3D
  3. Le lien de ce jeu avec les autres de l’époque
  4. L’évolution des graphismes 3D

 

A notre époque, la 3D dans l’informatique n’est plus particulièrement quelque chose d’unique. Il existe de nombreux jeux, des films ou des séries, fait entièrement à partir de modélisation 3D. En un sens, pour notre génération, ceci parait comme quelque chose de « facile », de normal. Cela rendrait difficile d’imaginer a quel point cette technologie, a sa création, était beaucoup plus limitée. Dans cet article, on va observer comment cette technologie était durant les années 1990 grâce à une étude de cas avec un jeu programmée à l’époque : Alpha Waves, publié par Infogrammes et programmé par Christophe Dupont de Dinechin. Ceci est une étude de cas assistée par des questions posées au développeur de ce jeu, et de son opinion de la technologie de l’époque et de ses expériences dans la programmation de ce jeu, qui sera utilisée pour étudier la technologie de l’époque.

La technologie de la 3D : Une étude de cas d’un jeu au commencement de cette ère

L’origine des graphismes 3D dans le domaine de l’informatique

En suivant un raisonnement logique, cela parait normal que l’on tenterai de programmer de la 3D en informatique éventuellement. Le monde tel qu’il nous entoure est évidemment en 3 dimensions, donc il se fallait qu’éventuellement il y aurait des tentatives d’émuler cet environnement sur un ordinateur. Cependant, les programmateurs faisaient face à un problème majeur : il s’agit ici d’émuler un environnement 3D sur une surface 2D. En effet, l’écran lui-même ne peu pas véritablement être 3 dimensionnel, considérant qu’il s’agit la d’un assortiment de pixels sure une surface plane. C’est donc ici que le premier problème s’imposait : L’ordinateur doit donc faire des calculs lui permettant de deviner comment un objet 3D se comporterait suivant des mouvements distincts. Il s’agissait la de trois types de mouvements : La rotation, la translation, et la perspective.

Voici donc la ou venait la difficulté dans le développement de la technologie de 3D : dans les calculs effectués pour émuler des objets 3D, et en particulier dans la capacité de l’ordinateur a effectuer ces calculs. Après tout, il est important de se rappeler que les ordinateurs de l’époque étaient beaucoup plus faibles et lent que maintenant. Une comparaison pouvant être donnée pour représenter l’échelle de grandeur la vitesse d’un ordinateur de l’époque est que, en traduisant leur vitesse de calcul en vitesse de déplacement, en le temps qu’il prendrait à un ordinateur des années 1990 pour « parcourir un mètre », un de notre époque pourrait « aller de Lyon à Paris ».

Cette distinction entre la vitesse de calculs des ordinateurs de l’époque avec celle des plus récente est extrêmement importante car c’est de là d’où vient l’une des limitation dans la progression des graphismes 3D. En effet, en étant moins puissant a l’époque, ces ordinateurs pouvaient calculer beaucoup moins de graphismes 3D et leur déplacements suivant ces 3 types de mouvements précédemment mentionnés. Additionnellement, l’espace de stockage présent dans un ordinateur était tout aussi limité, résultant donc en des résolution d’écran beaucoup plus faibles, et des palettes limitée de couleurs. Par exemple  l’Atari ST possédait des résolution de 320 x 200 px a 16 couleurs ou 640 x 200 px a 4 couleurs par exemple, pour l’écran en couleur, et 640 x 400 px pour l’écran monochrome. La photo ci-dessous montre l’ordre de grandeur de résolution, indiquant à quel point les ordinateurs de l’époque pouvaient être peu performant graphiquement quand comparé à ceux de notre époque

Cependant, un aspect des graphismes 3D qu’il faut aussi adresser est celui des polygones. En simple, les polygones sont des triangles utilisés pour représenter les facettes des modèles. Le plus de polygones étant présent dans un modèle, le plus détaillé il sera, mais aussi le plus puissant l’ordinateur l’affichant devra être. C’est donc pour ça que les modèles de l’époque étaient habituellement des formes polygonale plutôt simples. Tel qu’ils sont aujourd’hui, les modèles possèdent assez de polygones pour qu’ils soient plus ou moins invisibles et qu’il ne s’agisse plus vraiment d’un problème quelconque, mais a l’époque, la moindre capacité d’augmenter le nombre de polygones présents sur l’écran sans faire baisser la framerate de l’ordinateur était considéré comme du progrès important.

Une limitation de l’époque était aussi présente dans la capacité d’affichage des surfaces de ces modèles. On peut constater que beaucoup de modèles de l’époque possède des faces monochromes, n’ayant aucun design particulier autre qu’une couleur unique, appartenant a la palette utilisée pour l’écran. Ceci est a nouveau causé par des limitations de l’époque. Tout simplement, calculer trop de pixels de couleurs différentes sur un polygone prenait tout simplement trop de mémoire pour pouvoir être calculer et rester performant simultanément.

 

 

Alpha Waves : Une étude de cas d’un jeu de l’époque d’origine de la 3D

La question qui sera probablement demandée immédiatement est : « qu’est-ce qu’Alpha Waves et pourquoi est ce que je l’utilise comme étude de cas pour étudier les graphismes 3D de l’époque ? ». Alpha Waves est un jeu programmé en 1990, a une époque ou les graphismes 3D existaient, mais étaient encore peu courant pour l’époque, et visiblement beaucoup plus limités tel qu’ils sont maintenant. Il est même notable qu’à l’époque, beaucoup de jeux utilisaient un mix d’objets 2D dans un environnement 3D pour donner une simulation de 3D plus performante que des graphismes purement 3D, tel que le jeu maintenant devenu iconique : Doom

L’intérêt d’Alpha Waves vient justement du fait qu’il s’agit du premier jeu à « combiner des graphismes 3D a ombrage plat sur 6 degrés avec des interactions entre les objets 3D présents dans le jeu », tel qu’il est décrit en ligne. Pour ceux qui ont une connaissances minime envers les technologie de graphismes, ceci pourrait paraitre comme du charabia. Donc, pour permettre une compréhension plus facile, il faut savoir que l’ombrage plat, aussi connu sous le nom d’ombrage de Lambert ou Flat Shading en anglais est une technique de simulation de luminosité calculant comment la lumière de la source lumineuse de l’environnement atteint chaque face d’un polygone, avant de donner cette luminosité de façon uniforme sur toute la face. Tandis que les 6 degrés mentionnés ici se réfèrent au 3 types de mouvements mentionné auparavant : Rotation, Translation, Perspective. Pour donner une perspective, ces six degrés peuvent être perçus comme les mouvements vers l’avant/l’arrière, la gauche/droite, le haut/bas, et toutes les rotations entre ces différentes directions.

Maintenant, pour parler du jeu en lui-même, je pense qu’il serait un peu intéressant de parler de l’histoire de sa création et d’observer comment il nous permet d’avoir une idée de la technologie de l’époque. L’inspiration de Alpha Waves fut le jeu Starglider 2, un jeu de tir en première personne. L’idée de vouloir expérimenter avec la 3D nécessaire pour programmer ce jeu est ce qui mena à la création d’Alpha Waves. Pour donner une idée des graphismes 3D de l’époque, 10-15 fps était considéré rapide et ressemblait à ça

Ce jeu avec pour but a l’origine de surpasser  Starglider 2 en quelques moyens différents, qui furent éventuellement surpassés : Remplir deux tiers de l’écran, ce qui fut même surpassé quand le jeu fut capable de s’afficher en plein-écran, avoir 15 objets sur l’écran, le jeu final pouvant en avoir jusqu’à 50, et tenter de rester au-dessus de 10 frames par secondes.

En réalité, ce jeu a réussi a réussi à être un « progrès » par rapport a des jeux tel que Starglider 2 non pas a cause d’une augmentation de technologie, étant sorti sur les mêmes consoles, l’Amiga et l’Atari ST, mais grâce a ce que le programmateur appellera de la « triche », utilisant des raccourcis pour permettre à l’ordinateur de prendre moins de mémoire et exercer des calculs plus faciles pour afficher les graphismes 3D, ainsi que traverser un problème majeur, étant que le processeur de l’Amiga et l’Atari ST, le Motorola 68000 était incapable d’utiliser des variables Float. Pour donner un exemple, pour éviter de devoir coder les calculs permettant de savoir où était positionné le joueur sur l’écran par rapport au blocs, devant ou derrière, il a décidé de prendre en compte la logique que l’avatar sera toujours le centre de l’écran, et ne pourra jamais avoir un cube le bloquant, et a donc demandé à l’ordinateur de le « dessiner » en dernier après que tout le reste fut dessiné sur l’écran, lui permettant de toujours être sur le premier plan.

D’autres raccourcis furent ce qu’il appelle maintenant obsolète pour notre époque, tel que l’idée de calculer en avance les déplacements sur les axes X, Y et Z, enregistrer tous les étapes du déplacements des objets sur un tableau temporaire, afin d’ensuite modéliser les objets 3D en connectant ces points et les remplissant. Dans les mots du développeur, maintenant ça pourrait paraitre comme un algorithme plutôt ridicule, mais a l’époque, dans ses yeux, c’était rapide.

Un autre raccourci utilisé dans le codage de ce jeu était utilisé pour compenser a l’inhabilité de la console du jeu, l’Atari ST, possédait comme processeur le Motorola 68000, qui était incapable d’utiliser des variables Float, ce qui rendait incapable de calculer un cosinus, les variables permettant de coder une rotation de modele. Une autre « triche » fut utilisé pour subvenir à ce problème, l’utilisation, à nouveau, d’information pre-calculée. Cette fois ci, il s’agissait d’une table de sinus/cosinus retournant des amplitudes d’entiers, allant de -32767 à 32767. Utilisant cette table d’entier, le jeu pouvait multiplier les coordonnées à 16 bits avec l’amplitude a 16 bits,  afin d’obtenir des coordonnées a 32 bits. En utilisant une commande swap, il était possible d’obtenir des coordonnés a 14 bits qui pouvaient ainsi être utilisé pour simuler les coordonnées qui auraient été obtenus avec un cosinus. Il est important de mentionner un tel raccourci car, de notre jour, un processeur normal pourrait parfaitement calculer une rotation d’un modèle 3D sans nécessiter de calculs additionnels, cependant a cette époque pour en obtenir un il fallait créer une table additionnelle de variable purement pour calculer une rotation.

Alpha Waves, a notre jour, n’est probablement plus un jeu particulièrement connu, car son impact était relativement restreint, malgré les développements qu’il présentait. Cependant ce jeu a quelques liens avec des jeux des années environnantes, à la fois avant, dans son origine, et après, dans l’impact qu’elle a eu, et je pensais amusant d’observer ces liens.

 

 

 

 

Le lien de ce jeu avec les autres de l’époque

En un sens, ce jeu, bien qu’il ne soit pas particulièrement connu maintenant, a été bien unique à sa sortie. En effet, ce jeu est né de l’idée d’essayer d’expérimenter sur comment permettre à un ordinateur d’afficher plus de graphismes 3D tout en gardant la même vitesse, voir aller plus vite, ceci c’étant déroulé grâce à de multiples « triches », dans les termes du programmateur a l’origine du jeu. L’inspiration pour la création de Alpha Waves fut, comme mentionné précédemment, Starglider 2, un jeu déjà considéré comme performant à l’époque. Ce jeu fut l’inspiration d’Alpha Waves par un désire d’expérimenter sur la technologie qui lui avait donnée vie, et surtout, de voir s’il était possible de la surpasser.

Alpha Waves, à la base ne fut même pas conçu pour être un véritable jeu a accès publique, n’étant qu’un test de technologie qui attira l’attention d’Infogrammes qui développa donc ce projet pour le transformer en un véritable jeu qui sorti sous le nom d’Alpha Waves, ou Continuum

De 1988 à 1990 a 1992

https://www.youtube.com/watch?v=sg3uQM83dl8
https://www.youtube.com/watch?v=bF_a6qMeWP8
https://www.youtube.com/watch?v=iSwYY2eoKhQ

Directement, ce jeux pouvait être parmi tant d’autre. Peut-être surprenamment rapide et performant pour un jeu sorti en 1990, mais par lui-même il ne semble pas avoir eu tant d’impact que ça. Cependant de manière plus privée, ce jeu est lié a la création de Alone in the Dark, un jeu crée par Frederick Raynal, qui travaillait a Infogrammes a l’époque et fut l’un des participants dans le développement de Alpha Waves. En particulier, Frederick Raynal fut celui qui proposa a Infogrammes de créer une version pour PC du jeu, et le développeur derrière cette version. Le jeu qu’il créa ensuite, Alone in the Dark, a eu la particularité d’être l’un des premier à utiliser des avatars entièrement 3D pour le personnage jouable, et quand demandé à ce sujet, il a admis que le travail qu’il a performé sur Alpha Waves fut une inspiration sur le développement de ce projet. Frédérick Raynal quitta ensuite Infogrammes et créa sa propre entreprise, Adeline Software International, ensuite renommé No Cliché, afin de produire les suites d’Alone in the Dark, ainsi que multiples autres jeu, et en 2014, il fonda a nouveau un autre studio, nommé Gloomywood qui semble avoir pour but de produire des jeux d’horreurs, une passion de ce développeur.

Un détail amusant à noter en observant le jeu Alone in the Dark est qu’il n’est sorti que 2 ans après Alpha Waves, montrant ainsi comment les graphismes 3D évoluaient rapidement a l’époque, en deux ans passant de polygones monochromes à des représentations d’objets réels dans un environnement plus détaillés.

Ce développement est très probablement dû aux progrès de la technologie permettant une vitesse de calcul plus rapide chez les ordinateurs. Afin de comprendre comment les graphismes de tel jeux ont pu évoluer autant en seulement deux années, il serait intéressant de se pencher sur ce qui mène a ce développement.

 

L’évolution des graphismes 3D

Maintenant qu’on a pu voir a quoi la technologie de l’époque ressemblait, il faut se demander ce qui est arrivé pour qu’une telle technologie progresse à cette vitesse. En une trentaine d’année, on est passé de modèles possédant seulement une dizaine de polygones, a des modèles dans les milliers de polygones, avec en général des graphismes beaucoup plus détaillés et potentiellement réaliste.

Il est donc logique de se mettre à étudier ce qui est arrivé a la technologie pour permette un tel développement, et ce sur quoi on devrait se pencher n’est pas la technologie du software en premier, mais celle du hardware. Après tout, comme mentionné précédemment, l’un des obstacle auquel une telle technologie faisait face fut l’espace mémoire limité ainsi que la vitesse de calcul. Et la pas besoin de trop chercher, il se trouve que l’évolution de la technologie du hardware permettent au développement de ces deux furent expliqué par la Loi de Moore

La loi de Moore

Si on souhaite parler de l’évolution de graphismes 3D, la loi de Moore sera l’un des éléments les plus important à mentionner. Alors, qu’est ce donc que la loi de Moore ? Écrite par Gordon E. Moore, l’un des trois fondateurs d’Intel, cette loi postule que le nombre de transistors présent dans un microprocesseur double de façon exponentielle tous les 18 mois, tandis que le coût logiquement diminue.

 

Cette loi telle qu’elle est présentée est importante pour le développement des graphismes 3D, car ces derniers sont limités par deux facteurs majeurs : la vitesse de calcul, et la mémoire de l’ordinateur, ce qui peut être logiquement amélioré par la complexification des technologies présentes dans les ordinateurs. L’augmentation du nombre de transistors tel qu’il est affiché par la loi de Moore est donc intrinsèquement lié au développement de ces graphismes.

Additionnellement, les technologie de stockages d’information ont pu devenir plus performante au fil des années. Auparavant, les données pouvaient être stockées sur des cassettes, qui étaient beaucoup plus lentes pour stocker et lire les informations, ainsi que possédaient moins d’espace de stockage. Puis arriva les disquette en 1990, et vers notre époque, les informations sur ordinateurs sont plus souvent stockées sur des cartes mémoire qui, malgré leur taille beaucoup plus petites, comme on pourrait s’attendre avec le progrès de la technologie, sont capable de stocker et d’accéder a des données beaucoup plus rapidement.

Conclusion

Les graphismes 3D tel qu’on les connait aujourd’hui sont véritablement à des années lumières de différence avec les graphismes qui existaient à l’époque où de tels graphismes commençaient tout juste à naitre. Comme nous avons pu constater, un jeu tel qu’Alpha Waves n’a été aussi performant que grâces a de nombreux raccourcis effectués durant la programmation du jeu, tandis que tout ces raccourcis seraient considérés comme obsolètes à notre époque, dû au fait que la technologie actuelle est tellement performante que tous les calculs ne pouvant être effectués qu’au travers de ces raccourcis est maintenant capable d’être calculée quasiment instantanément.

 

Bibliographie

 

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *