XNA vor dem Aus?

In den letzten Tage, um genauer zu sein seit dem Beginn der Build-Konferenz hat sich etwas getan. Nachdem es im Vorfeld der Build viel Geheimniskrämerei hauptsächlich wegen Windows 8 gegeben hat, stiegen die Erwartungen und Hoffnungen in neue Höhen. Die meisten waren sich einig: Mit erscheinen von Windows 8 wird man mit XNA Spiele für die XBox, das Windows Phone, den PC unter Windows XP, 7 und 8, sowie für die neuen Geräteklassen wie Tablets und Slates unter Windows 8 entwickeln können und ein gemeinsamer, zentraler Marktplatz unterstützt alle diese Plattformen.

Doch treu dem neuen Motto „Reimagining Windows“ kommt alles anders als man denkt.

Als die Planung für die Vorträge der Build-Konferenz unmittelbar nach der Keynote von Steven Sinofsky freigegeben wurde, bekam der ein oder andere die ersten Sorgenfalten auf der Stirn. XNA wurde nicht erwähnt. Weder in der Keynote, noch in der Vortragsliste steht etwas von XNA.

Ich möchte an dieser Stelle klarstellen, daß dieser Artikel meine persönliche Meinung wiederspiegel und kein offizielles Statement von Seiten Microsoft ist. Ich interpretiere ein paar Aussagen von Microsoft-Mitarbeitern auf meine Art und Weise und spekuliere über zukünftige Möglichkeiten.

Mittlerweile haben mehrere Microsoft Mitarbeiter diese Befürchtungen bestätigt:

Das XNA-Framework wird nicht für „Metro style apps“ unterstützt. Die empfohlende Technologie für Spiele unter Windows 8 ist DirectX und C++.

Damit war die Bombe geplatzt und die Hoffnungen zerstört.

In einer späteren Session am Dienstag Morgen amerikanischer Zeit sagte Steve Ballmer allerdings, daß alle Apps und Games die für Windows Phone erzeugt wurden kompatibel mit der nächstne Version sein werden. Dabei ist nicht nur mir nicht ganz klar, ob die nächste Version nun Windows Phone 8 sein wird, oder Windows 8. Und auch in dieser „Ankündigung“ wird XNA nicht mehr explizit erwähnt.

Viele von uns dachten sicherlich, daß XNA der neue strategisch wichtige Baustein für die Entwicklung von Spielen auf allen Plattformen sei. Daran kann man nun zweifeln, da die Aussagen schlicht und einfach etwas anderes suggerieren und auch im folgenden Bild der neuen Systemlandschaft ist nichts von XNA zu sehen.

Ist dies nun wirklich eine Katastrophe? XNA wird ja nun weiterhin wie bisher funktionieren und mit Mango für das WP7 ist sogar eine neue Version angekündigt. Das ist natürlich richtig, aber Fakt ist nun mal, daß sich XNA auf dem PC nie richtig durchsetzen konnte. Dies mag daran liegen, daß XNA nur auf DirectX 9 basiert aber vermutlich ist der Hauptgrund, daß es auf dem PC bisher keinen anständigen Marktplatz gab, was sich mit Windows 8 ändern wird. Wer also auf dem PC verkaufen will, der ist gut daran beraten nicht auf XNA zu setzen, will er denn in den Windows 8 Marktplatz für Games. Auf der XBox war die einzige Möglichkeit für Indie-Entwickler XNA. Die XBox ist aber mittlerweile eine recht alte Konsole. Vielleicht wird sie noch ein paar Jährchen machen, aber ewig wird das nicht weitergehen. Ob es ein XNA auf dem Nachfolger der XBox geben wird, steht in den Sternen und ob Indie-Entwickler überhaupt dafür entwickeln können, weis zum jetzigen Zeitpunkt auch niemand.

Bleibt also das WP7, für das XNA die einzige Möglichkeit ist, Games zu entwickeln. Das das WP7 aktuell nicht mit IOS und Android mithalten kann, haben die meisten von uns sicher schon bemerkt, aber vielleicht ein wenig verdrängt und eine ganze Menge Hoffnung gehabt, daß sich dies bald ändert. Das WP7 wird sicherlich in nicht allzu ferner Zukunft durch ein WP8 abgelöst. Dies wird sicherlich noch nicht in den nächsten Monaten sein, aber Jahre wird dies bestimmt auch nicht mehr dauern. Die große Frage ist dann aber: Wird XNA auf dem WP8 weiterleben oder erleidet es das gleiche Schicksal wie auf dem PC? Wird es „nur“ in eine Nische gedrängt oder gar komplett auf dem WP8 abgeschafft?

