Skip to main content

La tecnologia di Killzone: Shadow Fall - articolo

Un esclusivo faccia a faccia con Guerrilla Games sullo sviluppo su next-gen.

È stata un'occasione irresistibile. Poco prima del lancio di Killzone Shadow Fall, Guerrilla Games ci ha offerto la possibilità di visitare il suo studio di Amsterdam e incontrare ogni figura di spicco all'interno della sua struttura per parlare liberamente di sviluppo. Come giornalisti siamo quasi sempre considerati come degli estranei da tenere al di fuori del processo di progettazione: stavolta invece abbiamo avuto la possibilità di godere di un livello di accesso senza precedenti che ha permesso di redigere un articolo molto diverso dai soliti Digital Foundry. Durante la nostra visita, abbiamo rapidamente scoperto che la next-gen non sono solo grafica e sonoro migliori, anche se chiaramente questi giocano un ruolo importante: è sulle opportunità offerte dal maggiore potenza a disposizione che e come questo permetterà a molti di esprimersi più pienamente come creatori che si giocherà la partita dell'innovazione relativa alla next-gen.

Una parte fondamentale di questo processo è la generazione procedurale degli asset in gioco: la gestione delle animazioni e l'audio saranno i due settori che beneficeranno maggiormente di questa innovazione. Gli sviluppatori Killzone Shadow Fall hanno sperimentato con questo titolo un cambiamento radicale nel modo in cui vengono inseriti questi elementi nel flusso del gioco: invece di codice ad alto livello generato su misura dai programmatori, è stato creato un sistema a basso livello che permette ai designer un accesso più diretto al codice puro. Quando si creano nuovi elementi tridimensionali, questi vengono tradotti in codice "raw" generato proceduralmente ed eseguito sui processori x86 della PS4.

Andreas Varga, senior tech programmer di Guerrilla spiega: "In precedenza i tecnici del suono erano deputati alla creazione dei file .wav e il programmatore del suono li avrebbe inseriti in game mettere insieme varie parti dell'audio. Ora ci stiamo muovendo in un campo diverso, dove tutto gestito è dagli stati: possiamo fare tutte queste cose tramite uno strumento di programmazione e la generazione dell'effetto sonoro avviene a un livello inferiore."

In sintesi, i programmatori ora creano gli strumenti che i designer useranno piuttosto che scrivere il codice specifico basato su un'idea di fondo di quello che potrebbe funzionare o meno in un dato contesto. Killzone Shadow Fall è un'esperienza di gioco notevole dal punto di vista dell'audio proprio per l'adozione di questo nuovo sistema di lavoro: un esempio perfetto di questo nuovo approccio allo sviluppo riguarda il suono dei colpi d'arma da fuoco che vengono alterati in base all'ambiente in cui si trova il giocatore esattamente come accadrebbe nella realtà.

"Ovunque nel gioco troverete delle superfici come muri, rocce, vetro, legno, che sono definiti come geometria tridimensionale dal materiale di cui sono composti"

Un passo oltre l'audio HDR. Il sistema surround di Killzone Shadow Fall ha molte similitudini con la tecnologia di DICE a cui si aggiunge MADDER: Material Dependent Early Reflections, un sistema che modifica la forma d'onda dei colpi d'arma da fuoco in relazione all'ambiente circostante.Guarda su YouTube

"Ovunque nel gioco troverete superfici come muri, rocce, vetro, legno che ai fini della geometria tridimensionale sono definiti dal materiale di cui sono composti," dice il lead sound designer, Lewis James. "Nel mondo reale, quando si spara con una pistola, il suono è solo un sottoprodotto di quello che quello che sta accadendo all'interno dell'arma. Questa è l'unica parte dell'effetto sonoro che i giochi tendono a riprodurre, ovvero il suono dello sparo.

"Ma ci sono un sacco di cose che influenzano la generazione dell'effetto sonoro: un'onda di pressione esce dalla pistola e rimbalza sulle superfici che tocca quando ha la forza sufficiente per farlo e influisce sui parametri dell'effetto sonoro come l'eco e il riverbero. Ecco, questo è quello che facciamo. Si tratta di un sistema chiamato MADDER: Material Dependent Early Reflections. Facciamo rimbalzare l'onda sonora dello sparo su ogni superficie in gioco, per tutto il tempo. Questo definisce il suono. In passato per simulare questo effetto si usava il riverbero ma il realismo non è lo stesso: è il calcolo del rimbalzo delle onde sonore sui materiali che circondano l'arma che definisce il suono e noi vogliamo riprodurlo al 100%. Il nostro sistema è un ottimo esempio della nuova relazione tra designer e programmatori che mette bene in evidenza quanto la creatività possa giovarne dando la possibilità ai designer stessi d'interagire con il sistema audio.

"Nel primo prototipo di MADDER a nostra disposizione usavamo un sistema di proiezione semplice che rifletteva solo il muro più vicino e un'angolazione diretta con ottimi risultati ma non ancora al top. Abbiamo deciso si simulare l'audio anche in relazione alle superfici non direttamente impattate dall'onda, un procedimento ancora più complesso che però porta a una resa sonora straordinaria in qualsiasi situazione, non solo gli scontri a fuoco," ci ha spiegato il senior sound designer di Guerrilla, Anton Woldhek.

"Il nostro sistema è un ottimo esempio della nuova relazione tra designer e programmatori che dà la possibilità ai designer d'interagire col sistema audio"

Passando alle animazioni, il concetto di fondo è simile. Tutti gli asset che in passato erano generati dai grafici sono ora processati da un sistema a basso livello che viene fatto girare come codice dal gioco. Una possibilità dovuta alla maggiore potenza di calcolo della CPU di PS4 e sotto l'aspetto della generazione procedurale Killzone Shadow Fall rappresenta un'evoluzione mai vista. C'è una grande varietà nel look e nelle movenze dei personaggi dovuta proprio al modo in cui sono stati generati.

"Quello che abbiamo è uno scheletro di base cui sovrapponiamo lo scheletro procedurale sul livello superiore a cui aggiungiamo le dinamiche posizionali. Il tutto viene gestito da un sistema proprietario che abbiamo scritto da soli intitolato PD, Dinamiche Posizionali. Questo è fondamentalmente il formato che abbiamo usato per le animazioni di questo Killzone, ci spiega il senior tech artist, Daniele Antinolfi.

"Dovete pensare alle ossa procedurali come agli elementi di un'armatura posizionata sopra la pelle dei personaggi che viene riutilizzata infinite volte a seconda del modello utilizzato con l'obiettivo di creare delle animazioni convincenti. Si tratta un sistema facile da gestire perché aggiunge delle "giunture" che vengono poi animate proceduralmente. Questo ci permette di creare velocemente personaggi molto credibili sotto il profilo del movimento."

Naturale e credibile

Il problema con il lavoro dietro alle animazioni è che il sistema tradizionale rende per gli sviluppatori molto complicato modificare anche un solo piccolo dettaglio supplementare per una singola entità da animare. In passato, nuove animazioni dei personaggi venivano spesso accantonate piuttosto che passare attraverso lo sforzo di sviluppo che avrebbe modificato le movenze dello scheletro di base. Con il nuovo flusso di lavoro procedurale, ogni personaggio ha un ulteriore livello di codice in esecuzione, che aggiunge al personaggio uno strato di informazioni in più su cui è possibile interagire. Anche questo codice viene eseguito in tempo reale sulle CPU x86 permettendo un livello di realismo mai visto prima. Questo dipende anche da altri elementi che si trovano a contatto con la pelle come la stoffa che reagisce quindi realisticamente al movimento.

Il direttore tecnico Michiel van der Leeuw ha chiarito il problema e come questo nuovo sistema funziona:

