Guys, when I watch a gadget like this:
I cannot help to associate it with Ironman’s propulsors:
Next time I visit Punta del Este I will try this sport for sure!
Lately there has been lots of speculation and comments on the Web regarding the fate of XNA as a result of these blog-posts.
For me, the phase-out process that MSFT has been carrying out silently for, what, a couple of years, a year and a half, a year, <include your estimate here>, is not precisely a surprise. In fact, I stopped working in all projects based on XNA tech during late 2010 because something was troubling me.
At that time, I was an XNA/DX MVP creating my game engine, replacing XNA’s Content Manager with my own version of it, developing a videogame, to mention just a few, but for some reason I was holding myself back before starting a game-dev business based on XNA tech.
The hunches -based on facts- that supported my decision back then, in hindsight now prove me right on my wait. Of course it is important to note here that this worked for me; in other words, YMMV.
1. HUNCHES AND WARNING SIGNALS
Let’s see, in no particular order, these are the hunches that caught my attention:
As a former XNA/DX MVP as well as an old timer using MSFT’s technology, let me say that lately it has been really difficult to recommend the use of XNA to create games professionally given the facts above.
What can you say to devs when they ask questions like: “Can I use XNA for Windows RT?”, “Will XNA be integrated into VS2012?” or “Will XNA support DX11?”? Ditto for the question below …
2. WILL THERE BE A NEW OFFICIAL SOLUTION FOR .NET?
It is very difficult to foresee what’s coming next in terms of .NET and game development given the difficulties one may find when trying to deduce what the heck TPTB at MSFT are currently thinking/doing.
But let us see, to update XNA (or replace it) MSFT may consider that …:
So, to answer the original question, with C++ regaining position inside MSFT and being DX11.1 mandatory for latest platforms, why bother? Which leads us to the next question …
3. WHAT CAN “XNA’ers” DO NOW?
You feel disappointed. MSFT let you down (for some, again). You cannot find the exit from this nightmare. And you do not want to learn or get back to C++.
If that is your case, then, do not panic! Right now, there are many alternatives out there for you to consider, specially if you like or love C#:
1. SharpDX: created by Alex Mutel -as an alternative to SlimDX, this pure wrapper of DirectX (from DX 9.0c to DX 11.1, both included) has positioned as the lead solution for advanced user who want to program DX games on top of the lowest level available to C#.
Although this set of APIs is open source, it is consumed by many of the solutions that will be listed next. What is more, games for Win8 from MSFT Studios (through partners like Arkadium) have been developed using SharpDX (i.e.: minesweeper, solitaire, and mahjong).
Alex has been also developing a Toolkit to ease development of common tasks (sound familiar?), which for sure extends a bridge to those of us coming from XNA.
2. Monogame: the open source sibling of XNA. Fueled by SharpDX for all latest Windows-based platforms. Multiplatform not only for Windows, thanks to Mono.
With few-to-none modifications to the source code of your XNA creations, you can port your games to a wide variety of platforms.
This open source solution has recently reached its third stable version, adding many requested features, like 3D support.
Although it lacks a content pipeline replacement, which is currently under development, it can be used from VS 2010 and VS 2012.
Last but not least, the community is growing strong around Monogame. As a matter of fact, if you like “the XNA-way” then this is your perfect choice.
3. ANX: a competitor to Monogame. Its name, in case you did not notice, is XNA reversed. Recently, after a long wait, v0.5_beta has been published.
Not many games have been created with this solution yet and its community is rather small –in comparison with Monogame’s, but definitely its progress is worth following closely.
4. Paradox: I really do not know how Alex does to find some time left, but he is also developing a multiplatform game-dev solution for .NET with a data-driven editor!
Of course that the Window-targeted portion of Paradox is based on SharpDX, but the engine will also offer deployment to other platforms based on OpenGL.
No prices or release updates have been disclosed yet, but having read the features, watched images and demo videos, it is by far a very serious alternative to consider.
Coding by using this solution resembles coding with XNA. It has its own multiplatform content pipeline which optimizes output per platform, among other tools. And games like Soulcraft show off the power of the solution.
You can check the pricing here.
6. Axiom: being a former user of this solution before the time of XNA, I am very pleased to see that the project has revived.
Axiom is now a multiplatform solution for .NET based on the popular OGRE graphic engine, which also consumes SharpDX for Windows targets.
Honestly, I do not know whether there are games created (and published) with this solution, but I hope there will eventually be sooner than later.
7. WaveEngine: Vicente Cartas (MVP for XNA/DX) has just let me know about this cross-platform engine, which will be released as a beta in less than a day ahead (thanks for the tip!).
Oriented towards the mobile-dev market, the engine is a result of a two-year effort of the Wave Engine team. Knowing past work of Vicente on JadEngine, I cannot wait to watch some cool demo videos here (like Bye Bye Brain).
Best of all, the engine is completely free, so it is with no doubt worth trying as soon as it gets released!
8. Unity3D: I cannot forget to mention Unity3D since it started almost at the same time that XNA did, however, adoption among devs grew exponentially on later years because of a combo of factors: a robust editor, multiplatform support, increasing number of appealing features, and a variety of well-known success stories among indies (for instance, ShadowGun).
You can check the pricing here.-
As you can see, even if no official solution will replace XNA, its spirit remains in many of its successors, all of which support latest DX11 HW.
So imho as a dev, there is no need to worry. Your knowledge is still valid for the above-mentioned alternatives.
4. OK, BUT WHAT ABOUT MSFT?
Well, imho it would be deemed as positive by XNA’ers (and indies in general) if MSFT …:
Personally, I do not care the language or solution a dev picks to develop a game provided it is the right language or solution for the project. In this sense, this “Going Native” campaign that some people at MSFT may seem to support by stressing perf differences among C++ and C# whenever they can, is imho unnecessary given the fact that there are many successful indie games out there developed with managed code.
Plus, as a former C++ dev, I do not want to get back to C++ because I feel really confortable with C#. If sometime in the future I had to go to a lower level language I would prefer “D”.
Thus, I hope MSFT creates a common compiler for C++/C# which in turn will help us turn the use of hybrid solutions into a common scenario for indies.
5. TO WRAP IT UP …
Without starting a nonsense discussion for a Pyrrhic Victory, imho the fate of XNA was predictable if you took a careful look at announcements from MSFT, whether you deemed them as facts or mere hunches.
But one thing remains strong for sure: XNA’s spirit.
Thanks to solutions like SharpDX and Monogame one can still talk about C# and XNA-based coding as a valid option for a game-dev business.