Eserciti di robot si scontrano nelle epiche battaglie sullo schermo di Battlecode.

Robot si scontrano in battaglie sullo schermo di Battlecode.

La competizione di programmazione a lungo termine incoraggia abilità e amicizie che durano per tutta la vita.

Battlecode, MIT’s long-running programming competition, pushes teams to spend hours coding and refining their bot armies in a quest for the perfectly crafted game plan.

In una stanza affollata del Stata Center del MIT, centinaia di robot digitali si scontrano su uno schermo gigante proiettato davanti alla stanza. Una folla di studenti nell’audience si stupisce e applaude mentre l’esito della battaglia è in bilico. In un angolo superiore dello schermo, le persone che hanno programmato le strategie degli eserciti di robot narrano l’azione in tempo reale.

Non si tratta dell’ultimo evento di e-sports, ma della competizione di lunga data del MIT, Battlecode. Aperta a squadre di studenti di tutto il mondo, Battlecode chiede ai partecipanti di scrivere il codice per programmare interi eserciti – non solo singoli robot – prima che si scontrino. I risultati drammatici e spesso inaspettati sono decisi in base a quale strategia di programmazione si allinea meglio con i parametri del gioco e le circostanze della battaglia.

La competizione unica spinge le squadre a trascorrere ore a programmare e perfezionare i loro eserciti in cerca del piano di gioco perfettamente elaborato. Dal 2007, la competizione ha coinvolto studenti delle scuole superiori e universitari di tutto il mondo, alzando l’asticella intellettuale poiché persone con sfondi diversi affrontano la sfida aperta.

“Ogni anno cambiamo le regole, nuovi tipi di robot, nuove azioni che possono fare l’uno contro l’altro e un nuovo obiettivo su come vincere”, ha detto il co-presidente di Battlecode e studente del MIT Serena Li prima dell’ultima partita del 5 febbraio. “Le strategie cambiano ogni anno perché il gioco cambia”.

Il MIT è stato particolarmente ben rappresentato nell’ultimo torneo. Delle 16 squadre finaliste, tre erano composte interamente da studenti del MIT, mentre un’altra includeva tre studenti del MIT e uno dell’Università di Yale. La squadra vincente era composta da studenti della Carnegie Mellon University e della Georgia Tech.

Anche se la competizione di quest’anno è ufficialmente chiusa, il duro lavoro e le lunghe ore richieste per il successo in Battlecode spesso creano un legame tra i partecipanti che dura molto oltre la stretta scadenza della competizione.

“Lo spirito dei concorrenti è ciò che rende il programma così fantastico”, dice il co-presidente e studente del MIT Andy Wang. “Ci sono sempre squadre che cercano di creare robot euristici sempre più avanzati per risolvere questa cosa, e le persone stanno mettendo in tutto questo lavoro e dedizione, solo per essere abbinate da concorrenti che fanno lo stesso. Crea un’atmosfera davvero incredibile ogni anno”.

Impostare il codice

Dagli inizi degli anni 2000, Battlecode ha dato agli studenti una quantità specifica di tempo e potenza di calcolo per scrivere un programma per eserciti di robot che combattono in un torneo in stile videogioco.

Quando il programma inizia a gennaio, ai partecipanti viene fornito il software Battlecode e i parametri di gioco dell’anno. Durante il Periodo di Attività Indipendente (IAP), che gli studenti del MIT possono seguire per crediti di corso, i partecipanti imparano ad utilizzare l’intelligenza artificiale, il pathfinding, gli algoritmi distribuiti e altro ancora per creare la strategia migliore possibile.

“Questo è un gioco troppo complicato per essere giocato manualmente”, spiega Isaac Liao, senior del MIT, che ha vinto il torneo principale l’anno scorso. “Non puoi controllare ogni unità perché ce ne sono centinaia e stai andando per 2.000 turni”.

Battlecode include percorsi per i partecipanti del MIT di prima volta, gli studenti universitari degli Stati Uniti (compresi gli studenti del MIT che hanno gareggiato in precedenza), gli studenti universitari internazionali e le squadre delle scuole superiori.

“La possibilità per chiunque di competere apre davvero l’opportunità per tutti di provare le loro capacità su un terreno di gioco equo”, dice Wang. “Gli studenti delle scuole superiori e gli studenti internazionali si comportano molto bene, ed è bello perché molte di queste squadre rimarranno insieme e continueranno a contattarsi anche dopo la scuola superiore”.

Dopo un mese per perfezionare le loro strategie, le squadre iniziano a competere in partite di torneo che portano all’evento finale. Gli organizzatori di Battlecode fanno volare i finalisti internazionali e li sistemano in un hotel, dove spesso si incontrano di persona per la prima volta dopo settimane di scambi online. Liao, che ha gareggiato per diversi anni, dice di essere ancora in contatto con i suoi ex concorrenti.

La battaglia finale si svolge davanti a un pubblico dal vivo al MIT, con le migliori squadre che ricevono premi in denaro.

Nel corso degli anni, ci sono state molte manifestazioni memorabili. Un anno uno studente del MIT ha rotto il gioco scoprendo come lasciare lo spazio software progettato per i concorrenti. (Ha gentilmente informato gli organizzatori del difetto prima del vero torneo). Un altro anno gli organizzatori hanno inserito una nuova variabile nelle battaglie: gli zombie. Una squadra si è qualificata per la finale nascondendo un robot nell’angolo dello schermo e lasciando che il resto dei robot si trasformasse in zombie per consumare l’opposizione.

Il montepremi totale di quest’anno era superiore a $20.000. Gli organizzatori hanno creato circa 200 magliette da distribuire prima dell’evento finale e si sono rapidamente esauriti.

La finale imprevedibile fa per una scena tesa poiché ai concorrenti viene data un microfono per spiegare le strategie che si svolgono sullo schermo in tempo reale.

Wang afferma che organizzare l’evento, che ha aumentato in complessità con l’inclusione di giocatori internazionali, è frenetico ma divertente.

“I membri di Battlecode sono tutti molto amichevoli e accoglienti, ed è fantastico gestire l’evento vero e proprio e incontrare tutte queste nuove persone e vedere questo progetto su cui hai lavorato per tutto il semestre prendere forma”, dice Wang.

In effetti, l’ultimo lascito di Battlecode potrebbe essere l’amicizia formata attraverso l’intensa competizione.

“Molte squadre sono composte da studenti che non hanno lavorato insieme troppo da vicino”, dice Wang. “Si sono trovati attraverso il processo di costruzione del team o si conoscono casualmente, ma molti di loro finiscono per restare insieme e fare molte cose insieme. È un modo per formare queste conoscenze durature”.

Competenze che durano una vita

Un certo numero di giocatori attuali e passati hanno notato che le competenze necessarie per avere successo in Battlecode si trasferiscono bene alle startup.

“Piuttosto che in altre competizioni dove sei solo davanti a un computer, c’è molto da guadagnare dal lavoro di squadra in Battlecode”, dice il senior e ex presidente Jerry Mao. “Ciò si trasferisce veramente nell’industria e nel mondo reale”.

Gli sponsor di quest’anno includevano Dropbox e Regression Games, entrambi fondati da ex partecipanti di Battlecode. Un altro sponsor del passato, Amplitude, è stato fondato da Spenser Skates ’10 e Curtis Liu ’10, che si sono conosciuti durante Battlecode e lavorano insieme da allora.

“Ci sono molte analogie tra ciò che stai cercando di fare in Battlecode e ciò che alla fine devi fare nelle prime fasi di una startup”, dice Liu. “Hai risorse limitate, poco tempo e stai cercando di raggiungere un obiettivo. Quello che abbiamo scoperto è che provare molte cose diverse, mettere le nostre idee là fuori e testarle con dati reali, ci ha aiutato a concentrarci sulle cose che contano veramente. Quel metodo di iterazione e miglioramento continuo ha gettato le basi per il nostro approccio alla costruzione di prodotti e startup”.

Oltre alle startup, i partecipanti e gli organizzatori hanno detto che Battlecode può preparare gli studenti per una serie di carriere, dal trading quantitativo alla formazione di sistemi di intelligenza artificiale alla conduzione di ricerche. Forse è per questo che gli studenti continuano a tornare.

“Le competenze più importanti per il successo sono molta iterazione e perseveranza e la volontà di adattarsi rapidamente, basicamente cambiando il modo in cui stai lavorando rapidamente”, dice Wang. “Vedi cosa fanno le altre squadre e non solo gareggi ma anche parli con loro, studiando ciò che stanno facendo bene e aggiungendo i loro punti di forza ai tuoi bot. Credo che quelle competenze siano importanti ovunque, che si tratti di costruire una startup o fare ricerca o lavorare in una grande azienda”.