Ich bin dabei, mein Spielprojekt in XNA zu stoppen, da die Entwicklung meines Wissens zu Ende geht (und bereits hinter der aktuellen Technologie steckt). Daher muss ich ein neues Framework oder eine neue API einführen.
Ich habe gerade 2 Tage mit C ++ verbracht und festgestellt, dass es wirklich nichts für mich ist - allerdings finde ich den unformatierten Zugriff auf DirectX ansprechend. SharpDX klingt nach einem guten Ausgangspunkt, enthält jedoch keine Dokumentation und keine Codekommentare. Ich habe das Gefühl, dass es noch nicht ganz einsatzbereit ist.
Ich interessiere mich für die Meinungen von Menschen, die eines oder beide dieser Frameworks verwendet haben, um sicher zu entscheiden, welches ich lernen soll. Vielen Dank für jeden Rat.
Antworten:
Ich bin der Autor von SharpDX, daher wird mein Rat voreingenommen sein, aber ich möchte zumindest auf einige Ihrer Bedenken eingehen.
In Bezug auf die SharpDX-Dokumentation ist der aktuelle Status sehr begrenzt, da ich bisher daran gearbeitet habe, die gesamte DirectX-API über .NET und das neue Win8-Betriebssystem zugänglich zu machen. Da ich auf dieser Seite noch nicht fertig bin, arbeite ich daran, eine vollständige Website und einige Artikel bereitzustellen, in denen die wichtigsten Konzepte von SharpDX erläutert werden und wie Sie das Beste daraus machen können. Denken Sie auch daran, dass dieses Projekt hauptsächlich DirectX in .NET bringen soll. Es handelt sich also immer noch um eine API auf niedriger Ebene. Sie müssen sich also ein wenig mit dem Verhalten der C ++ - API befassen, um zu verstehen, wie es funktioniert. Glücklicherweise wird fast jede einzelne Methode in SharpDX einer einzelnen Methode in der DirectX-API zugeordnet. Daher ist es einfach, die Verwendung einer Methode durch Überprüfen der DirectX-API zu überprüfen. Das Dokumentationssystem, das mit SharpDX 2 verfügbar sein wird.
Ist SharpDX bereit für die Entwicklung eines Spiels? Kurz gesagt, ja.
Zunächst wurde ich von einem japanischen Unternehmen beauftragt, an der Entwicklung einer neuen 3D-Engine in C # teilzunehmen, und wir verwenden SharpDX für das Rendering-Backend unter Windows.
Zweitens habe ich viele private Mails von Entwicklern von Unternehmen erhalten, die SharpDX zur Entwicklung von Multimedia-Anwendungen verwenden (von Spielen über Level-Editor bis hin zu Online-Fotoveröffentlichungen usw.). Einige dieser Kunden sind ziemlich groß (ich kann sie leider nicht zitieren).
Schließlich verwenden (oder werden) einige öffentliche Open Source-Projekte SharpDX für ihr Haupt-Backend-Rendering. Beispielsweise verwendet Delta Engine bereits SharpDX für das Direct3D11-Rendering (das auch für Win8 verfügbar sein wird). Das kommende ANX-Projekt (ein Open-Source-XNA-Nachfolger) verwendet SharpDX auch für das Rendern, die Gamepads und das Audio-Management.
Aber SharpDX ist nur ein Schritt auf dem Weg zum Aufbau einer Spiel-Engine und dann eines Spiels. Da die API auf niedriger Ebene ausgeführt wird, können Sie nicht erwarten, dass Sie über dieselben Funktionen auf hoher Ebene verfügen, die Sie von einem Framework wie XNA gewohnt waren. Aber mit einem minimalen Rahmen könnten Sie viele Dinge tun.
Sie können auch ein etabliertes Produkt wie Unity verwenden, um tragbare Spiele in C # zu entwickeln.
quelle