L'evoluzione dell'intelligenza artificiale in Star Wars Battlefront II.
Tuffati a capofitto in una nuova tecnologia IA.
Se sei un giocatore di lunga data (o in generale un acuto osservatore), avrai sicuramente notato come l'implementazione dei giocatori non umani guidati dall'IA (intelligenza artificiale) abbia giocato un ruolo fondamentale nell'evoluzione di Star Wars™ Battlefront™ II nel corso degli anni.
Mentre di solito tendiamo a parlare di più dei cosiddetti aspetti tangibili del nostro gioco, come i nuovi pianeti, eroi, rinforzi o cose del genere, stavolta volevamo dedicare un momento per sottolineare il lavoro dei nostri programmatori e dei nostri designer in questo specifico campo.
Speriamo che questo possa darti una panoramica di come l'IA operi e di come permetta ai nostri progettisti alla fine di creare fantastiche esperienze di gameplay e perfette battaglie di Star Wars.
Anakin Skywalker e Obi-Wan Kenobi controllati dall'IA, in un momento di Star Wars per antonomasia per le strade di Theed.
La nuova IA in Star Wars Battlefront II – Un breve riepilogo
Un grande traguardo è stato raggiunto ai primi del 2019, con il lancio di Supremazia Assoluta, che ha introdotto una nuovissima tecnologia IA. Per la prima volta nel multigiocatore online di Star Wars Battlefront II, i giocatori hanno combattuto sia fianco a fianco sia contro i bot (un altro nome per le unità controllate dall'IA).
L'IA ha ingrandito i combattimenti aumentando il numero di soldati sul fronte di battaglia. Ma ha anche permesso a tutti i giocatori con diverse abilità di divertirsi, visto che i bot, rispetto ai giocatori più veterani, sono dei bersagli più facili.
Da allora, come parte dell'Aggiornamento Cooperazione, l'IA è stata centrale in almeno due nuove modalità di gioco: Cooperativo online e Azione immediata offline. Il team di sviluppo si è concentrato per utilizzare l'IA così da rendere più epico, per i giocatori, il fronte di battaglia, permettendo loro così di vivere i loro personali e indimenticabili momenti di Star Wars... e per farli divertire senza la pressione della competizione umana.
Colpi di blaster attraversano l'aria in una intensa battaglia delle Guerre dei Cloni su Geonosis in Cooperativo.
Tutto è cominciato come strumento per il testing
Il progetto è stato iniziato da Jonas Gillberg, responsabile programmatore IA di EA, nell'agosto 2017 e ha portato (come menzionato prima) alla creazione di una nuovissima tecnologia. Per chiarezza, l'iniziativa non ha nulla in comune con gli agenti self-learning come dimostrato da SEED o con l'IA presente nella modalità Arcade di Star Wars Battlefront II.
Questa tecnologia è stata costruita fondamentalmente per far giocare i bot, così che non dovessero farlo gli umani. Ma perché?
Lo scopo iniziale del progetto era costruire una IA per testare automaticamente sessioni multiplayer enormi. Per testare le cose propriamente, c'era bisogno di una IA che si comportasse quanto più possibile in modo simile ai giocatori umani.
La tecnologia è impostata per fornire agli analisti controllo qualità, che analizzano e testano i giochi regolarmente, e agli autori di contenuti (tipo i progettisti di livelli o di gioco) un controllo di alto livello degli obiettivi IA attraverso una programmazione visuale. In questo modo, quando si utilizza l'IA per scopi di testing, non è necessaria l'interazione diretta col codice.
Esempi di obiettivi di alto livello che possono essere forniti attraverso la programmazione visuale sono movimento, attacchi, interazioni, cerca e distruggi e segui. Alla fine, il cervello dell'IA produce i "pulsanti chiave" giusti: spara, colpisci, imbarda, salta e così via... da premere a ogni singolo frame. Bisogna pensare un po' a un robot che gioca con un controller nelle mani e preme dei pulsanti fisici... ma a livello concettuale. Quando inserito in un motore di gioco, questo rende lo strumento estremamente versatile e applicabile in quasi ogni gioco.
I cloni soldato controllati dall'IA difendono la posizione su Felucia schivando, accovacciandosi dietro i ripari e pattugliando l'area.
Come strumento di testing, ha una portata massiccia. Viene usato per testare il gioco e i server, riempire i server di test di gioco, controllo pre-playtest, stabilita cooperativa, funzionalità di testing (come guidare veicoli), testare la funzionalità di patch in arrivo e altro. Viene anche usato attivamente dai progettisti di gioco per applicare "forza bruta" e perfezionare i livelli. Per esempio, sguinzagliando l'IA in una mappa multiplayer, troverà dei punti in cui i giocatori umani potrebbero bloccarsi.
Essendo stata creato per essere uno strumento che mima il comportamento umano, molto del suo potenziale non era ancora stato intaccato. Un giorno, per un caso del destino, Manuel Llanes, direttore progettazione di Star Wars Battlefront II, ha preso un caffè con Luca Fazari, programmatore IA di EA, e gli ha chiesto su cosa stesse lavorando. Luca era appena stato inserito a lavorare sul nuovo strumento di testing e gli ha mostrato i bot in azione. Non appena Manuel ha visto che era performante, su server e promettente, gli è venuta un'idea. Così è partito un prototipo ed è stato presentato a un team di sviluppo più ampio, creando grande trepidazione.
Poco dopo, Luca ha avuto il compito di perfezionare il sistema di combattimento, di navigazione e implementare i comportamenti, con un focus specifico su Star Wars Battlefront II.
Sotto il cofano della nuova tecnologia IA di Star Wars Battlefront II
Non appena inizi una partita di Supremazia Assoluta, Cooperativo o Azione immediata, i bot IA valutano immediatamente cosa fare. Questo continua in tutta la partita, con l'IA che rende prioritarie le azioni e le seleziona in base al suo stato attuale.
Il Conte Dooku controllato dall'IA sprigiona la sua speciale scarica elettrica, prima di essere sopraffatto dai cloni.
Qui è dove la logica arriva a creare la magia (osiamo vantarci un po').
Il decision-making dell'IA può essere vista come sottocategorie che lavorano in tandem:
- Puntamento e visione. L'unità di controllo dell'IA effettua un controllo della linea visiva in una visuale frontale a cono. L'obiettivo più vicino in questa visione viene ingaggiato. I bersagli che sono coperti e non direttamente visibili non sono ingaggiati. Ogni bot rintraccia le posizioni attuali del bersaglio e i loro timestamp.
Guardando le ultime posizioni del bersaglio trovato, l'IA stima dove si troverà il bersaglio dopo un paio di secondi, calcolerà il vettore di velocità e moltiplica entrambi per predire la posizione futura. È lì che mirerà il bot. Poi, naturalmente, la precisione dell'IA è configurabile e dipende da quanto "rumore di mira" viene aggiunto alla sua arma. - Armi e distanze d'ingaggio. Le decisioni di combattimento sono basate sull'arma equipaggiata dal bot e la portata. C'è una distanza ottimale di "sparo da fermo" per ogni arma, impostata leggermente prima che i danni dei proiettili comincino a diminuire. Questo è il punto in cui l'AI smetterà di muoversi verso l'obiettivo, dal momento che 1) avvicinarsi non infliggerebbe maggiori danni e 2) renderebbe l'IA un bersaglio più facile. A ogni arma è anche dato un valore di lancio tra 0 e 1, decidendo dove sul corpo del bersaglio il bot mirerà: con 0 ai piedi del bersaglio, e 1 alla testa del bersaglio.
Inoltre, il limite di distanza fissato per il punto in cui gli obiettivi saranno tracciati dall'IA è la fine del danno diminuito moltiplicato per un numero modificabile, decidendo così quando l'obiettivo è abbastanza vicino da seguire. - Manovre di combattimento e percezione. Il bot che guarda attraverso una visione a cono frontale apre alla possibilità di sgattaiolare dietro di lui. Tuttavia, non appena il bot viene colpito, si gira verso il giocatore che ha inflitto i danni e imposta lui o lei come bersaglio prioritario.
Se il bot e il giocatore (o un altro bersaglio) sono uno di fronte all'altro, il bot entrerà in uno stato in cui cerca di eludere e schivare i proiettili del suo bersaglio, rispondendo al fuoco. Il bot si sposta a destra e sinistra (variando casualmente ogni volta che il bot cambia direzione) e fa dei movimenti occasionali avanti e indietro, il tutto entro certi vincoli di tempo configurabili.
A ogni cambio di direzione, al bot verrà data l'opportunità di saltare o fare una capriola. Questa imprevedibilità controllata, per così dire, aiuta a conferire un senso di comportamento umano.
Queste sono le cose fondamentali, ma ci sono anche delle impostazioni più logiche per l'IA da seguire, come:
- Difendere un'area
- Accucciarsi e pattugliare quando si difende un'area
- Muoversi attraverso la mappa in modo realistico utilizzando un insieme di vincoli casuali di posizioni intermedie tra il punto di partenza e la destinazione
- Procedure per uscire da una zona in cui si è bloccati (dove uno dei passaggi per l'IA è schiacciare tutti i pulsanti freneticamente al fine di sbloccare sé stessa... prova a immaginarlo!)
- Seguire gli obiettivi, muoversi in cerchio in formazione intorno al giocatore, e raggiungere una posizione vicino al giocatore seguito per pattugliare le vicinanze e proteggerlo dai nemici.
Le specifiche del sistema di combattimento degli eroi
Diciamo che c'è un palpabile senso di emozione quando sei nel mezzo di un intenso scontro a fuoco, in Azione immediata o Cooperativo, e improvvisamente appare un eroe IA. La battaglia più grande diventa periferica e ora duelli contro lo spietato Generale Grievous o il Prescelto in persona. Questi sono alcuni esempi in cui il giocatore può creare dei momenti epici personali di Star Wars.
Ci sono un paio di cose che facciamo in termini di combattimento degli eroi IA per aumentare l'immersione. La visione dei bot eroi è quella di ricreare esperienze prese dai film di Star Wars, dove le parate e lo studio del nemico sono grandi componenti nella lotta.
Quando l'eroe IA ha preso di mira un nemico ad una certa distanza, ci sono varie probabilità che il bot utilizzi una delle sue abilità uniche (attacchi caratteristici specifici, benefici, o poteri della Forza). Quando il bersaglio si avvicina ancora di più, il vero attacco e la logica di protezione entrano in gioco.
Il Generale Grievous controllato dal giocatore duella con Anakin Skywalker controllato dall'IA, alternando difesa e attacco.
Se l'IA è un eroe con la spada laser che affronta un altro eroe con spada laser, avrà una finestra di tempo in cui si protegge e un'altra in cui attacca. Per rendere più imprevedibile il bot eroe, questi slot di tempo variano casualmente tra alcuni valori configurabili minimi e massimi, selezionati differentemente a ogni decisione di mossa. La stessa logica si applica alle manovre evasive dell'eroe.
A ottobre, gli eroi IA sono stati aggiornati per essere ancora più aggressivi. È stato creato anche un nuovo comportamento, innescato quando il bersaglio dell'IA impugna un blaster invece di una spada laser. In questo caso, l'eroe IA deflette il fuoco del blaster al nemico che spara fino ad una certa quantità di tempo variabile. Quando il tempo scade, l'eroe bot comincia a caricare verso l'avversario il più velocemente possibile.
Abbiamo scoperto che quest'ultima parte è altrettanto terrificante quanto emozionante!
Il giocatore affronta Yoda controllato dall'IA, che assorbe il fuoco del blaster per rivolgerlo contro il giocatore.
Come i progettisti utilizzano la nuova IA per creare i momenti fondamentali di Star Wars
Ci sono due livelli nella nuova tecnologia IA di Star Wars Battlefront II. Uno è un livello tattico, mentre l'altro è un livello strategico. Ciò che è descritto sopra può essere etichettato come livello tattico; la capacità di decidere momento per momento scritta nel codice.
Ai progettisti di gioco, invece, sta il livello strategico. Questo si riferisce a come i bot, preparati dai programmatori con tutte le conoscenze tattiche, si comporteranno in una specifica modalità di gioco. In Star Wars Battlefront II, Viktor Lundberg, responsabile progettista tecnico, guida le implementazioni delle attuali modalità Azione immediata e Cooperativo, mentre Martin Kopparhed, responsabile progettista di gioco, dirige i bot per farli giocare nelle modalità in modi strategici.
L'IA separatista attacca un posto di comando su Naboo in Azione immediata.
Considerando la modalità Cooperativo come esempio, questo significa impostare le regole dell'IA per quando e quale posto di comando attaccare, quanti bot sono inviati a difendere un posto di comando sotto attacco da parte di giocatori umani, quando e come i bot difensivi dovrebbero ritirarsi una volta che un settore è perso, e altro ancora.
Un altro compito è quello di generare un cosiddetto “navmesh, ” un livello invisibile applicato alla posizione stessa per aiutare l'IA a muoversi nell'ambiente. Il Navmesh farà del suo meglio per impedire all'AI di buttarsi giù da un crinale o cercare di camminare attraverso porte chiuse.
Il lavoro del progettista comprende anche la creazione della generazione di onde di nemici, generare picchi e cali in intensità. Questo è il motivo per cui avrai momenti davvero intensi a volte, dove il fuoco del blaster scatterà attraverso l'aria come se fossi nelle Guerre dei Cloni, e altri momenti in cui avrai il tempo di respirare e riorganizzarti.
C'è un sistema simile in atto per l'IA eroi, che decide quando e quanto spesso sono autorizzati a generarsi, iniziando così periodi di sfida maggiore, un po' come un mini-boss!
Prendi i livelli tattici e strategici dell'IA, accoppiali con immagini autentiche e audio, una pletora di personaggi unici, posizioni, più tutte le altre sfaccettature che compongono il nostro gioco, e avrai tutti gli ingredienti necessari per creare i tuoi più grandi momenti personali di Star Wars.
Così come il gioco, anche la nostra IA è in costante evoluzione. Resta aggiornato controllando questo spazio, i nostri canali social di EA Star Wars e i forum.
Se il tuo appetito per la conoscenza sulla progettazione di Star Wars Battlefront II non è ancora saziato, abbiamo altri articoli per te:
Animare Anakin Skywalker
I bozzetti di Star Wars™ Battlefront™ II
Mondo vivente e battaglia sullo sfondo
La realizzazione di Geonosis
La nascita di un eroe
La genesi di Caccia Ewok
–Daniel Steinholtz (Segui Daniel su Twitter @dsteinholtz)
Partecipa alla discussione sui nostri forum ufficiali o sui social, senza dimenticare di seguire EA Star Wars su Twitter, Facebook, e Instagram.
Inoltre, iscriviti oggi stesso per ricevere tramite e-mail le ultime notizie su Star Wars Battlefront II, aggiornamenti, contenuti dietro le quinte, offerte esclusive e molto altro (sono incluse altre novità su notizie, prodotti, eventi e promozioni di EA).