Die Hoffnung, daß XNA die Plattform der Wahl für eine riesige Auswahl an Geräteklassen und Systemen von Microsoft sein könnte, ist jedenfalls der Ernüchterung gewichen. Der große Vorteil und die riesige Chance: Eine Entwicklungsumgebung und ein Framework für eine ganze Reihe von Plattformen scheint jedenfalls als gescheitert erklärt worden zu sein, denn die Systeme der Wahl werden in Zukunft – will man die Plattformen ausreizen – unterschiedliche Systeme sein.

Damit ist in meinen Augen ein wichtiger Vorteil gegenüber den anderen Herstellern gewichen und ich persönlich frage mich, ob es in Zukunft nicht strategisch geschickter wäre, wenn man z.B. auf das immer populärer werdende OpenGL (ES) setzt. Dieses wird von immer mehr Plattformen unterstützt und scheint sich insbesondere mit dem Erfolg der Android-Plattform zu einem Primus zu mausern. Irgendwie beschleicht mich das Gefühl, daß dies eine bessere Option sein könnte, als weiterhin auf eine Technik zu vertrauen, bei der es aktuell so aussieht, als würde sie langsam „auslaufen“.

Die nächsten Wochen und Monate werden hier sicherlich Licht ins Dunkel bringen und das was ich bisher von DirectX 11.1 gesehen habe ist nicht schlecht. Trotzdem ist bei mir der Optimismus der Vergangenheit ein wenig gedämpft worden. Ich hoffe, daß Microsoft diesen zukünftig wieder auflodern lassen kann.

Advertisements

