Personalmente, trovo che la simmetria nella progettazione dei livelli sia noiosa e non penso che sia necessariamente necessario per livelli equi; la simmetria è un modo per garantire che tutti abbiano accesso alle stesse risorse e alle stesse strozzature in virtù del livello letteralmente rispecchiato per ogni giocatore in qualche modo. Penso che la parte importante sia l'accesso (approssimativamente) agli stessi vantaggi e svantaggi. Non tanto la simmetria stessa.
Penso anche che un gioco equilibrato in modo tale che tutte le parti abbiano una potenza equivalente e abbiano pari opportunità è noioso. Ovviamente non vuoi uno squilibrio totale di questi fattori, ma penso che possa creare un'interessante dinamica di gioco per offrire ad ogni lato opportunità e blocchi leggermente diversi.
Questo è il tipo di contesto progettuale che sto pensando a inquadrare la risposta effettiva alla domanda:
Se la simmetria conta davvero per te, puoi semplicemente generare proceduralmente un pezzo di livello e quindi rispecchiare quel livello su entrambi gli assi. Il blocco che generi è sostanzialmente un quarto del livello e lo specchi in modo che ogni quadrante sia uguale. Ad esempio, una mappa di altezza procedurale con depositi di risorse distribuiti casualmente:
Ma come ho detto sopra, sembra noioso. Un approccio più interessante potrebbe essere quello di generare l'intero terreno proceduralmente, ma quando si posizionano le risorse, assicurarsi di vincolare ciascun quadrante allo stesso numero di ciascuno (entro una certa tolleranza per fornire una certa variabilità). Potresti voler distorcere il posizionamento di vari tipi di risorse verso varie aree (in modo casuale, vicino ai punti di partenza, vicino ai bordi) in base all'importanza delle risorse. Per esempio:
È possibile eseguire analisi sull'immagine generata per provare a trovare i bordi delle caratteristiche, ad esempio canyon stretti, che possono essere considerati colli di bottiglia. Puoi decidere di ripetere il rollback della generazione del terreno per una porzione della mappa se, ad esempio, presenta un numero di colli di bottiglia molto maggiore o minore o caratteristiche del terreno rilevabili in modo simile rispetto ad altri. Puoi anche fare un'analisi del terreno simile per assicurarti che ogni risorsa posizionata sia, in qualche modo, raggiungibile.
Ad esempio, puoi decidere di ripetere il rollback del quadrante in basso a sinistra perché ha troppa acqua (in rosso) o i quadranti che contengono il verde perché sono troppo tatticamente vantaggiosi (potenziali colli di bottiglia nel canyon):
Puoi anche scegliere di guidare manualmente la generazione delle tue funzionalità; puoi posizionare manualmente determinati elementi, come un fiume che divide le sezioni del livello o i depositi di risorse chiave, ed eseguire successivamente la generazione procedurale in modo tale da preservare le caratteristiche di bilanciamento chiave posizionate a mano pur fornendo la varietà interessante e organica che desideri di generazione procedurale.
Ad esempio, un terreno generato che conserva un fiume posizionato manualmente che divide la mappa a metà e una copertura boscosa ha fornito una difesa aggiuntiva attorno alle basi: