Gestione dei labirinti

Oggi sono qui per parlare di come ho affrontato la questione dei labirinti.
Nel secondo atto/capitolo del gioco, Teresa si ritroverà a vagare tra cunicoli bui e passaggi angusti, per cercare una via che la possa condurre verso l’esterno.
Ecco qui entra in gioco il “labirinto” che non è realmente un vero labirinto come quelli che siamo abituati a vedere nei giornali enigmistici, ma più che altro un concatenarsi di incroci e corridoi che vissuti dall’interno e non visti da sopra, rendono più difficoltoso trovare la strada che conduce all’uscita.
E’ stata la prima volta in cui mi sono cimentato nella costruzione logica di un labirinto su Unity, e ho deciso durante la modellazione delle mesh che lo compongono, di evitare di creare un’unico oggetto, ma di modellare più pezzi: corridoi, incroci, trivi, ed assegnare ad ognuna di questi pezzi un nome indicativo e ad ogni sbocco un codice, in modo da poter creare un labirinto modulare che avrei potuto modificare a piacimento.

Per essere più chiaro ho fatto in questo modo:
Un corridoio avrà il nome “burrow1” e le sue 2 uscite saranno chiamate “burrow1A” e “burrow1B”, un incrocio avrà il nome “burrowcross1” e le sue 4 uscite saranno chiamate “burrowcross1A”,“burrowcross1B”,“burrowcross1C” e “burrowcross1D”, un trivio prenderà il nome “burrowtrivio1” e le sue 3 uscite saranno “burrowtrivio1A”,“burrowtrivio2A” e “burrowtrivio3A”,e via così per ogni modulo che comporrà il labirinto.
A questo punto dopo aver disegnato una mappa su un foglio, ho creato la mia lista di stanze, uscite ed entrate facendo in modo che il personaggio quando entra in una stanza, ottiene una variabile stringa con il nome del luogo in cui si trova e che si porta appresso sino alla prossima; in questo modo posso sempre sapere il luogo di partenza del giocatore e quindi facendo un’interrogazione sulla variabile stringa, presentare la stanza corretta che troverà all’uscita della precedente.
Questa scelta mi ha dato modo di ridurre il tempo da dedicare alla modellazione, consentendomi nel frattempo di poter ottenere labirinti complessi e modificabili.

Grazie agli effetti di luce ed effetti sonori inseriti nei punti giusti,si ottiene un buon risultato, il giocatore si ritrova a vagare in zone buie aiutato solamente dalla fievole luce del suo accendino, regalando così un’ambientazione avvolgente e in alcuni casi claustrofobica.
A risentirci al prossimo aggiornamento, nel frattempo se siete curiosi e volete provare la prima parte del gioco, è possibile scaricare il file eseguibile da qui:
http://1monkey2brains.com/2020/12/15/teresa-moontyners-1-act/
p.s. il gioco viene sviluppato in italiano e tradotto temporaneamente in 4 lingue (EN,FR,SP,DE) con traduttori automatici online, è probabile riscontrare in queste traduzioni errori, ma rendono comunque il senso della storia.
Il team
1Monkey2Brains