Il periodo estivo sta volgendo al termine e pian piano tutti torniamo alla nostra vita regolare o almeno questo è quello che ci stiamo augurando da un paio d'anni.
Io mi sono concesso qualche giorno di vacanza cercando di non cadere nella tentazione di avviare Unity e Blender e prendendomi del tempo per pensare alle soluzioni migliori da proporre nel livello del tempio.
Poi come da mio carattere, appena ho avuto qualche buona idea, mi sono buttato a capofitto nel modellare e inserire nell'engine quello che avevo pensato.
Quindi riapro questo appuntamento sullo sviluppo del gioco, parlandovi del primo enigma che incontrerete nell'affrontare questo capitolo.
Come avevo accennato precedentemente, il primo rompicapo si basa su una specie di gioco di memoria, una sequenza di caratteri da inserire nel giusto ordine che quando verrà risolto, darà la possibilità di poter proseguire alla sezione successiva.
Per introdurre questo rompicapo, ho iniziato modellando una scena rappresentante una piccola caverna in cui la nostra protagonista si ritroverà a dover interagire con un pannello pieno di pulsanti, ogni pulsante illuminerà un simbolo, e la scelta della sequnza di questi simboli, se inserita nel giusto ordine darà la possibilità di proseguire.
Con l'aiuto del mio fidato programma di modellazione Blender, ho creato le varie mesh tridimensionali, che successivamente ho tagliato lungo i lati corretti per poterle rappresentare su un piano bidimensionale e aver così la possibilità di poterle colorare, ottenendo questo risultato.
Fatto questo, ho esportato questi oggetti in modo che siano pronti per essere inseriti sull'engine Unity, logicamente tenendo conto che non si può esportare tutta la scena in un'unico blocco, ma a seconda dell'utilizzo un determinato oggetto, questo dovrà essere esportato in modo separato dal resto(ad esempio il pannello ha un tot. di pulsanti ed ogni pulsante sarà un'oggetto separato, questo perchè quando uno di questi pulsanti verrà premuto, solamente lui dovrà cambiare la sua posizione, la sua illuminazione, il suo materiale, mentre il resto dei pulsanti dovranno rimanere invariati).
Dopo aver impostato su Unity la scena precedentemente creata con blender, ed aver creato degli hotspot per ogni pulsante, posso finalmente passare alla logica dell'enigma.
Per fare questo bisogna aver ben chiaro come si è pensato di far funzionare il rompicapo, creare delle variabili e iniziare con un lavoro abbastanza certosino per assegnare alla pressione di ogni pulsante il suo comportamento, ottenendo una sequenza di istruzioni che verrà processata alla pressione del bottone.
Ciò che state osservando nella foto superiore, è la sequenza di istruzioni che vengono eseguite:
-disabilito l'hotspot del pulsante
-blocco il movimento del giocatore
-cambio il materiale del pulsante con uno emissivo(in modo da far vedere che è stato premuto)
-cambio la posizione del pulsante premuto
-eseguo un'effetto sonoro(il tipico "click")
-Tramite un check, faccio un controllo su una variabile locale, per vedere se il pulsante premuto è quello corretto, ripristinando il materiale del pulsante e la sua posizione in caso di risposta errata, oppure mantenendo il tutto e andando a modificare la variabile locale di controllo in modo che possa essere pronta per essere confrontata con il pulsante che verrà premuto successivamente.
Sembra abbastanza complicato, e ammetto che le prime volte in cui mi sono cimentato ho avuto i miei bei grattacapi per orientarmi e ricordarmi tutti i passaggi da seguire, ma poi con pratica e costanza, ho iniziato ad organizzarmi seguendo dei passaggi annotati in modo da ridurre al minimo la possibilità d'errore(anche se molte volte di errori se ne fanno, e capita di dover poi dedicarci ore per scovarli in mezzo a tutto).
Ritengo comunque di essere fortunato ad aver la possibilità di poter gestire la logica tramite questa interfaccia grafica, che mi aiuta moltissimo, a differenza di dover scrivere righe e righe di codice di cui non ho nozioni.
Come già detto in precdenza, Adventure Creator mi dà la possibilità di fare tutto ciò senza per forza essere un'esperto di linguaggio di programmazione, proprio sostituendo con questa rappresentazione a finestre il codice scritto.
Dopo aver impostato il tutto arriva il momento in cui bisogna testare il funzionamento, cerco di provare tutte le possibili combinazioni, sbagliando più volte, inserendo sequenze casuali, cercando in tutti i modi di creare situazioni tali che portino a galla i punti deboli della logica che ho escogitato, e la maggior parte delle volte ci si accorge di errori che non erano stati preventivati, obbligando così a dover riprendere in mano la sequenza d'istruzioni per modificarla.
Poi però alla fine quando tutto funziona come deve la soddisfazione è tanta, e vedere funzionare l'enigma che qualche settimana prima era solamente un'idea abbozzata su un foglio, ti ricompensa di tutto il tempo passato per crearlo.
[youtube]
https://youtu.be/weQxAqlUBj8[/youtube]