CodyMaze è un labirinto virtuale nel mondo reale
Ci si muove su una scacchiera 5 x 5 le cui caselle contengono dei QRcode. Apparentemente la scacchiera è libera, ma grazie ai QRcode mostra labirinti sempre diversi che vengono proposti al giocatore da un bot Telegram chiamato @codymazebot. Il giocatore si muove fisicamente sulla scacchiera seguendo le istruzioni del bot e scansiona il QR Code su cui arriva ad ogni tappa per verificare di aver eseguito correttamente la sequenza di istruzioni.
Durante le varie tappe del gioco vengono proposte sequenze di istruzioni di complessitĂ crescente che introducono tutti i concetti base della programmazione, offrendo unâesperienza equivalente al labirinto classico dellâhour of code, ma diversa di volta in volta e giocata fisicamente. Al termine del gioco il bot Telegram rilascia un attestato nominale di completamento di unâora di coding, che riporta lâelenco dei costrutti di programmazione sperimentati durante il gioco.
Terreno di gioco
CodyMaze si gioca su una griglia quadrata, 5Ă5, sulla quale sono disposti 25 QRcode. I QRcode sono disposti sul pavimento, ad almeno 50cm di distanza lâuno dallâaltro. In tal modo il giocatore può muoversi con il proprio corpo allâinterno della scacchiera, senza usare pedine. Se la scacchiera fosse effettivamente disegnata a terra ogni QR Code occuperebbe il centro di una casella, ma la presenza dei QRcode che identificano il centro delle caselle rende inessenziale tracciarne i bordi. Quindi la scacchiera può non essere disegnata.
Le colonne e le righe della scacchiera sono identificate da lettere e numeri, partendo dallâangolo in alto a sinistra. Ad ogni QR Code è assegnata una posizione identificata da una lettera e da un numero. Inoltre la scacchiera è orientata convenzionalmente in modo che il lato superiore corrisponda al Nord e, di conseguenza, quello inferiore al Sud, quello sinistro allâOvest e quello destro allâEst. Se il luogo lo consente si consiglia di orientare effettivamente la scacchiera in modo coerente con i punti cardinali.
Obiettivo del gioco
Uscire dal labirinto virtuale seguendo le istruzioni fornite dal bot Telegram @codymazebot.
Giocatori
Il gioco può essere giocato da uno o piÚ giocatori. Il limite al numero di giocatori è dato solo dalle dimensioni della scacchiera sulla quale i giocatori devono potersi muovere indipendentemente, eseguendo ciascuno le proprie istruzioni fornite da @codymazebot.
Componenti del gioco
- Smartphone o tablet dotato di:
- Connessione dati
- Fotocamera
- Lettore di QR Code
- Telegram messenger
I dispositivi in uso devono essere pari al numero di giocatori che giocano contemporaneamente. Al termine del gioco lo stesso smartphone può essere usato da un altro giocatore, al quale il bot presenterà un percorso diverso.
DifficoltĂ
Il giocatore non conosce il percorso, ma riceve istruzioni dal bot Telegram e deve interpretarle ed eseguirle correttamente. Le sequenze di istruzioni fornite dal bot sono di difficoltĂ crescente, sia per i costrutti che introducono sia per la lunghezza.
Game Play
Il giocatore interagisce con il gioco compiendo le seguenti azioni:
- Scansione del QR Code associato alla casella su cui si trova il giocatore.
- Impostazione della direzione di marcia.
- Lettura e interpretazione delle istruzioni fornite dal bot.
- Esecuzione delle istruzioni fornite dal bot, spostandosi fisicamente sulla scacchiera a terra.
Game Design (regole)
Inizio del gioco
à possibile iniziare una nuova partita solo dopo aver concluso le partite eventualmente in corso. Se @codymazebot non è pronto ad iniziare una nuova partita perchÊ la precedente è stata interrotta, è possibile riportarlo allo stato iniziale con il comando /reset. Il gioco viene avviato quando viene scansionato uno qualsiasi dei QRcode della griglia.
Per iniziare il gioco il giocatore deve scegliere una casella esterna (una delle 16 che compongono il bordo) e scansionare il corrispondente QRcode per notificare al bot la scelta. Il bot indica al giocatore la direzione di marcia e chiede conferma.
Mossa
Ad ogni passo il bot guida il giocatore con un codice preceduto da questa frase: âSegui queste indicazioni per risolvere il prossimo passo e scansiona il QR Code allâarrivoâ. Il giocatore deve muoversi sulla scacchiera eseguendo il codice come se fosse un robot, facendo attenzione alla posizione e alla direzione di partenza.
Se lâesecuzione è corretta il bot dice: âBenissimo! Hai trovato il punto giusto.â e propone il codice del passo successivo.
Mosse sbagliate
Una mossa è sbagliata se viene scansionato il QRCode sbagliato o impostata la direzione sbagliata rispetto a quelli previsti dal codice fornito dal Bot.
Completamento del labirinto
Al termine di tutte le mosse previste il bot manda il seguente messaggio: âComplimenti! Hai completato CodyMaze!â Il bot chiede quindi di digitare il nome che si vuole sul certificato di completamento.
Sintassi
Istruzioni elementari. Il bot usa le 3 istruzioni elementari di CodyRoby, rappresentate dalle rispettive iniziali in caratteri minuscoli: a = vai avanti, s = girati a sinistra, d = girati a destra.
Installazioni
CodyMaze è un gioco di coding da piazza, che è stato presentato per la prima volta durante lâedizione 2017 di Urbino Summer Code Fest.
Sviluppi futuri
CodyMaze verrĂ ulteriormente sviluppato per offrire esperienze di coding diversificate per fascia dâetĂ .
Credits
CodyMaze è un progetto di Alessandro Bogliolo, sviluppato da Brendan Paolini, Lorenz Cuno Klopfenstein e Saverio Delpriori.