RIP XNA

Microsoft hat die Bombe endlich platzen lassen… XNA wird offiziell nicht mehr weiterentwickelt…

Ich hatte ja in der Vergangenheit schon häufiger darüber geschrieben und spekuliert in Artikeln wie XNA vor dem Aus?, XNA nach dem Aus?, Windows Phone 7 am Ende und Eine Alternative zu XNA: Das ANX.Framework. Doch nun hat Microsoft endlich für Klarheit gesorgt…

Vor einigen Tagen wurden an einige (an mich bisher noch nicht) XNA/DirectX MVPs Mails verschickt, wie Promit Roy in seinem Blog schreibt. Darin wurde mitgeteilt, daß das XNA Game Studio und XNA nicht mehr weiter entwickelt wird. Dort steht auch geschrieben, daß “DirectX is no longer evolving as a technology”, was auf den ersten Blick ein ziemlicher Schock ist und dem ein oder anderen sicherlich den “Angstschweiß” auf die Stirn treibt… Dazu später mehr… Weiterhin wird es ab April 2014 keine XNA/DirectX Expertise für MVPs mehr geben. Bestehende MVPs kommen evtl. in anderen Expertisen unter, oder aber auch nicht. Das ist sehr Schade, da gerade die XNA/DirectX Expertise ein besonderer “Haufen” an Experten für die Spieleentwicklung ist/war.

Was hat es nun mit DirectX auf sich? Das ist relativ einfach zu erklären. Mit dem Wegfall des DirectX SDKs und dessen Integration in das Windows SDK sind eigentlich schon die ersten Anzeichen da gewesen: DirectX ist kein eigenständiges “Produkt” mehr, sondern ist tief in Windows, welches mittlerweile auf vielen unterschiedlichen Geräteklassen läuft (Tablets, Smartphones, Konsolen, PCs, Embedded Geräte), integriert und ein wichtiger Bestandteil davon. DirectX wird also als Teil des Windows SDK weiterleben…

Ich persönlich finde es auf der einen Seite sehr schade. Die XNA Communities waren in meinen Augen immer etwas ganz besonderes und haben meiner Meinung nach den “Indie Game Developer” viel bekannter, interessanter und vor allem Einsteigerfreundlicher gemacht. Es sind viele tolle Karrieren daraus entstanden und haben vielen, vielen Menschen den einfachen Einstieg in die Spieleentwicklung ermöglicht. Ich hatte eine besonders tolle Zeit mit XNA, habe viele interessante Leute kennen gelernt und auch vieles Neues gelernt. Es hat Spaß gemacht…

Auf der anderen Seite bedeutet das Ende von XNA natürlich auch einen möglichen Neuanfang. Andere Technologien wie DirectX und die Alternativen können auch viel Spaß machen und sind eine ganz neue Herausforderung…

In diesem Sinne schließe ich hiermit MitOhneHaare.de unter dem altbekannten Motto “Gedanken von Glatzemann über XNA und mehr…” und werde mich zukünftig auf das “…und mehr” konzentrieren ;-)

Ich für mich lasse das alles jetzt erstmal ein wenig sacken und sicherlich geht es dann bald mit neuer Kraft und Energie weiter… Ich hoffe, daß wir uns hier und auf indiedev.de und auch woanders wiedersehen werden.

About these ads

