Friday, December 2, 2011

XNA


XNA - Logo


XNA was ausgeschrieben "XNA ist keine Abkürzung" (engl. "XNA's Not Acronymed") bedeutet ist eine von Microsoft entwickelte Technologie um für Microsoft Windows, Xbox 360, Zune wie auch Window Phone 7 Spiele basierend auf C# zu entwickeln.

XNA verbindet zudem verschiedene Schnittstellen wie Direct3D aus DirectX (2D und 3D Darstellung) wie auch XACT (Audio) und XInput (Peripherie) in einem einzigen Framework.



Kompatibel ist das Framework ab Visual Studio 2005 wobei aber nur die Version 2.0 dafür geeignet ist. Wer aber auch die möglichkeit haben möchte Windows Phone 7 - Spiele zu machen sollte sich mindestens die Express Version von Visual Studio 2010 herunterladen (gratis) und das XNA Framework 4.0. XNA kann als eine grundlegende Game-Engine betrachtet werden jedoch ist wirklich nur eine Basis vorhanden. Wobei zum Beispiel das laden und darstellen von Texturen, Sprites, 3D-Modellen usw. schon implementiert ist und nur noch mit einer Methode aus einer Klasse aufgerufen werden kann.

XNA - 3D Windows Phone 7 Game (Quelle: www.engadget.com)

In Visual Studio ist nach der installation von XNA ein neurer Projekttyp für Windows, Xbox, oder Windows Phone 7 Spiele verfügbar. In einem neuen Projekt sind in der Game-Klasse Methoden wie: LoadContent, UnloadContent, Update und Draw bereits vorhanden.


InitializeDort sollten die Instanzen erstellt werden.
LoadContentDient zum Laden der Texturen, Sprites, Models, Sounds, Musik usw.
UnloadContent   Dient zum freigeben von Speicher nach dem Laden.
UpdateWird mehreremale pro Sekunde aufgerufen und dient zum ausführen der Spiellogik.
DrawIst die Methode in der die Objekte auf den Bildschirm gezeichnet werden. Diese wird auch mehreremale pro Sekunde aufgerufen.

Trotz häufigen Aufrufen dier beiden letzten Methoden läut das Spiel sehr schnell und flüssig. Natürlich ist dies später auch von der Programmierung des Spiels abhängig. Nach Bewertungen und Erfahrungen von anderen Personen soll C# mit XNA bei effizientem Code ziemlich gut mit C++ mithalten können. Falls Interesse besteht: Microsoft bietet auf ihrer Seite ein Tutorial für das Entwickeln von 2D-Games an, jedoch ist dieses nicht in Deutsch verfügbar. Das Tutorial und die Ressourcen findet ihr unter folgendem Link (Englisch):
http://create.msdn.com/en-US/education/tutorial/2dgame/getting_started




Meine Erfahrungen
XNA ist ein sehr praktisches Framework um Spiele zu entwickeln. Momentan studiere ich das Entwickeln von 3D Spielen mit XNA wobei einer der grössten Aufwände das Modellieren der Objekte beansprucht. 2D Spiele waren natürlich leichter zu entwickeln, aber ich arbeite gerne mit XNA da einem vieles vereinfacht wird und vieles schon vorhanden ist. Jedenfalls würde ich XNA jedem weiter empfehlen der gerne Spiele programmieren will und grundlegend mit der Programmiersprache C# vertraut ist.








No comments:

Post a Comment