He estado mirando algunos algoritmos y artículos sobre la generación procesal de una mazmorra. El problema es que estoy tratando de generar una casa con habitaciones, y no parecen cumplir con mis requisitos.
Por un lado, las mazmorras tienen pasillos, donde las casas tienen pasillos. Y aunque inicialmente pueden parecer lo mismo, un pasillo no es más que el área que no es una habitación, mientras que un corredor está específicamente diseñado para conectar un área con otra.
Otra diferencia importante con una casa es que tiene un ancho y una altura específicos, y tiene que llenar todo con habitaciones y pasillos, mientras que con una mazmorra, hay espacio vacío.
Creo que los pasillos en una casa es algo entre un corredor de mazmorra (te lleva a otras habitaciones) y un espacio vacío en la mazmorra (no está explícitamente definido en el código).
Más específicamente, los requisitos son:
- Hay un conjunto de habitaciones predefinidas
que no puedo crear paredes y puertas sobre la marcha. - Las habitaciones se pueden rotar pero no cambiar su tamaño.
Nuevamente, debido a que tengo un conjunto predefinido de habitaciones, solo puedo rotarlas, no redimensionarlas. - Las dimensiones de la casa están establecidas y deben estar completamente llenas de habitaciones (o salas). Es
decir, quiero llenar una casa de 14x20 con las habitaciones disponibles, asegurándome de que no haya espacio vacío.
Aquí hay algunas imágenes para aclarar esto un poco:
Como puede ver, en la casa, el "espacio vacío" todavía es transitable y lo lleva de una habitación a otra.
Entonces, habiendo dicho todo esto, tal vez una casa es solo una mazmorra realmente muy apretada con pasillos. O es algo más fácil que una mazmorra. Tal vez hay algo por ahí y no lo he encontrado porque realmente no sé qué buscar.
Aquí es donde me gustaría su ayuda: ¿ podría darme consejos sobre cómo diseñar este algoritmo? ¿Alguna idea sobre qué pasos tomará? Si has creado un generador de mazmorras, ¿cómo lo modificarías para que se ajuste a mis requisitos? Puedes ser tan específico o genérico como quieras. Estoy buscando elegir tu cerebro, de verdad.