Dernière mise à jour : 28/10/2019 à 13h35

Current Project : Who knows?

Index des tutoriaux

De la profondeur d'un terrain


Depuis qu'Unreal 2 a introduit cet énorme truc qu'on appelle communément le « générateur de terrain », le premier pèlerin venu se sent absolument débordant de talent et n'hésite plus à faire un vague terrain (ou un terrain vague), à y disséminer des armes et à le diffuser comme son chef d'½uvre.

C'est sûr que ça fait envie. L'apparition du générateur de terrain a permis de créer des maps assez naturelles en très peu de temps, et ce fait est encore accentué par la génération d'heightmap sous UT2003 et UT2004. Malheureusement, tout comme un assemblage de cubes ne marche pas pour une map en intérieur, un grand terrain ne suffit pas à créer une bonne map en extérieur, contrairement à ce que semble croire la majorité.

Ce qui suit est exprimé pour les terrains d'UT2003, UT2004 et Unreal2 mais peut aussi s'appliquer aux terrains en BSP d'Unreal et d'UT99.

Le premier défaut de ce genre de map est le terrain plat. Des terrains au relief pas assez accentué, laissant les joueurs accéder au sommet des collines et voir derrière tous les obstacles prévus pour gêner la vue.


terrain trop plat

De nos jours, ce genre de chose a plutôt tendance à s'inverser pour donner des maps largement trop accidentées, plutôt comme ceci :


terrain trop accidenté

Ça ne va pas non plus. Premièrement parce que ça ne fait pas réaliste, mais aussi (et Hourences l'explique très bien dans un de ses tutoriaux) parce que l'on devine que cela sert à cacher au joueur qu'il n'y a rien derrière ces hauteurs. Dans le meilleur des cas, on ne voit pas ce qu'il y a derrière (tant mieux, il n'y a rien), dans le pire, le bord du monde est apparent, comme ceci :


terrain coupé au bord du monde

C'est le « syndrome bord-du-monde » (Edge-Of-The-World Syndrom d'après je ne sais plus qui) : on tombe tous dedans au début, ne vous inquiétez pas, c'est presque normal (mais il faut s'en débarrasser vite). Qu'est-ce que c'est? Eh bien sur l'image, le blanc est l'extérieur du monde (le ciel) et le terrain monte le long du bord du ciel. Pourquoi ? Parce que les montagnes du bord sont vraiment juste a bord de l'eightmap, et donc il n'y a pas assez de place pour que le terrain redescende normalement derrière comme là :


terrain descendant AVANT le bord du monde

Pour éviter cela, il y a une solution très simple mais à laquelle on pense rarement : toujours prévoir un terrain environ deux fois plus grand que ce que l'on prévoit d'utiliser. Nous allons voir pourquoi.


De la place !


Les points abordés ci-dessus sont loin d'être exceptionnels, on les rencontre quasiment partout. Hourences les a très bien décrits en anglais sur le site de la Team Phalanx.

Maintenant, ce qu'il faut apprendre, c'est comment s'affranchir de ces problèmes : en quoi faire un terrain deux fois trop grand permet-il de résoudre ces défauts majeurs ? Tout simplement en réservant de la place pour créer un paysage derrière. Unreal 2 a de parfaits exemple de ceci, et en particulier la magnifique carte MM_Waterfront qui possède tout simplement le plus beau terrain jamais réalisé sous l'Unreal Engine 2 à mon sens. Voici une image de la bête :


MM_Waterfront, ZE terrain !

