Les mondes infinis de Martin O’Leary


Martin O’Leary pourrait parodier Nicolas Bouvier ainsi :

« C’est la contemplation silencieuse des cartes de romans d’heroic fantasy, à plat ventre sur le tapis, entre dix et treize ans, qui donne ainsi l’envie de coder un générateur de cartes de mondes imaginaires. » Il a codé, il l’a fait. O’Leary a créé un site capable de créer des cartes convaincantes pour rêvasser des mondes, et pourquoi pas : aider le rôliste en manque d’inspiration !

Il y a quelque chose de perecquien dans la démarche. En toute transparence, O’Leary nous dévoile sa méthode – très sérieuse – pour créer un monde convaincant.

En générant une grille de points aléatoires, qui va servir de base à la triangulation du terrain :

reilly_points

En créant un premier « proto-paysage » dans lequel peuvent être paramétrées les pentes, des pics (îles ou montagnes), des arrondis pour les collines, différents modes de lissage de terrain, définir le niveau de la mer :

reilly_proto

En faisant couler l’eau (d’un point haut vers un point bas) et en faisant en sorte qu’elle aille dans une direction (sans accumulation et sans qu’elle tourne en rond entre points bas) et érodant le sol du « proto-paysage » :

reilly_heightmap

En définissant le tracé des rivières, de la topographie :

reilly_heightmap2

En installant des villes et des frontières. Les villes sont générées au moyen d’un score combinant la présence d’eau, la distance aux autres villes, la distance avec les bords de la carte. Les frontières sont calculées suivant une sorte de chemin des moindres coûts tendant à favoriser les frontières naturelles des eaux et des crêtes de montagnes :

reilly_city

Et finalement en nommant les villes et les pays. L’étiquetage utilise un générateur de noms qu’O’Leary a créé pour l’occasion et dont la méthode est tout aussi riche et travaillée :

reilly_final

Et comme vous ne pouvez pas avoir lu ou vu cela sans repartir les mains vides, O’Leary a laissé le code JavaScript de sa page et le code Python de l’algorithme : à vous de jouer !

Liens externes :

Uncharted Atlas, un bot qui publie une carte toutes les heures : https://twitter.com/unchartedatlas

Explication de la méthode et générateur de cartes : http://mewo2.com/notes/terrain/

Méthode pour les étiquettes : http://mewo2.com/notes/naming-language/

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *