ANX (Framework)
# ANX (Framework)

ANX war ein Open-Source-Framework zur Spieleentwicklung auf unterschiedlichen Hard- und Softwareplattformen. Der Name ist ein englisches Rekursives Akronym, gebildet als ANX's Not XNA, auf Deutsch in etwa ANX ist nicht XNA.

## Konzept

ANX basiert auf den Schnittstellen von Microsofts XNA, erweitert dieses jedoch um ein AddIn-System, welches die Plattformunabhängigkeit gewährleistet und um erweiterte Features, die über den Umfang von XNA hinausgehen und ist daher als alternative Implementation anzusehen.

Ziel des Projektes ist es, eine Sourcecodekompatible Version von XNA zu entwickeln, die Open Source ist und somit unabhängig von Microsoft. Dabei kann der gleiche Sourcecode verwendet werden wie in XNA, lediglich die Namespaces müssen ausgetauscht werden. Dies kann auf Wunsch durch ein bereitgestelltes Tool automatisiert werden (in beide Richtungen möglich).

## Entwicklungsgeschichte

Das Projekt wurde im Oktober 2011, kurz nachdem die erste Build-Konferenz von Microsoft stattgefunden hat, vom deutschen DirectX-MVP Roland "Glatzemann" Rosenkranz gestartet. Auf dieser Konferenz wurde die weitere Marschrichtung zur Entwicklung von Spielen auf Microsoftplattformen bekanntgegeben. Zwischen den Zeilen konnte man herauslesen, dass das XNA-Framework vermutlich nicht mehr weiterentwickelt wird. Da dies jedoch ein hervorragender und einfacher Einstieg in die Spieleentwicklung ist, war die Idee geboren, eine Alternative anzubieten.

ANX ist größtenteils in C# entwickelt und vereint verschiedene Spiele-Entwicklungs-Programmierschnittstellen, unter anderem Direct3D aus DirectX in den Versionen 10 und 11 für die Darstellung von 2D- und 3D-Grafiken und OpenGL in der Version 3 und 4. Zur Ausgabe von Audiodaten wird beispielsweise XACT oder OpenAL verwendet, und die Eingabebehandlung setzt auf XInput.

Das Entwicklungsteam besteht aktuell aus neun Entwicklern, die die öffentliche Schnittstelle von XNA zu 100 % umgesetzt haben. Die internen Implementierungen sind jedoch noch nicht vollständig, trotzdem befinden sich die ersten Spiele bereits in der Entwicklung. In regelmäßigen Abständen werden Binärpakete veröffentlicht. Als Alternative steht der Sourcecode in einer aktuellen Version öffentlich zur Verfügung.

## Unterstützte Plattformen

* Windows
* Windows 8 "ModernUI" inkl. Zertifizierung für den Marketplace
* Linux
* MacOS
* iOS
* Android
* PS Vita
