Lo scorso 1° aprile, uno dei “pesci” di Google è consistito nell’aggiunta del gioco Snake su Google Maps. Rivisitazione un po’ più moderna del gioco nato negli anni ’70 e presente anche nei primi telefonini che furono presentati sul mercato, la versione di Snake targata Google è accessibile portandosi nel menu principale dell’applicazione Maps quindi scegliendo la voce Gioca a Snake.
I ricercatori di Check Point si sono divertiti a “forzare” il videogioco sviluppando un semplice script JavaScript che introduce in Snake una sorta di intelligenza artificiale, capace di vincere sempre con il massimo punteggio possibile.
Il debugging delle applicazioni e siti web caricati da un dispositivo mobile non è immediato perché non vengono forniti strumenti destinati agli sviluppatori direttamente sullo smartphone o sul tablet.
La strada che gli esperti di Check Point hanno imboccato è la stessa che avevamo presentato nel nostro articolo Strumenti per sviluppatori Chrome su Android: come smascherare chi carica contenuti malevoli.
Collegando un dispositivo Android al PC via cavo USB, attivando le Opzioni sviluppatore sullo smartphone quindi Debug USB, avviando il browser Chrome e accedendo agli Strumenti per gli sviluppatori, è possibile studiare il funzionamento dell’applicazione web Snake.
Snake utilizza come “piano di gioco” le mappe stilizzate di alcuni luoghi famosi: Il Cairo, San Paolo, Londra, Sydney, San Francisco, Tokyo e il mondo intero.
Il mezzo di trasporto prescelto è il treno che, mano a mano che si caricano a bordo nuovi passeggeri, si allunga sempre di più con l’aggiunta di ulteriori vagoni.
Per spostarsi, gli utenti possono fare swipe nelle varie direzioni e far salire sul treno quante più persone possibile. Ovviamente bisognerà porre attenzione ai muri che circondano il quadrato di gioco ed evitare di far sbattere la locomotiva contro i vagoni.
Come si spiega in quest’analisi, i tecnici di Check Point hanno dapprima aggiunto una sola riga di codice JavaScript per rendere trasparenti i muri così da evitare la prematura interruzione del gioco.
Poi, mettendo a punto uno script un po’ più articolato, è stato possibile rendere del tutto autonomi i movimenti del treno e fare in modo di ottenere sempre il punteggio più alto.
Il risultato è visibile nel video che ripubblichiamo di seguito.
Il codice messo a disposizione da Check Point per vincere sempre con il pesce d’aprile di Google è stato pubblicato su GitHub a questo indirizzo.
Secondo quanto riferito, Snake su Google Maps resterà utilizzabile solo fino al prossimo 7 aprile all’interno dell’app ma, portandosi a questo indirizzo, dovrebbe essere utilizzabile anche successivamente.