Io e una squadra stiamo lavorando a un gioco costruttore di fabbriche che dà al giocatore una fabbrica casuale all'inizio del gioco. Per cercare di assicurarsi che vi sia un senso di "equità", idealmente la fabbrica generata casualmente avrebbe un'area entro poche unità di (valore segnaposto) 30.
È relativamente semplice scrivere un generatore di rettangoli casuali di base per soddisfare queste specifiche, ma il nostro obiettivo è che la fabbrica sia più complessa, forse composta da 2, 3 o persino 4 rettangoli che si intersecano, producendo forme più complesse (pensa a L, U e edifici a forma di O).
Ho provato a generare un rettangolo casuale e quindi ad utilizzare l'algebra di base per riempire un secondo rettangolo, ma finora non ho avuto fortuna a implementare più di 2 rettangoli, e anche allora non sono soddisfatto dei risultati per un solo 2 rettangolo .
Alcune informazioni più rilevanti: 2D top down Alcuni dei meccanici sono in stile factorio, quindi le stanze dovrebbero avere una lunghezza e una larghezza ragionevoli per consentire spazio per i macchinari Attualmente in Java e Lua (possono utilizzare librerie integrate da entrambi se necessario)
Grazie in anticipo!
EDIT: Quando dico output "buoni" o "cattivi", un output cattivo sarebbe qualsiasi output che ha spazio inutilizzabile dal lettore. La forma di fabbrica limita la posizione in cui il giocatore può posizionare macchine di fabbrica come nastri trasportatori. Idealmente, la fabbrica non dovrebbe avere aree larghe solo 1-2 blocchi, la forma non dovrebbe essere uno o due grandi rettangoli con una linea di 1-2 blocchi "sospesi" su un lato. Un buon risultato sarebbe dove tutto lo spazio del pavimento è "lavorabile", quindi tutte le aree sono larghe almeno 3-4 blocchi. Un buon risultato non deve sempre essere complesso (1 o 2 rettangoli vanno bene), ma dovrebbe avere una buona probabilità se composto da più di 1-2 rettangoli.