Quindi, stavo pensando di creare un semplice generatore di mondo casuale. Questo generatore creerebbe una "cella" iniziale che avrebbe tra una e quattro uscite casuali (nelle direzioni cardinali, qualcosa come un labirinto). Dopo aver deciso quelle uscite, avrei generato una nuova "cella" casuale a ciascuna di quelle uscite, e ripeterei ogni volta che un giocatore si avvicinava a una parte del mondo che non era ancora stata generata. Questo concetto consentirebbe un mondo "infinito" di generi, tutti generati casualmente; tuttavia, non sono sicuro di come rappresentare al meglio questo internamente.Struttura dati per un mondo casuale
Sto usando C++ (che non importa, potrei implementare qualsiasi tipo di struttura dati necessaria). All'inizio ho pensato di usare una sorta di grafico diretto in cui ogni nodo avrebbe diretto i bordi di ogni cella che lo circondava, ma probabilmente non funzionerebbe se un utente trova un punto nel mondo, torna indietro e torna a quello spot da un'altra direzione. Il mondo potrebbe fare alcune cose strane, come generare due celle in una posizione.
Qualche idea su quale tipo di struttura dati potrebbe essere la più efficace per una simile situazione? O sto facendo qualcosa di veramente stupido con la mia generazione del mondo casuale?
Qualsiasi aiuto sarebbe molto apprezzato. Grazie, Chris
Non posso credere che non ho pensato di questo, è una soluzione semplice ad esempio, e veloce. –
Come @Nathon menzionato per una nuova cella, assicurati di controllare se esistono celle adiacenti e crea/previeni le porte in quelle celle adiacenti come appropriato. – jholl