Explications techniques
|
| |
| |
| Comme je l'ai dit dans l'analyse du jeu, la réalisation technique de
Deus Ex 2 est nettement insatisfaisante. Mais il est nécessaire de savoir
pourquoi. |
| La première réponse, c'est que le jeu a été simplifié pour convenir à
une utilisation sur console Xbox. Ca on l'a déjà dit plusieurs fois, c'est
surtout valable pour les menus et autre configurations du joueur. |
| |
| Je vais donner ici des explication plus détaillées sur le pourquoi de
la mauvaise qualité des niveaux et graphisme surtout. |
| |
| Les textures : |
| |
| Ce qui vous aura frappé en premier lieu, c'est la faible définition des
textures. On se trouve en présence de textures de petite taille alors que
les jeux actuels utilisent de grandes textures qui offrent un réalisme
extraordinaire. On n'est pas loin de la qualité photographique très souvent.
Une haute résolution, par exemple 1024x1024 permet d'avoir un piqué et
un contraste étonnant des surfaces. Une faible résolution oblige le dessinateur
du niveau d'étendre la texture sur la surface, ou de faire un damier. |
| Si on étend, on aura un aspect flou à cause du filtrage
bilinéaire ou
tri linéaire qui va lisser les pixels. De loin l'apparence sera
correcte, mais à courte distance on aura un aspect de carton pâte
très
peu réaliste. |
| Si on fait un damier en répétant la texture, de près
ce sera convenable, mais à distance on remarquera le damier. |
| |
| C'est la raison pour laquelle les jeux utilisent des textures toujours
plus grandes. Mais bien sûr il y a des limites fixées par le matériel.
En effet pour pouvoir afficher une surface en 3 D temps réel, la carte
vidéo doit stocker toutes les textures visibles en mémoire, sinon le temps
d'accès serait exagérément long et le framerate descendrait très bas. |
| Autrefois avec les cartes vidéo 3DFX par exemple on était limité en texture
par la taille de la mémoire vidéo et par la taille maximale de texture
que la carte pouvait traiter. |
| En ce temps là une texture ne pouvait pas dépasser la taille de 256 x
256 pixels et en plus on ne pouvait pas utiliser beaucoup de textures de
cette taille. |
| La raison pour ceci c'est que les cartes vidéo 3DFX Voodoo1 avaient
de 4 à 6 meg de mémoire vidéo. Ce qui signifie que
la carte devait réserver
2 meg pour enregistrer l'affichage de l'image finie à envoyer au
moniteur et pour les buffers intermédiaires. |
| Ceci laissait seulement 2 à 4 meg de mémoire pour les textures. C'est
pour cette raison qu'on utilisait au début des jeux vidéo des textures
8 bits de petite taille. Par exemple une texture de 256 x 256 en 8 bits
(256 couleurs) utilise 65 ko de mémoire. Ce qui signifie au maximum 30
textures de 256 x 256 pour un niveau. C'est très peu, c'est pourquoi la
plupart du temps les textures étaient de taille 64 x 64 en moyenne. |
| Même avec ces limites, on ne pouvait pas avoir une résolution d'affichage
en 3D accélérée avec une Voodoo 1 de plus de 640 x 480 en 16 bits. |
| Avec l'arrivée des Voodoo 2 qui avaient 8 meg de mémoire ou pouvait avoir
4 meg de textures et une résolution de 800 x 600 en 16 bits. En reliant
deux cartes ensemble on avait 8 meg pour les textures et un affichage maximum
de 1024 x 1024 en 16 bits. |
| Mais de tels installations étaient très rares et très chères à l'époque,
c'est pourquoi les jeux étaient volontairement bridés à un maximum de 2
à 4 meg de textures. |
| |
| Les jeux des débuts de l'accélération 3D comme quake et quake 2 ou Jedi-knight
utilisaient des palettes de couleurs. Par exemple Quake 2 utilisait une
palette de 256 couleurs pout tout le jeu et Jedi-Knight une palette de
256 par niveau dont la moitié des couleurs étaient fixes. |
| C'est pourquoi Quake 2 avait cette couleur générale brunâtre,
car il s'agissait de représenter des décors métalliques
rouillés pour la plus part. |
| Il ne faut pas oublier qu'à l'époque les possesseurs
de vraies cartes 3D comme la Voodoo 1 étaient assez rares. Il fallait
que les ordinateurs plus anciens puissent aussi faire tourner le jeu. |
| |
| Même des jeux plus récent comme Unreal et Half-Life avaient de petites
textures de 256 x 256 8 bits au maximum. Par contre chaque texture pouvait
avoir sa propre palette ce qui permettait beaucoup plus de couleurs dans
un niveau. C'est pour cette raison que les graphismes de ces deux jeux
étaient vraiment extraordinaires au moment de leur sortie. |
| On avait gardé la limite de 256 x 256 8 bits à cause des ancienne carte
3DFX et autre carte bas de gamme. |
| |
| C'est surtout Nvidia avec la carte TNT qui utilisait l'AGP et qui avait
16 meg de mémoire qui a permit le développement de plus grandes textures. |
| En effet les cartes vidéo 3D on rapidement évolué et on eu 16, 32, 64,
128 et même 256 meg de mémoire maintenant. |
| En fait l'AGP avait aussi pour but d'utiliser la mémoire centrale
de l'ordinateur pour compléter la mémoire de la carte, mais
c'est bien plus lent! |
| |
| Tout cela a permis aux jeu d'utiliser de plus grandes textures en plus
grand nombre. Les jeux récents utilisent majoritairement des textures
de 512 x 512 32 bits et jusqu'à 1024 x 1024. Normalement on peut
aller encore plus haut, mais sans obtenir un résultat réellement
meilleur. |
| |
| Avec l'évolution de DirectX, on a également introduit la
notion de shader. Ce sont des fichiers de configuration de texture qui
leur donnent des propriétés
afin de pouvoir appliquer plusieurs couches de textures avec des transparences,
des déformations, des luminosités. |
| |
| La combinaison de grandes textures et de shaders permet des effets très
réalistes. On peut appliquer des reflets, des ondulations, des brillances,
du relief à des surfaces planes et immobiles. |
| |
| |
| Mais alors pourquoi on n'a pas tout cela dans Deux Ex 2 qui sort fin
2003 à l'époque de DirectX 9 et de cartes vidéo comme
les Radeon 9800 ou Geforce FX ?? |
| |
| Tout simplement parce que le jeu a été développé spécialement
pour la Xbox qui a peu de mémoire vidéo et qui ne supporte
pas DirectX 9. Cette console peut utiliser le multitexturing avec les shaders
pour avoir du bumpmapping limité et encore d'autres effets, mais
seulement avec des textures de faible taille. |
| Il aurait été bien plus sage de créer le jeu pour PC avec comme d'habitude
plusieurs échelles de textures qui sont utilisées selon les performances
de la machine. |
| Par exemple Soldier of Fortune 2 a quatre jeux de textures, de très
grandes pour les machines haut de gamme, deux tailles moyennes et une petite
pour les machines anciennes. |
| |
| De cette façon il suffisait de mettre par exemple un jeu haute résolution
pour les PC haut de gamme et un autre pour l'usage Xbox et PC bas de gamme. |
| |
| Lorsqu'on voit ce que peut donner de grandes et belles textures comme
résultat avec le même moteur de base, on est très déçu par Deus Ex 2. Il
suffit d'avoir joué à Unreal Tournament 2003 ou Unreal 2 pour le comprendre. |
| |
| Heureusement Deus Ex 2 utilise certains effets de shader comme le bumpmapping
qui ajoute du relief aux surfaces. Ils ont utilisé cet effet sur
les modèles
de personnages. C'est une façon d'augmenter les détails du
modèle en gardant
un nombre de polygones relativement bas. |
| Mais bizarrement ces effet de bumpmapping / normal mapping introduisent
un effet de lissage important. Ca fait disparaître les angles des polygones
et donne un éclairage naturel avec des ombres régulières, mais la conséquence
c'est que la texture semble floue et sans piqué. On obtient des surface
sans granulosité, bien trop lisses et régulière, par exemple les visages
sont comme des masques et ont l'ait peu naturels. |
| Vues de près les petites textures très lissées sont très floues et le
résultat est très mauvais sur les corps avec des détails très grossiers. |
| Les visages ont une allure de poupée de cire figée sans expression, on
voit seulement les lèvres qui s'animent lors de discussions. |
| |
| |
| Les éclairages : |
| |
| Ce qui est très bien fait dans Deus Ex 2 ce sont les éclairages. Ils
ont choisi de ne mettre que des éclairages dynamiques. Ca veut dire qu'il
n'y a pas de précalculation des éclairages des niveaux. |
| |
| C'est une excellente idée, mais les conséquences sont très lourdes. En
effet si on obtient de très jolis effets d'ombres mobiles, de projections
de lumière et d'ombres sur les sols et les murs, c'est au prix d'un temps
de calcul très important. |
| |
| C'est la raison pour laquelle les niveaux sont ridiculement petits, ils
ont essayé de limiter au maximum la visibilité ce qui rend les niveaux
très claustrophobiques. |
| Ils sont composés la plupart du temps de petits espaces encaissés avec
des chicanes pour les liaisons. Ca limite la visibilité à un ou deux volumes
qui sont également de conception très cubique pour avoir de grandes surface
planes plus faciles à traiter qu'une multitudes de facettes. |
| |
| Le résultat est très décevant, on a un sentiment
d'oppression, on manque d'espace. On a l'impression de jouer une pièce
de théâtre sur une petite
scène avec des décors étriqués. |
| Une autre conséquence ce sont d'incessants changement de niveaux. Une
mission se passant dans un espace très petit impose plusieurs changements
de niveaux. Par exemple, explorer un quartier d'une ville signifie qu'on
a une ruelle étroite une petite place entourée de hauts murs, on change
de map pour la rue suivante et ainsi de suite!! |
| Si au moins les temps de chargement étaient très courts
comme dans Half-Life, pas de problème, mais là c'est assez
long parfois et souvent le jeu se plante au chargement et on retourne à windows. |
| |
| Je ne sais pas si ce sont ces lumières dynamiques en elles même
qui causent ce ralentissement très important dans le framerate ou
si c'est une très
mauvaise optimisation du calcul des lumière pour le PC. |
| Il faut dire que même avec de très petits niveaux et peu de modèles
animés, on a un framerate ridiculement bas. Avec un PC composé d'un CPU
de 3 gigas, de 1024 meg de RAM DDR 400 et d'une carte Radeon 9700 pro,
on ne peut pas dépasser 1024 x 768 sinon dans certains niveaux c'est injouable
( moins de 10 FPS). |
| Ce n'est pas une question de drivers ou de problème de hardware,
tous les autres jeux récents tournent sans aucun ralentissement
en 1280 x 1024 avec de très grands niveaux, de nombreux modèle
plus complexes et d'excellents
éclairages dynamiques !! |
| |
| Je n'ose pas imaginer ce que ça doit donner sur un PC standard, on est
probablement forcé de jouer en 640 x 480 en limitant les détails et effets
au maximum. |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |