D’une pelouse vide a des circuits vivants
Les circuits n’existent pas dans le vide. L’espace autour de l’asphalte compte — il vend l’echelle, ancre la camera, et transforme une vue 2D plate en quelque chose qui ressemble a un vrai lieu. Voici comment The Undercut remplit cet espace avec des forets generees de maniere procedurale.
Pourquoi les arbres comptent dans un jeu de course en vue de dessus
A premiere vue, les arbres dans un jeu 2D en vue de dessus semblent purement decoratifs. Mais ils remplissent plusieurs roles critiques :
- Indices de profondeur — les canopees superposees avec des ombres brisent la platitude de la vue aerienne et donnent au terrain une impression de relief
- Reference d’echelle — une voiture passant a cote d’un groupe d’arbres communique instantanement la vitesse et la distance
- Cadrage du circuit — la vegetation guide naturellement le regard le long du trace, rendant les virages et les lignes droites plus lisibles
- Atmosphere — une piste nue sur de l’herbe plate ressemble a un environnement de test, pas a un lieu de course
Le defi : chaque circuit est genere de maniere procedurale, donc les arbres ne peuvent pas etre places a la main. Ils doivent emerger des memes donnees qui construisent la piste.
Trois couches de foret
Le systeme de vegetation construit chaque arbre a partir de trois couches empilees, rendues en vue de dessus :
- Ombre au sol — une grande ellipse sombre et douce sous la canopee. Elle ancre l’arbre au terrain et fournit le premier indice de profondeur. Une seconde couche d’ombre plus serree ajoute de la variation de densite.
- Canopee — le corps principal de l’arbre. Chaque canopee est un amas de cercles superposes avec de legeres variations de couleur et de taille, donnant une silhouette organique et irreguliere. Les decalages de teinte dans une plage controlee gardent la palette naturelle tout en evitant la monotonie.
- Ombre interieure — un anneau sombre subtil autour du bord interieur de la canopee. Cela simule l’auto-ombrage que l’on voit en regardant vers le bas dans une couronne d’arbre, ajoutant du volume sans aucune geometrie 3D.

La combinaison donne un rendu etonnamment tridimensionnel depuis la camera en vue de dessus — les canopees semblent flotter au-dessus du sol, projetant de vraies ombres en dessous.
Regles de placement
Les arbres sont disperses sur le terrain en utilisant une carte de densite derivee du trace du circuit :
- Zones d’exclusion autour de la surface de piste, des vibreurs, des bacs a gravier et de la voie des stands — aucun arbre ne doit bloquer l’action de course ni clipper dans la geometrie de la piste
- Attenuation de densite — plus d’arbres pres des bords de piste (encadrant le circuit), s’amincissant vers les limites de la carte
- Formation en groupes — les arbres ne spawnent pas individuellement. Un point parent genere un petit groupe de 3 a 8 arbres avec des decalages aleatoires, creant des bosquets d’apparence naturelle plutot qu’une grille uniforme
- Variation de taille — chaque groupe melange de grands arbres a canopee avec des plus petits, imitant une vraie lisiere de foret ou les grands arbres abritent la jeune pousse
L’algorithme de placement s’execute une fois lors de la generation du circuit — moins de 50 millisecondes pour une foret complete.
Reglage en direct
Obtenir le bon rendu a necessite une iteration constante. Plutot que de recompiler et recharger, chaque parametre visuel est expose dans un panneau de debogage en temps reel :

Le panneau expose plus de 15 parametres :
- Alpha / Echelle / Diffusion de l’ombre — controlent l’opacite, la taille et la douceur des deux couches d’ombre
- Facteur d’arbres — multiplicateur de densite global, controlant le nombre d’arbres peuplant la scene
- Decalage de l’ombre — deplace l’ombre par rapport a la canopee, simulant un angle du soleil
- Alpha / Echelle de l’ombre interieure — l’anneau d’auto-ombrage a l’interieur de chaque canopee
- Biais Mipmap — nettete des textures a differents niveaux de zoom
- Teinte Min / Max — la gamme de tons verts dans la canopee, du vert foret sombre au vert printanier vif
- Melange cumulatif — les couches d’ombre peuvent se melanger additivement pour les zones de superposition plus denses
Chaque modification se met a jour instantanement sur la vue du circuit en direct. Cette boucle de retour a permis d’affiner le rendu exact en quelques minutes plutot qu’en heures — et d’adapter rapidement la palette pour differents themes de circuits ou saisons.
Garder la performance
La performance compte — The Undercut vise 60 FPS meme sur du materiel modeste, et une foret complete peut signifier des centaines d’arbres a l’ecran.
Optimisations cles :
- Rendu instance — tous les arbres partagent la meme geometrie de base, dessines en un seul lot avec des transformations et des decalages de couleur par instance
- Culling du frustum de vue — les arbres hors de la zone visible de la camera sont entierement ignores
- LOD par zoom — aux niveaux de zoom eloignes, le detail des ombres est simplifie et les petits arbres sont supprimes
- Atlas de textures — les variations de canopee sont regroupees dans une seule feuille de texture, evitant les appels de dessin par arbre
Le resultat : une foret complete se rend en moins de 1 ms par image, laissant le budget GPU libre pour le rendu de la piste, les voitures et l’interface.
Le resultat
Ce qui a commence comme “ajouter un peu de verdure autour de la piste” est devenu un systeme qui transforme veritablement le ressenti du jeu. Les circuits qui semblaient plats et steriles semblent maintenant integres dans un paysage. Les ombres vendent la profondeur. La variation de couleurs vend la vie. Et parce que tout est procedural, chaque circuit genere obtient une foret unique qui s’adapte a son trace — aucun travail manuel requis.
Chaque course, un nouveau circuit. Chaque circuit, une nouvelle foret.
