Perché i giochi basati su motori multipiattaforma a volte sono esclusivi di Windows?


99

Se un motore supporta Windows, OS X e Linux, perché a volte vediamo giochi che utilizzano questi motori, come Space Hulk: Deathwing , limitato solo a Windows?


25
Significa che può essere costruito su più piattaforme, non significa che non richiede alcuno sforzo aggiuntivo.
palude

La semplice ragione è che la stragrande maggioranza di quel tipo di gioco è su PC.
Fattie,

Risposte:


150

Ragioni tecniche:

  • Piattaforma creata appositamente per i giochi: quando alcuni sviluppatori realizzano i loro giochi, a volte possono fare affidamento su funzioni specifiche della piattaforma. Mentre il motore di gioco potrebbe essere in grado di creare il gioco per più piattaforme, il codice non specifico del gioco potrebbe effettuare una chiamata specifica per Windows che non esiste su altre piattaforme o richiederebbe il rifacimento di una parte difficile del gioco (Servizi di licenza, Sistemi di salvataggio file, ecc.).
  • Mancanza di macchine capaci : per molto tempo, la maggior parte dei computer Apple non ha avuto abbastanza potenza grafica per eseguire la maggior parte dei giochi. Quindi perché rilasciare da qualche parte dove gli utenti avranno probabilmente una brutta esperienza? Questo sta lentamente cambiando, grazie a una migliore grafica integrata, ma potrebbe ancora essere un motivo per cui alcuni vanno solo su Windows.
  • Compatibilità plug-in / libreria : gli sviluppatori di giochi potrebbero utilizzare librerie di terze parti per accelerare lo sviluppo o utilizzare codice standard / validato (SSL, librerie di serializzazione, ecc.). Se questi non supportano la piattaforma X, molto probabilmente il gioco non funzionerà in modo affidabile su di essa, quindi vengono esclusi.
  • Aumento del QA : durante lo sviluppo del gioco, c'è una piccola sottosezione del team che assicura che non ci siano bug e che il gioco soddisfi gli standard di prestazione. Una volta aggiunta una piattaforma, il gioco deve essenzialmente essere testato due volte! Le parti generiche del gioco potrebbero essere lasciate sole, ma ci sono ancora molti test da fare prima del rilascio. Ciò può anche comportare un aumento dei costi, non solo con il tempo aggiuntivo necessario, ma anche hardware specializzato, a seconda della piattaforma (Apple, Xbox, PlayStation, telefoni, ecc.).
  • Supporto migliorato : con l'uscita dei giochi avranno dei bug (alcuni giochi più di altri). Man mano che aggiungi più piattaforme, aumenta la quantità di supporto post-release che lo sviluppatore deve fare. I bug specifici della piattaforma dovranno essere corretti in modo da risolverlo per la piattaforma rotta e non influire sulle piattaforme che non sono interessate. Se una piattaforma cambia, diciamo, da Windows 7 a 8 o una iterazione OSX, ci dovrà essere un certo livello di QA per garantire che non ci siano bug nella versione più recente. E, se ci sono, questa è l'ennesima piattaforma che deve essere supportata insieme alla versione precedente. Ciò può avere un enorme impatto sui costi, soprattutto dopo l'avvio del gioco (se il gioco non guadagnava molto), 3-6 mesi dopo il rilascio.

Ragioni non tecniche:

  • Accordo con gli editori : alcuni sviluppatori avranno accordi con il proprietario della piattaforma per rilasciare specificamente sulla propria piattaforma. Sebbene ciò accada di più con le console, questo potrebbe valere anche per le piattaforme PC (ad es. Windows).
  • Sviluppatore di prima parte : alcuni sviluppatori sono di proprietà del proprietario della piattaforma e non sono autorizzati a rilasciare i propri giochi su piattaforme specifiche. Probabilmente non vedrai Halo su PS4 o Forza su Mac.
  • Mancanza di pubblico : gli sviluppatori hanno molte statistiche sulle tendenze dei consumatori su piattaforme specifiche, soprattutto se hanno grandi editori con molti dati disponibili. Se dispongono di informazioni che indicano che il 90% del loro pubblico di destinazione è su Windows, potrebbero non preoccuparsi di rilasciare su altre piattaforme per cercare di ridurre potenziali bug o / e concentrare il materiale di marketing.
  • Non soddisfa i requisiti della piattaforma : alcune piattaforme come l'App Store di Apple hanno severi requisiti di layout e design che devono essere seguiti per essere pubblicati. Se un gioco non soddisfa questi requisiti per una particolare piattaforma di distribuzione, potrebbe non valere la pena ingegnerizzare il gioco e rilasciarlo se non ci sono abbastanza vendite previste.
  • Mancanza di esperienza con una piattaforma : se lo sviluppatore ha lavorato esclusivamente con Windows (e non ci sono / poche persone con esperienza di altri sistemi), potrebbe essere molto lavoro imparare le piccole differenze che possono causare problemi in fase avanzata di sviluppo o potrebbe non esserci abbastanza budget per assumere nuovo personale per essere responsabile di una build Linux / OSX.
  • Costo di marketing : se due piattaforme hanno un pubblico o una fascia d'età significativamente diversi, il materiale di marketing per uno potrebbe non raggiungere l'altro, il che significa che è necessario spendere più denaro per il marketing. Se i due gruppi richiedono un marketing diverso, è necessario ricrearli tutti tenendo presente il nuovo pubblico di destinazione. Il marketing può diventare estremamente costoso soprattutto con le versioni più grandi, più piattaforme devono essere commercializzate più velocemente aumentano i costi.

Sono sicuro che ce ne sono altri. Questi sono solo alcuni dei vertici della mia testa. Spero che sia di aiuto.


26
Questa è una buona risposta, ma penso che ti manchi un altro elemento importante: il costo del test / QA. I motori multipiattaforma non fanno mai un lavoro perfetto nel nascondere le differenze della piattaforma, quindi è essenziale testare su tutte le piattaforme target. Potrebbero esserci dei bug che si presentano solo su una piattaforma o differenze di prestazioni significative relative a implementazioni diverse su piattaforme diverse. Possono esserci anche differenze di comportamento nella funzionalità che dovrebbe essere multipiattaforma. È necessario aumentare i tempi di QA e fornire ai tester hardware aggiuntivo. Alcuni sviluppatori avranno bisogno di hardware e software extra.
Mattnewport,

2
Pensavo di averlo coperto nella sezione mancanza di esperienza .... ma posso aggiungerlo :) sempre meglio essere comunque
user3797758

5
Concordo con @mattnewport sul fatto che il costo è sottostimato qui - può essere piuttosto laborioso sviluppare, costruire, testare, eseguire il debug, risciacquare, ripetere per più piattaforme. È abbastanza difficile testare correttamente diverse configurazioni hardware per una singola piattaforma!
AC

3
Inoltre, il "supporto" è talvolta molto esagerato. Molti motori "supportano" Windows, ma in realtà dovresti installare Visual Studio e Python e Perl e Cygwin e Msys e 5 versioni di MinGW e gigabyte di librerie per usarlo effettivamente.
AndreKR,

2
"Gli sviluppatori hanno molte statistiche sulle tendenze dei consumatori su piattaforme specifiche" - ovviamente, usarle per determinare quali piattaforme supportare tecnicamente è un po 'una profezia che si perpetua da sola.
OR Mapper,

30

Perché essere disponibili non significa essere liberi e immediati.

Supportare un altro sistema operativo, nella sua forma più semplicistica, significa un'altra piattaforma per fornire supporto tecnico.

Più piattaforme supportate = Più piattaforme devi fornire supporto per = Trascorrere più tempo in supporto = Perdere tempo di lavoro che potrebbe aver speso per migliorare il tuo gioco.

Il supporto di una piattaforma dipende dalla sicurezza con cui se il tuo gioco riesce a disegnare una base di giocatori sufficiente in quella piattaforma di destinazione, quindi compensa il tempo speso per fornire supporto alla piattaforma.


2
Inoltre, si perde più lavoro nello sviluppo del marketplace (App Store, Steam, Google Play) e nelle integrazioni specifiche della piattaforma, in particolare nel settore sociale. (amici, condivisione, autenticazione)
Costello

18

Finora ci sono buone risposte, ma arriviamo alla linea di fondo.

Secondo l'indagine Hardware di Steam del giugno 2017, il 96,24% degli utenti inclusi nel campione utilizzava Windows. Degli utenti Windows, l'87,37% è Windows 10 o 7, 64 o 32 bit. Le varianti OSX rappresentano il 2,95% degli utenti e le varianti Linux ammontano allo 0,72%.

Il tempo è denaro. A meno che il tuo mercato non sia di nicchia e miri specificamente a OSX o Linux, dovresti vendere molti giochi prima che <4% del mercato valga il tuo tempo, soprattutto perché gli sviluppatori di giochi sono generalmente in cerca di tempo per completare le loro funzionalità di prodotto.


3
... e questo presuppone anche che tutti quegli utenti paghino in media soldi comparabili per i giochi. Ricordo le statistiche per Android vs Windows Phone, dove mentre Android aveva una condivisione del dispositivo molto più grande, le entrate dirette (senza pubblicità) erano praticamente le stesse - ed entrambe erano minuscole rispetto a iOS. Se vendi un gioco, devi sapere quante persone sono disposte a pagare. Realizzare un gioco per un segmento dello 0,7% del mercato che acquista raramente giochi è una vera delizia: D Probabilmente non varrebbe la pena anche se il motore fosse perfettamente multipiattaforma (niente stranezze sulle diverse piattaforme).
Luaan,

1
@Luaan Secondo Humble Bundle le entrate per Linux sono solo leggermente inferiori rispetto al Mac, anche se il Mac è tre volte più popolare. Forse spiegato dal fatto che i computer Linux di fascia alta tendono ad avere schede grafiche molto migliori rispetto ai Mac allo stesso prezzo perché i compromessi di queste macchine si trovano altrove.
Stommestack,

1
@JopV. Il bundle umile è un po 'complicato a causa del fattore bundle. Se mi interessa solo un gioco nel bundle, non sono propenso a pagare di più solo perché ricevo giochi extra che non giocherò (o giochi che ho già pagato prima, a volte più volte; sì, sono un po ' pazzo: P). Potrebbe anche esserci un effetto dal fatto che Linux è stato ampiamente ignorato per i giochi fino a tempi relativamente recenti, quindi qualcuno con un computer Mac o Win potrebbe già avere alcuni dei giochi, mentre potrebbe essere la prima versione per Linux. Può essere. Hanno anche statistiche dall'Humble Store?
Luaan,

2
@Luaan Ogni volta che c'è un Humble Indie Bundle ci sono alcune statistiche nella parte inferiore della pagina, inclusa la quantità totale e media di denaro fornita per sistema operativo. Rimangono abbastanza coerenti in ogni pacchetto.
Stommestack,

14

Le altre risposte qui sono buone, ma eccone una che non è stata menzionata.

Sto riscontrando questo problema in questo momento - il mio team sta per rilasciare un gioco realizzato in Unity per Windows / Mac. Abbiamo ricevuto molte domande sul perché il nostro gioco non è mobile. Ci sono 2 risposte principali:

1) I telefoni semplicemente non sono abbastanza potenti per stare al passo con il gioco. Forse possiamo ridurre la fedeltà dell'arte (meno poligoni nei modelli, meno pixel nelle trame, ecc.), Ma questo va solo così lontano. La maggior parte del gioco avrebbe bisogno di essere riscritta per essere sufficientemente ottimizzata per essere eseguita da un telefono. Ci abbiamo provato, ma abbiamo ottenuto solo circa 0,5 fotogrammi al secondo. Ovviamente, non giocabile.

2) Ingresso. L'intera interfaccia utente è stata progettata utilizzando un mouse e parte del gioco dipende dalla conoscenza della posizione del mouse in un determinato momento. Il nostro intero meccanismo di input dovrebbe essere riscritto affinché il gioco continui a funzionare senza sapere dove si trova il mouse e traducendo varie azioni "touch" sullo schermo in azioni "mouse" per ottenere la stessa funzionalità. Come menzionato dall'utente3797758 nella loro risposta, ciò richiederà di riscrivere le cose in modo che gli input "mouse" e "touch" possano essere inseriti nello stesso sistema e un bug in uno non influisca sull'altro, e una correzione di quel bug inoltre non influenzerà l'altro. Ciò richiede più risorse da fare rispetto a quelle attualmente disponibili per il mio team.

Anche menzionato nella risposta di user3797758, non abbiamo nemmeno il supporto Linux perché uno dei nostri pacchetti si arresta in modo anomalo su macchine Linux, ma funziona su Windows / Mac. Solo perché il motore è multipiattaforma non significa che tutto ciò che lo utilizza lo sia.


1
Il mio telefono può riprodurre GTA Vice City senza problemi. Sembra che il tuo motore di rendering sia inefficiente! :)
Razze di leggerezza in orbita l'

2
Comunque questa risposta riguarda più il porting di giochi su diverse piattaforme / paradigmi hardware e meno sui sistemi operativi su un PC
Lightness Races in Orbit

2
@LightnessRacesinOrbit bene, è Unity ... Davvero, abbiamo un effetto particolare che è centrale nel gioco e davvero inefficiente. Il tizio che l'ha scritto non c'è più e non siamo riusciti a trovare un modo per migliorarlo. Tale è la vita ...
Cody,

3
@JopV. Umm, no. La storia è un piccolo po 'più complicato di così. Ma non ha davvero senso discuterne qui. Noterò solo che OpenGL è un'API di rendering 3D; DirectX è molto più ampio di così. Se hai bisogno di impegnarti in un dibattito inutile, almeno confronta OpenGL con Direct3D :) OpenGL è stato progettato per il lavoro 3D professionale ("apertura" di IrisGL proprietario). Quale altra piattaforma supportava OpenGL in quel momento? Non c'era "ostacolo allo sviluppo multipiattaforma" - Windows aveva il supporto nativo OpenGL. OpenGL non è mai stato inteso solo per un lavoro professionale di alto livello.
Luaan,

2
i telefoni gpus sono molto meno potenti della grafica di Intel poiché hanno limiti termici e di dimensione. inoltre molte persone hanno telefoni che non supportano le versioni 3.0, quindi solo poche persone saranno in grado di utilizzare la tua app a meno che tu non riscriva il tuo gioco per opzioni primitive 2.0
Suici Doga,
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.