Outcast

View Original

Gladiabots - Lode ai nostri signori robotici!

Provare Gladiabots è stato un po’ come portarsi il lavoro a casa. Programmare astrusi strumenti di simulazione dalle 9 alle 18, che diventano sistematicamente le 10 e le 19 rispettivamente, per poi tornare a casa e continuare? Senza nemmeno essere pagati? No, grazie! E invece alla fine sì, perché vuoi mettere la soddisfazione di concepire e realizzare l’intelligenza artificiale di robot gladiatori, che in un futuro prossimo porranno fine alla razza umana? Perché è solo questione di tempo, ragazzi. E il tutto senza doversi preoccupare di variabili, funzioni, oggetti, compilazioni e soprattutto di quei maledetti segmentation fault.

Per essere un gioco dalla profondità infinita, Gladiabots è sorprendentemente semplice. Due squadre da quattro robot si sfidano in un’arena in cui si possono muovere liberamente. Niente ingabbiamento in griglie quadrate ed esagonali, che non è mica il 2014, ma movimento continuo a 360 gradi per massimizzare le variabili. Si hanno a disposizione quattro classi diverse di robot e tre diverse tipologie di eventi di gioco. Nei tornei del futuro fra gladiatori robotici, non c’è spazio solo per la mutua eliminazione ma anche per gare a base di punti di controllo e accumulazione di risorse. Viene da chiedersi cosa ci faccia un umano in questo inferno di metallo e silicio. Programma l’intelligenza artificiale dei robot, ovviamente! Un allenatore fuori campo in grado di capire, concepire e realizzare con minuzia chirurgica anche il più complesso dei comportamenti. Una specie di Ancelotti, tanto per fare un esempio calcistico vicino al cuore, capace di stabilire in ogni momento e in ogni situazione cosa dovrebbe fare ognuno dei suoi giocatori, separatamente. E alla fin fine, la maggior parte del tempo la si passa a programmare, utilizzando una futuristica e pulitissima interfaccia a blocchi connessi da linee, non tanto diversa da quelle utilizzate in veri strumenti di programmazione visuale come LabView.

Abituatevi a questa schermata, perché ci passerete ore. Ed è comunque meglio di passare ore su LabView.

Esplorando l’infinita libreria di blocchi di programmazione a disposizione del giocatore, ci si accorge ben presto delle estreme possibilità di personalizzazione di ogni intelligenza artificiale. Ogni singolo elemento di gioco può essere oggetto di azioni, oppure può essere utilizzato come condizione per altre azioni. Perfino i blocchi che determinano le attività più semplici, come il movimento di un robot verso una certa posizione, possono essere agghindati con condizioni accessorie, come la posizione di un nemico o la propria situazione degli scudi. È un infinito gioco di scatole cinesi fra variabili, condizioni, priorità, che restituisce quella stessa esatta sensazione di totale libertà creativa caratteristica della programmazione tout court. Il tutto senza doversi infognare con compilatori, codice, parentesi e punti e virgola. E se non c'avete capito una mazza di tutte 'ste cose, non vi preoccupate: è più che normale, e il gioco lo sa e aiuta quando può e come può.

Avessi avuto Gladiabots nei miei anni dell’università, forse, il mio approccio alla nobile arte della programmazione sarebbe tuttora diverso. Il potersi concentrare solo sugli aspetti creativi e logici, senza perdere tempo su quelli più tecnici, è molto utile per chi si avvicina alla programmazione per la prima volta. Sono convinto che Gladiabots possa essere un eccellente strumento didattico, a patto di non farsi spaventare dall’enorme complessità di variabili e sistemi che si hanno a disposizione, e va detto che i creatori del gioco hanno fatto di tutto per non spaventare il giocatore. Sul tutorial è stato fatto un lavoro eccellente: lento, tranquillo e sempre chiaro, anche quando le condizioni e le interconnessioni cominciano a farsi affollate e complesse.

Si può perfino debuggare il programma, utilizzando un metodo a step non tanto dissimile da quello usato in veri programmi di debugging come gdb.

Per il resto, Gladiabots ha tutto ciò che un gioco del genere dovrebbe avere: una campagna in single player su cui farsi le ossa a lungo prima di buttarsi nella mischia del multiplayer asincrono, in cui i giocatori possono far sfidare le proprie intelligenze artificiali fra di loro come in una sfida a scacchi in remoto. Le leaderboard, che si aprono come normalissime pagine web, sono piene zeppe di statistiche e ogni altra sorta di feticistico numerello che possa testimoniare quanto sia efficace e ottimizzato ogni algoritmo.

Gladiabots non è decisamente per tutti, e perfino io, che con queste cose, più o meno, ci lavoro, ho avuto spesso difficoltà a giocarci, preferendogli altre minchiatelle sparacchine per non logorare troppo quei due neuroni che mi sono rimasti in testa, specie a tarda sera. Ma se questo genere di giochi come “lavoro” è il vostro personalissimo feticismo (DeSangre, sto guardando praticamente te e altre tre persone in Italia), Gladiabots è tutto giusto e su tanti aspetti è anche il più accessibile dei suoi cugini più o meno lontani, come Factorio, SpaceChem e via dicendo. È di quei giochi talmente specifici, e allo stesso modo curati come e più di tanti altri titoli ben più mainstream, che ti fanno urlare al miracolo. Il fatto stesso che esistano giochi del genere, e che si possa smontarli a dovere, è la prova che stiamo vivendo un periodo d’oro per i videogiochi.

Ho giocato a Gladiabots grazie a un codice Steam gentilmente fornito dagli sviluppatori. Ho affrontato varie campagne in single player per un totale di circa cinque ore. Ho provato brevemente la modalità multiplayer ma lì ci sarebbe da studiare e sudare parecchio per affrontare i migliori programmatori. Gladiabots è disponibile solo tramite download su PC.