In che modo Blizzard riesce a supportare Mac OS e Windows nei loro giochi? [chiuso]


22

Ho sempre pensato che l'utilizzo di Direct X per Windows fosse al giorno d'oggi il metodo più potente, semplice e moderno per creare giochi con una grafica moderna. Sapendo che è solo Windows, penso che sia abbastanza difficile realizzare qualcosa di simile su altre piattaforme; Mac OS, per l'esattezza. Tuttavia, Blizzard in qualche modo è riuscito a fornire Starcraft 2 per Mac OS e anche Diablo 3 sarà disponibile per Mac.

Quindi quello che mi interessa sono informazioni su:

  • quali tecnologie stanno usando per i loro motori di gioco?
  • stanno usando un motore per entrambi i giochi (Starcraft 2 e Diablo 3) o sviluppano motori personalizzati per ogni gioco?
  • cosa stanno pagando, in termini di tempo e denaro, per il supporto di Mac OS?


1
Sto votando per chiudere questa domanda come fuori tema perché non supportiamo le domande che pongono "come è stato realizzato questo gioco" o "come è stato fatto questo gioco". Tali domande sono per lo più speculative e non costruttive; di solito modifichiamo la domanda per porre "come posso fare questa funzione, ma questa domanda è troppo vecchia perché tali modifiche siano costruttive.
Gnemlock

Risposte:


17

Blizzard è basato su tecnologia molto personalizzata. Non ho collegamenti agli articoli, ma ricordo di aver visto che sviluppano migliaia di shader personalizzati per gioco sia per la compatibilità multipiattaforma che per la retrocompatibilità.

Il supporto multipiattaforma non è una novità. Un sacco di software supporta Linux, Mac OS e Windows. Come accennato in precedenza, la parte importante si sta allontanando dalle specifiche della piattaforma.

Qualsiasi motore di gioco contemporaneo gestisce la multipiattaforma e molti possono passare da OpenGL a DirectX a seconda della piattaforma.

Blizzard è una casa C ++, come la maggior parte degli sviluppatori professionisti su larga scala. Ma, come è stato detto da S.gfx, se stai cercando una soluzione semplice, ci sono molte soluzioni non C ++, tra cui jMonkeyEngine o LWJGL.

Dal lato C ++, è possibile utilizzare Glut e Glu per gestire facilmente diversi sistemi operativi mentre si utilizza OpenGL o scrivere la propria astrazione per specifiche chiamate del sistema operativo.

Per rispondere in modo più specifico ai tuoi proiettili:

quali tecnologie stanno usando per i loro motori di gioco? Blizzard probabilmente non lo direbbe; ma puoi essere sicuro che il motore è scritto in C ++ e utilizza OpenGL o OpenGL e DirectX. Ricorda, OpenGL funziona su Windows.

stanno usando un motore per entrambi i giochi (Starcraft 2 e Diablo 3)? O sviluppare personalizzati per ogni gioco? Blizzard è noto per mantenere più motori. Diablo 3, fin dall'inizio, era un fork del codice di WoW, credo. Ma puoi essere sicuro che non sarà niente come WoW una volta terminato il progetto. Blizzard non è un'azienda che ha paura di scrivere un sacco di codice per progetto.

cosa stanno pagando in termini di tempo e denaro per il supporto di Mac OS? Se eseguito correttamente, il supporto di Mac OS non dovrebbe essere "troppo" significativo in termini di costi. Chiunque può indovinare. Blizzard, come ho detto, ha la tendenza a scrivere shader personalizzati, quindi tutto sembra "giusto"; quindi, potrebbe essere più di quanto pagano le altre case.


Grazie, penso che la tua risposta sia la più vicina a quella che stavo cercando. Conosco abbastanza bene lo sviluppo multipiattaforma generale, volevo solo alcune informazioni su come Blizzard lo fa. Le sarei grato se pubblichi collegamenti ad ulteriori informazioni sul loro processo di sviluppo.
generò l'

9

Esistono motori grafici (prendi Ogre3D come esempio) che forniscono un livello astratto sopra DirectX e OpenGL. Quindi come sviluppatore usi semplicemente il Framework e non devi preoccuparti molto dell'API GPU sottostante. Alcune cose speciali come gli shader potrebbero dover essere scritte in HLSL e GLSL ma ci sono anche linguaggi shader di livello superiore che possono essere eseguiti / compilati su entrambe le API.

La mia ipotesi sarebbe che il motore utilizzato da Blizzard (hanno scritto il loro) fornisce anche un livello di astrazione che semplifica lo scambio dell'API grafica sottostante, in modo che non debbano riscrivere tutto il loro codice grafico per una porta Mac.


2

Non sono sicuro di ciò che effettivamente usano (ognuno avrebbe una soluzione potente, sicuramente). Probabilmente motori di gioco già collaudati e utilizzati rilasciano con successo giochi su quella piattaforma o lanciano la propria soluzione personalizzata. Ma per me che sarebbe principalmente aperto, shader, ecc. Se sei uno sviluppatore indipendente, o hai addirittura intenzione di fare giochi commerciali (ma non un AAA), jMonkeyEngine 3 è una soluzione gratuita abbastanza carina. È basato su Java, quindi probabilmente potresti distribuire la fiducia sul JRE incluso di OSX (probabilmente tagliando le funzionalità se non usi un jre molto moderno), o incorporando / avvolgi un binario (abbiamo fatto un test facendo così per Windows) usando uno qualsiasi dei disponibili gratuitamente o soluzioni commerciali. Ci sono un sacco di altri motori che si stanno compilando per OSX e altre piattaforme, ma non totalmente 'AAA', che producono per OSX e altre piattaforme:, C4 Engine , ecc. O se si utilizza un altro motore multipiattaforma open source o commerciale, potrebbe essere necessario utilizzare un programma di installazione multipiattaforma come InstallBuilder .

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.