Chris Angelini e Johan Andersson parlano di Battlefield 4 e Frostbite 3
La scorsa settimana ho incontrato Johan Andersson, che conosci come architetto di rendering nel team del motore Frostbite di DICE, per parlare di Battlefield 4, Frostbite 3, console di nuova generazione e l’iniziativa Mantle di AMD. Ovviamente, se ti sei divertito a Battlefield 4 nelle settimane trascorse dal suo lancio, allora conosci già il suo lavoro.
Quando Battlefield 3 è stato introdotto per la prima volta, ho passato diversi giorni a giocare con la campagna per giocatore singolo e a lavorare nella componente multigiocatore, confrontando le ultime schede grafiche e CPU. Johan ha contribuito a fornire feedback su colli di bottiglia, funzionalità grafiche e test. Due anni dopo, è stato bello incontrarlo di nuovo.
Chris Angelini: È stato bello parlare di nuovo con te Johan e congratulazioni per Battlefield 4. Ho giocato per tutta la campagna la notte del lancio per trovare un benchmark per la mia recensione della GTX 780 Ti.
Johan Andersson: Sì, è bello parlare anche con te.
Chris: Quindi, ho pensato al nuovo gioco, Frostbite 3, console e Mantle. Per iniziare, hai chiaramente fatto molto con AMD. DICE utilizza il middleware per l’audio di Battlefield 4 o è una soluzione interna? Ci sono piani per incorporare il supporto TrueAudio?
Johan: Utilizziamo essenzialmente le nostre soluzioni audio che abbiamo qui internamente. Al momento non è previsto l’utilizzo di TrueAudio. Tutto ciò è arrivato piuttosto tardi per noi e siamo rimasti abbastanza soddisfatti di quello che avevamo. In futuro, probabilmente indagheremo su questo. Non per BF4 in particolare, ma per Frostbite in generale. Non abbiamo davvero avuto il tempo di valutarlo appieno e cosa potrebbe significare.
Chris: Va bene. Quindi, quale caratteristica di Battlefield 4 ti ha entusiasmato di più vedendola implementata con successo?
Johan: Questa è una buona domanda. Non sono veramente sicuro. Immagino che possa sembrare una cosa di marketing, ma dirò Levolution. Abbiamo avuto la radiosità dinamica nel nostro motore per un po’ di tempo. E abbiamo esteso il motore per renderlo un po’ più flessibile ora con Frostbite 3, ma solo vedere gli artisti giocare con l’intera cassetta degli attrezzi Frostbite di vari tipi di cambiamenti di illuminazione, cambiamenti climatici ed effetti, e usarli nella pratica. Come ad esempio Paracel Storm in BF4 quando vedi che l’intero livello diventa tempestoso e vedi l’acqua cambiare e inizia a piovere. Il cielo sta cambiando. In realtà il cambiamento di illuminazione è abbastanza significativo a livello, e inoltre abbiamo aggiunto molta simulazione dinamica del vento su alberi e vari tipi di fogliame. Solo vedendo che tutti i tipi si uniscono, e poi, naturalmente, abbiamo aggiunto il nome commerciale Levolution. Penso che sia davvero interessante e in effetti influisca un po’ sul gameplay, il che è divertente.
Chris: Sì e sarei d’accordo. Anche la levoluzione e cosa significa distruzione è una delle cose che preferisco del gioco. Cosa bisognava tecnicamente fare per farlo accadere? Perché più giochi non hanno seguito quella strada di aggiungere più terreno distruttibile?
Johan: È un po’ difficile da dire. Tutti i giochi hanno vincoli diversi, giusto? Se stai costruendo una campagna per giocatore singolo, potrebbe non avere molto senso farlo. Tuttavia, per Battlefield e il suo gioco multigiocatore, è sempre stato su larga scala e un sacco di cose diverse che accadono nei livelli e solo ottenere cose sempre più dinamiche lì dentro aveva senso per noi. È anche qualcosa che in qualche modo significa che è diventato più un motore maturo. Quando non stai solo lavorando sui tuoi sistemi di basso livello o ti stai concentrando solo sulla creazione del tuo renderer, in realtà i creatori di contenuti sanno come utilizzare il motore e l’estensione che richiede un bel po’ di lavoro. E poi avere gli artisti che sono molto abituati a lavorare con il tuo motore; ad essere onesti, richiede molta flessibilità, anche all’interno del motore, essere in grado di controllare tutti questi sistemi e assicurarsi che giochino bene insieme. Può anche essere piuttosto pesante dal punto di vista delle prestazioni, simulando semplicemente il vento e facendo tutta la simulazione dell’acqua che stiamo facendo. Ciò richiede enormi quantità di parallelismo e calcolo, soprattutto cercando di farlo a 60 FPS sulle console.
Chris: Giusto.
Johan: Richiede molto impegno per noi lì. Non penso che probabilmente non ci siano molti altri studi o team di gioco là fuori che hanno tutte queste cose insieme per essere in grado di realizzare qualcosa del genere.
Chris: Sì, certo, ok. Credo che tu stia già utilizzando uno shader di calcolo per l’ombreggiatura differita basata su tile in Frostbite 2, giusto?
Giovanna: Sì.
Chris: In che modo Frostbite 3 si basa su ciò che stai facendo con DirectCompute?
Johan: Abbiamo il supporto per il compute shader; questa è essenzialmente la nostra parte più importante. Abbiamo ottimizzato in modo significativo lo shader del calcolo dell’illuminazione da BF3, anche per fare più ottimizzazioni su ciò che è abbastanza carino. Abbiamo anche lavorato per eseguire alcune delle nostre sfocature e post-processi al suo interno. Oh, e la nostra profondità di campo sprite utilizza effettivamente uno shader di calcolo. Lo usiamo sulle impostazioni dei dettagli Ultra per il PC per ottenere la forma del bokeh per la nostra profondità di campo. La sorta di compute shader orchestra tutto ciò per assicurarsi che indirizzi una performance davvero buona. Quindi lo eseguiamo utilizzando la pipeline grafica. Ci siamo in qualche modo bagnati i piedi in diversi punti con DirectCompute e in futuro penso che sarà davvero importante per noi ottimizzare ulteriormente le prestazioni con esso.