Durante un tiempo, he estado trabajando con XNA para el diseño y desarrollo de juegos (aunque solo para uso personal en cajeros automáticos). En general, soy un gran admirador de XNA en sí mismo, y su "sensación" general. Sin embargo, debido al hecho de que:
- XNA parece carecer de soporte (sin soporte de Metro, sin actualizaciones desde 2010, etc.)
- Planeo intentar conseguir un trabajo en la industria del desarrollo de juegos, y debido al dominio de C ++, sería más útil estar más familiarizado con él.
- XNA solo es compatible con Windows (no Metro) y Xbox 360, mientras que estoy interesado en Mac y (en menor medida) soporte de Linux.
He estado tratando de cambiar a C ++ como mi idioma principal. Sin embargo, no quiero centrarme en aprender DirectX / C ++ en bruto en este momento, por lo que he estado buscando una API C ++ de nivel superior (algo sobre el mismo nivel que XNA, aunque algo un poco más de nivel bajo estaría bien) ) con una sensación similar a XNA. Entonces, para alguien que cambia de C # / XNA a C ++, ¿cuáles serían mis mejores opciones para API similares a XNA, aunque no administradas y ejecutadas en C ++?
Respuestas:
En primer lugar, si desea seguir con C # / XNA y todavía es compatible con Mac / Linux, podría considerar MonoGame . Además, también tienen un puerto de Metro en proceso. Por lo tanto, todavía no llamaría a la API XNA muerta . (En el lado negativo, la calidad del código de MonoGame deja mucho que desear).
Además , no descartaría la posibilidad de una nueva versión oficial de XNA eventualmente.Si quieres disfrutar de algunos de buenas clases de ayuda de XNA (por ejemplo:
SpriteBatch
,SpriteFont
), mientras se mueve hacia DirectX / C ++, puede probar con el Kit de herramientas de DirectX . Y no olvide que gran parte de la simpatía de XNA está en su canal de contenido, por lo que DirectXTex podría ayudar. Está hecho por algunas de las mismas personas que hicieron XNA, por lo que sabes que es bueno ( publicación de blog ).Podrías considerar probar Unity , que usa C #, es compatible con Mac y Linux y muchas otras plataformas, y se usa en "The Industry".
Si desea soporte de Metro, quiere aprender DirectX, pero no quiere dejar la comodidad de C #, puede consultar SharpDX .
Finalmente, podría mirar Cocos2d-X , que parece ser bastante popular y es probablemente la biblioteca C ++ multiplataforma más cercana a XNA que se me ocurre.
fuente
En aras de la exhaustividad, quiero mencionar SFML. Todos los que usan C ++ deberían al menos echarle un vistazo, ya que SFML está completamente orientado a objetos, mientras que SDL básicamente es C.
fuente
En mi humilde opinión, estas bibliotecas son interesantes para resolver su migración, especialmente si desea programar en C ++:
fuente