Les articles de ce blog sont extrait d'un livre écrit par son auteur.
Ce livre traite du developpement des jeux vidéo en général (principalement des FPS), avec une large partie consacrée au level design et à son environnement et ses contraintes. Le level design étant au coeur du jeu et étant beaucoup plus abordables que de compliquées notions de programmation, il permettra au novice d'intégrer sans trop de difficultées, toutes les notions de base du fonctionnement technique d'un jeux vidéo.
Mais qu'est ce que Le mapping ?
C’est créer des maps. On considère dans l’ensemble map, tout les mondes en 3D/2D dans lequel évolue un joueur. Dans cet article, nous considérerons uniquement les maps de FPS (First Person Shooter - Doom-Like/Quake-Like). Dans ses maps, le mappeur peut inclure ce qu’il désire : des sons, des models*, des textures, des shaders*... ce sont les assets. Les assets sont souvent des éléments créés par d'autres membres de l'équipe de developpement, nous reviendrons sur ce sujet par la suite.
Il y a de multiples façon d'aborder le fonctionnement d'un jeux vidéo. Etant moi même Level Designer j'ai choisi d'aborder ce vaste domaine par les maps, il est donc important d'en comprendre le fonctionnement avant d'aborder, plus en détail, le jeu vidéo.
Les principes d'une map
Une map est formée de 2 éléments principaux : les brushes et les entités.
- Les brushes :
Une map est constituée de volumes solides convexes, ce sont des brushes, ces volumes sont formés de faces planes délimitées par des segments eux-mêmes délimités par des points formants les vertices (les sommets) du volume. Ces volumes sont utilisés pour former l’architecture basique de la map (sols, murs, plafonds…), ils sont indispensables à la map, ils peuvent également servir à mettre au point des décors ou différents détails de la map.
- Les entités
L’ensemble entités contient tous les éléments d’une map, chaque entité possède un jeu de propriétés qui définissent les particularités de l’élément. La map est elle-même contenue dans une entité nommée le Worldspawn.
Mais le terme entité est plus couramment utilisé pour définir certains éléments abstraits de la map, comme une source lumineuse, une source sonore, les points d’apparitions ou de téléportation…
A un niveau plus avancé, un nouvel élément vient s’ajouter aux deux précédents, l’élément Curve aussi appelé le Patch de Béziers :
Un Patch est, comme un brush, un volume convexe, sauf que ses faces ne sont pas forcément planes. Un patch est une matrice bidimensionnelle de points, selon les valeurs de cette matrice, l’allure du patch change.
Comme expliqué précédemment, les Patch et les brushes sont formés à partir de plans délimités par des segments délimités par des points. Ces plans sont appelés les faces, sur chaque face il est possible d’appliquer une texture indépendante des autres faces, ceci, à fin de donner à cette face du brush (ou du Patch) l’allure que l’on désir de lui (mur en pierre, plaque en métal…). Chaque face, en fonction de la texture qu’on lui applique, peut avoir des propriétés particulières (lumière, écran, brillance, reflet…), ces propriétés sont appelées des propriétés de surfaces et sont inscrites dans le shader. Ce même shader peut aussi avoir des propriétés de contenu qui changeront alors l’intérieur du brush (ou Patch) ce qui permet de créer des effets tel que l’eau, la lave, le brouillard….
En modifiant le jeu de propriété d’un brush, on peut transformer ce dernier en porte : il suffit d’écrire dans les propriétés entité du brush que l’on veut que lorsqu’un joueur s’approche d’un certain distance d’un brush celui fasse une rotation par rapport à un certain axe, d'un certain angle, d'un certaine vitesse et en émettant un certain son.
Ainsi, en agençant avec précisions des brushes, des Patch, des textures, des shaders, des entités de diverses natures, on peut obtenir des maps à la qualité parfois étonnante.

Lloydmdm2 par Lloyd Morris
Principes plus approfondis
Maintenant que nous connaissons les différents éléments d’un map nous allons pouvoir nous pencher sur l’utilisation de ces derniers.
-A L’utilisation des brushes
Nous savons qu’un brush est un volume convexe solide possédant au minimum 4 faces (il est toujours fermé), en agençant correctement 6 brushes on peut obtenir une salle :
1 plafond + 4 murs + 1 sol = 6 brushes.
Avec ces même 6 brushes il aurait été possible de fabriquer une chaise :
4 pieds + 1 dossier + 1 siége = 6 brushes
On aurait également pu mettre au point un escalier à 6 marches :
Bien sur ces éléments sont très basiques car constitué de peu de brushes. En augmentant leur nombre, il est possible d’avoir des salles ou des objets très au point.
Par exemple avec 25 brushes il est possible de créer une chaise déjà plus évoluée :
-B L’utilisation des Patch de Béziers
Nous avons vu qu’à la similitude d’un brush, un Patch possède plusieurs faces et une texture par face. Mais nous savons également que une ou plusieurs face d’un Patch peuvent être non planes, c'est-à-dire, que leur surface peut être arrondie ou déformée.
Sur l’image suivante, FB est une courbe, FBCE un Patch de Béziers et ABFECD un ensemble de Patch de Béziers :
-C Les lumières
Une fois que la map est formée (à partir de brushes et de Patch), le mapper dispose des sources de lumières dans la map (appelé Point Light) il définit leur couleur et leur intensité.
Ainsi, durant le jeu, des ombres se formeront à partir des lumières et des différents éléments de la map : les textures seront plus claires (ou plus proche de la couleur de la source)là ou la lumière sera plus proche, et plus sombre, voir noir là ou il y aura moins de lumières.
_______________________________
Tout commentaire sur la qualité des explications sont les bienvenus, à conditions que chacun d'entre eux soit, bien sur, argumenté et justifié.
Pour tout ceux qui connaissent très bien ces notions, vous l'aurez remarqué, elles sont ici assez vulgarisée pour permettre au commun des mortels de les acquérir.
Au fur et à mesure du temps, les articles aborderont des sujets plus complexes et en entrant d'avantage dans les détails.
Avant de poster trop d'articles, je voudrais m'assurer que ceux-ci interressent au moins, quelques personnes.
Merci d'avoir lu mes lignes,
H.Reaper