L'Intelligenza Artificiale di Ubisoft che individua i bug - articolo
Il 'Minority Report della programmazione'.
L'Intelligenza Artificiale può fare molto di più che far comportare gli NPC come degli idioti. Durante la Ubisoft Developers Conference, a Montreal, Ubisoft ha permesso a una manciata di giornalisti di dare uno sguardo al lavoro che stanno svolgendo sull'Intelligenza Artificiale e l'apprendimento automatico. Una parte di esso ha avuto un impatto molto chiaro sui giochi del colosso francese, insegnando ad esempio come far guidare gli NPC di Watch Dogs o creare bot in For Honor che permettano agli sviluppatori di testare le sue peculiari meccaniche di combattimento.
Probabilmente, però, il più importante progetto di intelligenza artificiale e apprendimento automatico di cui hanno parlato sarà invisibile per i giocatori. Questo progetto, Commit Assistant, è stato descritto da Yves Jacquier di Ubisoft come il "Minority Report della programmazione". Commit Assistant è un prodotto di La Forge, la divisione di Ricerca e Sviluppo di Ubisoft Montreal di cui Jacquier è a capo, e potrebbe rappresentare, per i programmatori, quello che il controllo ortografico rappresenta per gli scrittori.
Quando un programmatore aggiunge del nuovo codice ad un gioco, Commit Assistant ha il compito di segnalare quelle parti che stanno introducendo dei bug. Riesce a farlo perché La Forge lo ha addestrato usando oltre dieci anni di variazioni di codice e segnalazioni di bug dei giochi di Ubisoft ad ogni stadio dello sviluppo. Analizza i bug che sono stati aggiunti al codice precedentemente e crea una "firma", controllando quali parti del programma saranno interessate dal nuovo codice e stimando quante possibilità ci siano che esso crei dei problemi.
Fino ad ora i risultati sono promettenti. Ubisoft dichiara che il software riesce a scovare con precisione 6 bug su 10, che solo il 30% sono falsi allarmi e che mentre gli sviluppatori lo utilizzano, Commit Assistant riesce ad apprendere e migliorarsi. Il colosso francese è fiducioso che, in futuro, riuscirà a rilevare i bug con maggiore sicurezza riducendo, al contempo, i falsi allarmi. Il suo lavoro, tuttavia, non è solo di identificare potenziali bug ma anche di predire allo sviluppatore quali problemi potrebbe riscontrare e suggerire una soluzione. Ubisoft ha già fornito Commit Assistant agli sviluppatori di Rainbow Six: Siege e a un gruppo interno che lavora su tool di vario genere.
Jacquier commenta che il sistema potrebbe far risparmiare agli sviluppatori il 20% del tempo e, quando abbiamo chiesto come questo valore fosse determinato, ci ha risposto che è stato stimato sulla base di un test condotto di recente. "Per essere sicuri che funzionasse, prima di metterlo nelle mani degli sviluppatori abbiamo congelato il processo e osservato un paio di studi per tre/sei mesi", dice Jacquier, "solo per vedere come si comportavano, quali bug riscontravano. Basandoci sulla loro esperienza abbiamo semplicemente creato un programma che ci dicesse quanti bug avremmo potuto scovare in quel lasso di tempo. Facendo questo e stimando la percentuale di falsi allarmi, abbiamo dedotto che avremmo potuto tagliare del 20% il lavoro del team durante la nostra osservazione".
Jacquier ha anche aggiunto che la stima copre solo il tempo di programmazione, per non parlare del tempo che si risparmierebbe in fase di Controllo Qualità e del risultante 60% in meno di bug che lo staff non dovrebbe riprodurre, documentare e segnalare.
Quando gli è stato chiesto come questo potrebbe accorciare i tempi di sviluppo, Jacquier ha risposto che l'AI permetterebbe ai team di concentrarsi su altre cose, paragonandolo a quando Ubisoft per prima ha sdoganato il motion capture nelle sue produzioni più di 10 anni fa.
"Quando abbiamo introdotto il motion capture, esso fu percepito come una minaccia, come se potesse tagliare il lavoro degli animatori", afferma Jacquier. "Successe l'esatto opposto. Il motion capture facilitava di molto il lavoro degli animatori e li aiutava a concentrarsi sull'aspetto in cui potevano davvero dare un valore aggiunto cioè l'emozione, la parte più spettacolare delle animazioni. Volevamo risultati più spettacolari e più animazioni nei giochi, tutti elementi che a conti fatti ci hanno portato più animatori."
Le IA stanno diventando parte integrante di molte fasi dello sviluppo dei videogiochi e questo potrebbe rappresentare una comodità per gli sviluppatori. Jacquier ha aggiunto che le stesse AI possono creare asset per videogiochi, che sono all'80% buoni quanto quelli prodotti dagli esseri umani.
"Ad oggi le AI possono riprodurre il lavoro per cose molto specifiche come la sintesi vocale, finché non abbiamo bisogno di emozioni", dice Jaquier. "O le animazioni, ma solo quelle di locomozione. Ci riescono anche con le animazioni facciali se non ti aspetti di vedere emozioni, ma per la maggiorc parte si occupano di salti, movimenti, ecc.."
Adesso abbiamo bisogno che gli sviluppatori si occupino del resto della caratterizzazione dei personaggi, ma Jacquier crede sia solo qualcosa di temporaneo. "Penso che in tre anni potremmo avere il primo NPC interamente generato dalle AI in un gioco", dice. "Un personaggio con le sue animazioni, la sua modellazione, le animazioni facciali e la sintesi vocale con differenti toni di voce, emozioni e variazioni in modo totalmente analogo a quello che fanno oggi gli animatori, gente specializzata in dialoghi, modellazioni, ecc."
Ancora una volta, Jacquier non crede che questo comprometterà i posti di lavoro ma, anzi, che aiuterà gli sviluppatori ad aggiungere qualcosa in più ai loro giochi. Ammette, comunque, che non è il suo lavoro fare previsioni di questo tipo ma, piuttosto, creare strumenti che spera aiuteranno gli altri a portare i videogiochi in nuove direzioni.
"Penso che le AI siano solo uno strumento", aggiunge Jacquier. "Sono sempre state uno strumento che aumenterà le capacità delle persone. Come qualsiasi altro strumento ci vorrà tempo per capire cosa possano fare e cosa no, e come dovranno essere usate nel modo corretto."
L'idea di usare un'AI e l'apprendimento automatico "nel modo corretto" implica il fatto che esista un modo "non corretto" di usarle e questo richiama alla mente un sacco di incipit per film di fantascienza e articoli di tecnologia sconcertanti. "La cosa che mi lascia perplesso maggiormente quando parliamo di avanzamenti nel campo delle intelligenze artificiali è che la gente pensa subito a SkyNet", continua Jacquier. "La gente pensa che siamo già al livello dell'IA che controlla i robot e che conquista l'umanità. Io non credo che sia a questo che dovremmo pensare. Le domande che dovremmo porci sono: 'cosa stanno facendo le aziende con i miei dati? Quale sarà il vero utilizzo di ciò che lascio online? Come li utilizzano per creare pubblicità, come li forniscono ad altre aziende?'. Credo che questo sia il vero problema delle intelligenze artificiali e ciò di cui dovremmo realmente preoccuparci."
"Per il resto, finchè siamo molto trasparenti in quello che le IA possono fare e come raggiungiamo quegli obiettivi in termini di utilizzo di dati, è quasi una scelta etica lasciare all'uomo la decisione di cosa farci, proprio come abbiamo fatto 11 anni fa col motion capture. E noi lo abbiamo lasciato nelle mani degli animatori perché loro sapevano come usarlo. Riteniamo che le AI, oggi, siano la stessa identica cosa. Credo che aiuteranno i nostri creatori concedendogli tempo in più per concentrarsi su progetti ed esperienze ludiche sempre più affascinanti ed esaltanti."