Veröffentlicht am 16.09.2011 in Windows 8, XNA und mit , , , getaggt. Setze ein Lesezeichen auf den Permalink. 33 Kommentare.

  1. Mh finde ich sehr schade das man wohl XNA aufs abstellgleis rollen lassen will.

    Die Frage die mir natürlich nun untern den Nägeln brennt: Was ist die alternative zu XNA für C# ?

    • Ja, daß ist es…

      Und die Aussage ist ganz klar: Wer Games für Windows 8 machen will, die „Metro style“ sind bzw. den Windows 8 Marketplace unterstützen sollen, der sollte auf DirectX/C++ setzen.

      Was das für die anderen Plattformen bedeutet: Keine Ahnung, aber ich persönlich denke, daß Microsoft nicht für ein paar Plattformen XNA pushen wird und für andere DirectX/C++…

  2. Also heißt es für mich defaktum: Umlernen auf C++

    Sehr ärgerlich …

    • Hängt schwer davon ab, für welche Plattform du entwickeln möchtest. Für den Windows (8) PC ist sicherlich C++/DirectX die beste Wahl. Wer für Mobilgeräte und/oder Tablets entwickeln will, könnte zukünftig vielleicht besser damit fahren, wenn man auf andere Systeme umsteigt…

    • Von C# auf C++ ist im Grunde nicht so schwer, man muss nur ein bissl mehr mit Pointern rumwerkeln als in C# (zumindest ist das immer mein Eindruck).

      Ein Vorteil von C++ ist sicher, dass es dort wesentlich mehr Open-Source Engines gibt als für C#.

      Da ich von C++ zu C# gekommen bin, muss ich mich zum Glück nur „zurückgewöhnen“.
      Auch soll demnächst die neue Version von C++, bzw die Richtlinien für die Compiler erscheinen. Die Besserungen schauen sehr gut aus. Auch wird vieles, was bisher nur exklusiv bei bezahlten Compilern war als Standard/Richtlinie gesetzt werden.

      Das was mir aber am meisten Sorgen bereitet: Wird Glatzemann weiter so tolle Tutorials schreiben? Für C++ und DirectX? Oder für OpenGL?

  3. Ich bin mir nicht sicher. Du vergisst einen Punkt: XBox Live wird auf Windows 8 verfügbar werden. Damit trennt MSFT die Games von Anwendungen.
    Vielleicht heißt das nur folgendes: wer Applikationen für W8 und WPx entwickelt sollte C# und Co. nutzen.
    AAA Games wurden und werden immer unter DirectX und C++ laufen. Doch die Indie Gemeinde wird weiterhin unter XNA für die unterstützten Plattformen publishen. Nur eben nicht durch den Marktplatz sonder durch die XBox Live Anbindung.

    Aber wir werden sehen.

    • XNA wird auf Windows 8 laufen, ja, aber du wirst KEINE Spiele damit in den Marktplatz packen können und auf XBox Live wirst du auch keinen Zugriff haben. Du hast also unter Windows 8 den gleichen Stand mit XNA wie heute. Wenn du irgendwas von Windows 8, wie den extrem interessanten Marktplatz, nutzen willst, dann heisst es für Spiele DirectX/C++.

  4. Kann es sein, dass du mehr darüber Bescheid weißt, es uns aber nicht sagen kannst?
    Einmal Zwinkern heißt ja, zweimal nein 😛

    Und mich würde es auch interessieren, was mit dieser tollen Seite passiert.. steigst du eigentlich schon ebenfalls um, oder bereitest dich auf so etwas ähnliches vor?

    Ich kann es einfach nicht wahrhaben und werde wahrscheinlich noch ein paar Monate abwarten. Auf die kommt es nämlich dann auch nicht mehr an..

    • Ich weis noch mehr, ja, aber das hat nicht direkt etwas mit diesem Thema zu tun. Zur Zukunft von XNA weis ich nicht mehr, als ich spekuliert und geschrieben habe…

      Es wird eine Änderung geben, irgendwann, die hatte ich aber bereits unabhängig von dieser News geplant und bin diese am vorbereiten…

  5. Zitat Glatzemann „[…]Wer für Mobilgeräte und/oder Tablets entwickeln will, könnte zukünftig vielleicht besser damit fahren, wenn man auf andere Systeme umsteigt…“

    Was für Systeme meinst du? Ich will weiterhin fürs Phone entwickeln und finde es wirklich schade, wenn XNA „ausstirbt“.

    • Naja: XBox -> XNA-Support läuft irgendwann aus, Windows Phone -> XNA, Windows Phone Nachfolger -> steht in den Sternen, aber sicherlich ohne XNA, Windows 8 -> DirectX/C++, Windows 7 und davor -> XNA ist nicht die beste Option

      Damit muss man für jedes System etwas anderes machen. Wenn man auf OpenGL umsteigen würde, dann würde dies auf IOS (Phone und Tablets), Android (Phone und Tablets), MacOs, Linux, Windows 7 und davor und diversen Konsolen (Wii, PS3) laufen. Sprache wäre da C++. Wer portabel sein will und einen möglichst große Zielgruppe haben will, der hat mit XNA zukünftig schlechte Karten…

  6. Ich könnte mir aber schon vorstellen, dass es auch auf der nächsten Xbox Konsole wieder etwas für IndieGames geben wird – die Dev-Community ist doch sehr groß und ich glaube eigentlich nicht das man das abschaffen wird.. ich erinnere mich als sie den Dream Build Play Contest auf Windows Phone ändern wollten und sich zahlreiche Entwickler aufgregten und schlussendlich war es dann doch wieder ein Contest für die Xbox…
    Was ich nicht verstehe, wieso man im Marketplace bei Windows 8 Spiele mit DirectX/C++ und XNA/C# verfügbar machen kann? Die Spiele laufen dann ja eh im Fullscreen…
    Und ist es wirklich ein Vorteil für MS wenn mehr Entwickler auf OpenGl und C++ umsteigen, dann schreibt jeder doch nur mehr Spiele für Windows8, iOS, Android usw. und für Windows Phone 7 gibt es dann noch weniger Spiele die portiert werden…

    • Technisch ginge es sicherlich, daß man XNA/C# Spiele im Marktplatz veröffentlichen könnte, aber das ist anscheinend nicht gewollt. Der ein oder andere Entwickler hat daher auch – und weil WinRT vorgestellt wurde – schon spekuliert, ob WinRT nicht das .NET-Framework ablösen könnte… Da wird es aber sehr spekulativ, insbesondere, da schon das .NET 4.5 angekündigt wurde. Fakt ist aber, daß XNA unter Windows 8 keine Rolle mehr spielt. Das alte läuft zwar wegen des „Kompatibilitätsmodus“, aber neue Versionen sind nicht mehr zu erwarten…

      Ich persönlich finde diesen Schritt von Microsoft auch sehr, sehr eigenartig. Für Windows Phone 7 ist dies glaube ich „tödlich“ und könnte – meiner Meinung nach – ein versteckter Hinweis darauf sein, daß in Windows Phone 8 (an dem wohl schon Spekulationen zufolge gearbeitet wird) XNA ebenfalls der Vergangenheit angehören könnte.

      Ich persönlich denke, daß es auf der nächsten XBox wieder Indie-Games geben könnte, vielleicht. Diese könnten dann aber ebenfalls – um wieder eine klare Linie zu fahren – auf DirectX/C++ setzen. Allerdings gibt es da vielleicht Probleme mit dem Hypervisor, der den Managed-Code vom System abschottet und damit XNA so sicher macht, daß es nicht für Hacks verwendet werden kann. Wer weis also, ob dies überhaupt möglich ist. Und wer weis, ob die nächste XBox nicht schlicht und einfach eine Settop-Box mit Windows 8 ist? Das würde zumindest zur aktuellen Strategie von Microsoft passen…

      OpenGL wird jedenfalls durch die alternativen Plattformen an Fahrt aufnehmen und ich hoffe, daß Microsoft diesmal nicht wieder den Zug davonfahren lassen werden und das der Vorsprung nicht unaufholbar groß werden wird.

      • Ich gehe davon aus, dass MS in Windows Phone 8 den gleichen Kernel wie in Windows 8 verwenden wird. Und wie du schon gesagt hast, wird der wahrscheinlich auch in die nächste XBox kommen. Ein Kernel für alles. Ein Program läuft dann auf allen Systemen. So stelle ich mir das vor.

      • Davon gehe ich auch aus und das wäre dann – nach heutigem Stand – das endgültige Todesurteil für XNA.

        Auf der anderen Seite könnte mit „dem neuen System“ das Gleiche passieren, was jetzt anscheinend mit XNA passiert ist, und davor mit Managed DirectX und früher bereits in ähnlicher Form mit ähnlichen „Ablegern“ auch…

  7. wird trotzdem ein neuer Teil von Terrain 101 erscheinen? 😀

    • Selbstverständlich… Evtl. werde ich die Richtung ein klein wenig ändern, d.h. „modernere“ Features von DirectX verwenden. Der XNA-Part wird aber trotzdem weitergeführt.

      • Das passt mir ganz gut, wollte in den nächsten 2 Monaten sowieso auf DirectX umsteigen. Werden auch DirectX Anfänger Tuts kommen?
        Und OpenGL wollte ich mir auch etwas ansehen, kennst du dich damit auch so gut aus wie mit XNA und D3D? Wenn ja, schreibst du in diese Richtung auch etwas?

      • Beim Terrain 101 habe ich sowieso schon immer geplant, dass ich dafür parallel eine DirectX-Variante schreiben möchte. Ursprünglich war die erste Version, die ich vor diesem Blog angefangen hatte, sogar ausschliesslich für DirectX.

        Ich kenne mich mit den Basics von OpenGL ganz gut aus und ich kenne mich mit den Unterschieden zwischen OpenGL und DirectX aus. Ich habe auch hier seit ca. 2 Monaten geplant, dass ich z.B. das Terrain 101 auch für OpenGL umschreiben möchte. Dies hatte bisher allerdings ziemlich niedrige Priorität. Mal sehen, wie sich das in nächster Zeit ändern wird.

        Ich hatte dir aber ja sowieso schon einen kleinen Teaser gesagt, oder? Ersetz mal das xna durch indie in der URL 😉 Weiteres gerne per EMail, ich kann sicherlich Hilfe gebrauchen.

      • NeoArmageddon

        „Ersetz mal das xna durch indie in der URL Weiteres gerne per EMail, ich kann sicherlich Hilfe gebrauchen.“

        Ich kann dir nicht ganz folgen… in welcher URL soll das ersetzt werden? Und wobei brauchst du Hilfe?

      • Das war nicht an dich gerichtet NeoArmageddon, sondern an Daniel und der hat mir auch schon geschrieben 😉

        @Daniel: melde mich nach dem Wochenende, bin gerade ein wenig busy…

  8. wenn ich ehrlich bin, ich würde lieber java lernen als C++ und DirectX.

    Allein schon die ganzen namen….

    DXGI_SWAP_CHAIN_DESC
    ID3D11DeviceContext
    D3D11CreateDeviceAndSwapChain()
    ID3D11Texture2D

    • Java ist für C#ler ja auch gleiches Terrain. Sind schon sehr änhlich die beiden Sprachen finde ich. Also die Syntax weißt doch nur ein paar Unterscheide auf (.length statt .Length, … 😉 )

    • Das sollte mit einer gescheiten Entwicklungsumgebung allerdings keine Sorgen machen. Dan IntelliSense in Visual Studio habe ich sogar bereits verlernt, mir meine eigenen Variablen- und Klassennamen zu merken.

  9. Ich dachte XNA zumindestens C# wird sich auf lang im Spielemarkt etablieren. Es ist echt schade um XNA, WENN es untergeht. Da doch gut Indie Games damit entwickelt werden können. Gerade wegen dem WindowsLiveStore der kommen soll.

    Ich habe angefangen XNA zu lernen im Moment bin ich total verunsichert, ob ich noch Energien rein stecken soll. Gibt es eigentlich C# XNA Alternativen? Naja hier werden wir wohl als erstes Erfahren wie es weiter geht.

  10. @Glatzemann
    weißt du nun schon genaueres oder war auf der Konferenz wieder nichts über XNA?

  11. Zahlt es sich überhaupt noch aus mit XNA anzufangen?
    Oder heißt es gleich C++ für mich?

    • Es kommt darauf an, was du erreichen willst. XNA ist nach wie vor eine gute Möglichkeit einen Einstieg zu bekommen und die Grundlagen lernt man damit sehr schnell…

  1. Pingback: Programmiersprache Windows Phone ? - Windows Phone 7 Entwicklung - Windows Phone Forum

  2. Pingback: RIP XNA « "Mit ohne Haare"

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: