Was ist die Zukunft von XNA in Windows 8 oder wie werden verwaltete Spiele in Windows 8 entwickelt? [geschlossen]

83

Ich weiß, dass dies ein möglicher Schwachsinn dieser Frage ist , aber die letzte Antwort war vor 18 Monaten und seitdem ist viel passiert.

Es scheint eine gewisse Unsicherheit in Bezug auf XNA in Windows 8 zu geben. Insbesondere verwendet Windows 8 standardmäßig die Metro-Oberfläche, die von XNA nicht unterstützt wird. Außerdem werden im Windows 8-Store keine Nicht-Metro-Apps angeboten, sodass keine XNA-Apps angeboten werden.

Sollten wir uns an XNA halten oder möchte Microsoft, dass wir zu einem anderen Framework für die Entwicklung verwalteter Spiele in Windows 8 wechseln?

Bearbeiten: Wie in einem der Kommentare erwähnt, kann Windows 8 XNA-Spiele in einem Abwärtskompatibilitätsmodus ausführen. Aber das riecht nach Ablehnung.

Ken
quelle
2
Windows 8 ist standardmäßig mit einem abwärtskompatiblen Modus ausgestattet. Warum sollte dies ein Problem sein?
Asche999
6
Welches Framework soll ich verwenden, wenn ich ein ac # -Spiel für die Metro-Benutzeroberfläche entwickeln möchte?
Ken
5
Sie sollten SharpDX verwenden.
Jonathan Dickinson
+1 für Johnathan. SharpDX unterstützt jetzt DirectX 11.1 für die Metro-Kompatibilität.
ChrisC
4
@Deza: Es wird nicht nur keine Metro-Unterstützung bieten, sondern XNA wird auch nicht für Windows Phone 8 verwendet. Darüber hinaus wird XNA, wenn es nicht aktualisiert wird, niemals DX11 unterstützen und wird für die kommende Xbox-Konsole nicht funktionieren. Es gibt viele Gründe für Entwickler, XNA zu scheuen, wenn es nicht aktualisiert wird.
Nic Foster,

Antworten:

61

EDIT: Es ist offiziell, Microsoft hat XNA getötet . Ich bin traurig darüber, aber es war nicht unerwartet, es ist das, was ich vorhergesagt hatte, aber ich hoffe, ich habe mich geirrt. Alles unter diesem Punkt ist mein ursprünglicher Beitrag von Anfang 2012.

Eine weitere Überlegung ist, dass Microsoft voraussichtlich Mitte bis Ende 2013 eine neue Konsole herausbringen wird. Werden sie weiterhin versuchen, so etwas wie XNA auf ihrer Konsole zu haben? Wenn sie möchten, dass Einzelpersonen Spiele auf der neuen Xbox erstellen, benötigen sie etwas, und es wäre verschwenderisch, XNA zu verschrotten und mit etwas anderem neu zu beginnen. Darüber hinaus wird Windows 8 auf Tablets mit ARM-Prozessoren ausgeführt, und wir alle wissen, wie groß der Markt für Apps für Telefone und Tablets ist. Dies ist für Microsoft eine große Chance, eine API zum Erstellen von Apps auf diesen Geräten bereitzustellen, aber das wird XNA sein oder nur .NET?

Ich sehe ein paar mögliche Wege:

  1. XNA war mit der aktuellen Xbox nicht besonders erfolgreich, was hauptsächlich daran liegt, wie wenige XNA-Spiele angezeigt werden und wie schlecht der Store für XNA-Spiele auf Xbox Live eingerichtet ist. Microsoft könnte sich also dazu entschließen, den Stecker ganz herauszuziehen, sodass wir XNA 4.0 haben, das mit DX10 kompatibel ist, und eine anständige Plattform für Leute sein werden, mit der sie in den nächsten Jahren einfache PC-Spiele machen können, bevor es verschwindet.

  2. Microsoft sieht möglicherweise die enormen Möglichkeiten mit hausgemachten Apps, Dinge wie Apples App Store sind riesige Geldverdiener, und wenn Microsoft es einfacher machen kann, Spiele zu erstellen und sie auf Xbox Live- und Windows 8-Tablets zu bringen, haben sie die Chance, es groß zu machen im Konsolen-Apps-Markt. Wenn Microsoft diesen Weg beschreitet, wird der neue XNA DX11.1 mit seiner nächsten Version unterstützen und die Unterstützung für XNA für mindestens 5 weitere Jahre fortsetzen.

Einige Dinge zu beachten:

  • Derzeit müssen Sie bei XNA 100 US-Dollar zahlen, wenn Sie Ihr Spiel für die Xbox 360 entwickeln möchten. Das sind 100 US-Dollar, um es auszuprobieren und zu sehen, ob Sie Geld verdienen können, und selbst dann bekommt MS einen Teil der Gewinne aus Ihrem Spiel. Wenn Microsoft die Gebühr in Höhe von 100 US-Dollar abzieht und nur einen Teil der Gewinne einbringt, sieht das Unternehmen möglicherweise wesentlich mehr Spiele und verdient mehr Geld mit dem Geschäft.

  • Bei XNA-Spielen treten auf der Xbox 360 Leistungsprobleme auf. Microsoft wollte nicht, dass XNA-Spiele ein Sicherheitsrisiko darstellen, wenn sie auf Xboxen anderer Benutzer ausgeführt werden. Daher werden XNA-Spiele in einer Sandbox mit eingeschränktem Zugriff auf CPU, GPU und Speicher ausgeführt. Zusätzlich zum eingeschränkten Zugriff sind Spiele, die auf dem vollständigen Xbox SDK programmiert sind, nicht in C # geschrieben und benötigen keine Garbage Collection. XNA wird jedoch auf Microsofts eigenem C # ausgeführt, sodass Microsoft einen Wrapper schreiben musste, damit XNA auf dem SDK ausgeführt werden kann Xbox, und dieser Wrapper verlangsamt die Dinge ziemlich. Dinge wie Gleitkomma-Performance können bis zu 10x langsamer sein als Xbox-Spiele, die über das vollständige SDK geschrieben wurden. Aufgrund dieser Leistungsprobleme können Xbox-Spiele, die über XNA entwickelt wurden, nicht das volle Potenzial der Xbox nutzen. Das schadet nur der Qualität der Spiele, die Microsoft von der Community erhalten kann. Microsoft sollte dies in Betracht ziehen, wenn Sie mit XNA fortfahren, damit XNA-Entwickler das System auf ihrer nächsten Konsole optimal nutzen können.

  • Soweit ich weiß, wird XNA den Metro-Stil von Windows 8 nicht unterstützen, sodass Entwickler keine Spiele schreiben können, um die Vorteile daraus zu ziehen. XNA kann auch nicht auf ARM-Prozessoren ausgeführt werden, sodass Sie XNA nicht zum Schreiben von Apps für Windows 8-Tablets verwenden können, die in Kürze erhältlich sein werden. Ist dies ein Zeichen dafür, dass XNA in Zukunft möglicherweise nicht mehr unterstützt wird?

  • Microsoft verwendet derzeit XNA für Spiele, aber mit ein wenig Arbeit könnten auch einige interessante Anwendungen erstellt werden. Wenn Microsoft XNA an andere Communities als Spieleentwickler weitergegeben hat, wird es möglicherweise häufiger verwendet und hat für Microsoft mehr Gründe, es weiterhin zu unterstützen.

  • Die XNA-Foren sind etwas ausgetrocknet, es dauert länger, bis die Leute Antworten erhalten, und ich sehe kaum noch ein Mitglied des XNA-Teams in den Foren, außer Shawn Hargreaves. Daher sind sie zu diesem Zeitpunkt möglicherweise nur in einer Support-Rolle.

  • Ich habe eine Open-Source-Spiele-Engine für XNA entwickelt und unterstütze sie. In den letzten zwei Jahren sind die Downloads der Engine auf die Hälfte des ursprünglichen Werts gesunken, obwohl die Engine viel besser ist als früher. Dies signalisiert mir, dass viel weniger Menschen XNA verwenden als früher. Hier ist eine Grafik der Anzahl der Zugriffe, die ich auf meiner Website habe. Sie können sehen, dass das Interesse an XNA zwischen Ende 2007 und Mitte 2008 einen Höhepunkt erreicht hat. QuickStart Engine-Seitenaufrufe

Hier ist eine lange Diskussion, an der einige Mitglieder des XNA-Teams teilnehmen. Natürlich sind sie nicht bereit, viel zu kommentieren, da Microsoft nicht viel über Dinge spricht, bevor sie angekündigt werden:

http://xboxforums.create.msdn.com/forums/t/91616.aspx

Auch solche Zitate sind interessant:

Erstellen Sie immersive Spiele mithilfe von DirectX. Der neue Windows 8-Grafikstapel ist besser integriert, sodass Direct2D-, Direct3D- und DirectCompute-Komponenten einfacher zusammen verwendet werden können und weniger doppelte Ressourcen als zuvor erforderlich sind. Bisher nur in XNA verfügbare Funktionen wie DirectXMath, XAudio2 und XInput sind jetzt verfügbar. Verwenden Sie DirectX 11.1, um stereoskopisches 3D in Ihre Apps zu integrieren.

http://download.microsoft.com/download/1/E/4/1E455D53-C382-4A39-BA73-55413F183333/Windows_Developer_Preview-Windows8_guide.pdf

Ich unterstütze derzeit eine Open-Source-Spiele-Engine für XNA, daher würde ich es vorziehen, wenn sie in Zukunft unterstützt wird. Auch wenn XNA 4.0 die letzte XNA ist, ist sie immer noch eine anständige Plattform, um schnell und einfach Windows-Spiele zu erstellen Eine großartige API für alle, die lernen möchten, wie Videospiele hergestellt werden.

Meine ehrliche Meinung ist, dass XNA 4.0 die letzte sein wird, aber ich hoffe wirklich, dass ich mich darin irre.

Nic Foster
quelle
Anscheinend haben Vertreter von Microsoft den Leuten geraten, die Unterstützung für MonoGame für Windows 8 zu verwenden, obwohl die 3D-Unterstützung noch in der Entwicklungsphase ist. Könnte sehenswert sein, wenn Sie Sie Motor portieren können :)
David C. Bishop
1
Ja, das ist etwas, worüber ich nachdenken könnte. Ich habe das Engine-Projekt hauptsächlich als Hobby genutzt, um mehr über Bereiche der Spieleentwicklung zu lernen, mit denen ich weniger vertraut bin. Mit Motoren wie Unity, die kostenlos genutzt werden können, wurde mein Motor (soweit ich weiß) kaum genutzt. Ich bin mir nicht sicher, wie ernst es mir ist, den Motor zugänglicher zu machen, wenn ich weiß, wie wenig er wahrscheinlich verwendet wird. Ich werde die Engine möglicherweise weiter ausbauen, um weiterhin mit der Game-Engine-Technologie im Allgemeinen zu üben.
Nic Foster
1
Ich benutze derzeit Monogame für mein 3D-XNA-Spiel, das derzeit auf WP7, Windows und W8 läuft. Es fehlen noch einige kritische Elemente, die ich mir gewünscht hätte, aber sie werden von einigen wichtigen Interessenten stark weiterentwickelt.
RobCurr
47

MonoGame (eine OpenSource, OpenGL-Implementierung von XNA) v2.5 wurde heute mit Unterstützung für benutzerdefinierte Shader für iOS, Android, MacOS und Linux veröffentlicht. Unser Team hat begonnen, PlayStation Suite SDK-Unterstützung und Window8 Metro (basierend auf SharpDX, glaube ich) hinzuzufügen.

Wir haben bereits einen 3D-Zweig mit dem phantasievollen Namen "develop3d", auf den sich alle unsere Bemühungen in den kommenden Monaten konzentrieren werden, sobald Version 2.5 verfügbar ist. Schauen Sie in unserem YouTube-Kanal nach, wo wir gerade mit 3D sind - http://www.youtube.com/user/MonoGameTeam?feature=watch .

Wir haben Entwickler von ein paar Spielestudios, die mithelfen. Wir sind daher der Meinung, dass der Develop3d-Zweig optimierter sein sollte als unser derzeitiger v2.5-Zweig und fast komplett neu geschrieben werden muss. Die Reach-Demo brauchte 15 Minuten, um von Windows auf MacOS X zu portieren, als ich am letzten Wochenende von vorne anfing. Der Develop3d-Zweig ist noch nicht perfekt und MonoGame auch nicht in seiner Gesamtheit, aber wir glauben, dass wir auf dem Weg sind, die Probleme, die wir haben, auszubügeln und wenn mehr Leute helfen, noch besser.

Es gibt bereits 28 iOS-Spiele (27 2D- und 1 3D-Spiele) im Apple App Store, 5 auf dem Android Market Place und 1 in MacOS- und Linux-Stores. Wenn hier jemand Bastion in seinem Google Chrome-Browser gespielt hat, der eine modifizierte Version von MonoGame verwendet, und wir hoffen, NaCL-Spiele in Zukunft zu unterstützen, dank SuperGiant, das uns Informationen darüber sendet, wie MonoGame mit NaCL zusammenarbeitet.

Wir haben ungefähr 4-5 aktive Entwickler, die an MonoGame arbeiten. Wenn Sie mit uns chatten möchten, besuchen Sie bitte monogame.codeplex.com oder irc.gnome.org im # MonoGame-Kanal. Besorgen Sie sich den neuesten Code von Github

Ich gehe also davon aus, dass Sie MonoGame in Betracht ziehen, wenn Sie plattformübergreifende Spiele mit XNA schreiben möchten.

Dominique.

Dominique
quelle
4
Beantworte ich nicht die Frage des ursprünglichen Autors "Wie werden verwaltete Spiele in Windows 8 entwickelt?" Ich dachte, ich hätte vorgeschlagen, dass MonoGame in Zukunft eine Windows 8-Implementierung haben wird, sodass dies eine mögliche Alternative zu Unity3D, DeltaEngine usw. ist. Außerdem habe ich xoofx-Punkte zu MonoGame klargestellt. Ich frage mich nur, warum die Abstimmung nach unten geht.
Dominique
6
Ich wage zu vermuten, dass dies daran liegen könnte, dass Ihre Antwort eher einer Werbung als einer Antwort gleicht.
Josh
6
@ Dominique Ich habe dich runtergewählt. Ich habe Ihr Produkt benutzt und genossen, aber das bisschen, das besagt: "Also denke ich, mein Punkt ist, bitte überlege MonoGame, wenn du plattformübergreifende Spiele mit XNA schreiben willst." fasst die Absicht Ihrer Antwort zusammen. Eine kleine Menge nützlicher Informationen verbirgt nicht die Tatsache, dass es sich um eine Tonhöhe handelt.
ClassicThunder
1
@Dominique Siehe die FAQ zur Werbung auf der Website. Ich glaube, Sie haben ehrlich versucht, die Frage zu beantworten, sind aber ein wenig in die Werbung für Ihr Projekt geraten, weil Sie eine Antwort auf die Frage gegeben haben. Da es sich bei Ihrem Projekt um Open Source handelt, können Sie sich für eine Community-Promotion-Anzeige qualifizieren . Danke für die Antwort und willkommen auf der GDSE.
MichaelHouse
1
Es ist schon eine Weile her, dass ich auf diesen Thread geantwortet habe und viel passiert ist. Ich wollte nur darauf hinweisen, dass es jetzt mindestens 2 Spiele im Windows 8 Preview Store gibt, die MonoGame verwenden. Die erste bewaffnete! wurde kürzlich an den Ständen und auf der Website von Microsoft vorgestellt. Rune Legend ist eine andere. Achten Sie auf weitere MonoGame-Spiele für Windows 8. Vor zwei Wochen wurden ich und ein Mitentwickler von MonoGame gebeten, Microsoft Reading in Großbritannien zu besuchen und mit ihnen über MonoGame zu sprechen. Wir haben 8 Evangelisten vorgestellt. Auch Bob Vertraute, ein Microsoft Evangelist in den USA, schrieb kürzlich ein 3 Teil Artikel Abou
Dominique
16

Nach meinem Verständnis der Situation kann es zwei Möglichkeiten geben. Die API wird entweder nicht mehr unterstützt oder sie werden hochgefahren, um eine auf DirectX 11 basierende XNA-Version zu erstellen.

Hier ist ein Artikel über jede Perspektive:

