ANX
Das ANX Framework ist eine Open-Source Reimplementierung des bekannten XNA Framework von Microsoft. In Anlehnung an die Bedeutung von XNA ("XNA is not acronymed") bedeutet die Abkürzung "ANX's not XNA". Die offizielle Website von ANX ist aktuell: anxframework.codeplex.com. Dort findet sich sowohl das Sourcecode-Repository, als auch Binärdownloads, ein englischsprachige Dokumentation und Forum, sowie der Bugtracker. Die Entwickler legen Wert darauf, daß alles Sourcecode-Kompatibel ist und sich alles exakt so verhält wie dies in der Vorlage ist. Der große Unterschied ist jedoch, dass das Render-System, das Input-System und das Sound-System dynamisch ausgetauscht werden kann. Es existieren Varianten für DirectX 10, DirectX 11, DirectX 11.1 (Metro-Style-Games) und OpenGL.
Hier im Forum gibt es ebenfalls einen ANX-Bereich: ANX Bereich
Ziel von ANX ist es, ein sogenanntes Drop-In-Replacement zu entwickeln. Ein XNA-Spiel soll "übersetzt" werden können, indem lediglich die XNA-Assembly-Referenzen durch ANX-Referenzen ausgetauscht werden. Zusätzlich müssen noch die Namespaces von XNA auf ANX geändert werden. Für beides gibt es einen Projektkonverter, der dies automatisiert.
ANX verwendet ein ausgeklügeltes AddIn-System, welches es ermöglicht die grundlegenden Bestandteile auszutauschen. So ist man für die Grafikausgabe beispielsweise nicht, so wie es bei XNA der Fall ist, auf DirectX 9 beschränkt. Es gibt aktuell RenderSysteme für DirectX 10, 11 und 11.1 (Windows 8 Metro Style Apps) sowie für OpenGL 3. Da alle plattformabhängigen Bestandteile durch AddIns realisiert wurden ist es möglich, daß mit ANX entwickelte Spiele auf den unterschiedlichsten Plattformen lauffähig sind:
- Windows Desktop-PC
- Windows RT Tablets
- Windows 8 Pro Tablets
- Windows Phone 8
- Linux
- MacOS
- iOS
- Android
- PSVita
Zusätzlich werden natürlich durch Verwendung von XNA die "normalen" XNA-Plattformen unterstützt:
- XBox 360
- Windows Phone 7
- Windows Desktop PC
Dabei wird teilweise auf Mono als .NET-Framework Ersatz gesetzt.
Neben dem "normalen" XNA-Kompatibilitätsmodus gibt es noch den sogenannten XNAEXT Modus. Dabei gibt es Erweiterungen die nicht in XNA vorhanden sind (z.B. DirectX 11-Features). Der Nachteil dabei ist jedoch, daß die Kompatibilität zu XNA nicht mehr gegeben ist.
Weiterführende Links
- ANX.Framework - Projektseite des ANX.Framework auf CodePlex
- MitOhneHaare.de - Blog-Eintrag von Roland "Glatzemann" Rosenkranz "Eine Alternative zu XNA: Das ANX.Framework"
- ANX.Framework in der Wikipedia
