Wie lernt man XNA?

XNA ist eine Spieleentwicklungsplattform von Microsoft, mit der Spiele für Windows, Xbox 360 und Windows Phone erstellt werden können. In diesem Artikel werden Bücher, Lernprogramme und Vorschläge zum Lernen von XNA so reibungslos wie möglich weitergegeben.

Interessiert an anderen gamedev-Plattformen? Lesen Sie auch unsere Anleitungen zum Erlernen von Unity oder Flash!

Was ist XNA??

XNA (ursprünglich "Xbox New Architecture", jetzt einfach "XNA's Not Acronymed") ist ein Satz von .NET-basierten Tools für die Spielentwicklung, die auf Windows laufen - entschuldigen Sie sich, Mac- und Linux-Benutzer. Mit XNA erstellte Spiele können unter Windows, Xbox 360 und Windows Phone 7 ausgeführt werden. Andere Projekte wie MonoXNA und MonoGame versuchen, die Spiele auf andere Plattformen zu bringen.

Die XNA-Tools selbst sind kostenlos, und gegen eine jährliche Gebühr können Sie Ihre Spiele über Xbox Live Indie Games (sofern sie Peer-Reviews bestehen) und den Windows Phone 7-Marktplatz verkauft werden. (Wenn Sie ein Student sind, können Sie die Mitgliedschaft für ein Jahr Xbox Live Indie Games kostenlos erhalten.) Mit XNA erstellte Windows-Spiele können wie Windows-Spiele verkauft werden, die mit anderen Tools erstellt wurden. Es gibt keinen offiziellen Marktplatz für XNA-Spiele.

Da das XNA Framework auf .NET basiert, kann technisch jede .NET-Sprache verwendet werden, um damit Spiele zu erstellen - obwohl nur C # und Visual Basic.NET offiziell unterstützt werden.

Die neueste Version von XNA, 4.0, wurde im September 2010 mit einer Aktualisierung im Oktober 2011 veröffentlicht. Sie ist also ziemlich ausgereift und bietet zahlreiche Ressourcen. Es gibt keine Ankündigung von Version 5.0, Sie müssen sich also nicht darum kümmern, XNA 4.0 zu erlernen, damit Ihr Wissen sofort veraltet ist.


XNA installieren

Wie oben erwähnt, werden die XNA-Tools nur unter Windows offiziell unterstützt.

Die offizielle XNA-Site ist eher verwirrend der MDSN App Hub, dessen Download-Seite einen starken Fokus auf Windows Phone hat. Es ist nicht wirklich klar, was Sie herunterladen müssen, wenn Sie XNA-Spiele für Xbox oder Desktop entwickeln möchten.

Es ist jedoch eigentlich ganz einfach: Laden Sie einfach das Windows Phone SDK 7.1 herunter und installieren Sie es. Es enthält alle Software und Tools, die Sie zum Entwickeln mit XNA für Windows Phone, Xbox oder Desktop benötigen.

Der Download umfasst Visual Studio Express 2010. Wenn Sie jedoch bereits über eine bessere Version von Visual Studio 2010 verfügen, können Sie die XNA-Tools separat herunterladen und installieren: XNA Game Studio 4.0 und XNA Game Studio 4.0 Refresh.

Möglicherweise möchten Sie auch einen Xbox 360-Controller zu Testzwecken für Ihren PC kaufen. Dies ist jedoch optional.


Das offizielle Tutorial

Der MSDN App Hub enthält ein Einführungs-Tutorial (Teil Video, Teil geschrieben), das Sie durch den Aufbau eines einfachen Shooter-Spiels führt. Es dauert etwa neunzig Minuten, obwohl Sie davon ausgehen können, dass Sie ein paar Stunden damit verbringen, es selbst abzuschließen und C # verwenden, das ich als XNA-Sprache empfehle, selbst wenn Sie bereits eine andere .NET-Sprache beherrschen.

