What is the best for the futur ?

Started by
13 comments, last by amethyste 15 years, 3 months ago
I don't know ... between OGL, DX and XNA. I developp in C# and I want learn a new api but I want not invest time in a dead api. MDX is dead. XNA in the futur ? OGL ? (dead?) SlimDX ? C# can make a good game with good ratio time/performance, but the api ...
Advertisement
I personally would head for OpenGL as it (or subsets of it) generally work on more platforms, whereas DirectX restricts you and your users to Windows. But then it's a matter on what exactly you want to support.
You really need to define your target application(s) and target audience. You then choose the most appropriate technology to satisfy these two end goals.

OpenGL is not dead, but has had a lot of negative press lately and is perceived as a bit behind the times. My take is that the main (possibly only) serious motivation for developing new software with OpenGL is if non-Microsoft environments is important (refer to target audience point above).

MDX is dead, avoid it.

XNA is more gaming-centric and has the big advantage of allowing access to XBox 360.

SlimDX is a good bet and much closer to the 'pure' DirectX API thus more flexible for type of application. Whilst it shouldn't make any odds, you should remember it is a community effort rather than an officially supported API.


hth
Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

Quote:Original post by jollyjeffers
You really need to define your target application(s) and target audience. You then choose the most appropriate technology to satisfy these two end goals.


Agreed. Assuming the first item is "games" your target audience basically breaks down into two categories:

Windows gamers
Non-Windows gamers

If you're only interested in the first group I'd suggest XNA. As Jack said, you get the bonus of 360 support for free, which you can't do with SlimDX. If you're interested in the 2nd group OGL is about your only option.

Former Microsoft XNA and Xbox MVP | Check out my blog for random ramblings on game development

I want make a RTS.
I developp in C++/SDL/OGL and now I want use C#.
So I serach a good api in the time with very good performance.

I don't know between XNA and DX with slimDX
And, which platform/s do you aim for?
Can anyone clear this up for me?

I just started programming games using C++. I am using DirectX. (I will also be learning OGL this semester at school).

I am hoping the MDX is dead doesn't imply anything about the usefulness of learning DirectX...
Is anything going to replace DirectX in the future that I should be looking out for? As for the future of game programming, should I look to learn C# etc. ?
Quote:Original post by desmos
Can anyone clear this up for me?

I just started programming games using C++. I am using DirectX. (I will also be learning OGL this semester at school).

I am hoping the MDX is dead doesn't imply anything about the usefulness of learning DirectX...
Is anything going to replace DirectX in the future that I should be looking out for? As for the future of game programming, should I look to learn C# etc. ?
MDX is only used in C# (As far as I understand it anyway). If you're using C++, DirectX 9 and DirectX 10 / 11 will be around for a long time to come.
Quote:Original post by desmos
As for the future of game programming, should I look to learn C# etc. ?

Depends on your goal. If you want to get into the industry you'll need to know C++ and DirectX. If you want to do games on the side as an indie, see my recommendations above.

Former Microsoft XNA and Xbox MVP | Check out my blog for random ramblings on game development

C++, C#, Java, D3D, GL, Eclipse, Collada and many other libraries. It's all good stuff to know.
Sig: http://glhlib.sourceforge.net
an open source GLU replacement library. Much more modern than GLU.
float matrix[16], inverse_matrix[16];
glhLoadIdentityf2(matrix);
glhTranslatef2(matrix, 0.0, 0.0, 5.0);
glhRotateAboutXf2(matrix, angleInRadians);
glhScalef2(matrix, 1.0, 1.0, -1.0);
glhQuickInvertMatrixf2(matrix, inverse_matrix);
glUniformMatrix4fv(uniformLocation1, 1, FALSE, matrix);
glUniformMatrix4fv(uniformLocation2, 1, FALSE, inverse_matrix);

This topic is closed to new replies.

Advertisement