Come God of War è stato portato da PlayStation a PC

0

Ieri, Digital Foundry ha pubblicato la sua recensione tecnica per il port PC dell’ex esclusiva PlayStation God of War, concludendo che il lavoro svolto da Sony Santa Monica e Jetpack Interactive è stato semplicemente superbo. Oltre a fornire un’eccellente conversione del contenuto di base, il team è andato diversi passi avanti. Sì, i prerequisiti di alto frame-rate e supporto per display ultrawide ci sono, ma è anche bello vedere che i port di Sony abbracciano tecnologie utili come Nvidia DLSS e Reflex, oltre a AMD FidelityFX Super Resolution – integrando al contempo il proprio upscaler temporale.

Dopo aver ricevuto il codice della recensione prima di Natale, Sony ci ha contattato chiedendoci se avremmo voluto parlare con gli sviluppatori del gioco e abbiamo accettato con entusiasmo l’opportunità! In questa intervista tecnica, scoprirete quali erano gli obiettivi di Sony Santa Monica e Jetpack Interactive, perché è stata fatta la scelta di usare le vecchie API DirectX 11 come base (altri port first-party Sony hanno favorito le DX12), e come il team ha convertito un gioco basato su una singola piattaforma con un sottosistema di memoria unificato ai pool divisi usati su PC.

In questa intervista, modificata per lunghezza e chiarezza, parliamo con Matt DeWald, senior manager per la produzione tecnica presso Sony Santa Monica, e Steve Tolin, un lead di Jetpack Interactive.

God of War su PC è fantastico – ecco Alex Battaglia con un’analisi tecnica estesa della conversione.

Digital Foundry: Quando è iniziato il processo di porting? E chi ci sta lavorando, Sony Santa Monica e Jetpack?

Matt DeWald: Allora, in realtà ci stiamo lavorando da un po’, ma all’inizio è stato un po’ lento. È iniziato come “Ehi, possiamo farlo? Abbiamo le competenze tecniche? Come possiamo lavorare insieme? blah, blah, blah” Quindi, c’è un sacco di lavoro interstiziale che deve accadere solo per capirlo. Probabilmente sono stati circa due anni di lavoro totale, ma con un equipaggio molto piccolo – c’è una squadra di quattro persone a Jetpack che ha fatto gli sforzi primari di ingegneria. E sono quasi tutti sforzi ingegneristici, c’è stata un po’ di assistenza dall’interno, solo dove le cose sono, “Ehi, come funziona questo? Dove si colloca questa cosa?” e poi interno a Santa Monica, io stesso che guido il progetto dal punto di vista della produzione, ma poi per lo più, è solo supporto QA, e poi attingendo a diversi individui per aiutare a risolvere i bug che possono essere esistiti su PC. Quindi, è un team molto piccolo quello con cui abbiamo cercato di produrlo. Mantenersi snelli e meschini.

Digital Foundry: Quali erano gli obiettivi specifici del progetto all’inizio?

Matt DeWald: L’obiettivo finale del progetto era quello di ottenere una versione ben performante di God of War su PC. La chiave era assicurarsi di avere un buon gioco per PC, giusto? Si potrebbe semplicemente prenderlo dalla console, metterlo su PC e lasciarlo così, senza fare alcun aggiornamento, ma volevamo essere sicuri di migliorare il gioco il più possibile, senza, sapete, riscrivere i sistemi sottostanti e ricostruire il motore da zero.

C’è un sacco di lavoro solo per convertire il nostro motore personalizzato in DirectX, ma poi ci sono state anche tutte le caratteristiche extra: quindi, assicurarsi di avere dei controlli per tastiera e mouse davvero buoni, assicurarsi di supportare caratteristiche specifiche per PC come l’ultrawide, aggiungere DLSS e FSR per assicurarsi di supportare queste tecnologie. E poi che cosa abbiamo a portata di mano che potremmo fare per migliorarlo davvero per quelle persone che spendono $3000, $6000, $8.000 per un PC? Quali sono le modifiche che potremmo inserire nel gioco per attivare ombre aggiuntive o migliorare la risoluzione delle cose o aumentare i raggi, le distanze, tutti questi tipi di cose per assicurarci che le persone possano avere una grande esperienza con le impostazioni di qualità più alte possibili? Così, abbiamo creato quello che chiamiamo il set di caratteristiche PC+: queste sono le cose che vogliamo fare in più per il PC, oltre al semplice porting del gioco – e facciamo queste cose in modo da poter rilasciare un gioco di alta qualità sulla piattaforma PC.

Steve Tolin: Uno degli obiettivi di cui abbiamo parlato molto presto è stato mettere in evidenza i contenuti – il team dei contenuti di SMS è fantastico. Come possiamo evidenziare quei contenuti alla massima fedeltà e creare quell’esperienza sul PC? Questo era un obiettivo fondamentale.

