Archivio ScriptsDagli UtentiImparare UnityTips

Creare un Labirinto Procedurale

Benvenuti nel primo degli articoli scritti da voi utenti!
Il caro Simone Zambonardi ci ha inviato un interessante sistema per la creazione di labirinti randomizzati a runtime. Un ottima soluzione per la creazione di livelli sempre diversificati ad ogni avvio, un po’ come succede nei vari titoli della serie Diablo e molti altri.
Ciò che vi salterà subito all’occhio sarà l’estrema velocità e semplicità di utilizzo. Impostando un paio di valori potrete generare livelli sempre diversificati. E se avrete le capacità, potrete inserire nuove features allo script, come per esempio la possibilità di randomizzare diversi tipi di muri e tante altre cose.
L’algoritmo si basa su una matrice (max X max) scelta dall’utente. Tale matrice ha il compito di creare e disporre le pareti  in maniera da creare un fitto labirinto visitabile dal giocatore.

Questo è per esempio ciò che potrete generare con una matrice 200×200.
Davvero un sacco di cunicoli in cui perdersi 😉

 

Con un paio di click potrete generare un livello pronto per essere esplorato dai giocatori.
Questo è per esempio un livello 5×5 con due semplici cubi come prefabs dei muri e del pavimento.

Ma potrete impostare le variabili come più vi aggradano generando livelli sempre diversificati.

Capirete da soli che potenzialità di questo script sono davvero enormi. Esistono sono ampi margini di miglioramento ma già così potrete ottenere livelli diversificati, senza dover posizionare muri e piattaforme “a mano”.
Vi lascio dunque il documento in formato .pdf scritto dall’autore dello script  Simone Zambonardi e un package che contiene lo script e una scena di esempio.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *