In che modo la grafica si evolve così tanto sullo stesso hardware della console?


33

È solo una questione di ottimizzazione del codice?

Gli sviluppatori di giochi prevedono di iniziare in piccolo su un nuovo hardware, di avere spazio per evolversi durante la creazione di una serie di quel gioco?

Le scoperte della computer grafica sono abbastanza comuni da accadere nella vita di una console?

Risposte:


36

È solo una questione di ottimizzazione del codice?

C'è davvero una parte di ottimizzazione in questo. Più programmatori si abituano all'hardware di una console, più imparano a sfruttare la qualità grafica.

Ma è lungi dall'essere l'unica ragione:

  • I primi titoli della console sono sviluppati su hardware e SDK in evoluzione, quindi è difficile ottenere il massimo da una piattaforma quando non è ancora stabilizzato.
  • Non solo i programmatori devono adattarsi ai vincoli di una nuova piattaforma: è lo stesso per gli artisti. Più un motore diventa maturo, più artisti possono adattarsi e perfezionare le proprie capacità. Anche l'esistenza di risorse precedenti che possono essere ripetute è qualcosa da considerare.
  • In generale, le persone sono sempre più esperte, non solo artisti, non solo programmatori, ma tutti. E le dimensioni delle squadre crescono, almeno sul mercato AAA. Mettere più persone esperte in una produzione, se ben gestite, porta a una maggiore qualità.

Gli sviluppatori di giochi prevedono di iniziare in piccolo su un nuovo hardware, di avere spazio per evolversi durante la creazione di una serie di quel gioco?

Questa è una domanda interessante. Non penso che gli sviluppatori di giochi lascino intenzionalmente spazio per l'evoluzione quando lavorano su una nuova console. Per me questo è solo casuale. Ma sto per essere corretto, forse alcuni grandi studi lo fanno in modo strategico dopo tutto, sarei curioso di vedere qualsiasi prova di ciò (testimonianza, qualcuno?).

Le scoperte della computer grafica sono abbastanza comuni da accadere nella vita di una console?

Sì. A meno regolarmente .


2
SSAO e l'ombreggiatura differita sono entrambi vecchi algoritmi: è appena accaduto che è stato scoperto che sono possibili in tempo reale di recente. SSAO (2007) è un'implementazione in tempo reale di un algoritmo di 10 anni (AO precompilato), l' ombreggiatura differita è stata originariamente pubblicata da Deering nel 1988
bobobobo,

2
Giusto. Questi sono stati adattati in tempo reale durante l'ultima generazione di console; non significa che il concetto fosse nuovo, come spiega Kylotan nella sua risposta.
Laurent Couvidou,

3
Penso che una parte importante del componente di ottimizzazione sia che l'hardware è più o meno garantito per rimanere lo stesso per molti anni. Ciò consente agli sviluppatori di elaborare ottimizzazioni altamente mirate, e forse ancora più importante, di rendere utile questo tempo investito. Per un'evoluzione interessante e simile del codice, considera le demo di C64 o Amiga scritte decenni dopo l'uscita dell'hardware originale; molti di loro sarebbero stati inconcepibili negli anni '80 e '90.
Daniel B,

13

Gli sviluppatori di giochi prevedono di iniziare in piccolo su un nuovo hardware, di avere spazio per evolversi durante la creazione di una serie di quel gioco?

Sicuramente no!

Quando sono entrato a far parte dell'industria dei giochi, ho posto questa domanda a un produttore di [editore gigante di cui hai sicuramente sentito parlare]. Mi ha detto che ogni gioco per console sviluppato dalla sua azienda utilizzava il 100% delle risorse disponibili della piattaforma. Anche se questa probabilmente non era la verità letterale, è abbastanza vicina.

Semmai, i giochi per console impiegano gran parte del loro sviluppo utilizzando circa il 120-150% delle risorse della piattaforma. Gli ultimi mesi di sviluppo sono spesi freneticamente nel tentativo di ridurre tutto al "solo" 100% prima della data di spedizione. Se i titoli successivi richiedono più cicli CPU / RAM / spazio su disco / ecc., Gli sviluppatori devono prima capire come ottimizzare la loro tecnologia attuale: trovare algoritmi più efficienti, utilizzare una migliore compressione dei dati, ecc. Pertanto, rapida evoluzione per necessità!

Ha perfettamente senso, in realtà; quale vantaggio competitivo ci sarebbe nel non esplicitamente tentare di raggiungere il pieno potenziale dell'hardware, data la tua attuale conoscenza del sistema? Ti fideresti che i tuoi concorrenti mostrino la stessa moderazione?


Bella risposta. Sarei comunque curioso di sapere se alcuni particolari generi di gioco hanno obiettivi diversi - dove 60 fps è assolutamente essenziale per il gameplay principale, e preferiscono solo renderlo il più bello possibile.
Katana314

10

Poiché le console hanno praticamente una specifica. E non come il PC in cui hai tonnellate di diverse varianti. Gli sviluppatori possono ottimizzare meglio i loro giochi. Ma questo non significa che farà magie spaziali a lungo termine. Raggiungerà un limite. (attualmente il 360 / Ps3 ha 512 mb in totale, che per molti sviluppatori sembra essere un fastidio)

Le console sono abbastanza obsolete dopo 6 mesi. I PC crescono sempre più velocemente nelle specifiche hardware. Ma i giochi su PC non vengono mai ottimizzati per un set hardware. Devono tenere presente che ci sono anche persone con specifiche inferiori (da cui il video e altre opzioni). Ma dal momento che gli sviluppatori che lavorano su giochi per console possono ottimizzare in longrun, possono fare brutti scherzi con l'hardware.

I giochi PS3 / 360 sembrano abbastanza buoni in questo momento del loro ciclo di vita. Ma immagina solo se uno sviluppatore si concentrasse su un powerbeast specifico di un PC.

All'inizio di una nuova console, gli sviluppatori della vita devono adattarsi all'hardware. Non puoi semplicemente schiaffeggiare il codice da una piattaforma all'altra. Ecco perché non vedi i giochi che abbiamo ora all'inizio del ciclo di vita. La pipeline di produzione aumenta gli straordinari. Non è qualcosa che puoi fare bene la prima volta. Molte ottimizzazioni devono essere fatte e costa solo tempo. Quando vedi funzionalità migliori in un sequel è perché lo sviluppo della tecnologia stava crescendo durante il primo gioco.

Le scoperte reali di solito si verificano con il nuovo hardware. Ma gli sviluppatori possono essere creativi a volte, cosa che consente loro di fare cose su hardware limitato.


Cosa cambia esattamente quando abbiamo solo una specifica da sviluppare? Il codice cambia? O solo le opzioni del compilatore?
Rodorgas,

1
Il codice rimane per lo più lo stesso, ma l'ottimizzazione si basa sull'uso delle funzionalità dell'hardware.
Sidar,

Grazie per aver risposto. Se desideri elaborare, sono interessato a un esempio di ottimizzazione che utilizza le funzionalità dell'hardware.
Rodorgas,

1
Bene, il più comune, anche se di solito è fatto attraverso qualche astrazione è SIMD.
Sidar,

9

Il nuovo hardware generalmente offre solo la possibilità di fare più di prima. La maggior parte dei miglioramenti grafici deriva da nuove tecniche, nuove ottimizzazioni e migliore arte.

Vale la pena sapere che le "nuove" tecniche che vengono utilizzate sono raramente nuove: in genere sono tecniche di 20 anni che in precedenza erano troppo lente per il rendering in tempo reale. Questi vengono in genere tradotti in codice in tempo reale molti anni dopo, quando un programmatore trova un modo per farlo in modo efficiente con l'hardware del giorno.


3
Caso in questione: ombreggiatura differita
bobobobo,

3
Se vuoi sapere di cosa saranno capaci i computer grafica per i prossimi anni, guarda Hollywood CGI di un decennio (?) Fa.
Dan Neely,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.