Digital Foundry: Qual era lo stato di partenza? C’era un renderizzatore per PC mantenuto internamente sempre a portata di mano con cui il progetto è iniziato?

Matt DeWald: Quindi, alcune cose erano su PC di default, come il rendering di un cubo e cose del genere che potevamo assolutamente fare. Alcuni sistemi non erano… Steve può entrare più in dettaglio sul tentativo di trasferire il sistema di particelle, per esempio, che utilizzava molta della tecnologia di base della PlayStation – che doveva essere completamente trasferita per DirectX. E’ un sacco misto. Alcune cose hanno funzionato subito, e siamo stati in grado di farle funzionare rapidamente. Alcune cose hanno richiesto molto tempo per funzionare davvero.

Uno sguardo alla patch 1.35 di God of War per la console, che ha aggiunto il supporto al frame-rate sbloccato per PlayStation 5 – effettivamente un blocco a 60fps.

Digital Foundry: Il passaggio dalla memoria unificata su console a pool divisi su PC ha causato qualche problema?

Steve Tolin: Hai colpito una delle differenze fondamentali tra l’architettura della PlayStation originale e del PC, quella memoria divisa. Quindi, il bilanciamento spingeva la GPU a fare del lavoro per recuperare quella memoria, e poi a riutilizzarla all’interno del frame. Quel ciclo continuo ha richiesto un sacco di messa a punto e un sacco di sincronizzazione che non doveva esistere nel mondo PlayStation. E poi, si trattava solo di scoprire tutte quelle cose per cui potevamo ottimizzare il più piccolo pezzo di memoria avanti e indietro, avanti e indietro, avanti e indietro, per usare quel bus nel modo più efficiente.

Matt DeWald: Ed è per questo che il nostro min-spec richiede una scheda da 4GB, in realtà abbiamo solo bisogno di quella memoria GPU quando il chip stesso è più potente di quello che ci serve. Ma senza quattro giga, inizierai a swappare nella memoria normale e otterrai un’esperienza scadente.

Steve Tolin: Anche se stai girando a [a lower] risoluzione di scala di rendering, la VRAM – quella porzione di RAM – è importante per una visualizzazione a risoluzione più alta.

Digital Foundry: C’erano alcuni di quei sistemi specifici che stanno effettivamente andando avanti e indietro sul bus PCI Express?

Steve Tolin: probabilmente le particelle in particolare, è tutto un sistema di particelle GPGPU… il sistema wind. Questi sono tutti piccoli, piccoli buffer che devono essere continuamente aggiornati… calcoli di luminanza, tutto ciò che è GPGPU che interagisce con i lavori di calcolo.

Digital Foundry: Ci sono stati dei vantaggi o delle differenze rispetto alle API di basso livello della console che hanno causato problemi, dove c’era qualcosa su GNM (l’API di rendering della PS4) che non si poteva necessariamente fare su PC?

Steve Tolin: Un paio di cose nelle particelle, perché il sistema di particelle era inesistente, non c’era un framework, era scritto specificamente per Orbis [PS4’s codename] e per l’hardware specifico di Orbis. Giusto. Quindi, Kyle qui a jetpack si è concentrato su questo aspetto all’inizio e abbiamo risolto i problemi.

La recensione tecnica originale 2018 di Digital Foundry per il debutto di God of War su PlayStation 4 e PS4 Pro.

Digital Foundry: Stai usando DirectX 11 qui. Perché usare questa e non un’API di livello inferiore come le DX12 o Vulkan?

Steve Tolin: Parte di questo è stato il quadro di test iniziale che esisteva, ma molto ha a che fare con il content authoring. L’authoring del contenuto è proprio dalla fonte originale HLSL [high-level shader language] che è in quel formato ed è tutta la strada attraverso la pipeline, così che mantenere il contenuto e non aver bisogno di modificare e cambiare il contenuto era una delle ragioni principali per [use DX11].

Matt DeWald: E solo il puro sforzo di provare a portare il motore su Direct X12 è oltre la portata del progetto.

Digital Foundry: Parliamo un po’ di alcuni degli aggiornamenti visivi. Per esempio, DLSS, perché includerlo in primo luogo? E in secondo luogo, potresti descrivere il processo di implementazione? Perché il gioco aveva già il TAA e il checkerboarding. E’ stato così difficile da integrare?

