xna dead?
I am currently programming in XNA but lately im worried that XNA will die. Ive heard that MS no longer will continue making new versions of it.
I am therefor wondering if i should start to develope in DX. Is that a better framework for the future, or do you guys have other tips? My goal is to make games like mario, diablo 2 type rpg and games like plant vs zombies, temple run and angrybirds for phones in the future.
Ill start with 2d progress to isometric and maybe later 3d.
What are your guys advice in terms of framework?
Best regards
Thomas
I am currently programming in XNA but lately im worried that XNA will die. Ive heard that MS no longer will continue making new versions of it.
We've had a few threads covering that.
As for whether or not you should learn D3D: that's entirely up to you. Frameworks and libraries don't stay around forever, ya know. You're always learning a dying library/framework/language/whatever. However, the things you learn often translate from one library/framework/language to another, so learning XNA isn't a complete waste of time by any means.
I broadly agree with Cornstalks' comment, but I feel it's worth noting that XNA is built on DirectX 9, and things in the 'native' world have moved on a bit since then, to DirectX 11. It used to be that case that after learning the XNA graphics API you'd look at DirectX 9 graphics API and think "oh yeah, this must be what's happening under the hood when I use XNA," and it all seems quite familiar. That's not so much the case with DirectX 11.
That's not to say XNA won't teach you anything transferable - all the vector maths, mesh structures, texture sampling etc. is common theory regardless of the API you're facing, and of course there's much more to making a game than graphics programming. All I'm saying is that it's somewhat less transferable than it used to be in that specific area.
Is it alot harder to learn C++ dx11 than xna and c#?
If you learn XNA4.0 switching to DX11 afterwards is easier although not the same you are going to have to learn how things are different mostly to do with the context and device split in DX11 which XNA doesn't do.
Using C++ and DX11 isn't harder then using C# and XNA once you know the technologies involved, it is less productive to use DX11 and C++ as you will have to write a lot more boilerplate code than you have to in XNA. If you need to learn C++ as well I'd say stick to C# and use slimDX(or similar wrapper) instead which allows you to use DX11 in C#.
Hello.
I am currently programming in XNA but lately im worried that XNA will die. Ive heard that MS no longer will continue making new versions of it.
I am therefor wondering if i should start to develope in DX. Is that a better framework for the future, or do you guys have other tips? My goal is to make games like mario, diablo 2 type rpg and games like plant vs zombies, temple run and angrybirds for phones in the future.
Ill start with 2d progress to isometric and maybe later 3d.
What are your guys advice in terms of framework?
Best regards
Thomas
Well, if you do wish to contenue using XNA, you might consider Mono Game. Mono Game is an open source implementation of XNA 4. It's been pretty easy to migrate XNA projects to MG too.
And will XNA for sure die or is it not known yet?
I consider to learn C++ DX cause it looks like its the one that will stay alive in the future.
games like plant vs zombies, temple run and angrybirds for phones in the future.
If you aim to develop for phones, then unfortunately C++ and DirectX is not an ideal choice since you will only ever be able to target the windows phone and you can only use native languages on it if you have a pretty expensive license agreement (and probably a dev kit).
With an Objective-C or Java shim, it is very easy to program in OpenGL and C++ on iOS and Android (but not Windows Phone) if you want to go the native route.
Otherwise I think the only solution (other than things like Unity) is MonoTouch and MonoGame which I think can work on iOS, Android and Windows Phone.
... But not Blackberry ;)
Its good that they support a range variety of OS :-)
If you didnt already know, Mono is an implementation of Microsoft .NET (allowing you to use C#).
MonoGame is simply an implementation of Microsoft XNA (Comes as a .DLL). So provides the Game class, the Effect class etc...
So if you want to develop XNA on a mobile, you will need both MonoTouch and MonoGame. They have similar names but they are both very different bits of software.
Note: MonoGame doesn't use DirectX underneath unlike the Microsoft version, instead it uses OpenGL. To do this it uses OpenTK as a binding layer. If you would prefer to use OpenTK directly, this will also work on Android, iOS but unfortunately not the Windows Phone (Where you would need to use Microsoft's implementation of XNA rather than MonoGame anyway).