dbomb101
quelle
8
Ich hoffe wirklich, dass es das letztere ist, denn wenn sie XNA ablehnen, nachdem sie es im Laufe der Jahre vorangetrieben haben, na ja.
Am
@jhocking stimme zu, dass es poo ist. Aber als Entwickler sollten wir immer mehrsprachig sein. XNA war auch meine Lieblingsplattform, aber jetzt ist es wohl wieder Flash oder so. Seufzer.
Asche999
2
lol naja nicht "zu", da ich noch nie in XNA programmiert habe. Ich dachte mehr darüber nach, dass dies alle meine Freunde verarschen könnte, die XNA weiterhin evangelisieren. Es mag mich nicht persönlich verarschen, aber ich mag es auch nicht, wenn andere Leute verarschen.
jhocking
Die Dinge, die mit DX selbst geschehen, deuten darauf hin, dass es keine andere Version von XNA geben wird. Aber die Technologie ändert sich.
Blecki
11
  1. Was ist die Zukunft von XNA unter Windows 8?

    XNA wird nur auf dem Win8-Desktop ausgeführt, und es besteht kaum eine Chance, dass Microsoft an einer XNA-kompatiblen API arbeitet, die unter Win8 Metro UI / DirectX11.1 ausgeführt wird.

    Wenn Sie wirklich auf einer XNA-ähnlichen API unter Windows 8 Metro weiterentwickeln möchten, während Sie die Inhaltspipeline weiterhin verwenden können (einer der Gründe, warum XNA für Spieleentwickler mit niedrigem Budget geeignet ist), sollten Sie das ANX Framework-Projekt befolgen . Dieses Projekt hat gute Chancen, vor Windows 8 RTM fertig zu werden (zumindest mit SpriteBatch-Unterstützung). Obwohl es wahrscheinlich erforderlich sein wird, die Shader geringfügig zu ändern (zum Beispiel die Semantik), bietet ANX eine Möglichkeit, ein vorhandenes XNA-Projekt zu importieren, was sehr hilfreich sein könnte. Sie arbeiten auch an anderen Backends (wie OpenGL für Grafiken), sodass sie auch andere .NET-Plattformen (wie Mono auf Android / iPhone) ansprechen können.

    MonoGame könnte eine weitere Option sein, ist jedoch derzeit nur für 2D mit einem einzigen OpenGL / ES-Backend verfügbar. Daher kann es nicht unter Windows 8 Metro ausgeführt werden (OpenGL ist keine "zertifizierte" API unter Win8 Metro und höchstwahrscheinlich nicht Teil von Microsoft-Plänen).

  2. Wie werden verwaltete Spiele [mit Ausnahme der XNA-API] in Windows 8 (Metro) entwickelt?

    Es gibt verschiedene Möglichkeiten:

    • Sie können direkt SharpDX verwenden , eine DirectX-API auf niedriger Ebene (ANX verwendet sie). Beispielsweise ist ein minimaler Rahmen für ein 2D-Spiel in der Regel mit einer API auf niedriger Ebene wie dieser realisierbar (und dies könnte mit Direct2D erfolgen). Ich kenne mindestens zwei kleine Unternehmen, die damit Win8 Metro-Spiele entwickeln.

    • Sie könnten DeltaEngine verwenden , das hoffentlich in den kommenden Monaten mit Win8 Metro kompatibel sein wird (erfordert wahrscheinlich eine Lizenz).

    • Sie könnten versuchen, mit Unity3D zu entwickeln , obwohl noch keine Unterstützung für Windows 8 Metro angekündigt wurde (erfordert eine Lizenz). Sie haben kürzlich an einem Direct3D11-Renderer gearbeitet, sodass es für sie nicht so schwierig sein sollte, Win8-Unterstützung bereitzustellen (da jedoch viele Win32-APIs nicht von Win8 Metro autorisiert sind, ist dies wahrscheinlich nicht das einzige, was sie portieren müssen).

xoofx
quelle
5

Mit der Veröffentlichung von WinRT wird immer offensichtlicher, dass Microsoft eine große Wendung genommen hat. Der gemanagte Hype nimmt ab, der native Hype ist stärker als je zuvor. Anscheinend ist jemand, der Einfluss auf das Unternehmen hat (einige behaupten, es sei das Windows-Kernteam), überhaupt nicht zufrieden mit der .NET-Leistung. Der Haupttrend, den ich in den neuesten Artikeln sehe, ist so etwas wie

WinRT ist das nächste .NET und C ++ / CX ist das nächste C #.

Sie sagen:

Hey, es ist genauso einfach, in C ++ wie in C # zu schreiben! Warum brauchen Sie XNA, wenn Sie in C ++ und DirectX schreiben können?

Das ist das Gefühl, das ich beim letzten Mal habe. Angesichts der Tatsache, dass Sie mit einer Verlangsamung aller verwalteten Projekte rechnen können, besteht der einzige Unterschied in der Höhe der Verlangsamung.

Die Microsoft haben meinen Respekt davor, den Support für Produkte fast nie einzustellen, sie sind einfach nicht mehr weiterentwickelt. Zumindest können wir XNA 4.0 für einige Zeit verwenden, auch wenn es die letzte unterstützte Version ist.

Petr Abdulin
quelle
2

Es sieht nicht gut für uns Indie-XNA-Entwickler aus, die unsere XNA-Spiele in Metro portieren wollen. Microsoft hat kein Interesse gezeigt und erwartet, dass wir zur C ++ / DirectX-Programmierung zurückkehren oder C # -Frameworks von Drittanbietern übernehmen, von denen die meisten keine XNA-Inhaltspipeline unterstützen.

Alles ziemlich traurig, ich kann MS manchmal wirklich nicht verstehen.

Jules
quelle
7
Hallo Jules. Willkommen auf der GDSE! Wir sind hier nicht wirklich wie ein Forum, daher sind Antworten wie diese, die nur gesprächig sind, nicht zu empfehlen. Wenn Sie sachliche Informationen hinzufügen oder Quellen für Ihre Antwort hätten, wäre das großartig!
MichaelHouse