Wechsel von XNA / C # zu C ++? [geschlossen]

8

Seit einiger Zeit arbeite ich mit XNA für das Design und die Entwicklung von Spielen (allerdings nur für Geldautomaten für den persönlichen Gebrauch). Insgesamt bin ich ein großer Fan von XNA selbst und es ist insgesamt ein "Gefühl". Aufgrund der Tatsache, dass:

  1. XNA scheint einen Mangel an Unterstützung zu haben (keine Metro-Unterstützung, keine Updates seit 2010 usw.)
  2. Ich habe vor, einen Job in der Spieleentwicklungsbranche zu finden, und aufgrund der Dominanz von C ++ wäre es sehr nützlich, damit vertraut zu sein
  3. XNA unterstützt nur Windows (nicht Metro) und Xbox 360, während ich mich für Mac und (in geringerem Maße) Linux-Unterstützung interessiere.

Ich habe versucht, auf C ++ als meine Hauptsprache umzusteigen. Allerdings möchte ich mich derzeit nicht auf das Erlernen von DirectX / C ++ konzentrieren, daher habe ich nach einer C ++ - API auf höherer Ebene gesucht (ungefähr auf der gleichen Ebene wie XNA, obwohl etwas auf niedrigerer Ebene in Ordnung wäre ) mit einem ähnlichen Gefühl wie XNA. Was wäre für jemanden, der von C # / XNA zu C ++ wechselt, die beste Wahl für APIs, die XNA ähneln, obwohl sie nicht verwaltet werden und unter C ++ ausgeführt werden?

Fat_Scout
quelle
Verwenden Sie DirectX NIEMALS mit C ++ ... Verwenden Sie OpenGL;)
CoffeeandCode

Antworten:

14

Wenn Sie bei C # / XNA bleiben und dennoch Mac / Linux unterstützen möchten , sollten Sie zunächst MonoGame in Betracht ziehen . Außerdem ist ein U-Bahn-Hafen in Arbeit. Daher würde ich die XNA-API noch nicht als tot bezeichnen . (Auf der anderen Seite lässt die Codequalität von MonoGame zu wünschen übrig.)

Außerdem würde ich die Möglichkeit einer neuen offiziellen Version von XNA nicht ausschließen.

(ZB: Wenn Sie einige von XNA ist schön Hilfsklassen genießen wollen SpriteBatch, SpriteFont), während der Fahrt über DirectX / C ++, können Sie das versuchen DirectX Tool Kit . Und vergessen Sie nicht, dass ein Großteil der Schönheit von XNA in der Inhaltspipeline enthalten ist - DirectXTex könnte also hilfreich sein. Es wurde von einigen der gleichen Leute gemacht, die XNA gemacht haben, also weißt du, dass es gut ist ( Blog-Beitrag ).

Sie könnten Unity ausprobieren - das C # verwendet, Mac und Linux sowie eine Reihe anderer Plattformen unterstützt und in "The Industry" verwendet wird.

Wenn Sie Metro-Unterstützung wünschen, DirectX lernen möchten, aber nicht den Komfort von C # verlassen möchten, können Sie sich SharpDX ansehen .

Schließlich könnten Sie sich Cocos2d-X ansehen , das sehr beliebt zu sein scheint und wahrscheinlich die plattformübergreifende C ++ - Bibliothek ist, die XNA am nächsten kommt , die ich mir vorstellen kann.

Andrew Russell
quelle
1

Der Vollständigkeit halber möchte ich SFML erwähnen. Jeder, der C ++ verwendet, sollte es sich zumindest ansehen, da SFML vollständig objektorientiert ist, während SDL im Grunde genommen C ist.

mks
quelle
0

IMHO, diese Bibliotheken sind interessant für die Lösung Ihrer Migration, insbesondere wenn Sie in C ++ programmieren möchten:

  • SDL, Simple DirectMedia Layer , sehr einfach, mit einem guten "Gefühl" und plattformübergreifend;
  • Allegro , wie SDL und gut unterstützt und auch aktualisiert.
xdevel2000
quelle