Il making of di Uncharted: the Nathan Drake Collection - intervista
Parliamo con Bluepoint Games del miglior remaster mai realizzato per PS4.
Il titolo più importante di Sony per questa stagione natalizia è un remaster, ma non uno comune. Uncharted: The Nathan Drake Collection è una fantastica revisione di tre dei migliori giochi per PlayStation 3, migliorati non soltanto con una risoluzione maggiore e un frame-rate più fluido, ma anche con aggiustamenti all'artwork originale, interventi sul gameplay e un ribilanciamento complessivo di alcune meccaniche. Abbiamo già analizzato in profondità i tre titoli, ma volevamo sapere ancora di più su come questo straordinario lavoro è stato realizzato.
Fortunatamente, gli sviluppatori di Bluepoint Games sono stati lieti di chiacchierare con noi e spiegarci come è stato svolto il lavoro. Marco Thrush (proprietario e CTO di Bluepoint) ci ha accompagnato attraverso tutte le fasi dello sviluppo, dai tentativi di migliorare i titoli originali per far sì che mantenessero fede al ricordo che ognuno di noi ne aveva, fino alla descrizione delle tecniche utilizzate per riuscire nell'impresa.
Le sorprese non sono mancate. Per esempio, il lavoro di Naughty Dog su The Last of Us Remastered si è potuto spingere solo fino ad un certo punto, dal momento che il gioco originale era basato sull'engine di Uncharted 2, rendendolo inadatto per essere trasposto su quello di Uncharted 3. Poi ci sono tutti i dettagli sui miglioramenti all'illuminazione di Uncharted 2. Infine, abbiamo ricevuto risposte approfondite su come Bluepoint è riuscita a inserire ben tre titoli usciti su Blu-ray in un unico disco per PS4. Una serie di informazioni molto interessanti, che siamo felici di poter condividere con voi.
Il nostro obiettivo era quello di rimasterizzare i giochi, nel senso di migliorare tutto ciò che potevamo per offrirne una versione adeguatamente aggiornata. Non abbiamo deciso a priori di ricostruire gli asset da zero. I titoli di Uncharted, relativamente al periodo di uscita, hanno spinto la PS3 ai suoi massimi: noi abbiamo migliorato gli asset esistenti e ne abbiamo creati di nuovi, focalizzandoci sul lato artistico, tecnico e sui cambiamenti al gameplay in modo da far sì che i tre titoli prestassero fede al bel ricordo che tutti ne avevano.
Abbiamo cominciato subito dopo l'uscita di The Last of Us Remastered, a giugno 2014, quindi il progetto in tutto ha richiesto 15 mesi. È stato senz'altro il nostro lavoro più lungo, ma si trattava anche di tre titoli completi.
Avevamo a disposizione le immagini dei tre giochi completi, nonché l'accesso al codice sorgente e a tutti i dati che ancora oggi erano disponibili.
Abbiamo collaborato con Sony e Naughty Dog durante l'intero progetto. Le modifiche al gameplay sono state sviluppate in base alle nostre idee ma sotto la guida degli sviluppatori originali. È stato fantastico ricevere feedback direttamente da Evan Wells sul lancio delle granate in Drake's Fortune! Tutti i miglioramenti alla musica sono stati fatti in collaborazione con lo stesso sound group di Sony che ha lavorato con Naughty Dog ai titoli PS3.
Inizialmente abbiamo unificato i giochi il più possibile, in modo da poter fare cambiamenti che si applicassero a tutti e tre. Per raggiungere l'obiettivo di far girare i titoli su PS4 siamo partiti da Uncharted 2, poi Uncharted 1 e infine Uncharted 3. Dopo di che è arrivata la fase dei miglioramenti: qui ci siamo dedicati prima ad Uncharted 2 e poi a Uncharted 1, con Uncharted 3 che veniva lavorato parallelamente a tutti e due. I ritocchi finali sono stati effettuati a tutti e tre i giochi fino all'ultimo momento.
Nella fase di picco avevamo 48 membri: 13 programmatori, 17 artisti, 4 addetti a produzione e design, 9 tester interni e un sacco di altri aiuti esterni.
È stato un lavoro difficile: i codici di U1 e U2 sono molto diversi. ND ha cominciato da zero con U1 e poi è partita da lì con U2, ma ha riscritto molte parti. U3 era basato su U2, con ancora altri miglioramenti al codice e diverse aggiunte nuove di zecca. Per dirne una, U1 usava il suo sistema proprietario per le collisioni e per la fisica, mentre U2 e U3 usano l'Havok.
I tre titoli non girano sullo stesso engine, non si può semplicemente implementare l'Havok in U1 ed aspettarsi che il gameplay rimanga lo stesso. L'engine di ogni gioco è stato trasportato su PS4 e solo le parti realmente identiche (o quelle che abbiamo modificato perché lavorassero allo stesso modo) sono effettivamente condivise tra i tre titoli.
Il codice base di TLOU era anch'esso una versione evoluta di quello usato in U2 (non U3), quindi non aveva alcune delle funzionalità richieste per far funzionare U3. In ogni caso, avere accesso al codice di TLOU come riferimento ci ha aiutato molto: applicando quelle conoscenze abbiamo portato inizialmente i giochi a girare a circa 30fps, poi li abbiamo ottimizzati individualmente per arrivare alla soglia dei 60fps.
Nel complesso, abbiamo tentato il più possibile di raggiungere gli stessi standard estetici. Non volevamo che si notasse un distacco tra l'esperienza offerta dal primo gioco e quella dei due capitoli successivi.
Volevamo che i giocatori riconoscessero i titoli che ricordavano, quindi abbiamo cercato di fare scelte coerenti. Per esempio, teoricamente sarebbe stato possibile aggiungere la capacità di lanciare indietro le granate anche laddove originariamente non si poteva, ma ciò avrebbe cambiato il gameplay, forse troppo. In altri casi, come ad esempio gli aggiustamenti dinamici alla difficoltà in U1 e la quantità di colpi necessari per abbattere i nemici, abbiamo ascoltato molto il feedback dei giocatori per scegliere quali modifiche apportare.
U1 era senz'altro il gioco che necessitava di più interventi per non deludere chi ne aveva un ottimo ricordo dai tempi di PS3. Il nostro obiettivo era quello di portarlo il più possibile vicino al livello degli altri due capitoli. Aggiunte come l'SSAO e il motion blur ci hanno aiutato ad avvicinarci al target. I miglioramenti all'illuminazione apportati ad UC1 sono essenzialmente gli stessi cambiamenti che abbiamo fatto ad U2. Il team degli artisti ha dovuto lavorare più duramente su U1, aggiornando le texture degli ambienti e dei personaggi, aggiungendo normal map, ulteriore dettaglio geometrico e rimpiazzando gli effetti particellari.
Alcune delle modifiche sono state difficili da implementare correttamente: parte dei sistemi di U1 è molto diversa da quella degli altri giochi, quindi non abbiamo potuto semplicemente prendere il codice dagli altri capitoli e 'impiantarlo' in Drake's Fortune per dargli un feeling più adeguato.
Molte idee (come la possibilità di rilanciare indietro le granate) sono state scartate all'inizio, perché avrebbero cambiato il bilanciamento dei giochi. Abbiamo cercato di non apportare modifiche che cambiassero in modo sostanziale il feeling degli originali, a meno che non fossero Sony e Naughty Dog stesse a richiedercelo. A parte questo, abbiamo pensato a come ricordavamo i titoli e a quanto il ricordo sia invece diverso dall'esperienza che si ha rigiocandoli adesso su PS3. Quindi abbiamo pensato a cosa fare per riportare i giochi ad essere belli come li ricordavamo.
Abbiamo migliorato molti aspetti dei controlli e nello specifico della mira. Abbiamo cercato di avvicinare U1 e U3 a U2, ma siamo intervenuti anche sulla reattività dello stick analogico, per aggiungere più precisione. Ora è anche possibile alzare la sensibilità della mira andando oltre ai valori massimi dei titoli PS3. Drake's Fortune ha subito gli interventi maggiori, come ad esempio una modifica al comportamento delle granate, ora più simile a quello di Uncharted 2.
In U1 abbiamo ritoccato quasi tutti i sistemi, dalla meccanica di copertura al cambio delle armi, il lancio di granate, l'assistenza alla mira, la distanza di raccolta degli oggetti (ora maggiore), la difficoltà dinamica, le hitbox dei nemici (ora gli headshot sono più facili) eccetera. Potremmo parlare per ore dei piccoli cambiamenti che abbiamo fatto a tutti e tre i giochi... l'obiettivo era quello di migliorarne la funzionalità, senza stravolgerne la natura.
A dire il vero, no. Ovviamente usare un doppio buffer ridurrebbe ulteriormente la latenza, ma a 60fps i benefici sono molto minori. La latenza può essere spesso generata da altri elementi, come ad esempio una gestione non ottimale della coda delle istruzioni (deferire il movimento del giocatore alla fisica, eccetera).
Le differenze di illuminazione, in gran parte, sono dovute al fatto che il primo capitolo usava una impostazione ambient specular 'finta'. Essenzialmente la abbiamo rimpiazzata con un approccio IBL (image-based lighting), più comune al giorno d'oggi, e abbiamo aggiornato il modello di illuminazione dei materiali per renderlo più realistico. Poi abbiamo creato nuove texture per controllarne l'illuminazione speculare. Il risultato è molto più realistico: in alcuni casi si notano più riflessi speculari, in altri se ne notano di meno perché semplicemente non avrebbero dovuto esserci dall'inizio. Di base, abbiamo esaminato le immagini PS3 e PS4 fianco a fianco per paragonare le differenze nell'illuminazione e ridurle nel caso cominciassero ad essere troppo marcate.
Abbiamo usato una compressione migliore sia per l'audio che per il video e rimosso alcuni contenuti: il 3D per Uncharted 3, i contenuti extra per tutti i giochi, i filmati dei crediti (ora li disegniamo in tempo reale per risparmiare spazio). Anche rimuovere gli asset del multiplayer ci ha aiutati. Infine, molti giochi riducono i tempi di ricerca su disco duplicando gli asset e posizionandoli più volte sul Blu-ray: con l'installazione di tutti i dati su disco, questo non è più necessario. Spesso ci chiedono anche: “perché non utilizzate cut-scene in tempo reale?” A dire il vero, tutte le geometrie e le texture che sarebbero necessarie occupano più spazio del filmato stesso...
Sì, abbiamo usato il codec h.264 con bitrate variabile per tutti i filmati.
Abbiamo automatizzato il processo e l'abbiamo implementato nella nostra versione PS4. Avevamo una serie di macchine collegate ad una PS4 dedicata, che avrebbe disegnato i frame e poi creato automaticamente i filmati. Alla fine, avevamo circa 20 versioni di ogni cut-scene: sarebbe interessante guardarne un time-lapse per scoprire come sono cambiate nel tempo.
Non è stato fatto nulla di straordinario, semplicemente ora tutto è gestito dalla GPU. Una curiosità: gli effetti di post-processing di U1 e dei seguiti sono molto diversi come implementazione, e noi abbiamo deciso di mantenerli tali per far sì che tenessero fede agli originali.
Abbiamo cominciato con delle implementazioni semplici che funzionassero su PS4, e poi ottimizzato dove necessario.
Usiamo un semplice FXAA. Il miglior modo per evitare l'aliasing non è correggerlo a posteriori, ma assicurarsi di non crearlo a priori!
Abbiamo usato un temporal re-projected SSAO. Dà un effetto più morbido senza costare molto in termini di risorse. Con la patch 1.01 abbiamo anche apportato dei miglioramenti agli artefatti che prima si creavano sugli oggetti in movimento... ma sembra che siamo gli unici ad averlo notato!
Abbiamo tentato di unificare il più possibile l'aspetto dei personaggi. In parte abbiamo rifinito gli asset per assicurarci che reggessero anche se visti da vicino. Molte texture sono state riviste e alcuni dettagli sono stati importati dai capitoli più recenti. In molti casi i filmati, essendo renderizzati offline, già impiegavano le texture a massima risoluzione disponibili su PS3, quindi i miglioramenti alle texture che si vedono su PS4 sono dovuti ai nostri artisti. Abbiamo impiegato i modelli con LOD maggiore e li abbiamo ulteriormente migliorati.
Credo che la sfida principale sia stata prendere sei anni di lavoro di Naughty Dog e far funzionare il tutto su PS4, migliorandolo ed aggiungendo nuove cose. In sostanza, la complessità del lavoro nella sua interezza. Un'altra cosa molto difficile è stata capire come ridisegnare tutti i filmati (basandoci sui dati archiviati) e dare loro un look che somigliasse abbastanza a quello visto su PS3.
Ogni progetto è unico. A volte le cose funzionano da subito: con poche modifiche al codice, si riesce a farlo girare relativamente presto. Altre volte possono essere necessari mesi anche solo per far funzionare di nuovo il codice originale su un altro hardware. Questo può succedere per diversi motivi: un ambiente di sviluppo molto specifico che ha generato un'evoluzione particolare del titolo, oppure l'incapacità di accedere ai materiali originali e la sfida di doverli recuperare da altre fonti... Tutti i membri del nostro team hanno lavorato nell'industria per molti anni ed hanno avuto a che fare con codici molto diversi tra di loro: questo ci aiuta molto.
Sì! E più di una volta, approcciandomi ad un nuovo titolo, mi sono trovato a dire “non vedo l'ora di scoprire cosa c'è sotto il cofano”.
La risposta del pubblico alla Nathan Drake Collection è stata fantastica. Rimasterizzare i tre titoli è stato un lavoro enorme: soltanto adesso possiamo rilassarci e goderci il risultato. Il riposo però sarà breve: tra poco cominceremo a lavorare al nostro prossimo progetto. Stavolta si tratta di qualcosa di leggermente diverso, una nuova sfida che siamo entusiasti di affrontare...