Profilo Molecule: Rosabelle Armstead
L'ingresso di Rosabelle Armstead nell'industria dei videogiochi è stato a dir poco insolito: la talentuosa programmatrice junior ha ottenuto un lavoro presso Media Molecule e ha vinto un BAFTA per il suo lavoro su Dreams prima ancora di essersi laureata. Abbiamo parlato con Rosabelle di ciò che fa a Mm, di come è arrivata qui e delle affinità tra programmazione, arte e parole crociate...
Ciao Rosabelle! Di cosa ti occupi qui a Media Molecule?
Sono una programmatrice junior di Dreams. Trascorro la maggior parte della mia giornata leggendo codice, scrivendo codice, correggendo codice e parlando con altri programmatori. Dato che sono una programmatrice di livello junior ho tanto da imparare, quindi interagisco spesso con i programmatori senior, che mi aiutano moltissimo.
Come funziona effettivamente la programmazione per Dreams?
Mi sono occupata soprattutto delle Missioni spiritello e dei trofei, e dell’accesso iniziale al gioco. L'intero sistema delle Missioni spiritello era già avviato prima che io arrivassi, quindi è stato un passaggio di consegne. Per le Missioni spiritello abbiamo un tool che elabora un file: i designer possono usarlo per aggiungere nel gioco Missioni spiritello e trofei. Ma per attivare queste richieste alcune cose devono essere aggiunte da noi nel codice. Per la maggior parte delle aree, abbiamo tool con i quali i designer possono creare qualcosa, eseguire il tool, e quel qualcosa finisce nel gioco, e un programmatore deve solo aggiungere l’ultimo passaggio. Prendi ad esempio le Missioni spiritello: abbiamo una lista delle Missioni spiritello, e poi abbiamo una funzione che segna questa Missione come sbloccata quando si compie una certa azione. Poniamo che hai finito un tutorial: c'è una parte nel codice che dice, "Questo tutorial è stato completato", e poi aggiungiamo la stringa che dice, "Segna questo tutorial Missione spiritello come sbloccato".
Quindi il tuo lavoro è parlare al gioco per convincerlo a fare le cose che i designer vogliono, usando un linguaggio speciale?
Proprio così. È un linguaggio matematico, logico. E il modo in cui il nostro codice è scritto non è complesso, di per sé: è abbastanza comprensibile per un nuovo programmatore in erba, per lo più, perché tutto è scritto molto bene. La maggior parte delle cose esplicitano che cosa fanno: ad esempio, se il nome di una funzione è "Aggiungi pulsante", puoi dire con certezza, "Okay, userò la funzione Aggiungi pulsante per aggiungere un pulsante!". All’inizio qualcuno ha dovuto scrivere questa funzione, quindi la roba di livello inferiore è già stata fatta. Questo fa parte di ciò su cui sto lavorando ora: sto imparando la programmazione visuale per creare effettivamente quei pulsanti a livello di pixel, invece di richiamare una funzione di alto livello per aggiungere un pulsante.
Sei sempre stata interessata a diventare una programmatrice?
Sì! Quando ero molto più giovane, leggevo un sacco di Nintendo Magazine. C'era un annuncio per lavorare nel settore dei videogiochi, ed elencava tutti i diversi tipi di lavoro nell'industria: grafica, QA, programmazione, produzione, game design. E mi sono detta: "Sarebbe divertente lavorare su una cosa che mi piace così tanto. Pubblicarla e farla giocare ad altre persone sarebbe davvero appagante." All'epoca, nella mia scuola (eravamo una scuola di sole ragazze) non si insegnava informatica. Avevamo solo l'IT, in cui si facevano solo fogli di calcolo e posta elettronica. Che è roba molto utile! Ma non è programmazione. Così l'ho studiata per il GCSE (diploma secondario), ma non era proprio quello che cercavo, e non mi soddisfaceva. Ho seguito altre strade: ho fatto molti progetti personali in Scratch, che è un linguaggio di programmazione a blocchi drag-and-drop, quando avevo circa 11 anni. Poi ho fatto giochi con Roblox insieme a mio fratello nell'ambiente di scripting Lua. Quando ho compiuto 16 anni, la mia scuola ha finalmente introdotto l'informatica di livello avanzato.
Giusto in tempo!
Già! Mi sono detta: la studio ora prima del diploma, così posso imparare qualcosa prima dell'università! Sono stata fortunata: il gennaio prima dell'attivazione dei livelli avanzati, hanno fatto una sessione di prova, e abbiamo imparato questo algoritmo di ordinamento molto semplice chiamato bubble sort, in un linguaggio anch’esso molto semplice, Visual Basic. E mi sono divertita molto, perché ha attivato tutte quelle parti logiche del mio cervello che amo usare. Mi sono detta: "Sì, voglio assolutamente studiare questa roba, è fantastica". E poi, alla premiazione del GCSE, un paio di mesi dopo la sessione di prova, Siobhan [Reddy, direttrice dello studio Media Molecule] è venuta per fare un discorso. È lì che tutto si è incastrato alla perfezione.
Hai conosciuto Siobhan?
Ricordo che quando è salita sul palco per fare il suo discorso, quando si è presentata e ha detto da dove veniva, tutti si sono girati a guardare me... è stato molto divertente! Il mio insegnante di allora (che sarebbe stato il mio insegnante di informatica l'anno successivo) disse: "Vatti a presentare, così potete scambiarvi i contatti." Quindi credo di essere salita e di aver fatto una chiacchierata con lei. Non ricordo bene quella conversazione, ero molto nervosa. Ma abbiamo ottenuto la sua e-mail e il gennaio seguente abbiamo organizzato una visita scolastica. Abbiamo potuto ascoltare persone come Amy (Phillips, programmatrice di tools) e Michelle (Ducker, produttrice senior), e abbiamo visto le prime demo di Dreams. È stato molto interessante, e tutto ciò che ho visto a Mm ha confermato il mio interesse nel volermi occupare di programmazione e di giochi in particolare. Mi dicevo: "Non riesco a credere a quanto tutto questo sia fantastico". Questo ha portato me e un paio di altre a cercare di tornare per un'esperienza di lavoro estivo, e poi di nuovo l'anno successivo, e poi l'anno successivo ancora!
A quel tempo avevi già iniziato il tuo corso di laurea in informatica, e hai finito per fare anche il tuo anno di tirocinio presso Media Molecule. Cosa c'era in questo studio che ti ha fatto sentire che era il posto giusto per te?
C'è un'incredibile atmosfera qui. Tutti vanno d'accordo. Tutti si conoscono, tutti hanno i loro interessi e tutti sanno più o meno quali sono gli interessi degli altri. Ma tutti sono anche molto bravi nel loro lavoro, e anche molto bravi nei loro altri interessi!
Tu rientri decisamente nella descrizione di versatilità: hai anche un incredibile talento per la ritrattistica. Cosa ti attira dell'arte? È la stessa cosa che ti attira verso la programmazione?
Credo di sì! Ho... Ho le stesse sensazioni di quando sono immersa nella programmazione. Quando sono immersa nel disegno, sono in uno stato di rilassamento. Non penso nemmeno, lo faccio e basta. Così quando disegno, sto solo disegnando - e quando programmo, sto solo digitando. Anche con la programmazione, quando qualcosa non funziona, c’è quella fase di debugging in cui devo usare il lato logico del mio cervello, e mi succede una cosa simile con l'arte quando qualcosa non mi sembra venuto bene. Mi prendo un momento di pausa, faccio un passo indietro e mi dico: "Okay, cervello logico, cosa c'è che non va?" [ride] E poi lo sistemo. Quindi credo che sia abbastanza simile. Non ci avevo mai pensato in questi termini.
Ti abbiamo visto risolvere cruciverba crittografati nel nostro club del cruciverba dello studio, in pausa pranzo. Sembra un processo simile.
Non sapevo fare i cruciverba crittografati prima di lavorare a Mm, mi sono semplicemente seduta al tavolo e ho guardato in silenzio i maghi al lavoro per circa un mese, prima di iniziare a partecipare!
Ma tu sei la più veloce di tutti!
Sì, ho passato quel mese a capire come funzionavano, e poi ogni tanto ci provavo e mi dicevo, "Forse è così", e poi mi sono comprata tre o quattro libri di cruciverba crittografati e li ho completati di getto. A volte non li risolvevo nemmeno, guardavo le soluzioni e cercavo di fare il back-engineering.
Assomiglia in tutto e per tutto alle nostre esperienze (estremamente limitate) con la programmazione. Qualcosa si rompe e ci chiediamo: "Com'è successo?!"
Imparare una cosa a ritroso rende più facile applicarla in avanti. Questa è la grande lezione [ride].
Trovi che ci sia molto in comune tra quello che hai imparato a Mm e quello che fai all'università? Non solo in termini di programmazione, ma anche di crescita personale?
Sì, assolutamente. A quelli che me lo chiedono dico che sento di aver imparato molto di più in un anno di lavoro che in due anni e mezzo di università. Fare qualcosa in un ambiente di lavoro reale fa una differenza enorme. Ha funzionato molto bene durante il mio ultimo anno perché tutto si applicava di nuovo al contrario: tutto quello che avevo fatto a Mm era ora materia dell’ultimo anno di studio. È più facile restare organizzati. E anche lavorare ai progetti di gruppo è diventato molto facile, dato che avevo sperimentato il lavoro di squadra a livello professionale.
Sei chiaramente una che impara in fretta... devi esserlo per fare quello che fai! Hai collaborato allo sviluppo di un gioco vincitore del BAFTA prima ancora di esserti laureata. Come hai fatto a gestire tutto quanto?
Sì, non credo che sia molto comune. Passavo due giorni e mezzo alla settimana a lavorare su cose di Mm a casa, poi due giorni e mezzo all'università. È stato difficile da organizzare con il mio tutor, ma abbiamo trovato un giorno che andava bene per entrambi e alla fine ha funzionato. È stata una fortuna che l’uscita di Dreams sia avvenuta, tipo, due mesi prima che la dissertazione e gli esami cominciassero. Quindi c’è stato un piccolo intervallo tra le due cose... se fossero accadute contemporaneamente, non sono sicura che sarei stata in grado di affrontare il lancio di Dreams.
Ti laureerai presto, ma quali sono i tuoi piani dopo l’università?*
Il mio piano al momento è solo di rimanere a Mm, e divertirmi! [ride] Continuare il lavoro che mi piace, e avere più tempo libero per i miei hobby. Abbiamo il calcio martedì con un gruppo del lavoro, quindi sarà bello tornare a giocare di nuovo. E anche il ping-pong! Mi manca molto.
Quale consiglio daresti a qualcuno che è interessato a diventare un programmatore di videogiochi?
Penso che il consiglio migliore sia semplicemente di divertirsi. Non mettere qualcosa su un piedistallo e inseguirlo senza sapere prima che ti piace. Quindi fate delle prove. Cose come Roblox e Dreams sono perfette per questo: il sistema logico è ottimo per capire se ti piace creare giochi o no. Sicuramente avere un po' di esperienza è utile, e avere un portfolio di cose realizzate, anche se non è bello! [ride] Tipo, qualcosa che funziona ed è funzionale va bene.
La Guida utente di Dreams è in continuo sviluppo. Controlla gli aggiornamenti, perché continueremo ad aggiungere ulteriori risorse di apprendimento e articoli.