Passer de XNA / C # à C ++? [fermé]

8

Depuis un certain temps maintenant, je travaille avec XNA pour la conception et le développement de jeux (bien que seulement pour un usage personnel ATM.) Dans l'ensemble, je suis un grand fan de XNA lui-même, et c'est globalement "la sensation". Cependant, étant donné que:

  1. XNA semble manquer de support (pas de support Metro, pas de mise à jour depuis 2010, etc.)
  2. J'ai l'intention d'essayer de trouver un emploi dans l'industrie du développement de jeux et, en raison de la domination de C ++, il serait très utile de le connaître davantage.
  3. XNA ne prend en charge que Windows (non-Metro) et Xbox 360, alors que je suis intéressé par Mac et (dans une moindre mesure) Linux.

J'ai essayé de passer au C ++ comme langage principal. Cependant, je ne veux pas me concentrer sur l'apprentissage de DirectX / C ++ brut pour le moment, donc je cherchais une API C ++ de niveau supérieur (quelque chose du même niveau que XNA, bien que quelque chose d'un peu plus bas serait bien ) avec une sensation similaire à XNA. Donc, pour quelqu'un qui passe de C # / XNA à C ++, quel serait mon meilleur choix pour des API similaires à XNA, bien que non gérées et fonctionnant sur C ++?

Fat_Scout
la source
NE JAMAIS utiliser DirectX avec C ++ ... Utiliser OpenGL;)
CoffeeandCode

Réponses:

14

Tout d'abord, si vous souhaitez vous en tenir à C # / XNA et toujours prendre en charge Mac / Linux, vous pouvez envisager MonoGame . De plus, ils ont également un port de métro en préparation. Donc , je ne voudrais pas appeler l'API XNA juste encore mort . (En revanche, la qualité du code de MonoGame laisse beaucoup à désirer.)

De plus, je n'écarterais pas la possibilité d'une nouvelle version officielle de XNA à terme.

Si vous voulez profiter des belles classes d'aide de XNA (par exemple: SpriteBatch, SpriteFont), tout en se déplaçant vers DirectX / C ++, vous pouvez essayer le DirectX Tool Kit . Et n'oubliez pas qu'une grande partie de la gentillesse de XNA est dans son pipeline de contenu - donc DirectXTex pourrait vous aider. Il est fait par certains des mêmes personnes qui ont fait XNA, donc vous savez que c'est bon ( article de blog ).

Vous pourriez envisager d'essayer Unity - qui utilise C #, prend en charge Mac et Linux et un tas d'autres plates-formes, et est utilisé dans "The Industry".

Si vous souhaitez une assistance Metro, voulez apprendre DirectX, mais ne voulez pas quitter le confort de C #, vous pouvez consulter SharpDX .

Enfin, vous pouvez regarder Cocos2d-X , qui semble être très populaire et est probablement la bibliothèque C ++ multiplateforme la plus proche de XNA à laquelle je puisse penser.

Andrew Russell
la source
1

Par souci d'exhaustivité, je tiens à mentionner SFML. Tout le monde utilisant C ++ devrait au moins y jeter un œil car SFML est complètement orienté objet alors que SDL est fondamentalement C.

mks
la source
0

À mon humble avis, ces bibliothèques sont intéressantes pour résoudre votre migration, surtout si vous souhaitez programmer en C ++:

xdevel2000
la source