L'anno scorso è stato un disastro per i giochi per PC: ecco come le cose devono cambiare

L'anno scorso è stato un disastro per i giochi per PC: ecco come le cose devono cambiare

Nodo di origine: 1893511

Il 2022 è stato un anno difficile per i port su PC. Tra problemi di prestazioni balbuzienti e esasperanti problemi di esperienza utente, ero quasi distrutto come revisore per Digital Foundry. Per iniziare l'anno con una nuova lavagna, ho pensato che sarebbe stata una buona idea mettere insieme una sorta di lista di controllo per le migliori pratiche nella creazione di una porta per PC. Nel generare questo elenco di cose da fare e da non fare, ho fatto appello alla mia esperienza nell'esaminare centinaia di titoli durante i miei quattro anni al Digital Foundry.

L'elenco non è sicuramente esaustivo poiché sto cercando di concentrarmi sugli aspetti fondamentali importanti di una porta per PC. Ci sono molte altre best practice che posso suggerire oltre a questo, ad esempio nessun lanciatore all'interno dei lanciatori. Nessun accesso ad altre piattaforme online per lanciare un gioco su Steam sarebbe un altro. Mi piacerebbe anche vedere una sorta di standardizzazione a livello di settore nella presentazione delle specifiche consigliate che informi effettivamente il potenziale acquirente del tipo di sistema di cui avrà bisogno per far funzionare bene il gioco: il sistema attuale non ha senso senza il contesto della risoluzione e aspettative prestazionali. Chiaramente, c'è molto da affrontare, ma il mio obiettivo qui è semplicemente quello di fornire un port per PC forte e competente.

Alcuni dei miei suggerimenti sono tecnicamente più rigorosi, altri sono frutti bassi: ma soprattutto sono tutti fattibili e ho esempi per sostenerli. Consiglio anche di guardare il video: quando tutto si riunisce in una porta per PC ben distribuita, è come una poesia. Il menu delle impostazioni di Days Gone è sorprendentemente buono, per esempio. Ma per il nostro primo punto, inizieremo con quello grosso.

Alex Battaglia presenta i suoi suggerimenti per migliorare lo stato dei port su PC, dopo un terribile 2022.

1. Elimina la balbuzie della compilazione dello shader

Potresti essere stato a conoscenza della mia #StutterStruggle nell'ultimo anno. È la situazione in cui non importa quanto sia potente l'hardware del tuo PC, il gameplay viene regolarmente interrotto da balbuzie che non si trovano nelle versioni per console dello stesso gioco. Uno dei maggiori punti di forza della piattaforma PC è la diversità dell'hardware, ma ciò significa che gli sviluppatori non possono fornire codice shader precompilato con i loro giochi nello stesso modo in cui lo fanno su console. Quello che sta accadendo in una vasta gamma di giochi su PC è che quegli shader vengono compilati durante il gioco, poiché sono necessari. Mentre ciò accade, il gioco si blocca: qualsiasi cosa da 30 ms a un intero secondo di pausa entra in gioco, a seconda del gioco e della potenza della tua CPU. La frequenza di questi balbettii è generalmente inaccettabile nei titoli interessati.

Questo può essere eliminato e il modo in cui viene raggiunto non è troppo importante, onestamente. Gli shader possono essere compilati con un passaggio di pre-compilazione come visto nella raccolta Uncharted: Legacy of Thieves su PC, che ti fa aspettare fino a 10 minuti su una CPU potente e anche di più su una di fascia media. Gli shader possono anche essere compilati in modo asincrono in background sulla CPU, come visto in Star Citizen e Horizon Zero Dawn. Un gioco può anche utilizzare una combinazione di pre-compilazione e compilazione asincrona come Spider-Man Remastered. Il punto è che si dovrebbe fare qualsiasi cosa per preparare uno shader riscaldandolo in qualche modo prima che sia necessario.

Questo elemento nell'elenco richiede sicuramente un certo rigore tecnico e pensiero, ma è probabilmente l'elemento più importante in questo elenco al momento, dato quanto sia stata disastrosa la situazione negli ultimi tempi. Un altro consiglio che ho qui per la compilazione dello shader è che se c'è un lungo passaggio di precompilazione e sei preoccupato per una brutta esperienza utente mentre aspettano, allora rendi il passaggio di precompilazione interrompibile o facoltativo, con un avviso che l'utente sperimenteranno la balbuzie se scelgono di non attendere la precompilazione. Modern Warfare 2 consente agli utenti di annullare e ricompilare gli shader quando lo desiderano facendo clic su un pulsante e questo è un ottimo design.


La compilation di shader balbetta in Kena: Bridge of Spirits. L'esplosione è un nuovo effetto mai visto prima, quindi viene generato un nuovo codice shader durante il gioco, che qui causa un blocco di poco meno di 200 ms.

2. Offri opzioni grafiche visivamente reattive

Il menu delle impostazioni è una parte cruciale di una porta per PC, ma è anche un completo mistero per la maggior parte dei giocatori. Cosa fanno effettivamente le opzioni? Cos'è esattamente l'occlusione ambientale? Quante prestazioni posso risparmiare cambiando le opzioni? La via da seguire è includere un menu grafico che fornisca un feedback visivo reattivo. Come accennato in precedenza, il menu grafico in Days Gone è un capolavoro, probabilmente l'apice del design del menu grafico.

Puoi modificare le opzioni nel menu mentre il mondo di gioco è ancora in fase di rendering dietro il menu e nell'angolo in alto è possibile vedere l'impatto sulle prestazioni di ciò che viene modificato in tempo reale. Consiglio vivamente di emulare questo stile di menu grafico: è importante avere un menu come questo o quello che si trova in Spider-Man Remastered che è molto simile perché consente all'utente di vedere le modifiche alla presentazione grafica in tempo reale, quindi possono facilmente vedere l'effetto sulla grafica e sulle prestazioni. Dover entrare e uscire da un menu o, peggio ancora, ricaricare il gioco dopo una modifica delle impostazioni rende quasi impossibile modificare in modo significativo le impostazioni.

Se questo è problematico da implementare, ci sono alternative: includere testo descrittivo, indicatori visivi e persino suggerimenti sulle prestazioni su quale componente del PC è più stressato dalle impostazioni modificate. Gears 5 lo fa su PC e offre una visione approfondita di ciò che fanno le opzioni grafiche. Molti utenti tendono a pensare che le prestazioni di un gioco siano completamente limitate dalla GPU che hanno, quando in realtà la CPU e la quantità di memoria video utilizzata possono essere altrettanto cruciali per ottenere buone prestazioni.


I menu di impostazioni grafiche interattive che mostrano durante il gioco quali sono i cambiamenti e il costo delle prestazioni sono la via da seguire. I menu di Days Gone sono un capolavoro.

3. Includi una navigazione del menu sensata e basata sulle convenzioni

Migliaia di giochi negli ultimi 30 anni su PC hanno avuto menu e in quel periodo sono sorte molte convenzioni ed è importante attenersi a questo "linguaggio" stabilito per la navigazione. Ad esempio, ESC o backspace dovrebbero sempre farti uscire da una pagina di menu. I tasti freccia e persino WASD dovrebbero essere utilizzabili per navigare in un menu senza utilizzare il mouse. Alt+ F4 dovrebbe sempre lasciare il gioco sul desktop. Ovviamente ci sono più di queste convenzioni, ma l'essenza è che gli utenti dovrebbero essere in grado di controllare rapidamente il menu di gioco, sia con un mouse che con una tastiera da solo, e dovrebbero usare controlli intuitivi e consolidati.

4. Non nidificare eccessivamente i menu

Le opzioni grafiche, la personalizzazione dei controlli o altre cose che vengono spesso attivate dovrebbero avere una profondità massima di tre menu, ma preferibilmente solo uno o due. Ad esempio, se desideri modificare la qualità di un effetto visivo, non dovresti andare alle opzioni, quindi alle opzioni video, quindi alle singole sottopagine per ogni tipo di opzione grafica. Invece, dovrebbe semplicemente andare alle opzioni, alle opzioni video e quindi vedere la maggior parte, se non tutte, delle opzioni grafiche lì. Se possibile, evita anche di scorrere le schermate del menu delle opzioni. Lo scorrimento può essere un po' lento e a volte nasconde le opzioni. Un buon esempio di un menu non scorrevole è visto in Arma 3. Questo gioco evita lo scorrimento utilizzando entrambi i lati sinistro e destro dello schermo e con dimensioni del testo più piccole: utilizza lo spazio sullo schermo. Questo è abbastanza diverso dalle opzioni giustificate a sinistra con testo di grandi dimensioni che vediamo in molti porting su PC.

5. La frequenza di aggiornamento e la risoluzione dovrebbero essere opzioni separate

L'elenco di risoluzioni e frequenze di aggiornamento dovrebbe eseguire la scansione dell'elenco disponibile di risoluzioni e frequenze di aggiornamento da Windows stesso. Troppo spesso carico un gioco solo per scoprire che la frequenza di aggiornamento nel gioco non è nemmeno elencata e mancano alcune risoluzioni. Inoltre, un utente dovrebbe controllare quando la frequenza di aggiornamento cambia applicandola: uscendo dal menu o premendo "applica". Non applicare automaticamente una risoluzione dopo che è stata modificata: ad esempio, nei recenti titoli Capcom, se sposti il ​​mouse fuori dall'opzione di risoluzione, passa automaticamente all'ultima selezionata anche se non lo desideri.

Un buon controesempio può essere trovato in Marvel's Spider-Man Remastered, che lo fa in modo più logico: l'opzione di risoluzione è separata e mostra ogni singola risoluzione elencata da Windows, quindi c'è un'altra opzione per cambiare completamente la frequenza di aggiornamento di quella scelta risoluzione: la risoluzione viene applicata solo quando l'utente lo desidera. I giochi che vincolano le opzioni di risoluzione e aggiornamento alle attuali impostazioni del desktop di Windows sono un problema particolare che deve essere eliminato.


Marvel's Spider-Man Remastered ha ragione: risoluzione indipendente e opzioni di frequenza di aggiornamento... e pieno controllo sulle modalità finestra e schermo intero.

6. Includere un'opzione per il campo visivo (FOV).

Un campo visivo ristretto si trova spesso nei giochi per console per creare stati d'animo claustrofobici o per risparmiare sulle prestazioni e può letteralmente far ammalare gli utenti di PC. Un'opzione del campo visivo rende il gioco effettivamente giocabile per molti utenti in cui il FOV predefinito potrebbe essere stato troppo stretto. Ancora una volta, il sistema di menu di Days Gone è una gioia da usare qui: mentre modifichi la variabile FOV, la vista sullo sfondo cambia in tempo reale, consentendo all'utente di modificare le proprie preferenze precise.

7. Includi proporzioni e frame rate variabili

In generale, questa sta diventando una pratica comune, ma ci sono ancora giochi che non soddisfano l'enorme variazione nei tipi di display aperti agli utenti di PC. Non tutti i giocatori su PC utilizzeranno un monitor 16:9 bloccato a 60Hz o 120Hz. Molti giocheranno su monitor ultra larghi o su monitor che possono arrivare fino a 240Hz o anche più in alto. Supportare queste proporzioni e frequenze di aggiornamento significa offrire a questi utenti un'esperienza confortevole che si aspettano dal loro hardware.

Il punto più importante qui è che il PC è una piattaforma con hardware variabile e per supportare correttamente il PC, nulla dovrebbe essere codificato per essere un'esperienza fissa come lo è con le console. Gli utenti vorranno giocare a qualsiasi frame rate che immagini o qualsiasi rapporto di aspetto dovresti immaginare: adoro giocare ai giochi moderni su un monitor CRT 4: 3, ad esempio. Quindi, legare cose come la logica di gioco al frame rate o l'interfaccia utente a griglie di pixel fisse è categoricamente una cattiva idea.

8. Includi opzioni di v-sync a metà, terza e quarta frequenza con un frame pacing costante

Molti giochi hanno limitatori di frame rate, ma questi spesso hanno un frame-pacing davvero scarso con v-sync attivato, dove il frame rate medio potrebbe essere il numero scelto, ma i frame-time che compongono quel frame rate sono incoerenti, portando a un'esperienza visivamente scadente con latenza incoerente.

Un buon esempio di come farlo correttamente si trova in Cyberpunk 2077: qui c'è un'opzione di limitatore di frame separata con limitazione arbitraria del frame rate, ma ci sono v-sync completo, v-sync a metà frequenza di aggiornamento, un terzo di frequenza v-sync e v-sync a un quarto di frequenza. Con tale opzione gli utenti possono ottenere un frame-pacing perfetto quando limitano il loro FPS e possono fare cose come giocare a 40fps a 120Hz che è una caratteristica killer per coloro che cercano un frame-rate più alto di 30 ma vogliono aumentare il impostazioni.