Ce n'est pas seulement beau grâce à la beauté du ciel, de l'eau ou du terrain en-lui même (qui est, rappelons-le, absolument parfait), mais aussi parce que le paysage semble vivant et réel : on ne peut pas accéder aux montagnes au loin (en fait, si, mais c'est inutile et long), mais elles sont présentes. La ligne de vue se prolonge au loin vers les objets distants et laisse apercevoir les objets derrière ceux-ci, légèrement noyés dans la brume. Même si la réalisation n'était pas aussi parfaite, l'effet serait convaincant car cela ajoute de la profondeur à la map. Et c'est bien ce qu'il faut pour qu'une map ait une âme et dégage une bonne atmosphère : de la profondeur. Si vous possédez Deus Ex ou Half-Life, rejouez-y : les cartes ne s'arrêtent pas à ce que le joueur peut atteindre : dans Deus Ex, on voit des terrains d'atterrissage derrière des grilles autour du hangar de Lebedev (à prendre avec des pincettes d'ailleurs : il n'y a pratiquement aucun paysage naturel dans Deus Ex). Dans Half-Life, le chapitre "Tensions en surface" commence par la destruction d'un hélicoptère Apache au-dessus d'un barrage. Le barrage retient l'eau qui se trouve dans un ravin qui se prolonge très loin, et dans lequel vous devrez d'ailleurs faire un plongeon en évitant une grosse bestiole pour progresser. Vous êtes entourés de falaises, mais vous en voyez de plus hautes derrière celles-ci.

Tout cela pour en arriver à des exemples. Les maps d'Onslaught d'UT2004 ont des terrains qui me semblent particulièrement décevants par rapport à ce que peu produire l'Unreal Engine, mais leur degré de détail relativement bas est en partie compensé par la taille importante pour l'époque, et surtout ces extérieurs ne manque pas d'une certaine profondeur. Prenons par exemple Dria :


ONS-Dria, une map avec un peu de profondeur

Vous ne pouvez pas monter en haut de ces montagnes. L'auteur aurait pu ne pas créer ce qu'il y a derrière, faire redescendre les collines et terminer ainsi sa map, mais le plateau supérieur est visible et une autre montagne se profile légèrement à travers le brouillard très épais qui noie le visuel de la map (enfin à mon avis). Cela ajoute de la profondeur. De plus, bien que le brouillard soit à mon sens trop lourd, il permet de masquer ce qui est trop loin, l'½il s'y habitue, et comme le brouillard se fond dans le « fogring » placé dans la skybox, l'effet n'en est que plus convaincant : les montagnes lointaines se fondent dans le ciel. Le tout donne l'impression d'un vaste terrain montagneux sur lequel plane un brouillard qui masque les reliefs plus éloignés.

Un autre exemple que Hourences exploite largement dans ses tutoriaux est celui de sa carte ONS-Dawn : le joueur semble être dans une profonde vallée. L'effet est produit avec un terrain très large qui laisse visible le sommet des plateaux, et une skybox qui comporte un « fogring » présentant d'autres montagnes extrêmement lointaines et très hautes :


ONS-Dawn, bien assez de profondeur pour y croire

Le résultat est saisissant : le plateau disparaît dans le brouillard, et dans la skybox le « fogring » donne un superbe effet, de hautes montagnes émergeant au-dessus de la nappe de brume dans laquelle le joueur semble donc plongé.


Et pourquoi ?


Travailler ainsi sur l'illusion de la profondeur donne à la map l'air d'être intégrée dans un univers complet au lieu d'exister là, au milieu d'un gigantesque cube de matière solide dans lequel le niveau a été creusé. En prévoyant un terrain deux fois plus large que la zone jouable, vous vous laissez toute latitude pour modeler les plateaux supérieurs ou créer de hautes montagnes qui, ajoutées à celles qui délimitent le bord de la zone jouable de la map, donnent un effet réaliste en montrant au joueur que la map ne s'arrête pas au bord du terrain (en réalité, la map s'arrête effectivement au bord du terrain, mais c'est là une contrainte technique et votre but est bien évidemment de masquer cette limite grâce à des techniques de trompe-l'½il). Placez un « fogring » dans la skybox et ajoutez un brouillard plus ou moins épais selon la taille réelle de votre terrain, dont la couleur permettra au paysage lointain de se fondre avec le ciel harmonieusement. L'utilisation de « fogring » n'est pas obligatoire, mais mieux vaut vraiment savoir ce que l'on fait si l'on décide de s'en passer.

De plus le besoin d'aménager un paysage lointain est particulièrement fort sous UT2004 où il existe un élément qui va complètement décrédibiliser votre map si vous êtes paresseux : le Raptor. Cette magnifique prouesse technologique (volant à la vitesse du son, je le rappelle), a un avantage : elle vous oblige à prévoir une large ligne de vue : le Raptor vole (tant qu'il est en un seul morceau), et donc il voit au-dessus des montagnes qui délimitent la zone de jeu. Même s'il ne peut pas y aller grâce à cause de blocking volumes, il a une vue imprenable sur le paysage qui entoure la carte. Pour que la carte ne soit pas tout simplement ridicule de ce point de vue haut perché, vous êtes donc obligés de prolonger le terrain au moins jusqu'à ce qu'il se fonde dans le brouillard pour que le pilote puisse voir que le terrain se prolonge, et donc qu'il admette que s'il n'y avait pas ce mur invisible qui l'en empêche (vos blocking volumes qui montent jusqu'au sommet du ciel), il pourrait se poser dessus ou bien les survoler jusqu'à épuisement de son carburant pour découvrir d'autres lieux.

C'est tout (enfin c'est déjà pas mal). Une fois que le terrain répond à ces critères, il est assez profond pour donner une bonne illusion au joueur. Le reste se jouera sur la modélisation et les textures du terrain, mais ceci est un tout autre sujet.

2005-2022, by Hellkeeper.

Valid XHTML 1.1 CSS 2.1