- Ce projet consiste à recréer avec précision la carte de Chiron, la planète fictive de Sid Meier’s Alpha Centauri
- Il recompose l’ancienne carte basse résolution en une nouvelle version haute résolution aux formes organiques à partir des données réelles du jeu (altitude, précipitations, relief, etc.)
- Il produit un rendu visuel unique et esthétique grâce à diverses projections cartographiques (equal area, orthoapsidal, etc.) et à des outils comme QGIS, Photoshop et Python
- Il passe par un processus complexe de construction d’un DEM (modèle numérique d’élévation), incluant échantillonnage des données, ajustements manuels et ajout de bruit
- C’est un exemple de défi technique et esthétique significatif, aussi bien pour les joueurs que pour les cartographes
Introduction : aperçu du projet et motivation
- Ce projet vise à recréer la carte de Chiron, la planète du jeu Sid Meier’s Alpha Centauri, sorti en 1999
- Chiron est le décor central de ce jeu de stratégie SF culte, avec une importance comparable à celle des personnages du jeu
- L’auteur, cartographe professionnel, y partage son expérience sur ce qui distingue la cartographie du monde réel de la création de cartes de mondes fictifs
- Alors que de nombreux cartographes travaillent à partir de données déjà fournies, une carte fictive exige de commencer par générer les données elles-mêmes, ce qui demande davantage de créativité et de savoir-faire
- Le projet a été rendu possible grâce à l’utilisation du jeu de données du jeu réel, et la version finale peut être téléchargée gratuitement par tous
Collecte des données
- Le jeu Alpha Centauri dispose d’une carte officielle construite directement par Chris Pine (128 × 64 pixels en losange)
- Chaque pixel contient plusieurs attributs comme l’altitude, les précipitations, l’indice de roche, etc.
- Pour l’altitude, l’auteur a échantillonné directement dans le jeu la valeur de chaque tuile une par une (8 192 saisies manuelles)
- Les précipitations ont été extraites à partir d’une carte thématique détaillée étendue via un mod, en séparant les couleurs de chaque niveau (pluie, humide, aride), puis cartographiées dans QGIS
- Les données d’indice de roche ont aussi été traitées, mais n’ont pas été utilisées dans la carte finale
- La répartition du Xenofungus (forme de vie exotique) a été convertie en jeu de données binaire par échantillonnage des couleurs des pixels et corrections
Paramétrage de la projection
- La carte du jeu prend la forme d’une projection cylindrique, répétée à l’infini horizontalement et bornée verticalement
- En partant du principe que chaque pixel représente la même surface dans l’espace réel, l’auteur applique une cylindrical equal area projection (à partir de la formule de Trystan Edwards)
- La projection et le ratio de résolution sont ajustés pour obtenir une représentation sphérique réaliste, et les réglages de projection sont établis avant l’échantillonnage des données
Affinage et mise en haute résolution des données d’altitude du DEM (modèle numérique d’élévation)
- L’objectif est d’obtenir une représentation du relief plus fine que la carte d’origine (128 × 64), d’où des essais avec plusieurs méthodes d’interpolation de points
- Dispersion aléatoire de points : placement de 1 à 3 points sur certaines tuiles pour introduire duplication et hasard
- Application à chaque point des valeurs d’altitude environnantes, puis création d’un premier modèle d’altitude via interpolation TIN (triangulated irregular network)
- Répétition d’évaluations et d’interpolations supplémentaires (triangulation de Delaunay, extraction de points centraux, moyenne des trois points voisins, ajout de bruit)
- Multiplication progressive, au fil des itérations, du nombre de points et du niveau de bruit
- Processus de traitement et de correction : correction des distorsions du relief en comparant avec la carte réelle, par exemple connexion d’îles ou fermeture de détroits (ajout manuel de points)
- Pour corriger la déformation d’un élément emblématique, le cratère Garland (forme carrée → circulaire), l’auteur applique une technique de correction par rubbersheeting
- Le DEM final est lissé, tandis que les régions polaires sont traitées séparément avec une projection dédiée et un ajout de bruit
- Des retouches supplémentaires sont apportées lorsqu’un défaut est repéré pendant la fabrication de la carte (lacs artificiels, petits îlots, etc.)
Application de différentes projections
- La carte principale utilise la projection orthoapsidal (Armadillo), un type qui accentue visuellement la courbure du relief
- Développement par l’auteur d’un script de projection personnalisé en Python (avec l’aide de la documentation Python officielle et de ChatGPT)
- Ajustement des valeurs de courbure et d’inclinaison selon les caractéristiques de la carte
- La projection ne prenant en charge que les vecteurs, les données raster comme le DEM sont traitées via polygonisation puis rerastérisation
Fabrication concrète de la carte : explication couche par couche dans Photoshop
- Fonds marins profonds (ombrage) : rastérisation en noir et blanc des zones du DEM sous 0 m, puis application d’un dégradé bleu
- Zones terrestres (relief ombré) : utilisation du simulateur de style dessiné à la main de type suisse (Eduard), avec un inner glow sur le littoral pour mieux distinguer terre et mer
- Couleurs et textures : combinaison de relief brun/vert, bruit coloré, effets d’éclairage et diverses adjustment layers avec masques
- Végétation : interpolation thin plate spline basée sur les données de précipitations, puis création de motifs dans Photoshop via dissolve + masque de bruit
- Xenofungus : traitement basé sur les données de répartition du jeu, avec relief rouge et une technique de motif similaire à celle du vert
- Rivières : tracé manuel en courbes dans QGIS, puis ajout de tapering et d’effets dans Illustrator/Photoshop (la génération automatique à partir du DEM donnait un résultat insatisfaisant)
- Plusieurs couches sont fusionnées à la fin, notamment l’océan, lueur externe du littoral, et répartition océanique du xenofungus
- L’augmentation de la saturation des couleurs et l’ajout d’une grille (latitudes/longitudes, etc.) renforcent la profondeur visuelle et la lisibilité
- Enfin, un rendu semi-pictural est obtenu via un filtre dry brush (mélangé à 50 % avec l’original)
Étiquetage (toponymie)
- Brouillon réalisé dans Adobe Illustrator, puis collage et fusion dans Photoshop
- Ajout sous les toponymes d’un flou de fond, d’un glow et d’un smart hollow pour améliorer la lisibilité et le contraste avec l’arrière-plan
- Adoption de la police BellTopo Sans (adaptée à une palette douce et à un univers futuriste non humain)
- Les toponymes suivent ceux du jeu, et les zones ambiguës sont tranchées selon l’interprétation de l’auteur
- La mise en page de l’affiche utilise aussi des cartes secondaires (altitude, régions polaires, etc.), ainsi qu’un arrière-plan à scanlines, bleu, cadre et bruit inspiré de l’interface du jeu
Conclusion et impressions
- Dans l’ensemble, c’est un projet qui concentre un travail manuel et une technicité poussés autour de l’échantillonnage des données du jeu, de la conversion du modèle d’altitude, de la personnalisation de la projection et de l’assemblage des couches
- Le processus a été un long parcours fait d’essais-erreurs répétés, d’améliorations visuelles et d’ajustements de détail
- À l’avenir, le jeu de données pourrait servir à des agrandissements partiels ou à des travaux de relief dans d’autres styles (avec de nouvelles expérimentations, par exemple sur les données de rockiness)
- Les insuffisances actuelles du DEM (lacs manquants, petites îles) sont en cours de correction, avec l’objectif de les remplacer plus tard par un DEM plus précis
- Ce travail constitue à la fois un défi technique fascinant de cartographie d’espace fictif pour les spécialistes SIG/cartographie, et une réalisation esthétiquement satisfaisante pour le fandom
- L’ensemble du processus est le résultat d’une combinaison entre passion personnelle et savoir-faire centré sur la transformation de données existantes
1 commentaires
Commentaires sur Hacker News
Le récit de Daniel Huffman est vraiment captivant et inspirant.
La version longue de l’histoire est encore plus émouvante.
(Référence : plus de détails sur https://somethingaboutmaps.wordpress.com/about/ et https://somethingaboutmaps.wordpress.com/2011/03/02/on-salvation/)
J’aimerais moi aussi retrouver cette étincelle qu’il a trouvée, mais j’ai l’impression que ma passion s’est éteinte depuis longtemps.
Ce jeu a été pour moi une première expérience très marquante.
Je me souviens avoir pris conscience de diverses idéologies et croyances religieuses, présentées de manière abstraite, sans être liées à des personnes précises.
Je garde aussi le souvenir de m’être plongé dans les différentes factions et leurs idées.
Je m’imaginais souvent quelles croyances pourraient avoir des extraterrestres, s’ils existaient.
C’est vraiment une expérience de jeu remarquable.
Le système politique est lui aussi impressionnant, et j’apprécie le fait que les quatre options des quatre catégories ne soient pas automatiquement liées entre elles.
On peut ainsi créer un mélange du type économie de marché + État policier.
Je pense que, quand j’étais enfant, ce jeu m’a poussé à réfléchir plus profondément à mes propres inclinations politiques et à leur signification.
(Bien sûr, on peut aussi apprendre cela dans les livres, mais en pratique ce n’est pas si simple.)
C’est exactement le genre d’ambiance qui convient à des auteurs imaginant d’étranges combinaisons politiques dans un jeu de SF.
C’est dommage que Civilization: Beyond Earth ait autant déçu.
Au lieu de proposer des dirigeants, factions et idéologies intéressants, on s’est retrouvé avec des concepts comme « Space Africa » ou « Space Australia ».
Je me demande si Firaxis a des problèmes juridiques qui l’empêchent de faire un véritable remake de Centauri.
Je me suis souvent demandé pourquoi le terme « planetfall » revenait si souvent dans Sid Meyer's Alpha Centauri.
Dans le jeu, ce terme signifie « le point de départ de l’histoire ».
L’invite du début est la suivante :
« Alors j’ai parcouru la carte et relevé la valeur d’altitude de chaque tuile. Il y en a 8 192 au total. »
Il devait sûrement exister un moyen d’automatiser ça au lieu de le faire manuellement huit mille fois.
Je suis certain que beaucoup de personnes ici pourraient rapidement écrire un script pour extraire les données de la carte et les convertir en .CSV.
Mais parfois, se plonger pendant longtemps dans une tâche répétitive sans trop réfléchir donne un projet étonnamment satisfaisant.
C’est parfait quand on veut se concentrer sur quelque chose qui n’a pas vraiment d’importance.
Je pense la même chose.
Je suis presque fier qu’un si grand nombre de passionnés de ce jeu à une époque — moi y compris — auraient volontiers relevé ce défi en programmant l’extraction de ces données.
Le sound design de ce jeu est vraiment excellent.
Je suis toujours impressionné par la qualité du gameplay.
J’adore les sons étranges des « événements », les bips et sons particuliers de l’interface, les espèces de « poum poum » des armes, ainsi que le superbe doublage.
Je suis fier d’avoir toujours eu ce jeu installé sur au moins un ordinateur depuis son achat en boîte en 1999.
Pour moi, c’est une œuvre d’art.
Aucun autre épisode de Civ ne m’a autant ému depuis, quels que soient les progrès graphiques.
Mon seul regret concerne la manière dont la musique de fond fonctionne.
On dirait qu’elle a été conçue pour ne se lancer qu’en période d’inactivité, mais dans une partie normale on l’entend rarement.
Il me semble qu’il existe une bande-son distincte pour chaque faction.
Le résultat, la carte, et même le texte rédigé sont tous d’un très haut niveau.
Mon seul petit regret concerne la texture des terres : les frontières contrastées ne ressortent pas, et tout semble relié de façon très douce.
On distingue les chaînes de montagnes, mais les bords nets qu’on voit sur les textures terrestres sont presque absents de cette carte.
L’un des aspects les plus étranges de la carte d’origine, c’est cette ligne rouge qui traverse tout.
Je suppose qu’il s’agit du xenofungus, mais on dirait presque du magma qui fend les continents.
Cet élément a disparu dans la nouvelle version.
Cela dit, j’apprécie énormément le travail fourni, et visuellement l’ensemble reste superbe.
En lisant « il existe une carte officielle de la planète soigneusement peaufinée », je me suis posé une question.
Existe-t-il un cadre mathématique pour optimiser une carte afin de maximiser le plaisir de jeu ?
Si on prend cette question au sérieux, on arrive au croisement de plusieurs domaines qui ont transformé le game design.
Si la carte d’Alpha Centauri fonctionne si bien, c’est parce qu’elle équilibre efficacement plusieurs tensions mathématiques.
<i>Mathématiques de la théorie du flow</i> : le concept de flow de Csikszentmihalyi est modélisé mathématiquement.
La difficulté suit une courbe où elle dépasse légèrement le niveau de maîtrise, et sur une carte cela se traduit par une structure qui offre toujours au joueur des choix significatifs adaptés à sa compétence.
<i>Entropie de l’information</i> : une bonne carte ne doit avoir ni trop ni trop peu d’entropie.
Des recherches suggèrent qu’une échelle d’entropie de 0,3 à 0,5 pour la diversité du terrain est optimale pour le gameplay.
<i>Usage de la théorie des graphes</i> : on considère la structure de la carte comme un graphe, et
sont directement liés à l’immersion du joueur.
<i>Intuition essentielle</i> : dès qu’on traite sérieusement le « fun » comme un objectif d’optimisation, on s’attaque de front à la satisfaction des décisions humaines.
Les meilleurs cadres ne définissent pas le fun ; ils maximisent la <i>richesse des choix significatifs</i>.
C’est pour cela que la génération procédurale de cartes dans les jeux modernes n’est pas simplement aléatoire : elle utilise des algorithmes qui règlent mathématiquement le niveau d’immersion.
Pour réussir à arrêter ce jeu, j’ai fini par donner le CD à quelqu’un d’autre.
Il était si addictif qu’il nuisait sérieusement à mon travail et à mon sommeil.
Il existe un blog au ton similaire, intitulé « Here Dragons Abound ».
Il traite de génération procédurale de cartes fantasy, mais les mises à jour s’y sont faites plus rares ces derniers temps.
Je n’ai jamais joué à Alpha Centauri ; à l’époque, j’aimais plutôt Master of Magic ou Syndicate.
Mais en lisant cet article sur ce projet, je regrette un peu d’avoir ignoré Alpha Centauri à l’époque.
Avec le recul, plus je vieillis, plus je me rends compte qu’il n’y a qu’une seule chose qui m’attire vraiment chez les gens :
les voir creuser à fond, avec passion, un centre d’intérêt pointu et presque obsessionnel, peu importe le regard des autres.
Même si ce n’est pas mon propre sujet, j’éprouve un immense plaisir à observer quelqu’un vivre pleinement sa passion.
En fait, c’est peut-être justement parce que je ne suis pas moi-même absorbé par ce domaine que je peux mieux apprécier son enthousiasme.
Les gens que je veux avoir autour de moi ne sont pas ceux qui partagent exactement mes centres d’intérêt, mais ceux qui sont passionnés par <i>n’importe quoi</i>.
(C’est aussi une façon détournée de dire que je n’aime pas beaucoup l’existentialisme ni le nihilisme.)
C’est un sort de mort instantanée rare mais impossible à contrer par la résistance, et comme il y a aussi Web dans la même école, même voler ne sert à rien.