Is XNA dying and MS forcing to C++?

Started by
123 comments, last by viper110110 11 years, 5 months ago
To ask a newbie question, aren't we forgetting the desire of most - if not all - of us to maintain a standard cross-platform framework which allows any game developer to keep his or her preferences and deliver to the desired fan base? This is why I believe that the framework is the area of most competition, not the languages or the software. In order to get at the desired framework, doesn't that beg for an I.D.E., making this really a war of the IDEs?

Isn't this the real issue of the thread under the surface?... I see the competition as creating more demand for open source solutions and any company closing a technology is only excellerating the demand for open source solutions for people to continue using XNA or any other technology.


Clinton

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

Advertisement

I have heard rumors from the grapevine, some people I know who work at microsoft are saying there is a replacement for xna comming.

I personally feel they will be bundling it with the next version of directx, basicaly a metro version of xna.


The DirectXMath.h Library that ships with VS 2012. I believe that's what you're talking about. It also has Triangletest collision, BoundaryBox collision tests, and other functions. I'm currentlying using DirectXMath.h and DirectXPackedVector.h inside the game editor. Additional notes, VS 2012 Ships with D3D11.1.

In my previous attempts at XNA 4.0 - I kinda liked it, it was easy but some complaints from others say the FBX Pipeline blows.
Game Engine's WIP Videos - http://www.youtube.com/sicgames88
SIC Games @ GitHub - https://github.com/SICGames?tab=repositories
Simple D2D1 Font Wrapper for D3D11 - https://github.com/SICGames/D2DFontX

[quote name='ProfL' timestamp='1348440138' post='4983037']
especially if it's build solely by one company and their marketing department.
... snip ...
Standards are the way to keep your freedom of choosing what and how you want to develop.


The first part of your post wasn't bad, but that one line was idiotic and trollish.

The second line is equally silly. You do realize that C# is ratified as a ECMA standard language right? By your logic people *SHOULD* use C# for exactly this reason.

When it comes to graphics libraries, it was actually being an open standard that caused OpenGL to stumble and DirectX to become king. D3D pre-9 were basically shit, and D3D9 took a number of revisions to get to the point of being better than OpenGL. However, they could move quickly and did, while OpenGL died a slow death by committee. The move to a programmable pipeline is the only thing that saved GL in the end.
[/quote]

What saved openGL ultimately was that directx only runs on microsoft devices. Mac/Unix/Linux/Android/PS3.... All use OpenGL.

Directx only became king because microsoft partnered with game companies and funded hundreds of game titles in the late nineties. They flooded the markets with windows only games and this set the standard from that point onward.

What saved openGL ultimately was that directx only runs on microsoft devices. Mac/Unix/Linux/Android/PS3.... All use OpenGL.


All good... you know, part form the fact that Android uses OpenGL|ES (aka OpenGL's saner relation) and the PS3 doesn't use GL at all.
(An OGL|ES layer exists for the PS3 but no one in their right mind uses it...).


Directx only became king because microsoft partnered with game companies and funded hundreds of game titles in the late nineties. They flooded the markets with windows only games and this set the standard from that point onward.
[/quote]

OpenGL was still the renderer of choice in the late 90s and very early 2000s; I was still playing Counter Strike on the[s] source engine [/s] Half-Life engine using OpenGL as late as 2001, UT's OpenGL renderer was better than the D3D one of the time and iD was still pushing OpenGL solutions. D3D9 came out, stopped doing dumb things and the ARB utterly failed to bring matching functionality for some time (look up the history of the VBO and FBO extensions for example of features which massively lagged D3D due to IHV infighting) and have managed to stumble time and time again (OpenGL2 & OpenGL3 being the big ones, the last being the one which finally made me go 'screw this noise..' and swap to using D3D).

(edit: correction to my earlier brain fart with regards to HL/Source engine confusion)

I like c++, yet for WP7 and Xbox-Indie I'd be forced to one particular language, although there is no reason something else wouldn't run.


Correct, you can use C++ on the XBox... if you are willing to pay for all the certification fees to make sure your game doesn't do something its not meant to do.

Using .Net let MS sandbox XNA apps so they couldn't run riot over your console, which are generally completely locked down devices, and gave people a chance to release games on it. Now I think some of it was very broken (for example most of the floating point power of a 360's CPU is in the vector units and their SIMD operations, however last I checked this wasn't exposed) however it is still a chance you wouldn't get without dropping thousands of dollars to have tested etc which raises a massive barrier for entry.

Welcome to the reality of wanting to run untrusted code on what is effectively a 'trusted' platform - you either get things signed or play in the sandbox.

[quote name='kd7tck' timestamp='1348466683' post='4983118']
What saved openGL ultimately was that directx only runs on microsoft devices. Mac/Unix/Linux/Android/PS3.... All use OpenGL.


All good... you know, part form the fact that Android uses OpenGL|ES (aka OpenGL's saner relation) and the PS3 doesn't use GL at all.
(An OGL|ES layer exists for the PS3 but no one in their right mind uses it...).


Directx only became king because microsoft partnered with game companies and funded hundreds of game titles in the late nineties. They flooded the markets with windows only games and this set the standard from that point onward.
[/quote]

OpenGL was still the renderer of choice in the late 90s and very early 2000s; I was still playing Counter Strike on the source engine using OpenGL as late as 2001, UT's OpenGL renderer was better than the D3D one of the time and iD was still pushing OpenGL solutions. D3D9 came out, stopped doing dumb things and the ARB utterly failed to bring matching functionality for some time (look up the history of the VBO and FBO extensions for example of features which massively lagged D3D due to IHV infighting) and have managed to stumble time and time again (OpenGL2 & OpenGL3 being the big ones, the last being the one which finally made me go 'screw this noise..' and swap to using D3D).
[/quote]

The source engine didn't come out until 2003 when it was stolen by hackers, I have no idea where you got 2001. Valve and ID have always been open source friendly, some of their early games where openGL because they wanted to port them some day. Just because early directx was garbage doesn't mean it wasn't heavily used. As I recal most OpenGL games made back then where also D3D, if need be. The few years where the infighting did hold it back is over with now. It only lasted a couple years and I feel the vendors learned allot from it.

OpenGL will always be around regardless of it's slight ineriority to Directx, all becuse it runs on almost everything. Yes I an OpenGL fan admit directx is slightly better, ...just slightly.

By the way I love OpenGL|ES, I always assumed it was openGL. My bad on that.

[quote name='ProfL' timestamp='1348440138' post='4983037']
especially if it's build solely by one company and their marketing department.
... snip ...
Standards are the way to keep your freedom of choosing what and how you want to develop.


The first part of your post wasn't bad, but that one line was idiotic and trollish.[/quote]don't be harsh, maybe you just haven't got it.

The second line is equally silly. You do realize that C# is ratified as a ECMA standard language right? By your logic people *SHOULD* use C# for exactly this reason.[/quote]that's worth nothing. It's still just one company that is driving it and owning the rights. similar to Java, where there are even big communities, even google added it to Android, with knowledge of Sun. Now that Oracle owns the java rights, the game completely changed, a lot of those communities are ignored by them and companies that use Java get sued. Even C# was born as MS was sued for extending Java in their J++ with their own extensions, although everyone can do that by writing java beans. A standard by just one company driving it, producing tools etc. -> that should deserve your judgment of "idiotic and trollish"

When it comes to graphics libraries, it was actually being an open standard that caused OpenGL to stumble and DirectX to become king. D3D pre-9 were basically shit, and D3D9 took a number of revisions to get to the point of being better than OpenGL. However, they could move quickly and did, while OpenGL died a slow death by committee. The move to a programmable pipeline is the only thing that saved GL in the end.
[/quote]DX7 was good and even DX6 was quite useable. but you still hear a lot of developers (hardware and software guys), that DirectX (11) is just less bad, it's not really what most people want. Most HW vendors are not happy about how MS dictates features and API, and also how slow it is to add any feature. There are also random restrictions and arbitrary features that don't represent the HW at all, e.g. half a dozen types of unordered access buffers. But I have big doubts DX superpassed OGL because of standard vs non-standard. There are a lot of standards, like most of the W3C ratified, that work out quite well.
This thread of people being afraid MS could kill their beloved XNA is the proof. There is nobody worrying that the STL or Boost or OpenGL or HTTP or... might die or might diverge completely because of one company. it might die if the support ends because it's no longer used, but not because this one big company kills it.

[quote name='ProfL' timestamp='1348440138' post='4983037']
I like c++, yet for WP7 and Xbox-Indie I'd be forced to one particular language, although there is no reason something else wouldn't run.


Correct, you can use C++ on the XBox... if you are willing to pay for all the certification fees to make sure your game doesn't do something its not meant to do.
[/quote]I'm afraid you're mixing up something, to a big degree!
running in a sandbox/VM is not related to the language of your source code at all, there are a dozen languages that can compile to CLI used by .net ( check out http://en.wikipedia....f_CLI_languages ),
you could just as good compile c++ to an IL compatible with the VM they run on xbox like you can with c#. e.g. Adobe's Alchemy compiler allows you to compile c++ code for the Flash VM. it runs about 10times faster than Action script code, yet it's just as secure as AS written programs.
A VM is nothing else than a virtual CPU (or rather a whole system, but as for the language, just the cpu matters), it's not an interpreter or something for some particular language, it reads op-code by op-code and executes it. it does not know anything about the source, nor the compiler used.



Welcome to the reality of wanting to run untrusted code on what is effectively a 'trusted' platform - you either get things signed or play in the sandbox.
[/quote]the trusted platform or sandbox is not .NET. Microsoft doesn't read over megabytes of assembly/opcodes during their TRC checks to validate native code, that would simply not work out. MS is keeping the 'client' binaries in an protected area that is separated from the OS by hardware (nearly every modern CPU works this way). If you would not call any system functions, you could in fact do whatever you want (as long as there is no HW bug), you'd not escape the protected area and you'd not be able to do any harm to the Xbox.

There are exploits to escape this protection on every OS, buy abusing programming bugs in the system functions. but there are also exploits for VM/Sandboxes. it's really not related to the language of the source. there is a simple proof, you can also create a disassembler that converts a compiled binary into the source code for any other (Turing complete) language and compile it again and run it. One I've used for c++ to java: http://nestedvm.ibex.org/

please, feel free to proof me wrong, but so far the language limitation doesn't seem like a technical reason.

I'm afraid you're mixing up something, to a big degree!
running in a sandbox/VM is not related to the language of your source code at all, there are a dozen languages that can compile to CLI used by .net ( check out http://en.wikipedia....f_CLI_languages ),

Well the only problem there is that the xbox uses the .net compact framework which has an altered compiler. VB.net and C# just seem to be the ones with the closest to full function compiler. I'm pretty sure that if you found a decent compiler for lets say Boo (no real reason) that it would still play nicely on the xbox.

The source engine didn't come out until 2003 when it was stolen by hackers, I have no idea where you got 2001.


Sorry, that was a brain-fart on my part : I meant Half-Life Engine.
(Although Source is just the evolved HL Engine but that's just splitting hairs ;))


Valve and ID have always been open source friendly, some of their early games where openGL because they wanted to port them some day. Just because early directx was garbage doesn't mean it wasn't heavily used. As I recal most OpenGL games made back then where also D3D, if need be. The few years where the infighting did hold it back is over with now. It only lasted a couple years and I feel the vendors learned allot from it.
[/quote]

I don't quite know why you think were Open Source friendly from; while iD have indeed released older engines as open source for some time they were closed to the point where you weren't allowed to use their tools to create levels for your own game. Valve have no Open Source pedigree that I can think of; they might put out some papers but I can't ever recall them throwing source out into the open.

iD's games started off life as software rendered, the move to OpenGL came later with GLQuake being released around the time of Win95 and the rise of the Voodoo cards; back then it was OpenGL or Glide : D3D was about but not widely used although MS were trying to push it. Valve get involved due to their licensing of the OpenGL based Quake engine (which then got some of the Quake2 upgrades) which is why it was primarily a software/gl based engine at the time. This had nothing to do with wanting to port things, this was just the state of technology at the time.

Some games did gain D3D support, HL and UT did indeed have D3D renderers but for a long time they were rubbish when compared to the OpenGL based ones - slower and lower image quality tended to be their hallmarks while OpenGL, and indeed the Glide based renders, were much nicer to look at. (I accidently used D3D to render CS once... I very quickly went back to OpenGL as it was simply better at the time).

The ARB infighting lasted long enough to scupper at least 2 OpenGL versions and slow development down which is what ultimately has done OpenGL in when it comes to AAA development cycles - in a world where D3D is king and the better API (in the form of D3D11) the desire to use OpenGL is low unless you want to port and then its saner to put a layer over your API and target D3D on windows anyway as thats where the stability and speed remains (as well as the tools).


OpenGL will always be around regardless of it's slight ineriority to Directx, all becuse it runs on almost everything. Yes I an OpenGL fan admit directx is slightly better, ...just slightly.
[/quote]

OpenGL needs to stay around and it needs to be strong to force development; if not things will stagnate. Right now it is still lacking the former (being able to run on minority platforms of Linux and OSX isn't, in the AAA sense, much of a draw; if we can drop XP/DX9 support when the market is still 10%+ the sub-10% combined apprent market of Linux and OSX has no real draw for the engineering cost).

I used OpenGL for a good 8 years before switching; up until DX9 it really was a case of 'whatever floats your boat' API wise - but with the GL3.0 fuck up I gave up on the ARB being able to do something sensible with OpenGL and thus my move to D3D land where things are nicer and given I've always just run a windows system (Well, I did play with linux for a while and concluded 'meh' some years back) there was no great loss.


By the way I love OpenGL|ES, I always assumed it was openGL. My bad on that.
[/quote]

Well, as I said, OpenGL|ES makes sense - it is the saner, stripped down, relative.
Hell, if OpenGL Longs Peak had happened then chances are I'd be using OpenGL myself still.. but it didn't and because of that I still refuse to trust the ARB will do somethinig sane any time soon and thus just watch OpenGL stagger forward from a distance...

This topic is closed to new replies.

Advertisement