I have designed an interface for Windows. I want to develop it.
Instead of writing a shell for Windows which will require me to learn a lot and a lot and a lot more new things i am thinking about making a Full Screen App which will run on windows and users will only be able to interact through this app. I think Microsoft Surface does the same.
So i was looking at my options, i have decided to do this in managed code, C# cuz that’s where my expertise lie and the development will be easy.
After that i need to choose from WPF or XNA, hold on let me explain XNA. I don’t know WPF yet so i don’t know it’s power but i was thinking if i was to put some “Intensive Graphics” for my interface, with XNA it will be really easy cuz i can use “Particle System” and stuff. If you have worked with XNA you would know what i mean, create interfaces in 2D and all, while using the power of XNA.
The other option is WPF, which i don’t know, therefore, i can’t make a decision myself.
So, people who know WPF & preferable XNA as well.
Why i shouldn’t be using “C# + XNA”, what disadvantages will be there and where will this combination fail.
Why should i be using WPF or is WPF going to be good-enough Graphics-wise i mean like animating anything, i literally mean anything etc etc.
p.s
I know i will have to select one answer but all the answers will be a very beneficial discussion for me.
As a games programmer myself I found a transition to WPF to be very challenging. Still, it is miles ahead of XNA in terms of GUI design. If your application (which you should really tell us more about) relies on GUI for user interaction, you would have to create an entire GUI system from the ground up in XNA. That does not sound fun to me.
WPF has some rich media access. You can perform render transforms on controls. There is also a Viewport3D object which allows you to render 3d objects. A quick Google search also turned up a particle engine, though I can’t verify the effectiveness of it.
Basically, if you’re writing a GUI application, use WPF and learn how to adapt it for your purposes. Don’t force yourself to write an entire GUI/page system in XNA. That’s not what XNA is meant to do, and I know from minimal experience of writing GUI functions for my games that it’s just a major pain.