Yo y un equipo estamos trabajando en un juego de construcción de fábricas que le da al jugador una fábrica aleatoria al comienzo del juego. Para tratar de asegurarse de que haya una sensación de "justicia", idealmente la fábrica generada al azar tendría un área dentro de unas pocas unidades de (valor de marcador de posición) 30.
Es relativamente sencillo escribir un generador de rectángulo aleatorio básico para cumplir con estas especificaciones, pero nuestro objetivo es que la fábrica sea más compleja, quizás compuesta de 2, 3 o incluso 4 rectángulos que se crucen, produciendo formas más complejas (piense en L, Edificios en forma de U y O).
Intenté generar un rectángulo aleatorio y luego usar álgebra básica para completar un segundo rectángulo, pero hasta ahora no he tenido suerte al implementar más de 2 rectángulos, e incluso entonces no estoy satisfecho con los resultados de solo un diseño de 2 rectángulos. .
Información más relevante: 2D de arriba hacia abajo Algunas de las mecánicas son de estilo factorio, por lo que las habitaciones deben tener una longitud y un ancho razonables para dejar espacio para maquinaria Actualmente en Java y Lua (puede usar bibliotecas integradas de cualquiera de las dos si es necesario)
¡Gracias por adelantado!
EDITAR: Cuando digo salidas "buenas" o "malas", una salida mala sería cualquier salida que tenga espacio inutilizable por el jugador. La forma de fábrica limita dónde el jugador puede colocar máquinas de fábrica, como cintas transportadoras. Idealmente, la fábrica no debería tener áreas que tengan solo 1-2 bloques de ancho, la forma no debería ser uno o dos rectángulos grandes con una línea de 1-2 bloques "colgando" a un lado. Un buen resultado sería donde todo el espacio del piso es "viable", por lo que todas las áreas tienen al menos 3-4 bloques de ancho. Un buen resultado no siempre tiene que ser complejo (1 o 2 rectángulos está bien), pero debe tener una buena posibilidad si se compone de más de 1-2 rectángulos.