Introduction
Le projet Catlantean 3D est un jeu de tir à la première personne qui vise à recréer l'expérience visuelle des jeux des années 90, en utilisant les techniques de l'époque, mais avec les outils modernes. L'objectif est de créer un jeu complet et jouable en utilisant les méthodes de développement des années 90, tout en profitant des avantages des compilateurs et des couches d'abstraction modernes.
Contexte Technique
Le mode 13h sur le matériel VGA était un mode graphique 320x200 à 256 couleurs qui a défini une génération de jeux PC. Du point de vue d'un programmeur, c'était simple : un tampon de trame linéaire où chaque pixel était représenté par un octet qui faisait référence à une palette de 256 couleurs. Pour dessiner un pixel, il suffisait d'écrire un octet à une adresse spécifique, sans shaders ou VRAM. Chaque pixel ne pouvait être l'une des 256 couleurs, ce qui impose des limitations intéressantes pour la création d'actifs.
Les jeux comme Doom et Duke Nukem sont de bons exemples de cette approche. Il y a une certaine netteté et clarté dans ces graphiques qui résulte de ces limitations techniques, et non pas malgré elles. Les restrictions imposent des choix délibérés, et les choix délibérés ont tendance à être esthétiques.
Analyse et Implications
La création de graphiques pour Catlantean 3D commence par 768 octets, soigneusement choisis après de nombreuses itérations d'essais et d'erreurs. La palette n'a pas été créée d'un seul coup ; elle a nécessité beaucoup d'allers-retours pendant la création d'actifs, les tests et les réitérations. Les exemples de sprites et de textures du jeu montrent comment les limitations de la palette ont été utilisées pour créer des graphiques qui fonctionnent dans ces limites.
Le jeu utilise un algorithme de raycasting traditionnel, avec des tuiles qui sont toutes de la même taille, certaines étant des murs, d'autres des vides avec un sol et un plafond. L'algorithme de raycasting a été largement couvert par d'autres blogs et sites web, mais l'aspect le plus négligé est l'éclairage. Pour rendre l'éclairage, il faut trouver une teinte plus sombre d'une couleur donnée en fonction de la distance, ce qui nécessite une recherche dans la palette pour trouver la couleur la plus proche.
Perspective
La création de graphiques pour Catlantean 3D est un défi en raison des limitations de la palette, mais cela a également permis de créer des graphiques qui ont une certaine netteté et clarté. L'utilisation d'un espace de couleur Oklab et d'une formule de distance perceptuelle a aidé à améliorer la qualité des graphiques. Il est important de noter que la création de graphiques est un processus subjectif et qu'il est difficile de rationaliser les choix esthétiques. Le projet Catlantean 3D est un exemple de comment les limitations techniques peuvent être utilisées pour créer des graphiques uniques et esthétiques.