Viele Leute haben mir in diesem Blog Fragen bezüglich XNA gestellt und ich dachte, ich beantworte sie auf der Hauptseite.
XNA ist eine Entwicklungplattform, die angehenden Spielprogrammierern und anderen erleichtern/ermöglichen soll, Spiele zu machen, die sowohl auf auf dem PC wie auch auf der Xbox 360 laufen. Man programmiert in C# und die Shadersprache von DirectX. Für die Programmierung wird Visual Studio benutzt wie auch für jede andere Microsoftplattform. XNA stellt Bibliotheken und Tools zur Verfügung, die von vorne rein für Spielprogrammierung getrimmt wurden.
C# ist grob gesagt, die Microsoft Version von Java. Weil Sun nicht wollte, daß Microsoft Java ins .NET-Framework aufnimmt, hat Microsoft quasi ein Äquivalent gebaut, das sehr viele Gemeinsamkeiten hat. Wenn man Java kann, dann dauert es einen Tag, bis man erste Programme in C# schreibt. Bis zur Shaderprogrammierung bin ich noch nicht gekommen. Die kommt ins Spiel, wenn man aufwendigere Dinge macht. Wenn man 3D-Grafik machen will, sollte man sein Vektor- und Matrizenwissen auffrischen.
Die Libraries machen das Laden und darstellen von Resourcen und das auswerten der Spielereingaben sehr einfach. Der PC wird dafür soweit wie möglich wie eine Konsole betrachtet. Deswegen wird zum Beispiel nur das Xbox Joypad unterstützt. So muß man sich als Programmierer nicht die Mühe machen, abzufragen, welche Bedienelemente das Joypad hat. Der Vorteil ist, man kann Code schreiben, der ohne Änderungen sowohl auf der Konsole wie auch auf dem PC läuft.
Die Features der Libraries und die Tools aufzuzählen hat keinen Sinn, weil dort schneller Sachen hinzugefügt werden als man das Zeug lernen kann. Wenn man sich schon an ein 3rd Party Tool gewöhnt hat, um zum Beispiel seine 3D-Modelle zu machen, dann ist es kein Problem, weil es mit größter Wahrscheinlichkeit ein Format ausspucken kann, das XNA lesen kann. Man kann aber auch Tools wie das Softimage XSI Mod Tool herunterladen. Ich habe es aber noch nicht ausprobiert.
Um das alles auszuprobieren muß man gar nichts zahlen. Bezahlen muß man nur, wenn man seine Sachen auf der Konsole laufen lassen will. Kommenden Winter wird es für jeden (aber erstmal nicht in Deutschland) möglich sein, seine Spiele in einen XNA Marktplatz hochzuladen und zwischen 200 und 800 MS-Punkte zu verlangen. Man kriegt dann
"bis zu 70%" der Einnahmen und jeder kann das Spiel kaufen. Solange man einige Regeln einhält, findet keine Kontrolle von Microsoft statt.
Ein paar Links:
http://creators.xna.com/Hier findet man so gut wie alles, was es von offizieler Seite zu XNA gibt. Downloads, Tutorials, Foren und was man halt so erwartet.
http://creators.xna.com/en-US/education/gettingstartedHier ein paar Tutorials in Videoform, um sich ein Bild zu machen, wie das abläuft.
http://blogs.msdn.com/xna/Das Blog des XNA Teams. Hier erfährt man, was es neues gibt.
Noch ein paar Kommentare zum ganzen. XNA ist ein Produkt von Microsoft, daß die Entwickler dort richtig richtig gut hingekriegt haben, das sehr billig ist und mit dem man bald Geld verdienen kann. Das, was Microsoft damit hauptsächlich verfolgt, ist nicht in ein paar Monaten eine zusätzliche Einnahmequelle zu haben. Wichtiger ist, eine Armee von jungen Entwicklern aufzubauen, die mit Microsoft Entwicklungumgebungen ihre ersten Schritte gemacht haben, daran (und an Windows) gebunden sind und nichts anderes wollen. Microsoft ist seinen Wettbewerbern in dieser Hinsicht, so weit voraus, daß es nicht mehr feierlich ist.
Seit die erste Xbox erschienen ist, habe ich in Foren immer "Xbox = Verluste LOL" gelesen. Leute, die sowas schreiben sind kurzssichtig. Microsoft ist eine Softwarefirma und ihre Hardware dient nur dazu, ihre Software und inzwischen auch ihre Dienste zu verkaufen. Die Verbindung ihrer Plattformen dient dazu, daß eine Killer Application auf einer Plattform einen dazu bringt, die anderen Plattformen auch zu nutzen. Mit Xbox Live auf dem PC haben sie sich verrechnet, mit XNA werden sie Erfolg haben. Jetzt braucht man Windows, um auf der 360 zu programmieren, bald kommt auch Zune dazu.
Mit Developers, Developers, Developers, die Visual Studio, DirectX und XNA mögen, bewegt sich Microsoft langsam gegen das Monopol zu. Und es soll mir keiner mit Nintendo kommen, es sei denn, er glaubt unerschütterlich daran, daß nach dem kommenden Zelda noch eins erscheint. Nintendo wird in 5 Jahren vermutlich keine Videospiele mehr machen sondern Spielzeug, in dem oft ein Bildschirm auch eine Rolle spielt.