Ho esaminato alcuni algoritmi e articoli sulla generazione procedurale di un dungeon. Il problema è che sto cercando di generare una casa con stanze e non sembrano adattarsi alle mie esigenze.
Per uno, i sotterranei hanno corridoi, dove le case hanno sale. E mentre inizialmente potrebbero sembrare uguali, una sala non è altro che l'area che non è una stanza, mentre un corridoio è progettato specificamente per collegare un'area all'altra.
Un'altra differenza importante con una casa è che hai una larghezza e un'altezza specifiche e devi riempire l'intera cosa con stanze e sale, mentre con una prigione c'è spazio vuoto.
Penso che le sale di una casa siano qualcosa tra un corridoio sotterraneo (ti porta in altre stanze) e uno spazio vuoto nel sotterraneo (non è esplicitamente definito nel codice).
Più specificamente, i requisiti sono:
- C'è una serie di stanze predefinite
che non posso creare muri e porte al volo. - Le stanze possono essere ruotate ma non ridimensionate
Ancora una volta, poiché ho un set predefinito di stanze, posso solo ruotarle, non ridimensionarle. - Le dimensioni della casa sono impostate e devono essere interamente riempite di stanze (o sale).
Voglio cioè riempire una casa 14x20 con le stanze disponibili assicurandomi che non vi sia spazio vuoto.
Ecco alcune immagini per renderlo un po 'più chiaro:
Come puoi vedere, in casa lo "spazio vuoto" è ancora percorribile e ti porta da una stanza all'altra.
Quindi, detto tutto ciò, forse una casa è solo una prigione davvero molto fitta di corridoi. O è qualcosa di più facile di un sotterraneo. Forse c'è qualcosa là fuori e non l'ho trovato perché non so davvero cosa cercare.
È qui che mi piacerebbe il tuo aiuto: potresti darmi indicazioni su come progettare questo algoritmo? Qualche idea su quali passi prenderà? Se hai creato un generatore di dungeon, come lo modificheresti per soddisfare le mie esigenze? Puoi essere specifico o generico come desideri. Sto cercando di scegliere il tuo cervello, davvero.