Catlantean 3D : un FPS des années 90 fait aujourd'hui

Pourquoi ça compte pour toi
C'est une leçon de design : les limites techniques ne tuent pas la créativité, elles la forcent. Et c'est applicable à ton travail : quand tu dois choisir entre 256 options au lieu de millions, chaque décision compte vraiment. Pour les créateurs IA, c'est aussi un exemple de comment fonctionnait le rendu graphique avant les GPUs.
Ce qu'il faut retenir
- 1.Mode VGA 320x240 / 256 couleurs : une seule palette de 768 bytes à optimiser
- 2.Éclairage par colormap précompilée : pas de shader, mais une table de correspondance par distance
- 3.Correspondance colorimétrique perceptuelle en Oklab : trouver les nuances les plus proches visuellement, pas mathématiquement
Tu galères avec le jargon ?
Lis la version réécrite en mode débutant — toutes les idées, sans le jargon.
Une contrainte volontaire : refaire 1993
Stanick construit Catlantean 3D depuis plus d'un an. Son objectif : un jeu complet, jouable, amusant — pas une démo technique — en respectant bêtement les limites de l'époque.
Pas de compromis :
- ▸Tout créé de zéro (assets, code, son)
- ▸320x240 en 256 couleurs seulement
- ▸Pas d'IA marketing, pas de raccourci moderne
- ▸Sortie prévue sur Steam l'année prochaine
Pourquoi ? Parce que les limites créent de la clarté. Doom et Duke Nukem ne paraissaient pas nets malgré leurs 256 couleurs — ils paraissaient nets à cause de ça.
La palette : 768 bytes d'alchimie
Tout commence par choisir 256 couleurs. Pas au hasard :
- ▸1 rose vif → transparence
- ▸1 blanc pur, 1 noir pur
- ▸Beaucoup de rouges (sang du jeu)
- ▸Bleus et verts (clés et portes codées)
- ▸Jaunes, ocres, gris (Catlantis = Égypte avec chats, occupée par des cyberchiens)
- ▸Beiges pour briser la monotonie
Chaque couleur a été testée, rejetée, ajustée des dizaines de fois. Pas d'algorithme magique. Juste : « ça ressemble à quoi ? »
L'éclairage : le vrai défi
Le jeu est un raycaster classique (tu tires des rayons depuis la caméra, tu cherches l'intersection avec les murs). Le problème : comment assombrir une couleur quand tu n'as que des indices dans une palette ?
Solution simple (trop lente) : boucler dans la palette à chaque pixel pour trouver une nuance plus foncée.
Solution réelle : colormap précompilée.
L'idée : range ta palette en une ligne. Puis, pour chaque couleur originale, crée 31 nuances plus sombres (32 niveaux de luminosité au total). À chaque pixel, tu connais la distance (elle détermine le niveau d'ombrage), il suffit de faire une recherche dans ta table.
Mais trouver la « bonne » nuance ? Ça ne se fait pas en calcul brut. Au début, Stanick a utilisé la distance euclidienne (classique). Résultat : tout devenait gris-vert et terne.
Il a basculé sur Oklab (un espace couleur qui modélise comment l'œil humain perçoit les différences), plus une légère correction vers les teintes chaudes à l'assombrissement — technique classique du pixel art appelée « hue shifting ».
Résultat : c'est moins plat. Pourquoi ? Il ne saurait pas l'expliquer. « Ça semble juste juste. » Frustrant pour quelqu'un qui code, magique pour quelqu'un qui regarde.
Pourquoi tu devrais t'en ficher
Trois leçons : (1) Les limitations font émerger des choix plus réfléchis. Tu peux pas balancer 16 millions de couleurs, tu dois en choisir 256 → chacune compte. (2) L'esthétique n'est pas toujours explicable. Oklab vs euclidienne : les maths disent une chose, l'œil une autre. Écoute l'œil. (3) Un jeu entièrement fait à la main, sans machine learning, sans génération automatique : c'est même pas une prise de position, c'est juste du craft.
Et concrètement pour toi ?
Choisis ton profil — la lecture de l'article change selon qui tu es.
Pour toi, le truc fascinant c'est que ce développeur reconstruit les contraintes des années 90 volontairement. Ça pose la vraie question : l'IA nous rend-elle créatifs parce qu'elle enlève les limites, ou parce qu'elle force de nouvelles limites intelligentes?
Essayer maintenant
→Source
Pour aller plus loin
Cet article t'a donné envie d'approfondir ? Deux formations Noésis t'attendent :
Explorer les thèmes de cet article :