问题
Xna is unsupported, and unfortunately I started game programming recently(~9 months). What is a better choice, DirectX or OpenGl.
Now, I don't think DirectX or OpenGl have official libraries for C#, so which one would be better for a newcomer?
I heard of stuff like Mono, SharpDx, and SlimDx.. But are there any advantages of DirectX over OpenGl, vice versa.
Also, what are these Mono, SharpDx, and SlimDx called? Do they have a certain name?
回答1:
No surprise in XNA status...
I do remember when we had Managed DirectX once upon a time :)
I think that if you targeting Windows OS you should use VS2012/C# as to this date VS is the richest most straight-forward and highly convenient IDE out there. C# as language is very academic in nature - nothing gets in that language before MS do a substantial investigation of the abstract mathematical models which relate to OOP/OOD. So in that sense they serve as a "big uncle" which make sure to clear the way as much as possible from bad design or design flaws that lurks in the developer path..
In other words, it is much harder to make something that work with design flaws in C#.
DirectX in that sense is just a bunch of DLL’s you can incorporate into your game to give it the UI you want.
If you plan to target more OS’s, I would recommend Code-Blocks as IDE and OPENGL as your UI provider, but keep in mind that it is C++ programming which is less convenient, not to mention you will open your application to specific errors which may occur in specific OS’s..
Your last option is Java based, which gives you the benefits from both of the options I mentioned, but will be around 44% slower in execution which to my taste discharges it as a good option for games.
You need to consider your budget very carefully when you choosing your development path, In Example, consider how much it will cost to QA your game in cross platform situation vs. just in windows…
来源:https://stackoverflow.com/questions/14988709/now-that-xna-is-unsupported-what-is-a-better-choice