Veröffentlicht am 01.02.2013 in DirectX, Gerüchteküche, MVP, XNA und mit getaggt. Setze ein Lesezeichen auf den Permalink. 17 Kommentare.

  1. Sehr schade! XNA hat immer Spaß gemacht.

  2. Das ist wirklich schade. Man hat es aber immer irgendwie geahnt. Schon als das erste mal bekannt wurde das XNA nicht richtig von Windows 8 unterstuetzt wird.

    Nun muss man sich DirectX | OpenGl widmen.

    Solange du deinen Blog weiter betreibst bin ich zufrieden :)

  3. Es war ja mittlerweile ein Offenes Geheimnis das Microsoft XNA einstellen wird. Trotzdem ist mir immer noch nicht klar was Sie glauben damit gewonnen zu haben. ich für meinen teil werde versuchen meine Projekte mit ANX weiter zu führen.

  4. Das ist wirklich sehr traurig was Microsoft da ganz langsam hat sterben lassen. Was hälst du denn von Monogame, das scheint mir ja etwas mehr Verbreitung zu haben als ANX?

    • MonoGame hat tatsächlich die größere Verbreitung, also scheinen die vieles richtig zu machen. Der Ansatz von ANX und die Kompatibilität zu XNA ist jedoch in meinen Augen besser als bei MonoGame.

      • fritzchen72

        Das klingt ja schon vielversprechend, könntest Du etwas mehr ins Detail gehen? und wenn ich auch für die XBOX entwickeln will, muss ich wohl weiterhin bei XNA bleiben, oder?

      • Für die XBox brauchst du weiterhin XNA, richtig. Aber ein ANX-Program kannst du, solange nicht der “ExtendedMode” verwendet wird einfach per Tool in XNA übersetzen.

        Der Unterschied zwischen ANX und MonoGame ist, daß wir ein AddIn-System entwickelt haben, bei dem man anständig das RenderSystem und alle anderen Subsysteme austauschen kann. Die eigentlichen Klassen wie GraphicsDevice, die du von XNA kennst greifen auf ein austauschbares AddIn zu. In MonoGame wird das häufig mit bedingter Kompilierung und vielen, vielen If/Then/Else gelöst.

        Auch haben wir bei ANX von Anfang an darauf geachtet, daß jede Methode sich so verhält wie in XNA. Das geht soweit, daß die Datentypen von mehr als 4000 Unit-Tests mit den Ergebnissen aus den entsprechendne XNA-Datentypen verglichen werden. Dabei erreichen wir momentan über 90% Kompatibilität. Wenn du also in ANX eine Matrix erzeugst, dann hat diese den exakt gleichen Inhalt wie in XNA. Das sind wichtige Details, die einem unter Umständen viel Arbeit sparen können.

  5. Das ist wirklich sehr schade, insbesondere da das Framework ja Lob von allen Seiten bekam. Leider musste ich soeben feststellen das die Alternativen MonoGame und AXN inbesondere im 3D Bereich bei weitem nicht als Ersatz taugen. Je nach Platform ist die Performance deutlich schlechter und/oder viele Features werden nicht unterstüzt, oft sind trotz der aktiven Entwicklung viele Bugs vorhanden. Da bleibt einem eigentlich nur auf DirectX umzusteigen oder eine Multiplatform Engine wie Unity3D zu verwenden. Wie mans auch immer dreht: den erarbeiteten Code muss man praktisch komplet neu aufsetzten. Wirklich sehr schade!

    • Ich kann nicht für MonoGame sprechen, aber bei ANX ist mindestens 90% der 3D-Funktionalität die XNA bietet implementiert. Fehlende Features können gerne nachimplementiert werden, wenn du mir sagst, was fehlst und wozu es gebraucht wird ;-) Auch über Bug-Meldungen, Unterschiede zu XNA und Meldungen über Performance Probleme würde ich mich SEHR freuen. Meine eigenen Prototypen entwickele ich mittlerweile ausschließlich mit ANX und konnte dabei nicht viele Probleme feststellen.

      Der große Vorteil von XNA war immer die gigantische Community. Die gibt es bei ANX leider nicht und bei MonoGame ist diese sehr klein… Da beides aber OpenSource-Projekte sind, ist JEDER herzlich eingeladen (und auch aufgefordert) sich einzubringen. Es ist kein kommerzielles Produkt und Community-getrieben. Ohne Community wird das auch nix…

      • Wenn ich mich nicht täusche funktioniert ANX nicht für WP8 und einige für mich relevante features wie RenderTargetCube sind nicht implementiert. Allerdings stimmt es tatsächlich das ANX XNA scheinbar etwas besser abdeckt als MonoGame.

        Das mit der Community ist so eine Sache. Falls einige wenige fähige Leute dabei sind die auch genügend Zeit investieren können kann daraus etwas grossartiges werden. Leider kann das ganze aber auch versanden, z.B weil keine Community da ist, weil das Konkurenz Produkt stärker supported wird oder weil schon früh der Bedarf nicht mehr da ist. Letzteres kann z.B sehr gut sein weil die Entwickler sich folgende Frage stellen: Soll ich lieber mein bisheriges Knowledge/Code zu XNA für ein neues Projekt verwenden oder soll ich den Aufwand in Kauf nehmen das ganze mit DirectX zu implementieren und dafür auf eine offiziel unterstützte Technologie setzten?

        Ich persönlich finde es sehr schade das XNA nun offiziel Tod ist, viel schlimmer ist es jedoch wie oft Microsoft besonders die Mobile Developers in den letzten Jahren enttäuscht hat. Erst war da Windows Mobile und nun ist es XNA bei dem die Entwickler praktisch von vorne anfangen können. Klar, Fortschritt bedeutet neue Technologien und das wiederum erfordert Anpassungen und Aufwand für die Third Party Entwickler, jedoch scheint es so als ob Microsoft hier und da etwas experimentiert indem neue Frameworks auf die Beine gestellt werden die dann gleich wieder begraben werden.

        Ich persönlich könnte mir sehr gut vorstellen das bereits mit der nächsten Major version von WP die Code Basis derart mit Windows verwoben wird das viel Code wieder in grösserem Masse angepasst werden muss. Klar hätte dies für die Entwickler und Kunden Vorteile, jedoch kann es durchaus sein das es wiederum einen grossen Aufwand bedeutet derzeit aktuelle Projekte aktuell zu halten. Dies ist sicherlich ein Bereich indem die Konkurenz (iOS und Android) seit längerem besser aufgestellt ist.

        Für mich persönlich bedeutet dies für den Moment dass ich meine aktuellen Projekte mit Mono/ANX beende; neue Projekte werde ich auf Basis der Unity 3D Engine starten (gemessen am bisherigen Erfolg meiner Projekte kann sich das glücklicherweise durchaus lohnen). Der Schritt Richtung DirectX währe sicherlich sehr reizvoll, bezogen auf Spiele für Tablets und Phones rechtfertig sich das jedoch keineswegs. Zum einen bin ich mir nicht im geringsten sicher ob sich der getätigte Aufwand lohnen würde, denn ich habe keine Lust in einem Jahr schon wieder alles umzukrempeln. Zudem ist mir die Zeit die für die X-te Code Portierung zu schade; diese Zeit könnte ich viel besser für die portierung auf andere Platformen und/oder für die Entwicklung des eigentlichen Spiels verwenden. Gerne würde ich mehr Zeit mit der Computer Grafik selbst verbringen anstatt all dies “einzukaufen”, leider fehlt mir die Geduld und der Mut weiterhin auf Microsoft zu vertreuen.

        Kurze Rede langer Sinn: schade dass XNA nicht mehr unterstützt wird, insbesondere da das Framework sehr viel Lob erntete und es z.B für die Xbox 360 zumindest im Moment ja weiterhin verwendet wird. In diesem Sinne: RIP XNA.

      • Es gibt momentan keinen Satz AddIns für WP8 in ANX, das ist richtig. Der Grund dafür ist relativ simpel: Es gibt momentan niemanden, der ein ernsthaftes Projekt damit für WP8 plant. Damit ist die Priorität natürlich extrem niedrig… Es gibt schliesslich ne Menge anderer Baustellen bei so einem großen Projekt.

        RenderTargetCube ist tatsächlich nicht drin. Auch hier war bisher schlicht und einfach kein Bedarf. Einen gigantisch großen Aufwand sehe ich nicht, es zu implementieren.

        Mit der Community meinte ich keine Entwickler. Die sind/waren da und es konnte sehr schnell auf Anforderungen eingeangen werden. Der Bedarf auf “Nutzerseite” war/ist schlichtweg sehr gering. Ich persönlich habe kein riesiges Interesse daran ANX bis zum bitteren Ende zu implementieren, wenn eh keiner Interesse daran hat. Ich selbst komme wunderbar mit C++/DirectX und auch mit diversen OpenGL-Arten zurecht. ANX ist ein bequemer Ersatz zum schnellen Prototypen für mich und ich bin in der Lage ein für mich fehlendes Feature schnell nachzuimplementieren.

        Solche Probleme gibt es aber IMMER mit jedem Framework. Wenn der Hersteller von Unity der Meinung ist, daß sich das Produkt nicht mehr lohnt und beschließt es nicht mehr weiterzuentwickeln, dann steht man auf dem Schlauch und hat ein Problem. Wenn die Entscheidung fällt, daß man auf eine andere Technologie setzt oder sich die Marschrichtung ändert, dann hat man ebenfalls ein Problem.

        Microsoft hat mit Windows 8 eigentlich keinen neuen Weg eingeschlagen, sondern ist auf den alten Weg zurückgekehrt. DirectX ist nach wie vor eine Core-Technologie. Die Branche hat halt das Feedback gegeben, daß XNA nicht “the way to go” ist, sondern DirectX. Dem wurde nun Rechnung getragen und du kannst einen Windows PC, Windows Tablets, Windows Phones (8) und auch die nächste XBox (die alte auch, aber nicht für Indie-Games) mit DirectX-Games “befeuern”. Wenn man nun einen dünnen Wrapper über DirectX und OpenGL entwickelt (damit die eigentliche Implementation austauschbar bleibt) dann ist man schon deutlich flexibler und auch ziemlich plattformunabhängig.

        Ich persönlich versuche sowas in der Art gerade. Ich entwickele Plattformunabhängigen Code in C++, der als Grafik-API DirectX und OpenGL verwendet. Darauf versuche ich dann aus unterschiedlichen Sprachen zuzugreifen, unter anderem C#. Wenn das alles so funktioniert wie ich mir das vorstelle, dann könnte man damit sogar Teile von ANX mit nativem Code ersetzen und ANX damit einen extremen Vorteil verschaffen, da es dann nicht nur Plattformunabhängig wäre, sondern auch noch Sprachunabhängig (unabhängig von der Plattform und vor allem auch unabhängig vom auf einigen Plattformen kostenpflichtigen MONO).

  6. Oh nein, das darf ja wohl nicht wahr sein!!!
    Gibt es vielleicht eine Alternative für XNA (also eine neue Plattform, die vielleicht mit der neuen XBox vorgestellt wird)?
    Muss ich jetzt DirectX und C++ lernen?

    • Ich denke nicht, daß es für die neue XBox ein “neues XNA” geben wird. Das neue XNA von Microsoft ist DirectX/C++. Mit den Spracherweiterungen von Microsoft ist C++/Cx aber C# deutlich ähnlicher als manch einer glaubt.

      Eine gute Möglichkeit ist jedoch den grafiklastigen Code in C++/Cx zu entwickeln. Damit hat man dann praktisch eine “Brücke” zwischen C++ und C# geschlagen. Den “Rest”, also Gamelogik etc. kann man dann bequem in C#, VB.NET oder sogar JavaScript entwickeln.

  7. germancsharptutorials

    Das darf ja wohl nicht wahr sein!!!

    Gibt es eine vernünftige Alternative, die vielleicht mit der neuen XBox vorgestellt wird? Es kann doch nicht sein, dass es mit C# keine Möglichkeit mehr gibt, Spiele zu entwickeln! Microsoft kann es doch echt nicht bringen, dass C#-Programmierer jetzt C++ und DirectX lernen müssen!

    • Von Microsoft direkt gibt es keine Alternative. Es gibt allerdings ANX und Mono.Game. Dies sind beides “XNA-Nachfolger”…

      • germancsharptutorials

        OK, danke für deine schnelle Antwort!
        Ist es aber nicht ziemlich wahrscheinlich, dass ein XNA-Nachfolger kommt, denn nachdem die Weiterentwicklung von Managed DirectX eingestellt wurde, was, wenn ich alles richtig verstanden habe, der Vorgänger von XNA war, gab es XNA und es wäre doch ziemlich dumm von MS, keine einzige Spieleengine ausschließlich für C# bereitzustellen, nachdem sie das jetzt ungefähr 10 Jahre getan haben, oder?

        Ich habe mir ANX schon angeschaut und installiert, aber irgendwie habe ich da keine neuen Projektvorlagen (vlt. bin ich auch einfach zu dumm, sie zu finden). Soweit ich das verstanden habe, ist ANX noch nicht ganz fertig, oder?

  1. Pingback: MVP Award 2013 | "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+ photo

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

Verbinde mit %s

Folgen

Erhalte jeden neuen Beitrag in deinen Posteingang.

Schließe dich 140 Followern an

%d Bloggern gefällt das: