Mudando de XNA / C # para C ++? [fechadas]

8

Já faz um tempo que trabalho com o XNA no design e desenvolvimento de jogos (embora apenas para uso pessoal em caixas eletrônicos.) No geral, sou um grande fã do próprio XNA e sua sensação geral. No entanto, devido ao fato de que:

  1. O XNA parece não ter suporte (sem suporte ao Metro, sem atualizações desde 2010, etc.)
  2. Eu pretendo tentar conseguir um emprego na indústria de desenvolvimento de jogos e, devido ao domínio do C ++, estar mais familiarizado com isso seria muito útil
  3. O XNA suporta apenas Windows (não Metro) e Xbox 360, enquanto eu estou interessado no suporte para Mac e (em menor grau) para Linux.

Eu tenho tentado mudar para C ++ como minha linguagem principal. No entanto, não quero me concentrar no aprendizado direto de DirectX / C ++ no momento, portanto, estou procurando uma API C ++ de nível superior (algo mais ou menos no mesmo nível que o XNA, embora algo um pouco mais baixo seja bom) ) com uma sensação semelhante ao XNA. Portanto, para alguém que alterna de C # / XNA para C ++, quais seriam minhas melhores opções para APIs semelhantes ao XNA, embora não gerenciadas e executadas em C ++?

Fat_Scout
fonte
Nunca use o DirectX com C ++ ... Use OpenGL;)
CoffeeandCode

Respostas:

14

Primeiro de tudo, se você quiser usar o C # / XNA e ainda suportar o Mac / Linux, poderá considerar o MonoGame . Além disso, eles têm uma porta de metrô em obras também. Então, eu ainda não chamaria a API do XNA . (No lado negativo, a qualidade do código do MonoGame deixa muito a desejar.)

Também não descartaria a possibilidade de uma nova versão oficial do XNA eventualmente.

Se você quiser desfrutar de algumas das classes auxiliares agradáveis do XNA (por exemplo: SpriteBatch, SpriteFont), enquanto se move sobre a DirectX / C ++, você pode tentar o Kit de Ferramentas DirectX . E não esqueça que grande parte da gentileza do XNA está em seu pipeline de conteúdo - portanto, o DirectXTex pode ajudar. É feito por algumas das mesmas pessoas que criaram o XNA, então você sabe que é bom ( postagem no blog ).

Você pode tentar experimentar o Unity - que usa C #, suporta Mac e Linux e várias outras plataformas, e é usado em "The Industry".

Se você deseja suporte ao Metro, quer aprender DirectX, mas não quer deixar o conforto do C #, pode conferir o SharpDX .

Finalmente, você pode olhar para o Cocos2d-X , que parece bastante popular e é provavelmente a biblioteca C ++ de plataforma cruzada mais próxima do XNA que eu consigo pensar.

Andrew Russell
fonte
1

Por uma questão de exaustividade, quero mencionar o SFML. Todo mundo que usa C ++ deve pelo menos dar uma olhada, pois o SFML é completamente orientado a objetos, enquanto o SDL é basicamente C.

mks
fonte
0

IMHO, essas bibliotecas são interessantes para resolver sua migração, especialmente se você deseja programar em C ++:

xdevel2000
fonte