Unity_Logo

Quelques analyses de jeux
important.jpgNous allons analyser succinctement les techniques graphiques mises en oeuvre sur pas mal de jeux.

Il y aura peu de jeux next gen, deux raisons :

1 - Les nouvelles plateformes tendent à s’homogeneiser au niveau HW et moteur, par consequence, les optims graphs tendent à être les mêmes.

2 - il est plus difficile d'analyser des techniques et optims graphiques sur les nouvelles plateformes. Sans une doc, impossible de savoir s'il s'agit d'un moteur qui utilise le deferred shading ou non pas exemple, à une certaine distane on ne peut pas faire la différence entre normal ou parallax map, difficile de faire la diférence entre des lightmaps et des ombres temps réel si celles ci ne sont pas animées, etc...

L’interêt d’analyser les jeux d’anciennes plateformes : les optims mises en place influencent directement le graphisme et elles sont assez aisément identifiables. Beaucoup de ces optims et techniques sont encore valables sur les nouvelles plateformes. Les plateformes portables sont encore des moteurs de rendu traditionnels et les optims/techniques analysées ici y sont donc directement applicables.

Une technique/outil graphique peut aussi être une optim en soi.

Table des matières

1. DS
2. Iphone
3. PSP
4. GameCube
5. PS2
6. Wii(ça va venir)
7. PS3
8. XBOX 360

DS
Zelda Phantom Hourglass

Environement moins sectorisé que le SpiritTracks : probablement plus répétitif par limitation du nombre de textures - Ombres probablement en vertex paint - Ombres sprite alpha sous les arbres - Le point filtering des textures s’accorde bien avec la vue isométrique - Textures transparents en clip out(arbres, herbes, details...) - persos éclairés en temps réel  




Zelda Spirit tracks

Lighting temps réel sur les persos - les elements non animés sont anti-aliasés - 3d sur les deux écrans pour les boss, environnement bac à sable - briques - utilisation de sprites - A remarquer : lors des vues iso, textures du sol tilées et définies. Lors des vues pers, textures du sol peu definies, tile non présent, cela évite le problème d'écrasement des pixel avec la perspective. Ce choix est du aux limitations du filtrage des textures(point uniquement) - A noter : les ombres du boss et du train, ce sont des sprites alpha orientés (surtout train) -




Okamiden

Methode de rendu des edges non conventionnelle, geometry + textures peintes - utilisiation des sprites, alpha en masse(arbres, plantes, fleurs...) - persos non lightés en tps réel - Toujour environnements type bac à sable - a remarquer : sur toutes les images, il y a une ombre, sauf quand sur les pierres en clip : soit problème de tri, soit problème de mesh -



Ganbare Goemon

persos 3D, mais le reste du décors est probablement des tex avec alpha plaquées sur des faces


Iphone
Cro-Mag-Rally, ou le mauvais exemple

Pas de shading sur les vehicules.
Tex etirées dans tous les sens.
Ils ont mis plus de resolution sur les panneaux du bord que sur la route. C'est illogique.


MiniGore


Utilisation de sprites, hybride 2d/3D



PSP
Jeanne D’Arc

Full 3d, même le décors - multiTex - iso - cam contrainte



Final Fantasy VII

Bac à sable combats - LOD switch persos entre ciné et gameplay - bcp d’ennemis : caméra contrainte - Boss : décors vide - stencil shadows - multiTex -



Metal Gear Solid Portable Ops

Lights temps réel pour se cacher, mais pas d’ombres tps réeles - on peut remarquer un problème d’echelle sur une des images -




GameCube
Resident Evil 4

Secto à mort. Que des cabanes clonées, etc...

http://www.youtube.com/watch?v=-hLnSGzKc4o&feature=related

(Img Moines) PS2. Couloir, les mêmes, skin, anim, textures 4bits.
(Img Boss) PS2 et GC. Dans les deux, on a des palissades pas chères pour laisser de la place mem au boss.
(Img Monstre explo) Une seule tex au sol, peu d’autres, toutes probablement 4bits, peu de nuances de couleur.


Zelda Windwaker

RT lights sur les persos uniquement
Vertex paint lights
Ombres integrées dans la texture
Peu de textures, mais sont de grande taille
Important : La repetitivité des textures et des éléments sont un parti pris graphique mais sont aussi une optimisation.
A noter : PB de repartition des textures, trop floue.



PS2
Ico

Utilisation de blocs clonés, en BG arbres plaques alpha. Sur le pont par exemple, ce sont des blocs clonés, quelques un auraient pu être spécifiques et legerement abimés pour casser la répétition.
On peut remarquer l’integration des herbes, la lumière peinte dans les textures, les ombres en vertex paint.


We love Katamari


Un jeu dont le parti pris graphique est intimement lié à la plateforme.
Utilisation de Clones a gogo(grâce au bus de la PS2), peu de textures(PS2 peu de memoire), alpha en clipping(choix esthetique mais aussi optim)



King Kong


Utilisation des sprites a gogo, lumiere peintes, monstres et persos lights tps reel, multitexturing, couleurs indexées 4bits, bonne integration des herbes,  réut a donf(ex lianes), BG fakes,







Okami


Streaming textures et modeles - utilisation intensive du moteur de sprite de la ps2 - utilisation du frame buffer pour effet brosse, plusieurs couches de tris noirs avec un offset - utilisation de textures à palettes indexées pour economiser memoire : palettes camailleux, sur  la Wii, c’est plus saturé, plus riche -  secto, grottes, etc -



Silent Hill 2


Petites pièces séparées par des loadings : Eclairage temps réel et textures de bonne qualité, double couche avec crade, ombres portées
En exterieur : textures plus petites, fog pour secto, pas d’integration, mieux vers les magasins
Choix important : caméra contrainte, on peut focaliser le matos.



Shadow of the colossus


Shading par facet, pas de smooth.
Effets temps réel rendus possibles par les images rendues puis storées dans le Buffer et la vitesse du bus.
Pas de loadings, tout est streamé de la mémoire.
Par manque de mémoire, pas de LOD.
Exemple du BG : Le rendu du background en super low resolution, du mid distance en low resolution, les deux sont mappés sur des plans et peuvent recevoir des effets puisque enregistrés dans le buffer.
Exemple pour le bloom(en gros) :
1 - Rendu du Background en super low, BG distance définie par des bounding box de secto
2 - Rendu du Foreground et d’un mask
3 - Reduction en 64*64 du mask et storage
4 - Compositing BG + FG + Blurred Mask en Add
Pour le fur, utilisation de multilayer alpha tex + tex alpha croisées

Voir le doc plus en détails sur le jeu.




PS3
UNCHARTED, un autre pas trés bon exemple

Jeu charnière old/next gen. Beaucoup d’erreurs sur l’implementation des outils Next Gen.
Artistiquement pas trés maîtrisé : integration de la vegetation avec le sol inexistante, roches qui brillent, erreurs de normal maps, mauvaise repartition du matos, texture repetitives qui repetent pas...



Kill Zone 2


Toutes les techniques devenues classiques de NextGen, mais mieux gérées que dans Uncharted : pixel shaders, normal maps, RT lights, probablement du parallax localisé, etc…
Irradiance volume pour la GI, Deferred Shading

On peut noter qu’il est difficile sur les plateformes NextGen de connaître les méthodes utilisées pour l’optim lorsqu’elles sont bien implementées. Une lightmap et une ombre temps réel, si elles ne bougent pas, il est difficile de faire la différence. Les deux methodes se valent, l’une pour sauver du temps de CPU, l’autre pour sauver de la mémoire et de la bande passante.





Resistance Fall of Man


Lightmaps partout, pour chaque objet, la taille de la lightmap est définie.
Tous les objets ne sont pas lightmappés. Ils ont aussi utilisé du vertex light quand la géométrie de l’objet le permettait.
Avec les lightmaps ils ont baké la GI, l’ambOcc, la radiosité...
Localement, ils ont utilisé des lights RT.
On peut remarquer l’utilisation de plaques de crade alpha. De double couches.





Metal Gear Solid 4


En particulier, utilisation d'irradiance volumes



XBOX360
Lost Planet

Shadow maps avec haut niveau de sampling pour generer les ombres de la map ET des objets dynamiques.
Il semblerait que l’ambiant occ soit bakée au vertex


Resident Evil 5


Irradiance Volumes
 





important.jpg

...