
Nous 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.
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
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
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 -
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.
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.
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
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
...