Gli sviluppatori di giochi indipendenti dovrebbero rivolgersi a hardware più vecchio?


25

Uno sviluppatore con cui lavoro mi dice che gli sviluppatori indipendenti dovrebbero scegliere come target hardware di circa sei o più anni (con le impostazioni massime). Ho l'idea che uno dovrebbe consentire a tutti coloro che vogliono giocare al loro gioco di giocarlo a un framerate eseguibile, indipendentemente da quanti anni ha il loro hardware, ma dovrebbero gli sviluppatori indie limitarsi a usare uno stile artistico a basso poli, o fare i loro giochi pensando all'hardware più vecchio, principalmente perché "la maggior parte delle persone che giocano a giochi indie hanno hardware vecchio?"

C'è qualche motivo per consentire al tuo gioco di funzionare alle massime impostazioni per hardware molto vecchio, anche se ridurrebbe le possibilità grafiche per le persone con hardware più recente?

Esistono statistiche che dimostrano che i giochi che raggiungono facilmente i limiti grafici superiori su hardware precedente hanno più successo dei giochi che spingono i limiti grafici superiori a scapito di un'esperienza "tutt'altro che migliore" per i giocatori su hardware meno recente ?

Qualsiasi approfondimento su questo sarà molto apprezzato.


12
Dipende dal mercato di riferimento
Vaughan Hilts,

1
Dovresti anche pensare a hardware debole, ma nuovo, a parte quello vecchio: tablet / netbook. La modalità di bassa qualità può essere indirizzata a entrambi i gruppi ed eventualmente essere trasferita anche sui telefoni. E ricorda che anche i giochi low-poly possono essere lenti se il codice è lento (ad esempio PC Minecraft). Il codice non è mai troppo veloce;)
PTwr

@PTwr Ricordi i giochi per PC-AT e simili senza tempi? Quelli sono diventati piuttosto veloci sull'hardware più recente: D
Luaan,

1
Il mio PC ha 8 anni. L'unico aggiornamento che ha visto è stato l'aggiunta di un SSD da 40 GB 4 anni fa. Suono ancora WoW bene. DayZ funziona a 1080p con la maggior parte delle impostazioni attivate. Ho alcune mod grafiche per Skyrim e funziona ancora ~ 40-50 FPS a 1080p. A questo punto, in realtà tutto ciò significa che il tuo gioco indipendente non dovrebbe avere prestazioni peggiori dei moderni giochi AAA.

1
Ho il sospetto che "la maggior parte delle persone che giocano a giochi indie hanno hardware vecchio" è l'affermazione più facilmente discutibile fatta dal tuo collega. Ad ogni modo, questa è una decisione aziendale per lo sviluppatore e niente di più: la codifica per hardware più vecchio / più lento è spesso più difficile e quindi costerà di più per la consegna. Direi che la dichiarazione del collega è nella stessa categoria di "tutti i siti Web dovrebbero funzionare su IE6". È una buona idea, ma non spesso pratica e spesso costosa da consegnare.
Dan Puzey,

Risposte:


21

In questa era il vecchio hardware è diventato un termine improprio. Il vecchio hardware non è necessario lento. 6 anni è il 2009 e DirectX11 era già esistente. Non abbiamo ancora molto più nuovo oggi.

Devi considerare due cose:

  • Caratteristiche
  • energia

Caratteristiche

Questo è il livello di istruzioni che l'hardware supporterà, DirectX9,10,11 o OpenGL qualcosa (dipende dai driver). E il set di istruzioni della CPU: SSE4, AVX ..

Questo è il più grande mal di testa di solito nello sviluppo, la scalabilità di fronte a quelli è più difficile della scalabilità di fronte al potere. DirectX9 aveva qualcosa chiamato techniquenei .fxfile per ripiegare, per entrambi i punti. Ma per le istruzioni della CPU sono necessari più file eseguibili o sezioni di ramificazione di grandi dimensioni nel programma. O non usarli.
Fortunatamente oggi, anche 6 anni sono un breve periodo e avrai accesso a tutto ciò di cui hai bisogno anche su hardware "vecchio".

energia

Questo è il punto che dovrebbe ridimensionare, sulla macchina di oggi , e non su quella precedente. Una fascia alta del 2009 presenta potenzialmente una geForce GTX280, è molto potente e molto più potente della tua APU AMD A6-3650 di fascia bassa o qualcosa del genere.

È necessario comprendere il gigantesco divario di prestazioni tra la fascia bassa e la fascia alta della macchina di oggi. Perché supera ampiamente il divario di prestazioni delle vostre macchine della gamma 6 anni sulla scala di fascia alta.

Quindi non è una considerazione del mercato per quanto riguarda il rinnovo, è una considerazione del mercato per quanto riguarda il budget di acquisto originale. E se devi scegliere come target i laptop o i desktop di fascia bassa di oggi, dovrai comunque ridimensionarli e molto più di quanto pensi.

Cerca di preoccuparti della risoluzione, del fillrate dei pixel e della larghezza di banda della memoria grafica. Giochi su questi fattori grazie al numero di passaggi dello schermo, alla larghezza del tuo Gbuffer se hai ombreggiature differite (molto costose su macchine di fascia bassa), alla risoluzione delle tue trame e alla loro quantità presente sullo schermo in qualsiasi momento .. La ricchezza del poligono non sarà un problema a meno che non si stia prendendo di mira l'hardware del 2002. La complessità di Shader ALU / FPU non sarà neanche un problema, a meno che non si scelga come target l'hardware 2005/2006.


4
Tuttavia, si noti che il target demografico che acquista videocards di fascia alta come la GTX280 è abbastanza ricco da aver acquistato una nuova scheda da allora. Le persone che oggi usano ancora una videocard dell'era del 2009 probabilmente hanno acquistato un modello economico allora.
Salterio del

3
Inoltre, non dimenticare che il tuo intenso gioco grafico indipendente potrebbe non essere previsto per un anno o due, quindi puoi scegliere come target hardware ancora meno vecchio.
Valmond,

10

Non riesco a ricordare dove l'ho sentito per la prima volta, ma questa è una vecchia regola empirica che non regge molto al pensiero critico. In verità, si tratta di obiettivi aziendali. Se non hai intenzione di vendere il gioco, non importa.

Il fatto è che più hardware puoi supportare, più grande è il tuo potenziale mercato. Tuttavia, la maggior parte degli sviluppatori indipendenti non disporrà comunque delle risorse per supportare ovunque vicino a hardware all'avanguardia, perché per trarre vantaggio da tale hardware dovranno spendere una discreta quantità di contenuti . Qualsiasi sviluppatore indipendente che deve preoccuparsi di ciò di solito ha le risorse per scoprire quali specifiche di sistema devono mirare e che probabilmente sono informazioni che puoi acquistare. Steam, ad esempio, raccoglie tali statistiche e probabilmente le rivende agli sviluppatori.


3
Ho creato un account qui solo per commentare: Steam non rilascia queste informazioni liberamente a tutti?
Rammarico

@Regret jzx si riferisce presumibilmente a una demografia più mirata, e quindi ristretta. Le statistiche non elaborate sono presumibilmente distorte da sistemi secondari, giochi indie, ecc. Steam presumibilmente vende pacchetti di informazioni agli sviluppatori che vogliono controllare l'hardware della loro demo di destinazione.
Lilienthal,

Immagino che lo fornirebbero gratuitamente se ti trovi sulla piattaforma Steamworks. Quindi avresti accesso a questi dati se rilasci un gioco tramite Greenlight.
Topperfalkon,

2

Come regola generale, maggiore è la varietà di hardware su cui verrà eseguito qualsiasi programma, maggiori saranno le opportunità di vendere una copia. La varietà che puoi supportare dipende molto dal gioco. Un gioco come Dwarf Fortress può essere facilmente scalabile, sia in termini di requisiti di elaborazione che di grafica. Un FPS con fisica realistica come l'Amnesia non tanto. Il mio suggerimento sarebbe di scrivere il tuo gioco in modo che possa essere eseguito sul più ampio array di hardware possibile e dare comunque una buona esperienza. Non devi necessariamente supportarlo subito, ma essere in grado di riconfigurarlo per hardware nuovo / vecchio / semplicemente diverso pagherà facilmente i dividendi man mano che la tua base di fan cresce e man mano che la tecnologia avanza.

Ci sono due cose che ti renderanno la vita molto più semplice quando si tratta di far funzionare il tuo gioco su una vasta gamma di dispositivi, e hanno poco a che fare con l'età dell'hardware che scegli (almeno direttamente):

1) Se possibile, dividere il backend dal frontend. Se la parte che esegue la matematica su quali pezzi stanno facendo cosa, dove ha un'interfaccia ben definita per passare quelle informazioni alla parte che le visualizza sullo schermo e accetta l'input dell'utente, allora puoi regolarne una più facilmente (di solito il frontend ) al nuovo hardware senza dover fare confusione con l'altro. Se scritti in questo modo, molti tipi di giochi potrebbero avere frontend che vanno dalla grafica 3d di punta, agli sprite animati su una pagina Web, ai caratteri di testo ASCII puri. A quel punto, puoi scegliere quale implementare in base a chi pensi che comprerà il gioco ora. E puoi espanderti a nuovi schemi di output man mano che le persone mostrano interesse, senza dover fare confusione con il nucleo del gioco.

2) Per quanto possibile, scrivi il codice portatile. A seconda del comportamento specifico di DirectX 9.3c o di qualsiasi altra cosa ti consenta di farlo più velocemente, ma quando ti rendi conto che dovresti pubblicare una versione per Android, dovrai rifare molto lavoro. Scegliere le librerie e le lingue che non dipendono da un singolo fornitore e che seguono standard aperti e ben definiti ridurrà seriamente il carico di lavoro nel lungo periodo. Ricorda: scrivere un programma di solito è una piccola parte del lavoro rispetto al mantenimento del programma. (A meno che tu non stia optando per il modello di business "obsolescenza pianificata", ma non è probabile che ti farà diventare una grande base di fan a lungo termine.)

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.