L'étude indépendante Miju Games a lancé The Planet Crafter, un titre de survie qui se distingue par son système de terraformation en temps réel. Développé sur Unity, le jeu transforme un désert aride en un écosystème vert et habitable. Cet article analyse les techniques de génération procédurale, les changements dynamiques de skybox et les systèmes d'eau qui permettent cette évolution visuelle, offrant des conseils pratiques pour optimiser les assets et le scripting dans des projets similaires.
Génération procédurale et gestion des assets dans Unity 🌍
La base technique repose sur l'utilisation de Maya pour modéliser les assets de base (rochers, arbres, formations géologiques) qui sont ensuite instanciés de manière procédurale dans Unity. Au fur et à mesure que le joueur augmente l'indice de terraformation, un script en C# évalue des paramètres comme l'oxygène ou la pression atmosphérique pour activer des couches de végétation. Pour éviter le pop-in visuel, il est recommandé d'utiliser des LOD Groups (niveaux de détail) et l'occlusion culling. Le skybox n'est pas une texture statique ; il s'agit d'un matériau procédural qui modifie son dégradé de couleur et la densité des nuages via des shaders personnalisés, directement liés aux variables du jeu. L'eau réelle apparaît lorsque le niveau de chaleur et de pression atteint un seuil ; au lieu d'un plan statique, un système de fluides 2D avec wave displacement est implémenté, activé par un script qui contrôle la hauteur du plan et la transparence du matériau.
Leçons pour le développeur indie 🎮
The Planet Crafter démontre que l'évolution graphique ne nécessite pas un moteur AAA. La clé réside dans la modularité : chaque asset doit être conçu pour évoluer en quantité sans saturer le GPU. Pour les projets indie, privilégiez l'utilisation de coroutines dans Unity pour activer la végétation par zones, évitant ainsi les pics de performance. De plus, le système de terraformation est un exemple de game feel : chaque changement visuel (ciel rougeoyant devenant bleu, eau cristalline) agit comme une récompense directe pour le joueur. Si vous travaillez avec Maya, exportez les modèles avec un seul matériau atlas pour réduire les draw calls. Enfin, rappelez-vous que l'optimisation n'est pas l'ennemi de l'esthétique ; une bonne conception procédurale peut créer des mondes vivants sans avoir besoin d'assets surchargés.
Quelles techniques de génération procédurale Miju Games a-t-il implémentées dans The Planet Crafter pour atteindre un équilibre entre la variété des terrains et la jouabilité sans sacrifier les performances sur du matériel modeste ?
(PS : les game jams sont comme les mariages : tout le monde est heureux, personne ne dort et tu finis par pleurer)