Tra i computer niente viene mai inventato e tutto si rinnova a velocità vertiginosa. Nel caso della gamification applicata alla programmazione, si ricordano Core War, Robowar (anche online), Robocode.
Il rinnovo più trendy della trasformazione della programmazione in gioco è sicuramente CodeCombat: impara JavaScript giocando. Truppe umane si scontrano contro orchi, in battaglie individuali per principianti oppure in un’arena multiplayer per esperti. Con il codice di gestione su GitHub, per quanti volessero giocare a migliorare il gioco. I risultati rimangono nella classifica e permettono di autovalutarsi rispetto alla massa dei partecipanti.
Il salto di qualità dell’iniziativa è stato indire un torneo di tre settimane, con un totale di 40 mila dollari di premi in palio. Questi i risultati secondo il blog di CodeCombat:
545 giocatori che hanno prodotto 126 mila righe di codice. Dieci ore medie di sviluppo degli algoritmi, per 7,5 mesi totali. Classifica finale amministrata da un cluster di elaborazione a 673 nuclei, capace di simulare 153.439 in meno di un’ora per appena 5,74 dollari. 390 miliardi di istruzioni mandate in esecuzione.
Il campione degli umani, Michael Wizard Dude Heasell, ha totalizzato 363 vittorie, 14 pareggi e zero sconfitte, mentre tra gli orchi ha prevalso Ian Bellardia Elliott con 387 vittorie, 14 pareggi e sette sconfitte. Wizard Dude spiega nella pagina il proprio algoritmo di raccolta risorse:
È un meccanismo basato su forze di attrazione. Ciascuna risorsa sulla mappa attrae i raccoglitori in modo proporzionale al suo valore diviso per il quadrato della distanza. Gli altri raccoglitori alleati e i bordi dell’arena esercitano una forza di repulsione e la somma delle forze produce un vettore di spostamento che porta i raccoglitori a dirigersi verso le zone più appetibili della mappa e contemporaneamente a coprire il territorio.
È un algoritmo che si può trovare in un modello computazionale dei movimenti saccadici apparso su PubMed e in uno studio reperibile sul Journal of Theoretical Biology dedicato allo sviluppo di un tipo di tumore.
Dal programmare per gioco possono emergere algoritmi di valore. E individui che possono dare una svolta alle loro capacità professionali. Lo slogan del torneo era scrivi codice, schiaccia i nemici, fatti assumere.