Sobald Sie es abgeschlossen haben, versuchen Sie, etwas zu ändern: das Artwork, die Geschwindigkeit der Gegner, die Häufigkeit, mit der die Gegner erscheinen, die Kraft der Kugeln ... Sie könnten sogar versuchen, einen Boss zu machen, der mehrere Treffer erzielt! Wenn Sie sich so in das Spiel einarbeiten, können Sie sehen, was Sie verstehen und woran Sie arbeiten müssen.

Weitere Lernprogramme, Artikel und Quellcode-Beispiele sind im App Hub-Inhaltskatalog verfügbar. Auch hier kann es Spaß machen, einfach etwas mitzunehmen und in den Code zu schauen, um zu sehen, ob Sie die Funktionsweise ändern oder eine neue Funktion hinzufügen können.

Angeblich richtet sich dieses Tutorial an Personen, die Anfänger der Spielentwicklung sind und keine Vorkenntnisse in der Programmierung benötigen. Ich bin jedoch der Meinung, dass ich, wenn Sie noch keine Erfahrung mit C # (oder einer ähnlichen Sprache wie Java oder AS3) haben, es überwältigend finden wird.

Stellen Sie sich dieses Tutorial als Test vor: Wenn Sie das Gefühl haben, dass Sie nicht wirklich verstanden haben, was los ist, dann machen Sie sich keine Sorgen - es bedeutet nur, dass Sie lernen müssen, Code zu schreiben.


C # lernen

Wenn Sie Spiele mit XNA erstellen möchten, müssen Sie das Programmieren lernen. Anstatt zu versuchen zu lernen, zu programmieren und Wenn Sie die Entwicklung von XNA-Spielen gleichzeitig lernen, ist es einfacher, die Programmierung selbst zu lösen. Ja, das bedeutet, Dinge zu bauen, die keine Spiele sind, aber dies wird Ihnen helfen, auf lange Sicht Spiele zu erstellen.


Kopf zuerst C #

Head First C # ist ein großartiges Buch. Es hat einen spaßigen Ansatz; Die Autoren verwenden tatsächlich Lektionen, die von den Spieldesignern gelernt wurden, um das Buch zu strukturieren.

Wenn Sie danach hungrig sind, besorgen Sie sich eine Kopie von Essential C # 4.0. Was Sie von Head First C # lernen, ist wahrscheinlich genug, um Sie in die Entwicklung von XNA-Spielen einsteigen zu lassen. Essential C # hilft Ihnen, die Säge zu schärfen und ein besserer C # -Programmierer zu werden.

Es ist praktisch, eine Referenz zu haben, um unbekannte Schlüsselwörter (wie ein Wörterbuch für Programmierer) nachzuschlagen. Die MSDN C # -Referenz ist dafür in Ordnung, aber wenn Sie etwas physisches wollen, erhalten Sie eine Kopie der C # 4.0-Pocket-Referenz.

Probieren Sie das offizielle XNA-Tutorial erneut aus, nachdem Sie sich mit C # auseinandergesetzt haben - es macht so viel mehr Sinn!


XNA-Bücher

Okay, Sie verstehen also C # - oder zumindest verstehen Sie eine ähnliche Programmiersprache. Großartig! Es ist Zeit, in XNA zu tauchen und mit dem Erstellen von Spielen zu beginnen.

Es gibt zwei gute Optionen für Ihr erstes XNA-Buch, und beide gehen davon aus, dass Sie C # bereits kennen. Wählen Sie diejenige aus, von der Sie denken, dass Sie sie am besten mögen (oder holen Sie sich beides!).

Das Erlernen von XNA 4.0 ist eine Einführung in XNA, die einen ziemlich theoretischen Ansatz verfolgt. Es lehrt die Entwicklung von 2D-Spielen und dann die Entwicklung von 3D-Spielen im Zusammenhang mit dem Erstellen von Spielen. In einem Teil des Buches wird erklärt, wie Sie Ihre Spiele nach Windows Phone 7 und Xbox exportieren.

XNA 4.0 Game Development von Example verwendet einen praktischeren oder funktionalen Ansatz und erläutert XNA anhand von vier verschiedenen Spielen. Das Buch vermittelt Ihnen nicht nur neue Konzepte, sondern hilft Ihnen auch beim Entwickeln von Spielen.

