Un generador de mazmorras simple escrito en JavaScript.
La aplicación implementada se puede encontrar aquí.
El generador comienza tratando de colocar habitaciones de tamaño aleatorio en ubicaciones aleatorias en la cuadrícula. Si una habitación existente chocara con la posible habitación, la colocación falla y el proceso se repite con una nueva habitación generada al azar. El número de intentos de colocación está predeterminado.
Una vez que se han colocado todas las habitaciones, se realiza una triangulación de Delaunay utilizando el mosaico central de cada habitación como vértice, creando un gráfico de todas las habitaciones. El código utilizado para realizar la triangulación se puede encontrar aquí.
La triangulación de Delaunay se usa para crear un árbol de expansión mínimo que conecta todas las habitaciones. Para hacer que la mazmorra sea más interesante, algunos bordes que se eliminaron de la triangulación se vuelven a agregar al árbol.
Finalmente, el algoritmo A* Pathfinding se usa para crear vías entre las habitaciones que están conectadas en el árbol modificado.