Le opzioni di sincronizzazione verticale regolabili con un frame pacing coerente consentono cose come questa: un Cyberpunk 2077 al massimo in esecuzione bloccato a 40 fps costanti (25 ms per fotogramma) in un contenitore a 120 Hz.

9. Includi più livelli di qualità per effetti pesanti

I semplici interruttori on/off per funzionalità pesanti come il ray tracing non sono sufficienti: mi piacerebbe vedere opzioni basse, medie e alte per ogni effetto RT. Un esempio di come non farlo si trova in The Witcher 3 Complete Edition su PC, dove sono presenti solo opzioni di attivazione e disattivazione per i vari effetti di ray tracing. Ciò ha portato gli utenti a creare preset mod personalizzati per l'RTXGI presente nel gioco per ridurne la qualità per farlo funzionare meglio su GPU compatibili con RT con specifiche inferiori. Questo è un ovvio esempio di un'opzione che dovrebbe essere nel menu grafico. Il controllo è un altro esempio in cui le ottimizzazioni della console, i riflessi RT a scacchiera, non arrivano mai al PC. Una funzionalità che funziona per le console ha invariabilmente utilità anche su PC.

Allo stesso modo, anche gli effetti RT dovrebbero scalare per adattarsi alle GPU di fascia alta: un esempio di come non farlo si trova nei giochi Capcom sul RE Engine, dove l'impostazione più alta per il ray tracing nel gioco è di una qualità stranamente bassa. Marvel's Spider-Man Remastered ha ragione: puoi controllare la risoluzione dell'effetto di riflessione RT, puoi controllare la qualità dei modelli nei riflessi RT e, soprattutto, puoi anche controllare la distanza e la densità degli oggetti sottoposti a ray tracing contro, che consente agli utenti di controllare l'effetto del ray tracing sulle prestazioni della CPU. Essere in grado di controllare la gamma e la densità BVH è fondamentale nell'era moderna in cui la velocità della CPU non aumenta così rapidamente come in passato.

10. Includi funzionalità della console come il ridimensionamento dinamico della risoluzione

Il ridimensionamento dinamico della risoluzione non è impossibile su PC: ci sono molti esempi di buon DRS su PC. Titanfall 2 ha uno dei migliori scaler di risoluzione dinamica in circolazione ed è completo di funzionalità su PC, funzionando proprio come la versione per console. Questo è un gioco DX11, il che significa che Respawn ha implementato uno schema di risoluzione dinamica di altissima qualità su PC anche se tecnicamente avevano meno controllo sulle risorse PC disponibili che DX12 o Vulkan potevano offrire loro. Se un'implementazione di così alta qualità è disponibile in questo scenario, non ci sono davvero buone scuse per una versione console di un gioco per avere DRS ma per la versione PC per ometterlo.


Il sistema DRS di Titanfall 2 è stato portato dalle versioni per console ma ha funzionalità aggiuntive su PC. È un brillante esempio di come implementare la funzionalità e la sua qualità nel gameplay è fantastica.

11. Includi HDR e audio surround se le versioni della console li supportano

Non tutti i PC sono collegati a un monitor da scrivania standard con l'utente che indossa le cuffie: molte persone usano i propri PC con televisori con configurazioni home theater, dove l'HDR e il suono surround sono prominenti. La regola di base è: se stai realizzando una funzionalità su console, falla su PC.

12. Includere le impostazioni equivalenti alla console come opzione

Se il gioco è su console e ha impostazioni della console personalizzate per farlo funzionare correttamente, includi un'impostazione "console" facilmente identificabile anche su PC. Il recente porting per PC di God of War ha fatto davvero bene: lì le impostazioni della console sono chiamate "originali" e il gioco si avvia con queste impostazioni per impostazione predefinita. Questo è molto intelligente in quanto le impostazioni scelte per la versione console di un gioco generalmente offrono un aspetto visivo abbastanza buono per prestazioni accettabili.

Le mie guide alle impostazioni ottimizzate spesso finiscono per generare impostazioni quasi identiche a quelle in cui girano le versioni della console. Le opzioni grafiche di un gioco dovrebbero esporre le impostazioni della console in modo trasparente. In effetti, le impostazioni equivalenti alla console sono le scelte dello sviluppatore per il miglior "rapporto qualità-prezzo" su un sistema di livello medio, quindi perché non offrire i vantaggi di quella saggezza anche ai giocatori PC? Queste impostazioni offrono anche un ottimo punto di partenza per gli utenti di PC da modificare in base alle capacità del proprio hardware.

13. Supporta tutte le principali tecnologie di ricostruzione delle immagini

Ogni fornitore di GPU ha la propria tecnica di ricostruzione dell'immagine: Nvidia ha DLSS, Intel ha XeSS e AMD ha FSR2. Ognuno di questi tende a funzionare al meglio sul rispettivo hardware e tutti utilizzano input simili quando vengono collegati a un motore di gioco. Nel 2023 non dovrebbe essere accettabile che un gioco venga lanciato con il supporto solo di una di queste tecniche di ricostruzione dell'immagine, ma non delle altre. E non credo davvero che importi quale fornitore di GPU stia sponsorizzando il gioco: un titolo sponsorizzato da AMD dovrebbe comunque supportare XeSS e DLSS, mentre non c'è motivo per cui un titolo supportato da Nvidia non dovrebbe supportare XeSS o FSR2, soprattutto perché ce ne sono ancora molti utenti su GPU serie GTX 900 e GTX 1000 che possono attingere a queste tecnologie.

Con questo in mente, è deludente vedere che The Callisto Protocol viene fornito solo con FSR2 quando Unreal Engine supporta tutte le tecnologie di upscaling. È altrettanto frustrante vedere A Plague Tale: Requiem offrire il supporto DLSS solo quando uno sviluppatore della qualità di Asobo può facilmente ospitare tecnologie simili. Ciò che unisce questi giochi è che stanno davvero spingendo al massimo la grafica e qualsiasi tipo di tecnologia di accelerazione che apra le porte a prestazioni più fluide dovrebbe essere adottata.


L'integrazione di FSR2 e DLSS2 nei giochi che supportano l'upscaling della ricostruzione dell'immagine dovrebbe essere un dato di fatto, e includere anche XeSS di Intel. Queste sono funzionalità killer che non dovrebbero essere limitate all'implementazione di un fornitore di GPU.

Come ho detto all'inizio di questo pezzo, il 2022 è stato un anno davvero terribile per i giochi per PC in cui io e il team abbiamo raggiunto il punto in cui temevamo l'arrivo su un nuovo porting per PC. Elden Ring è arrivato in uno stato piuttosto disastroso, numerosi titoli Unreal Engine 4 ci hanno raggiunto con insopportabili problemi di balbuzie, culminati con l'arrivo di una build letteralmente ingiocabile di The Callisto Protocol.

Propongo questi suggerimenti nella speranza che il profilo del Digital Foundry possa influenzare il cambiamento e, ad essere onesti, ci sono stati alcuni segnali positivi. Il protocollo Callisto su PC ha ancora profondi problemi di utilizzo della CPU, ma la balbuzie è un ricordo del passato grazie a una fase di compilazione dello shader aggiunta al gioco dopo il lancio, esattamente come suggerisco nel primo punto sopra. Anche altri titoli UE4 come Sackboy: A Big Adventure e High on Life hanno ricevuto aggiornamenti post-lancio che tentavano di risolvere i problemi di compilazione degli shader. Discutendo degli aggiornamenti dell'Unreal Engine 5.1 di Fortnite, ho potuto parlare direttamente con Epic Games di questo problema e spero che le cose miglioreranno.

Tuttavia, mentre #StutterStruggle di DF è in prima linea nei problemi, il fatto è che affrontare questo è solo uno dei punti chiave tra i tanti che dovrebbero essere affrontati. Non esiste un singolo "titolare della piattaforma" nello spazio PC, quindi le migliori pratiche e i requisiti tecnici effettivi non possono essere applicati nel modo in cui lo sono sulle console Sony, Microsoft e Nintendo. Anche così, mentre l'elenco di cui sopra può sembrare un sacco di lavoro, ma in realtà si tratta di prestare lo stesso tipo di attenzione a un porting per PC che viene spesso offerto alle versioni per console e offrire un gioco che non funzionerà bene solo su hardware di oggi, ma resiste alla prova del tempo nei decenni a seguire.


Per vedere questo contenuto, abilitare i cookie di targeting.

Timestamp:

Di più da Eurogamer