Tra le uscite più importanti dell’estate, Sony continua a rilasciare porte per PC del suo invidiabile catalogo di titoli first-party per PlayStation. Dopo un inizio traballante con Horizon Zero Dawn, queste conversioni per PC sono andate di bene in meglio – e siamo rimasti molto colpiti dalle conversioni di Days Gone e God of War. Poco più di un anno fa, Sony ha acquisito lo sviluppatore olandese Nixxes – uno studio che in passato ha già realizzato eccellenti porting per PC di titoli per console – e con il team che ha già contribuito a migliorare il porting di Horizon, ha ora realizzato il suo primo progetto completo per PlayStation: Marvel’s Spider-Man Remastered.
Abbiamo già parlato della qualità della conversione altrove su Digital Foundry e abbiamo anche valutato come lo stesso codice gira sia su Steam Deck di Valve che sul simpatico AyaNeo Air – e cruciale per il nostro lavoro è stata l’assistenza di Nixxes stessa, che ha messo a nostra disposizione quattro membri chiave dello staff durante il periodo di recensione per questa discussione – oltre a continuare il dialogo e ad accettare i nostri feedback più tempo abbiamo trascorso con il gioco.
Questa intervista è piuttosto lunga e ha richiesto molto tempo per essere trascritta, ma offre una visione unica del processo di sviluppo di questo port dall’inizio alla fine, della scelta dell’API di rendering, dell’implementazione dei principali miglioramenti per PC, tra cui il supporto ultrawide, oltre a come e perché Nixxes ha aumentato la fedeltà del già impressionante ray tracing accelerato dall’hardware del gioco.
Rispondono alle nostre domande il capo dello studio Nixxes Jurjen Katsman, l’ingegnere software Michiel Roza, la programmatrice grafica Rebecca Fernandez e l’ingegnere software capo Coen Frauenfelder.
Digital Foundry: Il motore di Insomniac è stato per lungo tempo limitato alle console PlayStation, quindi siamo curiosi di conoscere il punto di partenza di questo progetto. Quando Nixxes ha iniziato a dirigere il progetto? Per quanto tempo il gioco è stato in sviluppo fino all’uscita? E quali sono stati gli elementi di partenza che vi sono stati dati per realizzare un porting per PC?
Michiel Roza: Beh, credo che i blocchi di partenza fossero piuttosto buoni. A parte il fatto che il motore era per lo più incentrato su PlayStation, la cosa bella è che i loro strumenti erano davvero molto buoni. C’era già un’implementazione per PC che stavano usando per gli strumenti. Quindi questo ci ha aiutato molto a essere operativi abbastanza rapidamente, in realtà, quando il progetto è iniziato, nove mesi fa?
Jurjen Katsman: Beh, è un po’ più lungo…
Michiel Roza: Mi dimentico sempre… sono 11 mesi…
Rebecca Fernandez: Ho controllato di recente ed era settembre.
Michiel Roza: Ho fatto i miei primi invii all’inizio di settembre.
Jurjen Katsman: Sì. Quindi è il tuo primo invio. Ripensandoci, sono rimasto piuttosto sorpreso nel vedere la risposta. Il primo invio su questo progetto è avvenuto solo cinque, sei giorni dopo l’acquisizione. Ma non è stato il periodo più attivo, c’è voluto un po’ di tempo, un mese o due, prima di concludere altre cose, prima che iniziasse davvero a prendere piede. Ma sì, è stato uno dei primi progetti che abbiamo annunciato al team in occasione dell’acquisizione e il team era davvero entusiasta. Molto rapidamente, alcune persone si sono lanciate e hanno iniziato a realizzare i loro primi pezzi.
Digital Foundry: Il gioco viene distribuito su DX12: gli strumenti su PC erano DX11? Qual era l’esatto nucleo di partenza?
Michiel Roza: Avevano un renderer completamente basato su DX11. Quindi, quello che abbiamo fatto è stato fondamentalmente strapparlo completamente e sostituirlo con un renderer DX12.
Rebecca Fernandez: Abbiamo avuto alcuni mesi di schermo nero fino a quando non siamo riusciti a renderizzare qualcosa e sì, è stato molto emozionante vedere le prime cose sbagliate apparire sullo schermo.
Digital Foundry: Perché DX12 e non Vulkan?
Michiel Roza: Soprattutto perché avevamo la massima esperienza con le DX12, non abbiamo distribuito alcun gioco con Vulkan, almeno su PC.
Digital Foundry: Essendo stati sposati con le console per molto tempo, con la memoria unificata a partire da PS4, ci sono stati sistemi che hanno richiesto una seria rielaborazione o un ripensamento per lavorare su una configurazione di memoria divisa come quella presente su PC?
Michiel Roza: Sì. Non direi che si è trattato di un ripensamento serio, ma ci sono state sicuramente delle sfide. In effetti utilizzano alcune informazioni di ritorno, che ci servono per copiare le cose [dalla memoria di sistema alla memoria video, per esempio] che possono semplicemente leggere [dalla memoria unificata della PlayStation]. Ma si tratta di cambiamenti piuttosto piccoli. È solo una copia in più.
Jurjen Katsman: Sì, abbiamo sicuramente avuto situazioni in cui il fatto che si trattasse di pool di memoria diversi, giusto. Dal punto di vista delle prestazioni, ha causato più problemi di quanti ne volessimo.
Michiel Roza: Ho praticamente dimezzato il costo dei nostri lavori di ray-tracing leggendo dal pool di memoria giusto.
Jurjen Katsman: Abbiamo dedicato molto più tempo alla gestione della memoria, pensando a cosa inserire nella memoria video e a cosa spostare e quando farlo. Su console non ci si deve mai preoccupare di questo. Su PC, invece, è sempre la preoccupazione principale: assicurarsi di poter sfruttare tutta la memoria in modo appropriato. E anche in questo caso, abbiamo avuto a che fare con problemi legati a questo aspetto fino alla settimana scorsa, giusto? Sì, questi problemi si presentano. Le console sono macchine belle e semplici. Ci piace lavorare con le console.
Digital Foundry: Marvel’s Spider-Man Remastered è stato lanciato con riflessi in ray-tracing su PS5, utilizzando le API di ray-tracing proprietarie di Sony e tutto ciò che ne consegue. Cosa ha comportato il passaggio a DXR? Ad esempio, state usando specificamente DXR 1.1? Com’è stata la traduzione?
Michiel Roza: È stato complicato! [Alcune parti erano davvero semplici. Ad esempio, tutto ciò che è di livello superiore era fondamentalmente traducibile da uno a uno, come la raccolta di ogni modello da inserire nella BVH. Questo non cambierà da una piattaforma all’altra. Ma tutto ciò che è di livello più basso, come tutti gli shader, che abbiamo dovuto riscrivere, abbiamo potuto usare il loro sistema di materiali [di Insomniac]. Ma abbiamo dovuto assicurarci che tutto fosse compatibile con le DXR. Tutte le chiamate DXR sono ovviamente diverse. Abbiamo dovuto creare la nostra tabella di shader binding, che era molto diversa da quella della versione PS5.
Rebecca Fernandez: Sì, e molte delle loro tracce erano in linea con gli shader. E noi non potevamo fare nemmeno quello, quindi è stato eliminato. Sì, quindi ora non è un hit shader in linea. Torna anche nella traccia. Ma il resto degli shader è rimasto intatto. Si trattava solo di tracciare il raggio, riportare le informazioni, inviare le informazioni agli shader. Questa parte ha un aspetto molto diverso.
Michiel Roza: Sì, la maggior parte dell’amministrazione intorno agli shader [è ciò che è diverso].
Digital Foundry: Oltre a renderlo funzionale su PC, avete anche apportato dei miglioramenti rispetto alla versione PS5 in termini di ray tracing. Le impostazioni molto elevate consentono di ottenere modelli di qualità superiore per gli edifici in ray-tracing, di utilizzare tracce a piena risoluzione, ecc. Qual è stato il processo di progettazione e perché fare questo per la versione PC?
Rebecca Fernandez: Ehm… Perché è bello? [tutti ridono]
Coen Frauenfelder: Questo è un motto che dobbiamo stampare. [tutti ridono]
Rebecca Fernandez: Voglio dire, i PC più potenti sono più potenti di una PlayStation 5. Quindi è stato bello dare a queste persone qualcosa di più bello da vedere, per spingere ancora di più perché abbiamo più potenza a disposizione per queste persone. Ma abbiamo lavorato a stretto contatto con Insomniac – è stata sicuramente una grande collaborazione con Insomniac per capire quali fossero i loro desideri e le loro idee, cosa avrebbero voluto vedere e cosa volevamo noi. È stata una combinazione di ciò che volevamo noi e di ciò che volevano loro per spingere il gioco al livello successivo.
Michiel Roza: Penso che sia stato anche il fatto che abbiamo guardato le riflessioni e abbiamo pensato: come possiamo migliorare questo aspetto? E abbiamo visto gli edifici di qualità inferiore e abbiamo pensato “questo può essere migliore”.
Rebecca Fernandez: E penso che abbiamo spinto la risoluzione, cosa che abbiamo fatto di recente, ma che era davvero qualcosa che volevo fare, perché la metà della risoluzione è abbastanza evidente sul ray tracing di PS5, quindi era bello spingerla ulteriormente per un’impostazione ultra.
Jurjen Katsman: E penso che sia anche dovuto a un’ampia gamma di hardware, come hai già detto tu, ma perché quando si iniziano a inserire GPU davvero molto potenti, la CPU potrebbe ancora bloccarle a un certo frame-rate. Ma dobbiamo fare in modo che le persone con grandi GPU abbiano comunque qualcosa di buono da fare per migliorare l’aspetto, e la risoluzione è certamente un modo per farlo. E certamente abbiamo scoperto che il bilanciamento tra le prestazioni della CPU e della GPU e il modo in cui questo si traduce tra la PlayStation 5 e un PC… è molto variabile, a seconda dell’hardware di cui si dispone. È interessante e ha sicuramente portato ad alcune modifiche dell’ultimo minuto: qual è l’approccio migliore? Come possiamo dare alle persone la giusta flessibilità per configurare il sistema in modo ottimale?
Digital Foundry: so che le console della serie Xbox hanno la possibilità di caricare il BVH offline per le cose statiche. Non credo che questo faccia parte delle specifiche DXR 1.0 o 1.1, ciò significa che il BVH di alto livello per gli edifici statici e simili viene generato in fase di esecuzione?
Michiel Roza: Sì. Anche se stavamo valutando la possibilità di memorizzare i BVH in una cache [cosa possibile con DXR], abbiamo deciso di non farlo. È molto simile a una cache PSO [pipeline state object], il che significa che verrà invalidata ogni volta che si aggiorna il driver o si cambia GPU o altro. Tutto questo avviene nella schermata di caricamento, quindi significa che la schermata di caricamento è un po’ più lunga, ma non è un vero problema. Tuttavia, è stato necessario scrivere un sacco di codice.
Rebecca Fernandez: Sì, per farlo funzionare ci è voluto molto tempo.
Digital Foundry: Posso solo immaginare. Poco prima del rilascio, avete apportato alcune modifiche a DLSS per rendere la risoluzione dei riflessi molto meno “pixelosa” e l’immagine non sfarfalla più quando la risoluzione dinamica cambia. Quali sono state esattamente le modifiche apportate e cosa significa collegare DLSS o FSR 2.0 alle riflessioni in ray-tracing per farle apparire bene?
Rebecca Fernandez: Le modifiche erano tutte sul lato delle riflessioni, in realtà. Non abbiamo cambiato nulla. Non credo che ci sia stato qualcosa di specifico del DLSS che lo abbia migliorato. Il denoiser per le riflessioni non è molto adatto a DLSS. Il modello che usa per fare la fusione non funziona bene con DLSS. Abbiamo quindi apportato alcune modifiche all’ultimo minuto per cercare di migliorare la situazione e credo che ora l’aspetto sia molto migliore grazie all’aiuto di Insomniac, Nvidia e AMD: un denoiser migliore per i riflessi.
Michiel Roza: Beh, hanno apportato una serie di miglioramenti incrementali al DLSS, abbiamo apportato alcune correzioni al jitter, soprattutto.
Digital Foundry: nella versione originale i riflessi si spalmavano nelle finestre quando si stava fermi, ma la recente patch ha eliminato il problema nei miei test. Forse si tratta di una conseguenza, ma è un cambiamento che ho notato.
Jurjen Katsman: Sicuramente abbiamo avuto l’impressione che DLSS non funzionasse molto bene, ma non si trattava tanto di cambiare DLSS nello specifico, quanto piuttosto di cambiare la stabilità delle riflessioni in generale, e poi DLSS si adegua a questo.
Rebecca Fernandez: Perché su PlayStation 5 c’è l’upscaling temporale, come l’upscaler a iniezione temporale. Quindi hanno costruito le loro riflessioni tenendo conto di questo aspetto. Quindi, quando non abbiamo questa possibilità, dobbiamo apportare alcune modifiche, non solo per il DLSS. Anche se non si utilizza alcun tipo di anti aliasing {Alex ride], ma c’è chi lo fa! – dobbiamo comunque assicurarci che l’aspetto sia corretto.
Digital Foundry: Il gioco ha un aliasing incredibile anche senza TAA – sono sorpreso che la gente lo disattivi. Ma sì, è così. A proposito di anti-aliasing, all’inizio non ero sicuro che il gioco sarebbe stato dotato della tecnica di ricostruzione a iniezione temporale di Insomniac utilizzata sulle console, ma è così. Ha anche detto che c’è stato un coinvolgimento diretto di Insomniac Games. Può specificare in cosa consisteva tale coinvolgimento?
Rebecca Fernandez: Per me è perché siamo tutti parte della famiglia Sony. Ora è molto più facile contattare e parlare con uno studio e ottenere risposte dirette molto, molto velocemente. E loro si fanno avanti e ti aiutano con pezzi di codice che non riesci a capire, e ti suggeriscono alcune modifiche future che potrebbero funzionare: “Potresti provare questo”. Questa è stata la maggior parte del mio coinvolgimento con loro.
Coen Frauenfelder: Il modo in cui hanno lavorato con noi è stato davvero fantastico. Ci hanno aiutato fin dal primo giorno. Ci hanno dato molta fiducia. Hanno avuto molta fiducia nel modo in cui abbiamo imparato le cose. E se abbiamo delle domande, penso che la differenza di fuso orario sia notevole, ma loro rispondono sempre, a volte anche in momenti assurdi, come nel cuore della notte per loro, e rispondono comunque con “Ehi, avete provato questo?” “puoi portare questa e questa persona” ecc.
Rebecca Fernandez: Penso che per tutti sia bello perché siamo quasi degli estranei che entrano nella loro base di codice e ci hanno dato molta fiducia, è stato davvero bello. Ci hanno lasciato fare subito quello che volevamo, credendo che potessimo farlo. È una bella cosa.
Digital Foundry: Penso che come team abbiate dimostrato di essere bravi a prendere una base di codice estranea e a farne una magia. Quindi, avete menzionato la possibilità di ottenere il ray tracing su PC e l’ultima spinta prima del lancio è stata quella di offrire più impostazioni per regolare il carico sulla CPU con la gamma di oggetti del ray tracing BVH. Provandolo sul 12900K o sulle recenti CPU Alder Lake, il gioco vola, ma poi su un Ryzen 3600, quello che considero una CPU di fascia media molto simile alla PS5: Zen 2, 6 core/12 thread disponibili per l’uso del gioco, e così via. Con questa CPU, alle impostazioni più alte, il gioco scende al di sotto dei 60 fps mentre si muove per la città e si muove in modo oscillante, poiché la CPU è limitata. Il gioco scende fino alla soglia dei 40 fps. Quindi qual è esattamente il collo di bottiglia della limitazione della CPU? Che lavoro si vuole fare in futuro?
Jurjen Katsman: Ci sono alcune cose interessanti e in questo momento stiamo ancora apportando alcune modifiche al codice. Come penso sappiate, dalla vostra prima analisi, per raggiungere i 60fps su PS5 con il ray tracing si fanno altri compromessi [anche al di là del ray tracing]. Per esempio, riduce la densità della folla, oppure ci sono meno auto in giro. In questo modo si compensano alcuni di questi aspetti della CPU e non è stato molto facile per l’utente farlo nella build [della prima recensione] che avete giocato. Per questo motivo stiamo offrendo altre opzioni per bilanciare meglio questo aspetto [nella versione retail].
E in generale, il gioco è nato su PS4, giusto? I core della CPU della PS4 non erano così eccezionali e la PS5 e i PC erano molto più potenti. Con la PS5, questo divario si è certamente ridotto. Inoltre, su PC ci sono ancora molte cose che comportano un maggiore overhead, ad esempio le API hanno un maggiore overhead, non abbiamo il decompressore, ad esempio, non abbiamo l’hardware che esegue la decompressione per noi durante lo streaming dei contenuti – questo viene lasciato alla CPU. Quindi abbiamo sicuramente più problemi di CPU da affrontare anche se stiamo facendo le stesse cose. E se non riduciamo le cose che sono ridotte sulla console, abbiamo ancora più lavoro da fare con la CPU.
Quindi, se un gioco per PS5 carica tutti i core della CPU, le CPU dei PC che non hanno lo stesso numero di core, ad esempio, o la stessa potenza di elaborazione, si troveranno in una situazione difficile, giusto? E dovranno fare affidamento anche su impostazioni di scalabilità inferiori. Ma credo che questo sia un aspetto importante del PC: la scalabilità, l’offerta di tutte queste opzioni. E si può eseguire in un modo che vada bene per il proprio sistema, a prescindere da quale sia.
Michiel Roza: Per noi è ancora peggio, perché abbiamo anche il sovraccarico del livello di astrazione per DX12 e del livello di astrazione DXR, che ovviamente è molto scarso per Sony. Quindi, anche se si dispone di una CPU più potente rispetto a quella della PlayStation 5, si potrebbe comunque ottenere un frame-rate inferiore.
Digital Foundry: È quello che immagino succeda anche io. Lei ha parlato di decompressione effettuata dalla CPU del PC. In questo caso, state usando un formato di file di compressione simile a quello della PS5 o è qualcosa di diverso?
Jurjen Katsman: Utilizza tecniche simili, per certi versi, come il modo in cui ci siamo approcciati strutturalmente a PlayStation 5, ma abbiamo costruito qualcosa di specifico per il PC. Abbiamo anche esplorato aspetti come DirectStorage. Quindi in parte si tratta anche di pensare a questo aspetto per il futuro. Ma al momento non stiamo utilizzando DirectStorage, come avrete capito.
Digital Foundry: Anche in questo caso il gioco si carica velocemente. Ho fatto un test di caricamento, solo tra PC. Non è veloce come quello di PS5, ma è comunque poco meno di cinque secondi per caricare il gioco dal menu su quasi tutti i PC moderni con un’unità NVME. È molto veloce rispetto ad altri giochi per PC. Tuttavia, qual è il vero collo di bottiglia nei tempi di caricamento su PC? È l’IO-stack (che anche la prima versione di DirectStorage senza decompressione GPU cerca di risolvere) o sono i limiti della CPU?
Jurjen Katsman: Non sono certo che la decompressione sia effettivamente il collo di bottiglia per i tempi di caricamento, poiché abbiamo fatto alcune cose per rendere la decompressione più veloce, ma ci siamo tirati indietro su alcune di quelle che stavano danneggiando il caricamento nel gioco (streaming). Nel gioco (cioè nello streaming mentre si è in gioco e ci si muove), con queste accelerazioni della decompressione in atto, stavamo sottraendo troppa CPU al gioco. Abbiamo quindi ridotto la velocità e l’impatto sulle schermate di caricamento non è stato significativo.
Credo che altre cose che influiscono su questo problema siano la compilazione degli shader che avviene durante le schermate di caricamento e la costruzione di BVH, di cui hai parlato prima, che avviene anche in questo caso. Ci sono una serie di piccole cose che facciamo sul PC, alcune delle quali sono lo stack IO… Abbiamo fatto alcuni esperimenti con DirectStorage, ma soprattutto per una schermata di caricamento possiamo usare tutta la CPU per il caricamento, che è quello che riguarda la schermata di caricamento, giusto? Non è che cambiando improvvisamente lo stack IO si riesca ad andare quattro volte più veloci. Per quanto riguarda il gioco, credo che sia questo il momento in cui [l’archiviazione diretta] diventa interessante, proprio quando il core della CPU viene utilizzato completamente solo per facilitare la decompressione, liberando il core della CPU se fossimo in grado di farlo… sarebbe un futuro entusiasmante, ma non è questo il punto in cui ci troviamo ora.
Digital Foundry: Hai parlato della compilazione di PSO, che ultimamente è il mio cruccio. Ne parlo ovunque, non riesco a smettere di parlarne e non smetterò di farlo. Il gioco non soffre di stutter prolungato a causa della compilazione just-in-time degli shader. Come viene eseguita la compilazione di PSO per questo gioco su PC?
Michiel Roza: Nel nostro caso, abbiamo semplicemente chiesto al QA di giocare l’intero gioco. Poi abbiamo generato una cache che contiene tutti gli OSP e l’abbiamo messa accanto al gioco [come file che si trova nella directory del gioco]. Ciò significa che sappiamo in anticipo quali PSO saranno utilizzati nel gioco. E se poi carichiamo tutti quei PSO nelle schermate di caricamento, siamo a posto. Inoltre, la gestione dei materiali di Insomniac è molto snella, quindi non abbiamo una quantità gigantesca di PSO.
Digital Foundry: Quindi, in questo caso, con la lista di PSO a lato generata dal QA, significa che i PSO vengono compilati solo durante le schermate di caricamento?
Michiel Roza: Non del tutto, c’è ancora la possibilità di inserire altri shader. E questi shader daranno poi il via alla build di PSO.
Digital Foundry: Quando questi nuovi shader vengono trasmessi nel gioco, non avviene in tempo reale, giusto? Quindi non si ha lo stutter “just-in-time”, giusto?
Michiel Roza: Esatto, non viene fatto just-in-time, viene solo caricato insieme ai modelli, allo scripting e a tutto il resto.
Jurjen Katsman: Si potrebbe dire che rallenta il caricamento. Quando arriva uno shader, poiché sappiamo quale sia l’OSP associato a quello shader, possiamo iniziare a creare quegli OSP al momento del caricamento, e il caricamento richiede effettivamente un tempo leggermente più lungo. E poi, quando il gioco ne ha effettivamente bisogno, è garantito che ci siano, a patto che il QA li abbia trovati tutti. Quindi, sì, il problema principale è che se poco prima dell’uscita del gioco pensiamo di voler cambiare alcuni shader, è una cosa piuttosto negativa, perché i dati raccolti dalla QA nel corso delle settimane non ci sono più, quindi cerchiamo di evitarlo. Probabilmente impiegano dai due ai tre giorni per superare un contrattempo ragionevole, quando poi devono giocare il gioco su sistemi diversi.
Coen Frauenfelder: E soprattutto con questo sistema di materiali. Credo che la prima volta che abbiamo affrontato il gioco per vedere quanti OSP sarebbero stati raccolti, non era nemmeno così tanto come ci aspettavamo. E sì, la quantità di stuttering dopo la prima raccolta era già quasi sparita.
Digital Foundry: Ho già detto che questo è il mio problema e penso che il vostro team lo faccia bene e che lo abbia fatto subito dopo l’uscita di Deus Ex: Mankind Divided. Funziona bene. Ma qual è l’opinione di tutti gli sviluppatori sullo stato della pipeline e in particolare su come viene gestito in DX12? Come utente finale, il modo in cui viene gestito nelle API esplicite di basso livello come DX12 o Vulkan ha portato a un degrado generale dell’esperienza utente.
Michiel Roza: Beh… (tutti ridono) è piuttosto restrittivo dal punto di vista dello sviluppatore, devi davvero raccogliere tutti i modi in cui disegnare i materiali prima di poterli effettivamente utilizzare, quindi è piuttosto noioso. E come hai detto tu, l’esperienza dell’utente finale non è sempre eccezionale. Quindi penso che come concetto, se non è quello che si aspettavano o che avevano previsto. Ad esempio, avrebbe dovuto eliminare gli stutter di compilazione degli shader e in realtà non lo fa.
Rebecca Fernandez: Sì, abbiamo detto che i driver finiscono comunque per ottimizzare da soli, e si suppone che elimini anche questo. Ma anche questo accade ancora. Quindi non ha risolto nessuno dei problemi.
Jurjen Katsman: Penso che diremmo che se ci fosse una DX13 o una 14 – se salteremo la 13 non lo so [tutti ridono] – ma con la DX14 penso che raccomanderemmo che non ci siano più.
Michiel Roza: So che Vulkan lo fa leggermente meglio, ma non abbiamo mai distribuito un gioco su Vulkan su PC.
Rebecca Fernandez: Anche con la modifica che hai menzionato [a Michiel], poiché si tratta di un’aggiunta recente, Vulkan potrebbe aver aggiunto la possibilità di dividere questo aspetto. Ma non lo rende molto migliore. È solo un po’ meglio di DX12.
Michiel Roza: È più che altro un cerotto.
Digital Foundry: È quello che sento dire anche altrove. Forse la gestione degli OSP in Vulkan e DX12 è stata voluta, ma il modo in cui è stata realizzata non ha avuto successo, soprattutto per quanto riguarda il fatto che il QA deve raccogliere tutti gli OSP. E il fatto che questo può rallentare lo sviluppo quando si vuole apportare una modifica agli shader che richiede un passaggio di QA completamente nuovo, anche se è molto banale. Prossima domanda: Come già detto il gioco è pesante per la CPU, che attenzione è stata data al gioco per permettergli di scalare su hardware meno potente della PlayStation 5? Tecnicamente gira già su PS4 con la versione precedente del gioco, ma a cosa avete prestato attenzione quando vi siete concentrati su macchine di fascia bassa.
Michiel Roza: Di solito iniziamo con l’implementazione di tutti gli aspetti predefiniti, come la scalatura della qualità delle texture e il supporto di tutte le diverse risoluzioni. Una volta implementati tutti gli elementi predefiniti, tendiamo a valutare quali sono gli elementi ancora costosi, sia dal lato della CPU che da quello della GPU, e a vedere se riusciamo a trovare un buon compromesso tra grafica e prestazioni.
Jurjen Katsman: Spesso scegliamo un paio di specifiche di macchine su cui il nostro QA interno effettua molte esecuzioni e ne ricaviamo i dati. Questa volta abbiamo incluso anche Steam Deck nell’analisi. Così ne ricaviamo alcuni dati interessanti su cui possiamo concentrarci, come avrete visto negli ultimi aggiornamenti delle build, anche le prestazioni di Steam Deck sono aumentate e ciò è derivato da alcune di queste iterazioni.
Michiel Roza: Uno dei migliori esempi è la qualità dei capelli, l’impostazione della qualità dei capelli proviene proprio da Steam Deck.
Digital Foundry: Nixxes e Sony hanno pubblicato un elenco di specifiche raccomandate per le impostazioni. Qual è la specifica più alta a cui puntereste rispetto a quella intermedia?
Jurjen Katsman: La nostra strategia è questa: Poiché veniamo da PS4 o PS5, abbiamo sempre puntato a una specifica che sapevamo essere realistica e che avremmo aiutato le persone sul mercato a giocare bene. Poi spesso guardiamo alle “nuove specifiche”: come si è evoluto il mercato? Quali CPU sono ormai chiaramente obsolete? Se i driver non vengono nemmeno prodotti per certe schede grafiche, allora cerchiamo di aumentare un po’ le specifiche. Ma cerchiamo di mantenere questa linea piuttosto rigida, giusto? Ci piacerebbe che Spider-Man potesse essere giocato da un numero piuttosto elevato di utenti, poiché si tratta di un gioco che attira un gran numero di utenti, quindi cerchiamo di mantenere uno standard minimo piuttosto basso, anche se si tratta di un gioco per PS5.
La fascia alta penso sia molto più difficile perché c’è sempre un nuovo hardware che lo farà girare meglio. Penso che sia più una sfida di comunicazione, quasi. Qual è il PC di fascia alta giusto per comunicare? C’è sempre qualcosa di meglio, ci sarà di nuovo qualcosa di meglio il mese prossimo, sempre! Aggiungiamo cose significative per la fascia alta, ma non so davvero cosa fare non credo che ci sia mai un limite per i PC di fascia alta. Se volete far girare il gioco a 144Hz con il ray tracing, sono sicuro che un giorno ci sarà un PC che potrete acquistare in grado di farlo. Per me si tratta di scalabilità e di spingere la barriera in entrambe le direzioni.
Michiel Roza: Prima d’ora non avevamo mai avuto una specifica raccomandata per i PC di fascia alta. Abbiamo sempre avuto una specifica minima e una specifica consigliata, ma non una vera e propria specifica di fascia alta.
Jurjen Katsman: Ricordo che una volta abbiamo fatto una specifica definitiva o qualcosa del genere?
Coen Frauenfelder: Forse non ci siamo rivolti al pubblico, ma internamente abbiamo sempre avuto una certa specifica di fascia alta, per cui il gioco dovrebbe almeno girare decentemente con queste impostazioni molto alte su questo tipo di macchina.
Rebecca Fernandez: Ho sempre pensato che avessimo anche una specie di specifica minima segreta in più. C’è la specifica minima che diciamo alla gente su Steam, ma ce n’è un’altra [più bassa] in cui probabilmente funzionerà al di sotto di essa e cerchiamo di fare in modo che non… vada in crash? [Si può ancora funzionare al di sotto di quel punto, probabilmente. Ma saranno tempi duri.
Coen Frauenfelder: Buona fortuna, divertitevi.
Rebecca Fernandez: È bello se qualcuno ha un PC orribile che ha da 15 anni, ma vuole solo giocare a Spider Man. Mi piace che possano provarci.
Jurjen Katsman: E non è sempre orribile! Penso che ci saranno sicuramente delle sfide in cui se hai una GPU molto, molto vecchia, di una generazione molto vecchia, ma che all’epoca era una GPU di fascia alta, non è poi così male, giusto? Quindi è difficile per noi supportarle formalmente: spesso non c’è supporto per i driver, ma il gioco potrebbe essere eseguito in modo ragionevole, quindi cerchiamo di mantenere un certo livello di compatibilità. Ci sono anche CPU piuttosto vecchie che non supportano certe istruzioni, ma alla fine le supportiamo comunque. Quindi, forse l’i7 di quella vecchia generazione potrebbe ancora farlo girare, o dobbiamo tracciare un limite da qualche parte? Credo che di recente abbiamo anche apportato alcuni miglioramenti a questo aspetto. Quindi, sì, questa CPU di 12 anni fa potrà effettivamente far girare il gioco. Non ci stiamo necessariamente impegnando, ma penso che sia bello averla e che si possa provare e sperare di avere una buona esperienza anche se le nostre specifiche minime raccomandate sono superiori.
Michiel Roza: Non credo che questa volta supportiamo il Phenom 2.
Jurjen Katsman: È possibile.
Rebecca Fernandez: Abbiamo rinunciato, finalmente.
Michiel Roza: C’è sempre stato un mio progetto per far funzionare Phenom 2.
Digital Foundry: Sì, viene sempre richiesto sui forum di Steam, ogni anno, a prescindere da tutto. Avete ovviamente pensato al ridimensionamento, ma avete un po’ di ridimensionamento automatico con il sistema di risoluzione dinamica. È stato ripreso uno a uno dal modo in cui viene gestito su PS5 o è personalizzato?
Michiel Roza: È molto simile, ma abbiamo apportato alcuni miglioramenti. Riteniamo che su un PC le prestazioni fluttuino maggiormente a causa della natura stessa del PC, di ciò che sta accadendo e di ciò che sta facendo Cosa sta facendo Windows in background? Quindi abbiamo fatto in modo che rispondesse molto più velocemente di quanto avrebbe fatto su PS5.
Rebecca Fernandez: E c’erano dei passaggi in più, giusto, la versione per PS5 aveva solo una bassa risoluzione in modo da poter saltare a credo che non fosse così dinamica, rispetto a quella che abbiamo noi.
Michiel Roza: Sì, ma è più facile su PS5 perché l’hardware è fisso. Si può quindi orientare il contenuto su qualsiasi cosa sia disponibile. Si può dire che questo contenuto deve girare con le impostazioni di fedeltà a 60fps e si può ridurre la risoluzione in certe situazioni. Ma se la risoluzione si riduce ulteriormente, il contenuto dovrà cambiare.
Digital Foundry: La mia prossima domanda è: prendereste in considerazione la possibilità di suddividere la risoluzione dinamica in vari gradi di “aggressività”? Lo abbiamo visto in altri giochi su PC come Wolfenstein: The New Collossus o addirittura un controllo molto fine sulla DRS come in Titanfall 2.
Michiel Roza: La risposta breve è sì. Ma sì, non abbiamo in programma di farlo al momento.
Jurjen Katsman: Penso che valga sempre la pena di prendere in considerazione tutte queste cose, se ci sono altri giochi che fanno certe cose e agli utenti piacciono, allora sì, certo che dovremmo prenderle in considerazione, giusto. Credo che ne abbiamo parlato oggi. Di prendere noi stessi un po’ di controllo se sappiamo da dove potrebbero provenire i picchi della GPU e poi, in base a ciò che sappiamo, a cosa li sta causando, regolare anche la velocità di risposta. Questo potrebbe richiedere un maggiore controllo da parte nostra, ma dare all’utente un certo controllo non fa mai male. In generale, ritengo che su PC dare all’utente il controllo, o almeno l’opzione di controllo, non sia mai una cosa negativa. Credo che i consumatori di PC apprezzino questo aspetto.
Digital Foundry: Ho provato 21:9, 32:9 e persino 4:3, che tra l’altro funziona davvero. Quali modifiche sono state necessarie per far sì che un gioco progettato solo per i 16:9 funzionasse effettivamente con questi rapporti di aspetto più ampi? Coen Frauenfelder: Tante correzioni cinematografiche! Abbiamo aggiunto alcuni artisti grafici al progetto per aiutarci, in collaborazione con Insomniac, ad entrare nell’editor e a correggere tutte le animazioni non funzionanti, le persone in posa a T al di fuori dell’area di visualizzazione in 16:9, e ci sono state così tante cose che abbiamo dovuto regolare per assicurarci che il gioco fosse ancora ottimo in 32:9 e, naturalmente, alla fine, anche in 48:9. Quando andremo oltre i 32:9, sfoceremo il gioco, in modo che tutto sia meno evidente se qualcosa è ancora rotto in quella parte.
Michiel Roza: Non è possibile supportare più di tanto. A un certo punto bisogna fermarsi.
Coen Frauenfelder: Ma siamo molto, molto soddisfatti dei risultati che stiamo vedendo ora e quando abbiamo guardato gli altri giochi che non supportavano i 32:9 e abbiamo visto che molti più giocatori stanno giocando con questo tipo di monitor. All’inizio sembrava un prodotto di nicchia, ora sta diventando sempre più popolare. Poter volare per la città in 21:9 o 32:9 è davvero molto divertente. Molto divertente.
Michiel Roza: Abbiamo ricevuto molti commenti positivi sul trailer, soprattutto per quanto riguarda il widescreen. È un’inquadratura davvero bella.
Digital Foundry: L’inserimento di 32:9 sembra un lavoro impegnativo, ma il gioco supporta anche l’HDR su Windows e l’HDR è un campo minato in generale, e lo è doppiamente su Windows. Com’è stato far funzionare l’HDR per questa versione del gioco su Windows 10 e 11?
Rebecca Fernandez: A questo punto abbiamo esperienza con questo campo minato. È andata bene grazie a ciò che abbiamo imparato in precedenza. Sì, Windows 10 e l’HDR non sono una grande combinazione. La situazione sta migliorando, è migliorata rispetto alla prima volta che l’abbiamo fatto. Ma sì, per funzionare correttamente è necessario che le lune siano allineate. Se avete un cavo leggermente sbagliato o qualcosa del genere…
Michiel Roza: Allora si ottiene questa sovrapposizione sullo schermo e tutto diventa grigio…
Rebecca Fernandez: Verde… tutto diventa verde! Con l’HDR diventa sempre tutto verde! È molto frustrante. No, ma credo che in generale non abbiamo avuto bisogno di fare nulla di particolarmente speciale questa volta. Tutto ha funzionato con quello che già sapevamo.
Michiel Roza: Ha aiutato anche il fatto che il gioco fosse già stato realizzato per l’HDR.
Rebecca Fernandez: Sì, avevano un buon sistema, che utilizzava ACES (un tonemapper) per l’output in HDR.
Digital Foundry: Con questo, abbiamo raggiunto la fine delle mie domande tecniche dedicate, ma mi piace sempre chiedere, per ogni persona rispettivamente, qual è stato uno degli aspetti del progetto di cui siete veramente orgogliosi o di cosa siete orgogliosi durante il lavoro in generale in questi ultimi 11 mesi circa dall’inizio del progetto?
Coen Frauenfelder: Lavorare in un nuovo ambiente, perché ora facciamo parte della famiglia Sony, iniziare a lavorare con Insomniac Games, collaborare con loro e avere la sensazione che apprezzino davvero il lavoro che abbiamo fatto e la fiducia, come ha detto Rebecca, e lavorare su Marvel’s Spider Man, sì, non c’è dubbio che sia una figata.
Jurjen Katsman: Sì, credo di poter aggiungere qualcosa perché ho pensato che fosse molto divertente. Prima che fossimo acquisiti da Sony, o almeno prima che fossimo in grado di annunciarlo, ho fatto alcune chiacchierate con alcuni dei team su quali giochi avrebbero voluto lavorare. E ad alcuni è sembrato di fare uno scherzo, ma citando alcuni titoli di Sony come Spider-Man. Per me, quindi, è stato molto divertente poter dire che sì, è proprio quello che faremo!
Michiel Roza: Ho qualcosa di nerd da dire. Sono stato molto contento di vedere l’intera città in una vista debug BHV.
Digital Foundry: Posso solo immaginare.
Michiel Roza: Questo mi ha reso molto felice!
Jurjen Katsman: Come puoi superarlo, Rebecca?
Rebecca Fernandez: Personalmente, sono una fan di Insomniac Games fin dal primo Ratchet and Clank, quindi è fantastico avere accesso al motore, ma credo che per me, personalmente, si sia trattato solo di prendere una mano maggiore nel ray tracing. L’ultima volta che ci siamo occupati di ray tracing ero ancora alle prime armi, quindi è stato bello fare un passo avanti. Ho imparato moltissimo sul ray tracing, è stato bello.