"Il problema è che abbiamo 2500 animazioni per ogni personaggio. È impraticabile per ogni personaggio avere un proprio set d'animazioni di questa portata perché avremmo bisogno di modificare ogni volta la programmazione di base che l'intero gioco utilizza per poi ri-esportare l'intera serie di animazione a tutte le entità. In questo modo dovremmo costringere le persone a lavorare anche il fine settimana per evitare di intralciare lo sviluppo dei grafici. Alcuni di questi personaggi non sono mai stati modificati per un anno e mezzo, perché il gioco continua a crescere. Spesso teniamo discussioni incredibilmente complesse su cose come fare un mech blindato con un serbatoio sulla schiena, ma avremmo bisogno di aggiungere due articolazioni. A volte dobbiamo scartare l'idea tornando dai game designer dicendo che non possiamo realizzare determinate animazioni giunti ormai a un certo punto del gioco".

"Ma ora che l'aggiunta del layer procedurale mantiene lo sviluppo dello scheletro logico molto pulito, gli animatori possono fare un lavoro d'integrazione splendido senza dover rifare tutto quanto da capo. Non solo è bello da vedere ma permette anche di non dover essere costretti a dire di no ogni volta che ci viene richiesto un personaggio più alto, grasso o con un'arma particolare."

" A volte dobbiamo scartare l'idea tornando dai game designer dicendo che non possiamo realizzare determinate animazioni"

Ecco lo scheletroGuarda su YouTube

È un altro esempio di come la potenza della next-gen dia nuove opportunità per gli sviluppatori nel creare un gioco più naturale e credibile. Questo è ciò che un sacco di gente non vede quando si parla di next-gen perché la vecchia limitava nelle scelte progettuali come vestire in un certo modo il personaggio," continua Van der Leeuw.

"Prima si ottenevano personaggi tutti uguali: un soldato e un soldato leggermente diverso. Ora queste limitazioni spariranno. Non è il fatto che un tizio con un cappotto sia next-gen, ma è la possibilità d'inserire un personaggio con un cappotto, uno con una maschera antigas, uno con una tanica sulla schiena nella stessa partita perché abbiamo il tempo per farlo ad essere rivoluzionaria."

"Un sacco di queste soluzioni tecniche non sono visibili all'utente normale, ma rendono facili da realizzare personaggi diversi e credibili, e questo è ciò che vogliamo davvero. Quelli come me che lavorano con i personaggi vogliono renderli credibili," conclude Daniele Antinolfi.

Lo spirito pionieristico di Guerrilla nell'esplorare queste nuova tecnologie è tanto più impressionante se si pensa che buona parte dello sviluppo iniziale di Killzone Shadow Fall è avvenuto su hardware PC, mentre la tecnologia PS4 era ancora in evoluzione. Anzi, il motore di Killzone si basa su una build PC, il cui sviluppo è stato rallentato man mano che quello dell'esclusiva PS4 arrivava al culmine. Guerrilla ha fatto scelte coraggiose nella sostanza costruendo da zero nuove soluzioni direttamente sulla piattaforma di Sony, ma l'approccio di cominciare a sviluppare il gioco su PC per guadagnare tempo prezioso e arrivare a lanciare la console, ha chiaramente pagato

"Buona parte dello sviluppo iniziale di Killzone: Shadow Fall è avvenuto su hardware PC, mentre la tecnologia PS4 era ancora in evoluzione."

"Come designer, aveva un senso far parte dello stesso flusso di lavoro che tutti gli altri qui stanno usando", dice Anton Woldhek." Gli ingegneri del suono sono più o meno al centro dello studio in modo da poter interagire con tutti gli altri reparti molto facilmente. E con questi strumenti siamo parte dello stesso flusso di lavoro: questo significa che ora facciamo più parte del team di sviluppo di quanto non fossimo prima, quando l'audio arrivava solo alla fine.

Michiel van der Leeuw ha sintetizzato molto bene il nuovo approccio:

"L'obiettivo dei programmatori è quello di assicurarsi che i progettisti non abbiano bisogno di parlare con loro. Non perché non ci piace stare con i progettisti, ma se il programmatore è nel ciclo creativo, quindi il tempo d'iterazione a disposizione del programmatore è molto inferiore a quello di chiunque altro. Un artista dedicato alla creazione degli shader può dipingere più velocemente una texture o un sound designer può creare un effetto più velocemente rispetto a un programmatore obbligato a ricompilare il motore, avviare il gioco e ascoltare l'effetto finale. Ogni volta che un programmatore entra nel ciclo creativo di qualcuno, questo rallenta: creare un sistema più evoluto dal punto di vista tecnico permette ai designer di creare molti più contenuti dando loro la possibilità di sperimentare senza dover andare da un programmatore e chiedere di essere messi in condizione di sperimentare una situazione che il gioco non prevede."

Le sfide di un modello di rendering basato sulla fisica.

Nonostante il cambio radicale nella filosofia di sviluppo e di flusso di lavoro, è banalmente ovvio dopo aver trascorso i primi secondi nel mondo di Killzone Shadow Fall che si tratta di un titolo realmente stupendo da vedere. Due elementi in particolare lo rendono speciale oltre all'evidente aumento del numero di poligoni che tutti si aspettano da un titolo next-gen. I materiali usati per le superfici e il sistema d'illuminazione sono assolutamente sublimi: due tecnologie che lavorano in parallelo per creare un'estetica di alto livello già adottata da altri giochi attualmente in fase di sviluppo per la nuova generazione di console.

La luce è infatti condizionata in gran parte proprio dai materiali sui quali si riflette in tutte le ambientazioni. Lo stesso sistema che aiuta a definire la gestione dell'audio, definisce anche il modo in cui la luce rimbalza sui vari materiali. La definizione tecnica di questi materiali ha comportato un cambio significativo nel modo in cui gli artisti di Guerrilla hanno lavorato sul sistema d'illuminazione.

"Fin dai tempi di DooM, tutti dipingevano un'ombra nelle loro texture: a un certo punto della prossima generazione i grafici non dovranno inserire nulla che definisca l'ombreggiatura delle texture: dovranno creare solo una normal map e una albedo map," spiega Michiel van der Leeuw.

"In futuro bisognerà imparare a disegnare l'irregolarità della superficie, l'albedo (la capacità rifrattiva del materiale), il rilievo e l'intensità speculare. Occorre pensare al materiale nella sua forma base; occorre rimuovere il concetto d'inclinazione ed essere molto più analitici nella creazione dell'entità. Questo è stato un elemento di crescita fondamentale nella preparazione che molti dei nostri grafici hanno dovuto affrontare.

"Su PlayStation 3, potevamo contare su 7000-8000 elementi tridimensionali e due livelli di dettaglio da inserire nel gioco mentre su PS4 siamo arrivati a 26000 e sette livelli."

I primi 35 minuti di Killzone Shadow Fall, con tanto di analisi della performance. Tuttavia, concentrandosi solo sui primi livelli, ci si accorge del fenomenale lavoro svolto dai Guerrilla nel gestire luci e materiali.Guarda su YouTube

Ogni oggetto nel gioco doveva essere creato con il nuovo sistema di illuminazione basato sui materiali: non è stato un compito da poco considerando le dimensioni di KSF. Guerrilla ha creato livelli molto più grandi in Killzone Shadow Fall suddividendoli in scene diverse in modo che più progettisti ambientali potessero lavorare su vari livelli in parallelo.

"In una scena, noi le chiamiamo sezioni, su PlayStation 3 potevamo contare su 7000-8000 elementi tridimensionali e due livelli di dettaglio da caricare in RAM. Su PS4 siamo arrivati a 26000 e sette livelli di livello di dettaglio" spiega il lead environment artist, Kim van Heest.

"È diventato molto più facile creare livelli più belli. Possiamo davvero concentrarci su come ottenere il maggior numero di triangoli possibili: se si guardiamo i metri quadrati di artwork che abbiamo creato penso siamo arrivati a circa quattro volte più di quanto fatto in Killzone 3. E questo significa che possiamo costruire bene e velocemente questi ambienti, ma l'illuminazione deve ancora godere della stessa attenzione.

Con i materiali definiti, passiamo ora a come a luce interagisce con tutti quei differenti attributi, e come questo influisce la creazione degli ambienti. Killzone Shadow Fall utilizza un sistema fortemente dipendente dal concetto d'illuminazione in tempo reale, sostenuto da elementi precalcolati che si fondono insieme per produrre alcuni risultati sorprendenti.

"L'illuminazione nel nostro gioco è gestita da un motore dinamico in tempo reale supportato da un sistema predefinito per le luci di oggetti statici e dinamici in concomitanza con un sistema di calcolo dei riflessi," spiega il senior lighting artist, Julian Fries. "Abbiamo riflessi precalcolati così come proiezioni in tempo reale ma tutto parte dal sistema d'illuminazione dinamico che gestisce la luce; tutto il resto è li per supportarlo."

In questo caso, il "resto" è costituito essenzialmente da lightmap direzionali, cube map localizzate e una griglia volumetrica di sonde per la luce. Ma anche l'uso di quest'ultimo sistema che rileva i fasci di luce influenzando il modo in cui l'illuminazione si spande sull'ambiente circostante fa parte del sistema d'illuminazione in tempo reale e viene processato in un'unica soluzione.

"Per ogni pixel a schermo che non usa le lightmap, cerchiamo su questa gigantesca griglia composta da rilevatori di luce e scegliamo l'illuminazione più adatta," spiega il lead tech coder, Michal Valient.

"Abbiamo riflessi precalcolati così come proiezioni in tempo reale ma tutto parte dal sistema d'illuminazione dinamico che gestisce la luce"

L'illuminazione in tempo reale è ricavata da un enorme griglia di sonde di luce sparsa attraverso tutto il livello di cui trovate un piccolo esempio in questa galleria d'immagini.

Michiel van der Leeuw spiega: "Con la vecchia generazione di console avevamo circa 2000 punti luce per ogni livello e ogni oggetto presente in una determinata scena veniva illuminato direttamente solo dalle tre più vicine. Ora che il sistema è più del doppio più potente, arriviamo a quattro per ogni pixel; quindi, anche in questo caso, non ci sono limiti alle possibilità di caratterizzazione dell'immagine in quanto il confine tra dove finisce il lavoro delle sonde e dove quello delle Lightmap inizia si sta assottigliando sempre più. Vorremmo arrivare al punto dove sia possible avere una potenza di calcolo superiore a quella della nuova generazione di circa il doppio per far gestire tutto il sistema a due milioni di sonde per ciascun livello e pensionare del tutto le lightmap."

Riflessi in ray-tracing

La gestione dei riflessi di Shadow Fall contribuisce in buona parte alla spettacolarità della scena per come lavora il sistema d'illuminazione. Michal Valient ci aveva già dato un assaggio di come funzionasse durante il post-mortem al PlayStation Meeting demo di Guerrilla ma quest'occasione è stata ottima per andare in profondità sulla questione.

"Quello che facciamo, è l'esecuzione di un singolo ray-trace per ogni pixel a schermo: troviamo un vettore di rifrazione, consideriamo l'irregolarità della superficie e se questa è molto frastagliata, significa che il riflesso sarà proporzionalmente irregolare."

"Quindi, quello che facciamo è trovare dove ogni pixel si riflette sullo schermo, individuiamo un vettore di riflessione che entra nell'immagine e iniziamo ad analizzare ogni singolo pixel fino a che non troviamo una corrispondenza. È praticamente un'operazione di ray-tracing in 2.5D che ci permette di calcolare con una certa approssimazione dove il vettore viene puntato e modifichiamo i pixel sullo schermo che rappresentano quella superficie. Tutto questo sistema è integrato nel nostro modello d'illuminazione."

"È difficile vedere dove un sistema si ferma e dove l'altro comincia. Abbiamo cub-map predefinite, riflessi in ray-tracing in tempo reale e sorgenti di luce: tutti questi elementi si fondono insieme nella stessa scena," spiega Michiel van der Leeuw.

Il sistema di gestione delle proiezioni alle spalle degli oggetti è molto efficace, pur se con qualche limitazione: usando la tecnica del ray-casting riusciamo a riprodurre anche i riflessi dietro agli oggetti colpiti da una fonte di luce. Normalmente i dati per calcolare i riflessi in questa zona d'ombra non dovrebbero essere accessibili ma l'algoritmo che abbiamo messo a punto riesce a simularli in modo convincente per ottenere un risultato che attinge da dati precalcolati ingannando così l'occhio umano. I sistemi d'illuminazione basati sulla gestione dei materiali stanno diventando uno standard che verrà utilizzato sempre più frequentemente con la next-gen: Killzone Shadow Fall è il nostro primo esempio di questa nuova tecnologia in azione su PlayStation 4.

"Non stiamo cercando di raggiungere risultati iper-realistici. Stiamo solo cercando di realizzare un'immagine il più piacevole possibile da osservare"

Un'analisi della performance del multiplayer di Killzone Shadow Fall, usando filmati pre-lancio forniti da Guerrilla. Abbiamo visto frame rate tra i 40-60 fotogrammi al secondo facendo una media di circa cinquanta durante il corso del gioco. Si percepisce sicuramente una certa fluidità del gameplay in concomitanza con una ridotta input lag. Una soluzione utile per uno sparatutto online.Guarda su YouTube

"Credo che questo sistema di gestione dei riflessi diventerà uno standard per i titoli della prossima generazione: tutti lo varieranno in qualche modo in quanto si tratta di un'evoluzione della screen-space ambient occlusion. Una sorta di cruda approssimazione di un fenomeno naturale che sembra plausibilmente reale una volta visualizzato a schermo," spiega Van der Leeuw.

"È tecnicamente fattibile e aggiunge molta qualità rispetto a quello che costa in termini di risorse di sistema; molti studi di sviluppo sperimenteranno situazioni simili se vorranno utilizzare un sistema che sia fisicamente plausibile e in grado di valutare la regolarità della superficie degli oggetti e coadiuvare il lavoro di un sistema d'illuminazione in grado di riflettere ogni cosa, ogni singolo pixel, nel cono di rifrazione. Questo cambio nel paradigma della gestione dei riflessi apre anche nuove sfide in quella che è la realizzazione tridimensionale dei livelli."

"All'inizio dello sviluppo infatti, abbiamo avuto un livello in cui inizialmente volevamo usare dei materiali scuri, ma ci siamo accorti che le superfici scure non reagivano molto bene alla luce. Così abbiamo utilizzato materiali più luminosi per migliorare l'illuminazione", spiega Kim van Heest, prima di rivelare come questo sistema apre nuove vie per migliorare il modo in cui un livello viene visualizzato. "La possibilità di aprire un buco sul soffitto per fare entrare la luce cambiando il look generale di una stanza ha più a che vedere con l'aspetto artistico del gioco ma in questo modo cambia l'approccio al design dell'intero livello, probabilmente in modo migliore. "

L'illuminazione globale, l'anti-aliasing e l'occlusione ambientale

Recentemente Nvidia ha presentato una tech demo che mostra un sistema d'illuminazione con un modello matematicamente preciso che da tempo viene visto come il futuro dell'illuminazione globale in tempo reale. Nella nostra recente intervista con Crytek, Cevat Yerli ha espresso una certa preoccupazione per come soluzioni matematiche potrebbero far perdere ai designer il controllo all'aspetto artistico dei loro giochi, una scuola di pensiero condivisa dai grafici di Guerrilla.

Il senior lighting artist, Julian Fries spiega: "Se tutto il sistema d'illuminazione è fisicamente corretto, non abbiamo alcuna possibilità di falsificare gli effetti di luce. Non stiamo cercando di raggiungere risultati foto-realistici o iper-realistici. Stiamo solo cercando di realizzare un'immagine il più piacevole possibile da osservare."

"Così, per esempio, si desidera avere più luce in una stanza e non si vuole che questa modifichi quella c'è in un'altra a causa del contrasto e della luminosità, c'è sempre la possibilità di precalcolare determinate situazioni finché non usiamo il sistema in tempo reale. Iterare le soluzioni tecniche rende più facile sviluppare sistemi d'illuminazione complessi come il nostro ma può appesantire le prestazioni a discapito della qualità della scena. Precalcolare l'illuminazione permette di risolvere velocemente la necessità d'illuminare zone dello scenario in cui non si sviluppa del gameplay a tutto vantaggio della performance."

"Di notte l'intera compagnia diventava una render farm. La qualità per noi è la cosa più importante"

Probabilmente avete visto misuratori di carico di Guerrilla in alcuni screenshot in passato. Ora potete vedere entrambi in tool in azione per la CPU e la GPU ed è evidente l'altissimo livello di dettaglio delle informazioni che gli sviluppatori hanno a disposizione per capire quanto il motore grafico sta impegnando l'hardware della console in ogni dato momento.Guarda su YouTube

"Un sacco di gente ha smesso di lavorare con le lightmap nella precedente generazione perché sono scomode da utilizzare nel procedimento di sviluppo: le abbiamo usate anche noi in questo progetto e ci siamo resi conto di quanto tempo facciano effettivamente perdere," ci ha spiegato Michiel van der Leeuw.

"Il gioco è incredibilmente grosso rispetto al Killzone precedente: abbiamo dovuto trasformare l'intera azienda in una render farm: quando la gente se ne andava dal lavoro alle cinque del pomeriggio metteva praticamente a disposizione il suo PC degli specialisti di rendering che li utilizzavano per far girare in parallelo il render di centinaia di oggetti diversi, oltre alle workstation espressamente pensate per questo."

Per migliorare la pulizia dell'immagine i Guerrilla hanno scelto l'anti-aliasing nella forma dell'FXAA nella prima versione del gioco: in seguito si è deciso di passare al TMAA fino a quel momento sviluppato dal Sony Advanced Technology Group. L'incarnazione finale di questo processo è il TSSAA, ovvero il temporal super-sampling anti-aliasing.

"È molto simile all'FXAA ma non si tratta dell'FXAA in quanto il filtraggio avviene a un livello superiore," spiega Michal Valient.

"È ancora screen-space ma abbiamo perso il sub-sampling di profondità. Avevamo anche il sub-sampling ma ricostruire i bordi con quella procedura era costoso in termini di risorse e non aggiungeva granchè alla qualità finale, quindi abbiamo rimosso quella caratteristica," aggiunge Van der Leeuw.

"Quello che facciamo è raccogliere dei campioni dai frame precedenti e provare a inserire nel flusso d'immagini un sistema di correzione derivativo dell'FXAA. In pratica condizioniamo il procedimento di antialias con del calcolo temporale provando ad acquisire informazioni dai frame precedenti."

"Facciamo molta attenzione a quello che si trova nei frame precedenti: se l'immagine è buona perché scartarla? Fondamentalmente si cerca di recuperare quante più informazioni dai frame precedenti e applicandoli a quello in via di costruzione e poi riproiettarlo," aggiunge Valient. "Per ogni pixel abbiamo più campioni: normalmente bisognerebbe applicare il multisampling o il supersampling per ottenere un effetto simile. Noi lo facciamo ricavando i dati dal frame precedente."

Riutilizzare i dati esistenti è un approccio spesso utilizzato dagli sviluppatori: i Guerrilla usano questo sistema non solo per l'anti-aliasing, ma anche per l'occlusione ambientale.

"Si chiama Occlusione Direzionale. È un sottoprodotto del nostro sistema di gestione dei riflessi. Usiamo i dati calcolati per i riflessi per determinare quanto spazio è visibile da un certo punto e riutilizziamo la stessa informazione," spiega Michal Valient. "L'occlusione ambientale, se ci si pensa, è praticamente un riflesso calcolato su un angolo molto ampio: si vuole conoscere la posizione dell'intero emisfero attorno a ogni punto, in particolare quanto di questo è visibile e riutilizzare quest'informazione. Non la chiamerei screen space ambient occlusion in quanto ci sono troppi trucchetti utilizzati al suo interno per farlo sembrare efficace."

Guerrilla Games, calcolo GPU e il futuro di PlayStation 4

La potenza di calcolo della GPU è un'area in cui la PS4 è attrezzata meglio della concorrenza per dare ottimi risultati sul lungo termine. Al PlayStation Meeting demo, solo la deframmentazione della memoria era gestita dalla CPU. Nella versione finale del gioco le correzioni colore e i campi di forza erano gestiti dal processore grafico. I campi di forza sono un altro ottimo esempio di quello che il sistema può fare per far sembrare il gioco più naturale.

"Non si tratta di un sistema che si vede in azione nelle demo", spiega Valiant. "Versare acqua in un contenitore è bello se riesci a riprodurre anche le increspature sulla superficie'acqua, ma è un fenomeno difficilmente gestibile. Volevamo ottenere qualcosa di artisticamente controllabile e per questo abbiamo usato i campi di forza. Si tratta di entità che i progettisti possono posizionare ovunque nel gioco che influenzano il moto degli oggetti circostanti. Un piede di un personaggio può spostare dei cespugli, oppure una granata crea l'onda d'urto che sposta gli oggetti vicini. Questo sistema permette un controllo migliore per i grafici di quello che accade a schermo. Da un punto di vista tecnico è interessante notare che attorno al giocatori si possono inserire facilmente molte migliaia di campi di forza che possono rendere l'interazione con tutto quello che li circonda eccezionalmente realistica."

"Siamo solo all'inizio del ciclo ma almeno la PS4 è una console molto facile con cui lavorare e penso che abbiamo ottenuto un ottimo risultato"

"In ogni frame mettiamo insieme tutti i campi di forza e per ogni livello effettuiamo una simulazione di quello che può fare il giocatore con essi," continua Valient. "Le piante mosse dal vento, gli alberi colpiti da un oggetto o anche un mantello scosso da un'esplosione. È una piccola aggiunta che gli utenti considerano naturale ma in grado di dare grande credibilità al mondo di gioco."

Si tratta del genere di carico di lavoro che beneficia immensamente dal far girare un sistema in grado di parallelizzare l'elaborazione grafica qual è la GPU di PS4.

"Abbiamo provato ad utilizzare quanta più potenza possibile del chip grafico: ci sono elementi che devono essere elaborati simultaneamente con il rendering e anche altri che possono essere verificarsi in ogni momento del gameplay, quindi abbiamo provato a utilizzare ogni opzione a nostra disposizione," dice Valient. "Abbiamo solo scalfito la superficie in questo senso: abbiamo scelto i campi di forza, la correzione colore e la deframmentazione della memoria. Si trattava di elementi isolati che abbiamo potuto far facilmente gestire dalla GPU, ma molti dei nostri sottosistemi sono ancora fermi ai pixel shader e anche alcuni effetti post-processo quindi miglioreremo sicuramente sotto questo aspetto.

"È abbastanza normale scegliere gli effetti di post-processo per tramutarli in calcolo GPU in quanto molto più efficiente e quindi sicuramente proseguiremo su questa strada che non abbiamo potuto sfruttare a dovere questa volta per motivi di tempo: miglioreremo un sacco in quanto c'è molto spazio per ottimizzare e risparmiare risorse di calcolo."

Quindi, che dire del futuro? Quando abbiamo visitato Guerrilla Games, la squadra era ancora molto impegnata in quanto Shadow Fall stava per andare in gold, e mentre si è parlato di potenziare ulteriormente i sistemi esistenti, come la loro soluzione innovativa per le animazioni, siamo riusciti a capire a grandi linee dove l'azienda si sta dirigendo con il prossimo gioco che svilupperà su PlayStation 4.

"Abbiamo ancora una lunga strada da percorrere. Siamo solo all'inizio del ciclo ma almeno la PS4 è una console molto facile con cui lavorare e penso che abbiamo ottenuto un ottimo risultato. Qualunque cosa faremo con il prossimo titolo sarà ancora meglio perché cerchiamo sempre di spingere la tecnologia a nostra disposizione oltre i suoi limiti," dice Michal Valient.

"In Killzone 2, abbiamo pensato: OK, stavolta abbiamo veramente fatto il massimo ma già in Killzone 3 abbiamo potuto raddoppiare i contenuti grazie al fatto che siamo cresciuti molto dal punto di vista tecnologico. Sono sicuro del fatto che accadrà la stessa cosa anche su PlayStation 4."

Traduzione a cura di Matteo Lorenzetti.