Steve Tolin: Volevamo indirizzarci a colpire un ampio spazio di macchine, quindi gli scalari delle immagini permettono fondamentalmente un sacco di scalabilità per il giocatore. Una volta che abbiamo inserito il nostro scaler d’immagine temporale, allora era ok, ora, supportiamo il DLSS e lo scaler AMD, per dare fondamentalmente ai giocatori la grande varietà di opzioni, per essere in grado di sintonizzarlo per ottenere l’esperienza di cui hanno bisogno. Si può avere un monitor 4K, ma si può non avere una GPU che funziona a 4K, quindi stiamo dando queste opzioni ai giocatori per essere in grado di scalare l’immagine e il rendering, per ottenere l’immagine che vogliono.

Matt DeWald: E siamo onesti, DLSS è una tecnologia incredibile, quindi volevamo assolutamente supportarla. E poi, quando AMD è uscita con Super Res (FSR), abbiamo semplicemente deciso di salire anche su questo, in cima al nostro scaler… [they all] attingono allo stesso sistema sottostante, quindi sono abbastanza semplici da implementare. Quando ne hai implementato uno, ottieni gli altri a un prezzo inferiore.

Digital Foundry: Quindi l’opzione standard dello scaler percentuale in realtà usa un upsample temporale?

Matt DeWald: Sì, se non hai FSR o DLSS attivati, usa invece lo scalare TAA.

Digital Foundry: C’è un nuovo metodo di ambient occlusion e la pubblicità del gioco ne ha parlato un po’, come un mix di GTAO con SSAO. Puoi spiegare un po’ come funziona e cosa fa?

Matt DeWald: È una nuova tecnologia che abbiamo deciso di trasferire e dire, sai, diamo un’opzione per migliorare le cose. Ma l’idea è che, sì, abbiamo l’occlusione direzionale così come l’inclusione ambientale della verità del terreno per aggiungere un po’ di qualità supplementare, in modo che le persone che hanno sistemi di fascia alta che possono utilizzare quel paio di millisecondi in più possano effettivamente vedere quei cambiamenti.

Digital Foundry: Parliamo anche delle altre impostazioni. Nei port PC che abbiamo visto in passato, il gioco è stato progettato intorno alle impostazioni originali, e lo si pompa ad un livello più alto. Ma i sistemi di streaming del gioco, come le dimensioni delle piscine e cose del genere, sono stati progettati proprio intorno a questo. Qui, ho giocato a ultra, non ho notato alcun agitarsi o balbettare davvero come risultato di avere un pool di ombre molto più grande e una distanza geometrica molto maggiore. Quali cambiamenti dovevano essere fatti o rispettati nel port per assicurarsi che le impostazioni più alte non fossero solo nominalmente più alte, ma che funzionassero effettivamente bene di per sé?

Steve Tolin: Di nuovo, è solo un sacco di lavoro. Quindi, concentrarsi su questo, è sempre l’obiettivo, giusto? Molte di queste tecniche di cui stai parlando erano, quindi ecco il contenuto, e questo era a buffer di risoluzione di dimensioni fisse, o campioni di texture, o ray cast o campioni, giusto? Quello che siamo stati in grado di fare è espandere la risoluzione, espandere il campionamento delle texture, espandere il numero di raggi in alcune riflessioni, e fondamentalmente solo per fare più lavoro per puntare ad un’immagine di più alta fedeltà come parte di uno di questi singoli effetti.

Digital Foundry: C’è qualcosa di speciale in questo gioco che vorresti sottolineare, o qualche aspetto del tuo lavoro che ti è piaciuto molto in questo progetto?

Steve Tolin: Essere in grado di lavorare sul franchise di God of War, sai, lavorare con Santa Monica per un po’, ed essere in grado di prendere quel gioco e quel contenuto e consegnarlo ad un nuovo pubblico ad una fedeltà superiore.

Matt DeWald: E rubando un po’ del mio tuono, perché sono entrato sei settimane dopo il lancio di God of War nel 2018. Sono stato qui per quasi quattro anni, ma non ho avuto modo di spedire il gioco e non ho avuto modo di sperimentarlo. Quindi, ora lo sto sperimentando. Ma oltre a questo, siamo tutti giocatori nel cuore e io gioco un sacco di giochi su PC e un sacco di giochi su console. E anche se abbiamo venduto, sapete, quasi 20 milioni di copie su console, c’è tutto questo pubblico là fuori che non ha mai provato questo gioco e non ha mai avuto la possibilità di farlo, e a questo punto, non comprerà mai la console per giocarci, giusto?

Essere in grado di dare loro un modo per giocare al gioco e dire, puoi sperimentare questa cosa, questa cosa che ha vinto più di 270 premi come gioco dell’anno, e ora puoi sperimentarlo sul tuo PC… Non vedo l’ora di vedere cosa ne dice la gente, cosa sperimenta la gente e solo per far ripartire la conversazione, perché è una storia molto emozionante. E far sì che la gente ne parli di nuovo, penso che sarà fantastico.

Read More

Commenta!

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.