Wenn Sie nach dem Lesen dieser Schritte noch weiter gehen möchten, lesen Sie XNA Game Studio 4.0 Programming. Es geht viel tiefer in XNA und enthält fortgeschrittenes Material, das Sie wissen müssen, wenn Sie ein ernsthafter XNA-Entwickler sein möchten. Denken Sie jedoch nicht, dass Sie sich beeilen müssen, um es zu kaufen. Machen Sie sich zuerst mit den Grundlagen vertraut.


Tutorials im Web

Es gibt keinen Mangel an XNA-Tutorials online, aber diese Sites bieten die umfassendsten Handbücher:

  • RB Whitakers XNA-Tutorials: Auf dieser Website gibt es eine Vielzahl von XNA-Tutorials, die nach Themen in einer Hierarchie angeordnet sind. Es gibt also eine Struktur, aber es gibt viele Möglichkeiten, in welcher Reihenfolge Sie sie auswählen.
  • Shawn Hargreaves 'Blog: Shawn Hargreaves ist einer der Designer von XNA. Daher ist es kein Wunder, dass er die Plattform wirklich gut kennt. Die meisten - aber nicht alle - seiner Beiträge sind Tutorials. Es gibt auch eine kategorisierte Liste von Beiträgen.
  • 2D- und 3D-XNA-Tutorials von Riemer: Riemer bietet eine Serie zum Erstellen von 2D-Shootern und vier Serien zum Erstellen von 3D-Spielen, die sich auf 89 individuelle Tutorials aufteilen. Er meint: "Das Hauptziel dieser XNA-Tutorials ist es, innerhalb kürzester Zeit gut aussehende Ergebnisse zu erzielen."
  • XNA Game Programming Adventures: Diese Seite enthält eine kurze Tutorialserie zum Aufbau eines bahnbrechenden Spiels für Anfänger und eine große Serie (über 30 Teile!) Zum Erstellen eines RPGs für erfahrene Entwickler.
  • Catalins Blog: Catalin Zima bietet einige hervorragende Tutorials zu Vertex-Texturen, zum verzögerten Rendering und zum Pelz-Rendering in XNA.

Willst du noch mehr? Schauen Sie sich das XNA Developer Survival Kit 2 von Nelxon Studio an, das eine Vielzahl von Ressourcen zu allen XNA-Themen auflistet.

Wenn Sie Referenzmaterial benötigen, überprüfen Sie die MSDN Library auf XNA. Für Fragen und Antworten gibt es immer den Game Development Stack Exchange - werfen Sie einen Blick auf die zuvor gestellten Fragen mit XNA 4.0.


Spiele machen

Dies ist nur ein allgemeiner Tipp: Machen Sie für Ihr erstes Spiel nicht etwas Komplexes wie ein MMO oder etwas, das große Mengen an Artwork und Story wie ein RPG erfordert. Beginnen Sie mit etwas Einfachem, das Sie später noch erweitern können. Zum Beispiel: Ein Spiel mit einem einzigen Knopf wie Canabalt könnte erweitert werden, um ein Plattformprogramm zu erstellen. Ein Pong-Klon könnte in ein Spiel verwandelt werden, das mehrere Level umfasst. Ein Avoider-Spiel könnte zum Klon eines Space Invaders werden und dann zu einem ausgewachsenen Shoot-'em-Up.

Machen Sie sich auch noch keine Sorgen, fortgeschrittene Programmiertechniken zu erlernen. Sie haben Zeit, sich später mit Designmustern und der allgemeinen Codearchitektur auseinanderzusetzen. Beenden Sie sich auf das Beenden einiger Spiele, auch wenn Ihre ersten nur klein sein werden.


Vielen Dank an Stephane Beniak und Michael Hoffman von NullCandy für ihre Empfehlungen! Schauen Sie sich ihre XNA-Tutorials an, und sehen Sie sich hier bei Gamedevtuts + in Kürze neue Tutorials an.

Wenn Sie Vorschläge für XNA-Lernressourcen haben, die wir vermisst haben, teilen Sie uns dies bitte in den Kommentaren mit. Vergessen Sie nicht, auch unsere anderen Anleitungen zu lesen!