10

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?

user2066764
  • 185
  • 1
  • 7
  • what platfrom/s you want to target? – Keith Nicholas Feb 20 '13 at 19:53
  • Windows for sure, but I don't mind Linux. – user2066764 Feb 20 '13 at 19:53
  • I'm not the OP, but I'm also concerned. I think [MonoGame](http://monogame.codeplex.com/) can target lots of platforms. – user1306322 Feb 20 '13 at 19:54
  • metro? desktop? phone? :) – Keith Nicholas Feb 20 '13 at 19:54
  • Oh my bad.. Desktop. Hmm I didn't know metro can support games.. – user2066764 Feb 20 '13 at 19:55
  • Hmm, if I used Monogame, would every one who plays my game have to download monogame libraries? Isn't there a way to pack them in with the game? – user2066764 Feb 20 '13 at 19:59
  • Because MonoGame is open-source, you *could* copypaste its code into your game's code, but if it's not necessary, just put the `.dll` files into the game's folder. – user1306322 Feb 20 '13 at 20:00
  • Hmm, the reason I abandoned Xna is because I didn't like the idea of customers downloading and installing Xna libraries that no longer have support. But is it possible to put Xna `.dll` into the game's folder, and prevent the user from having to have to download the whole redistributable package? – user2066764 Feb 20 '13 at 20:05
  • 3
    I never had problems with using old tools from my workshop. They work just fine, it doesn't matter they were made 60 years ago. Same with software. XNA support has stopped very recently, looks like Windows 8 still will support it, so probably until next Windows OS. – user1306322 Feb 20 '13 at 20:10
  • Maybe, I got this great idea for a game, but I don't want it to become unsuccessful just because it's made in Xna. – user2066764 Feb 20 '13 at 20:13
  • You can use WPF with Direct2D. – Dustin Kingen Feb 20 '13 at 20:28
  • @user2066764 You can certainly include the DLL files with your game and that would prevent the customer from needing to have the package installed themselves. – itsme86 Feb 20 '13 at 20:51
  • Good! No need to abandon Xna after all. – user2066764 Feb 20 '13 at 21:03
  • XNA is **not** "unsupported". Microsoft has explicitly stated that it continues to be "supported" (it's just not "in active development"). See [my answer to your follow-up question](http://stackoverflow.com/a/15037854/165500). – Andrew Russell Feb 23 '13 at 06:35

1 Answers1

0

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…

G.Y
  • 6,042
  • 2
  • 37
  • 54
  • 4
    I'm sorry but how is recommending VS2012 and C# addressing the question? – Brian Rasmussen Feb 21 '13 at 06:52
  • did you read the question? he asks what is the better choice now that XNA is not supported - hence my answer of what is the better choice to my knowledge. – G.Y Feb 21 '13 at 13:14