Un générateur de donjon simple écrit en javascript.
L'application déployée peut être trouvée ici.
Le générateur commence par essayer de placer des pièces de taille aléatoire à des endroits aléatoires sur la grille. Si une pièce existante entre en collision avec la salle potentielle, le placement échoue et le processus se répète avec une nouvelle pièce générée aléatoire. Le nombre de tentatives de placement est prédéterminé.
Une fois que toutes les pièces ont été placées, une triangulation de Delaunay est effectuée en utilisant la tuile centrale de chaque pièce comme sommet, créant un graphique de toutes les pièces. Le code utilisé pour effectuer la triangulation peut être trouvé ici.
La triangulation de Delaunay est ensuite utilisée pour créer un arbre couvrant minimum reliant toutes les pièces. Pour rendre le donjon plus intéressant, certains bords qui ont été retirés de la triangulation sont remis à l'arbre.
Enfin, l'algorithme A * Pathfinding est utilisé pour créer des voies entre les pièces qui sont connectées dans l'arborescence modifiée.
