Projet réalisé dans le cadre du module IAS (Intelligence Artificielle) à l'ENIB. Le but de ce projet était d'explorer la génération procédurale de contenu, en générant de manière procédurale des niveaux de jeux vidéo inspirés de l'univers Pokémon.
Nous avons voulu utiliser l'outil Tiled à l'intérieur du projet afin de pouvoir éditer des tilemaps (fichier tmx) en utilisant des Tilesets (fichiers tsx). Il s'agit de fichiers utilisables au format XML. Il permet également d'exporter au format image.
Tout d'abord, nous avons mis en œuvre la génération procédurale de notre carte en définissant des règles de placement des différents éléments. Ensuite, dans un deuxième temps, nous avons réutilisé la carte précédemment générée comme fichier d'entrée pour générer une nouvelle carte en utilisant l'algorithme Wave Function Collapse (WFC).
Nous avons rencontré des problèmes en utilisant le WFC, avec les fichiers .tmx, donc nous les convertissons en une image (wfc.png). Une fois que le WFC a terminé et généré l'image de sortie, nous reconvertissons la carte au format .tmx pour la visualiser dans le logiciel Tiled.
Nous avons utilisé les technologies suivantes pour la première partie :
Noise Perlin : algo utilisé pour générer le relief
A* : pour générer les chemins entre les maisons
Après l'exécution du programme, les fichiers suivants sont créés :
/assets/pokemap.tmx : carte générée par la procédure
/assets/pokemap-generated.tmx : carte générée via WFC
/assets/wfc.png : image temporaire envoyée à l'entrée du WFC.
/assets/wfc-generated.png : image temporaire générée par le WFC