Passare da XNA / C # a C ++? [chiuso]


8

Per un po 'di tempo, ho lavorato con XNA per la progettazione e lo sviluppo di giochi (anche se solo per ATM per uso personale.) Nel complesso, sono un grande fan di XNA stesso, ed è nel complesso "sensazione". Tuttavia, a causa del fatto che:

  1. XNA sembra avere una mancanza di supporto (nessun supporto Metro, nessun aggiornamento dal 2010, ecc.)
  2. Ho intenzione di provare a trovare un lavoro nel settore dello sviluppo di giochi e, a causa del dominio di C ++, avere più familiarità con esso sarebbe molto utile
  3. XNA supporta solo Windows (non Metro) e Xbox 360, mentre io sono interessato al supporto per Mac e (in misura minore) Linux.

Ho cercato di passare al C ++ come lingua principale. Tuttavia, non voglio concentrarmi sull'apprendimento di DirectX / C ++ non elaborati in questo momento, quindi ho cercato un'API C ++ di livello superiore (qualcosa allo stesso livello di XNA, anche se qualcosa di un po 'più basso livello andrebbe bene ) con un aspetto simile a XNA. Quindi, per qualcuno che passa da C # / XNA a C ++, quali sarebbero le mie migliori scelte per API simili a XNA, sebbene non gestite e in esecuzione su C ++?


NON MAI usare DirectX con C ++ ... Usa OpenGL;)
CoffeeandCode

Risposte:


14

Prima di tutto, se vuoi restare con C # / XNA e supportare ancora Mac / Linux, potresti prendere in considerazione MonoGame . Inoltre hanno anche una porta della metropolitana in cantiere. Quindi non definirei morto l'API XNA . (Sul lato negativo, la qualità del codice di MonoGame lascia molto a desiderare.)

Inoltre , non escluderei eventualmente la possibilità di una nuova versione ufficiale di XNA.

Se vuoi goderti alcune delle simpatiche classi di supporto di XNA (ad esempio: SpriteBatch , SpriteFont), mentre si muove verso DirectX / C ++, si potrebbe provare il Tool Kit DirectX . E non dimenticare che gran parte della gentilezza di XNA è nella sua pipeline di contenuti, quindi DirectXTex potrebbe aiutarti. È fatto da alcune delle stesse persone che hanno creato XNA, quindi sai che è buono ( post sul blog ).

Potresti provare a provare Unity , che utilizza C #, supporta Mac e Linux e un sacco di altre piattaforme e viene utilizzato in "The Industry".

Se desideri il supporto Metro, vuoi imparare DirectX, ma non vuoi lasciare il comfort di C #, puoi dare un'occhiata a SharpDX .

Infine, potresti guardare Cocos2d-X , che sembra essere abbastanza popolare ed è probabilmente la libreria C ++ multipiattaforma più vicina a XNA che mi viene in mente.


1

Per completezza, voglio menzionare SFML. Chiunque usi C ++ dovrebbe almeno darci un'occhiata dato che SFML è completamente orientato agli oggetti mentre SDL in pratica è C.


0

IMHO, queste librerie sono interessanti per risolvere la tua migrazione, specialmente se vuoi programmare in C ++:

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.