Cosa c'è di sbagliato nella famiglia Linux / * nix per i giochi? Cosa rende lo sviluppo di giochi per questa piattaforma troppo lento rispetto a Windows o persino a OS X?
Cosa c'è di sbagliato nella famiglia Linux / * nix per i giochi? Cosa rende lo sviluppo di giochi per questa piattaforma troppo lento rispetto a Windows o persino a OS X?
Risposte:
Per i clienti di giochi, ha a che fare principalmente con la cultura, portando a difficili strategie di monetizzazione.
I server per giochi multiplayer, d'altra parte, hanno ottenuto molta trazione per linux / nix, è una piattaforma molto interessante per lo sviluppo della tecnologia server.
Si spera che l'eventuale rilascio di Steam per Linux possa aiutare a cambiare quella cultura quando si tratta di client e fornire agli sviluppatori e agli editori una piattaforma più monetaria per la distribuzione di giochi.
Cosa c'è di sbagliato nella famiglia Linux / * nix per i giochi?
'Wrong' è una parola forte, ma elencherò alcune cose che impediscono agli sviluppatori di giochi di lavorare su Linux.
Cultura - Le persone Linux tendono a credere di più che il software debba essere gratuito - questo non è utile per trarre profitto dalla vendita del software. Questo potrebbe cambiare in futuro con giochi online come "software as a service" in un certo senso.
Quota di mercato - La quota di mercato di Linux sul desktop è sempre stata piuttosto ridotta. Ora che la quota di mercato è finalmente passata da "trascurabile" a " pietosamente basso ", potresti fare un piccolo argomento per prendere di mira quella piattaforma - se il punto precedente non fosse affatto vero, cioè. Anche questo è arrivato un po 'troppo tardi: il mercato dei giochi non per console è molto piccolo in questi giorni quando si escludono gli MMO.
Supporto per gli sviluppatori: Microsoft ha investito molto tempo e denaro in DirectX e, più recentemente, in XNA. Con un download, disponevi di tutte le API e della documentazione necessarie per creare giochi. Linux non ha un corpo centrale per fare questo, e nemmeno un singolo prodotto che potrebbe essere usato invece. SDL non fa grafica 3D, OpenGL non fa altro che grafica, né ha avuto una strategia di aggiornamento molto credibile negli ultimi anni, e ci sono un miliardo di altre librerie ( molte delle quali si trovano in un elenco che mantengo qui ) puoi lanciarti nel mix senza nessun leader chiaro. È solo molta più seccatura. Inoltre, molti dei principali middleware non funzionano su Linux, quindi invece di provare e testare il codice con supporto a pagamento devi considerare l'utilizzo dell'open source abbandonato che non è mai stato usato in un gioco spedito.
Supporto del sistema operativo: Linux può fare tutto ciò che fa Windows, ma a volte lo rende certamente difficile. Il supporto audio in particolare è terribile. Il supporto video è imbarazzante a causa della legalità dei codec. La distribuzione dei file binari può essere complicata se si considerano i diversi tipi di packaging che è necessario supportare. Tutte queste cose possono essere superate se sai cosa stai facendo, ma la maggior parte degli sviluppatori Windows non saprà cosa stanno facendo con Linux, quindi non sono in grado di trasferire senza problemi i loro prodotti su Linux.
Linux rappresenta circa l'1% degli utenti finali totali che accedono a Internet ( OS Marketshare ). Il suo utilizzo aumenta in modo significativo quando si parla di server, ma non è solo un grande sistema operativo consumer.
Non c'è niente di sbagliato nella famiglia di sistemi operativi Linux / * nix per lo sviluppo di giochi, tranne per il pubblico percepito. La maggior parte degli sviluppatori ritiene che lo sforzo di creare giochi per Linux non si tradurrà in copie vendute dei loro giochi, specialmente nelle comunità AAA.
Anche diverse aziende che hanno appena portato i giochi AAA su Linux (non hanno nemmeno pagato i costi iniziali per lo sviluppo del gioco) non sono state in grado di generare abbastanza vendite su quella piattaforma per rimanere a galla.
Detto questo, Linux può essere un vantaggio per molti sviluppatori indipendenti, perché ci sono alcuni fanatici di Linux che compreranno un gioco semplicemente perché esce su Linux.
Il gaming su Linux è un mercato in gran parte non sfruttato, secondo me, specialmente per le indie. Se osservi i numeri riportati da Hemisphere Games for Osmos e i numeri riportati da Wolfire Games per l' Humble Indie Bundle (in particolare le entrate totali per ciascuna piattaforma), puoi vedere che gli utenti Linux possono essere desiderosi di supportare coloro che supportano Linux.
Una cosa che ho notato che non è stato ancora toccato qui, è la confusione generale di driver, kernel e librerie con cui devi lavorare su Linux. Recentemente è migliorato (con alcune distro che compongono ciò che posso solo immaginare è la maggior parte delle scatole di Linux là fuori), ma è ancora un casino. Per un ottimo esempio di cosa intendo, vedere questo post mortem della porta Osmos di Linux , in particolare la sezione "Didn't Love". In breve, quell'articolo si lamenta di:
Cosa intendi con troppo lento? Non penso che gamedev per Linux sia più lento di altri sistemi operativi. Se avessi intenzione di chiederti perché non ci sono giochi commerciali sviluppati per Linux, immagino che sia principalmente perché il mercato è troppo piccolo. C'era una società che ha iniziato a trasferire i giochi commerciali di Windows su Linux, ma hanno chiuso perché non avevano avuto successo nel vendere quei giochi iirc. Inoltre, se vuoi sviluppare un gioco per Linux, devi comunque fornirlo anche per Windows se vuoi guadagnare abbastanza denaro, tuttavia svilupparlo in un modo così multipiattaforma è ancora più costoso e il mercato di Linux probabilmente non vale esso. Quindi direi che non è solo conveniente.
Una delle ragioni per cui penso che Linux non riceva così tanta attenzione è semplicemente che la maggior parte delle persone che eseguono Linux possono anche scegliere di eseguire Windows tramite una configurazione a doppio avvio per eseguire giochi. Ciò influisce anche sugli utenti Mac in una certa misura, ma a causa del trucco meno tecnico della base utenti (non dico questo come un leggero agli utenti Mac - è più che gli utenti Linux tendono ad essere il tipo di persone che non lo fanno mente facendo tutti i tipi di arcane attività tecniche per far funzionare qualcosa), ci sono meno persone disposte a installare Windows sul proprio computer.
Strettamente correlato è che chiunque sia interessato ai giochi per PC probabilmente acquisterà un PC con Windows su di esso. Dato che hanno già una macchina Windows, non richiederanno versioni native di Linux o Mac.
Penso anche che ci sia semplicemente potere nei numeri. Ci sono molti più utenti Windows rispetto agli utenti Linux e quindi più output su Windows. Inoltre, il livello di entrata è molto più basso con gli strumenti visivi rispetto agli strumenti da riga di comando (anche se questo è cambiato nel tempo). Inoltre, molti bambini hanno avuto a che fare con il vecchio PC dei loro genitori, che staticamente era più probabile che fosse un PC Windows che una scatola Linux.
L'utente del gioco comune non è un utente Linux. Quindi il mercato non è lì e non è saggio spendere soldi cercando di concentrarsi su quel mercato.
So che id Software prova a rilasciare un client Linux dei loro giochi, solo perché sono fantastici e adorano la piattaforma.
Non dimentichiamo che la maggior parte dei motori di gioco commerciali è legata e / o ha un set di strumenti radicato in modo diretto su console win32 /. Questo è anche il motivo per cui così tanti giochi usano ancora BSP per esempio. Poiché hanno fatto un investimento enorme, non correranno rischi enormi per un mercato più piccolo. Potrebbe cambiare in futuro, ma in questo momento devi investire molti sforzi per diventare multipiattaforma.
Dato che Steam è appena apparso sul Mac, che è davvero un'ottima notizia, sospetto che sarà solo una questione di tempo prima che appaia su Linux. Un Mac esegue un sistema operativo simile a unix, quindi non dovrebbero esserci troppi problemi durante il porting dei giochi.
Almeno possiamo sperare. :)
Un altro problema importante da tenere in considerazione quando si sviluppa per Linux è come installare il gioco. Non esiste un meccanismo di installazione standard che funzioni senza problemi tra le distribuzioni. Esistono sistemi di gestione dei pacchetti che ti semplificano la vita, sebbene non tutte le distribuzioni utilizzino gli stessi formati. I due formati di packaging più comuni sarebbero probabilmente .deb (usato dalle distribuzioni basate su Debian) e .rpm (usato dalle distribuzioni basate su Redhat). Puoi perdere un sacco di tempo a ottenere il pacchetto della tua applicazione giusto per più distribuzioni, anche se se scegli di non fornire il tuo gioco in un formato di packaging scelto da distribuzioni corri il rischio di alienare la loro base di utenti.
Mi chiedo se il mercato sia piccolo come dicono le persone. Voglio dire, conosco diverse persone che usano Linux come sistema operativo quotidiano che mantengono libera una partizione per un'installazione di Windows per giocare. (Faccio lo stesso) L'unica ragione per cui abbiamo installato Windows è a causa degli sviluppatori di software. Se cambiano posizione e supportano Linux, sono certo che il tasso di adozione aumenterebbe. Ma nulla cambierà a meno che qualcuno non salti per primo (forza valvola).
Personalmente, ho risolto molti problemi di Linux usando Wine, ma avevo ancora problemi a trovare una soluzione di installazione standardizzata che avrebbe funzionato per tutti.