Wir stehen vor dem selben Problem:
- MonoGame erfordert Xamarin für Mobile Devices und gängige Plattformen, die Compile-Größe für die Projekte fällt leider nicht mehr unter die Free Grenze (Ich vermute wegen den XNA Libs, bläht halt den Code auf). Und kaufen will ich das ohne Tests eigentlich nicht (299.- pro Jahr und Entwickler, möglicherweise ist die kleine Version aber auch nicht ausreichend, VS Unterstüzung z.B.? KA)
- Unity erfordert in seiner Reinform eine komplettes Umstellen auf den Skriptbasierten Ansatz, wir haben aber bereits ein nahezu fertiges Framework basierend auf XNA.
ABER:
Wir testen gerade einen anderen Ansatz, basierend hier drauf:
https://github.com/mvi/UnityXNA/tree/mas…pts/XNAEmulator
Da hat sich einer die Mühe gemacht, und ein XNA quasi auf Unity C# Script Basis "emuliert".
Wie testen gerade, inwieweit unser Framework mit so einer Lösung zusammenarbeitet. Plattformspezifische Klassen wie z.B. für Soundhandling oder Savegame Kram könnte man dann über Interfaces abbilden, so dass man einem spezifischen Game (z.B. XNAGame oder UnityGame) die spezifischen, implementierten Manager übergibt (XNAAudioManager...), die dann das Abspielen von Sounds etc. umsetzen.
Auf die Art müssen wir nur die Teile unseres Frameworks auf Interfaces umstellen, die Plattformabhängig sind (Bedeutet für uns, die XNA spezifischen Teile zu abstrahieren). Am Ende haben wir idealerweise eine XNA Implementierung und eine UnityImplementierung.
Man nimmt also die positiven Teile von Unity mit (CrossPlattform Deployment) und verbindet das mit Unabhängigkeit eines eigenen Frameworks, dass man, solange man im Bereich C# arbeitet, theoretisch weiterverwenden kann.
Falls es sich zusätzlich noch arrangieren lässt, den UnityEditor zu benutzen um künftig Levels zu designen, um so besser.
Wir arbeiten aber auch nur in 2D und benutzen eh schon recht wenig aus XNA.
Ist aber egal wie man es dreht oder wendet, momentan ist Cross-Plattform Development ziemliches Gefrickel.
---
Nachtrag @ BlueCobold:
Wo ist überhaupt das Problem mit XNA?
XNA war ja vor allen Dingen für diejenigen schön, die eh in der Windows Umwelt zu Hause sind und ihre Games gerne auf Windows PC, XBox und Windows Phone rausgebracht hätten, was ja PRE Win8 auch halbwegs gut funktionierte.
Jetzt ist es ja mit XNA selbst für Win 8 / Mobile nicht ohne weiteres möglich, dank der "Ablöse" durch den nativen Kram. IMHO ein Rückschritt. Wenn überhaupt hätte man die native Unterstützung optional anbieten sollen.
Jetzt haben sie halt ihr Ergebnis:
Fehlende Apps im WinStore, eingestampfter Indie Markt für die Konsole und Gebrassel bzgl. CrossPlattform Windows. Schade MS.
Lustig in dem Zusammenhang:
Apple macht gerade seine eigenes (2D)XNA (Sprite Kit), solide weiter durchdacht und 80% der Funktionalität deckt sich mit unserem eigenen Framework:
https://developer.apple.com/library/ios/…ingStarted.html
Bedarf ist ja da, sieht man ja auch an Unity2D und Konsorten. Gefühlte 80% der Indie Games sind Casual 2D Implementierungen, da brauche ich keinen nativen Zugriff, da will ich SCHNELL Ergebnisse sehen. Sorry wenn das jetzt etwas offtopic war.