Le projet My Work Is Not Yet Done démontre que l'horreur n'a pas besoin de couleur. Avec une palette uniquement en noir et blanc pur, son créateur utilise Unity et un post-traitement en C# pour appliquer un tramage (dithering) en temps réel. Le résultat est une atmosphère angoissante qui évoque un dessin à l'encre, prouvant que les limitations techniques peuvent être le plus grand atout expressif dans le développement de jeux vidéo indépendants.
Implémentation technique du tramage en C# pour Unity 🎮
Pour obtenir cet effet, il faut créer un script de post-traitement qui itère sur chaque pixel de l'image rendue. L'algorithme clé est le tramage de Bayer ou celui de Floyd-Steinberg. Au lieu de simplement seuiller l'image (ce qui fait perdre des détails), ces algorithmes comparent la valeur de gris de chaque pixel avec une matrice de seuils (dans le cas de Bayer) ou distribuent l'erreur de quantification aux pixels voisins (Floyd-Steinberg). Dans Unity, cela s'implémente dans un Shader ou dans un script qui traite la caméra via OnRenderImage. Il est crucial de désactiver le filtrage bilinéaire de la texture de sortie et de forcer la résolution à une valeur basse pour renforcer le pixel art. Des jeux comme Return of the Obra Dinn utilisent une approche similaire mais avec une palette de 3 couleurs, tandis que World of Horror applique un tramage plus statique. Pour votre projet, je recommande de commencer avec une matrice de Bayer 4x4, qui offre un bon équilibre entre performance et qualité visuelle.
La narration du monochrome : pourquoi le noir et blanc fonctionne 🖤
Au-delà de la technique, le choix esthétique répond à un besoin narratif. Le noir et blanc radical élimine la distraction de la couleur, forçant le joueur à se concentrer sur les formes, les ombres et le mouvement. Le tramage, en générant des textures granuleuses, évoque l'anxiété d'un croquis nerveux ou d'une photographie d'archive perturbée. My Work Is Not Yet Done utilise ce contraste extrême pour cacher des détails dans le bruit visuel, créant une sensation de paranoïa. Si vous recherchez cet effet dans votre jeu, rappelez-vous que l'éclairage doit être très contrasté ; une lumière directionnelle forte avec des ombres dures est la base parfaite pour que le tramage fasse sa magie.
Pour un jeu d'horreur utilisant une palette uniquement en noir et blanc pur, comme My Work Is Not Yet Done, comment implémenter le tramage procédural dans Unity pour générer des textures 1 bit qui maintiennent la lisibilité visuelle et l'atmosphère oppressante sans recourir aux échelles de gris ?
(PS : optimiser pour mobile, c'est comme essayer de mettre un éléphant dans une Mini Cooper)