Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


Is XNA dying and MS forcing to C++?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
124 replies to this topic

#61 3Ddreamer   Crossbones+   -  Reputation: 3167

Like
0Likes
Like

Posted 23 September 2012 - 05:17 PM

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


Sponsor:

#62 SIC Games   Members   -  Reputation: 617

Like
0Likes
Like

Posted 23 September 2012 - 07:16 PM

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


#63 kd7tck   Members   -  Reputation: 719

Like
2Likes
Like

Posted 24 September 2012 - 12:04 AM


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.


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.

Edited by kd7tck, 24 September 2012 - 12:06 AM.


#64 phantom   Moderators   -  Reputation: 7591

Like
0Likes
Like

Posted 24 September 2012 - 03:56 AM

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.


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 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)

Edited by phantom, 24 September 2012 - 09:28 AM.


#65 phantom   Moderators   -  Reputation: 7591

Like
1Likes
Like

Posted 24 September 2012 - 04:01 AM

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.

#66 kd7tck   Members   -  Reputation: 719

Like
1Likes
Like

Posted 24 September 2012 - 05:37 AM


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.


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).


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.

#67 Krypt0n   Crossbones+   -  Reputation: 2684

Like
0Likes
Like

Posted 24 September 2012 - 08:21 AM


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.

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.

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.

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.

#68 Krypt0n   Crossbones+   -  Reputation: 2684

Like
0Likes
Like

Posted 24 September 2012 - 08:53 AM


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.

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.

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.

#69 6677   Members   -  Reputation: 1058

Like
0Likes
Like

Posted 24 September 2012 - 09:41 AM

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.

#70 phantom   Moderators   -  Reputation: 7591

Like
1Likes
Like

Posted 24 September 2012 - 09:56 AM

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.


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.


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.


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...

#71 Krypt0n   Crossbones+   -  Reputation: 2684

Like
0Likes
Like

Posted 24 September 2012 - 10:15 AM

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.

I'd be happy if everyone would agree with you, that this is the only problem. there is no compiler yet. (usually there are all kind of bogus arguments, like security, or endianess, or compatibility, or...).

( maybe that whole talk that Profl started could be branched out, I feel like we are abusing a valid thread. )

#72 Sooker   Members   -  Reputation: 299

Like
0Likes
Like

Posted 24 September 2012 - 10:27 AM

What do you think is better. Choosing Monogame or the low level SharpDX?

#73 winsrp   Members   -  Reputation: 273

Like
0Likes
Like

Posted 24 September 2012 - 11:30 AM

I wan't xna 5, with dx11 support... I don't want to use c++, had a very traumatic experience in it. Sad to hear is either dying in on-going support or even dead already.

#74 6677   Members   -  Reputation: 1058

Like
1Likes
Like

Posted 24 September 2012 - 01:28 PM

What do you think is better. Choosing Monogame or the low level SharpDX?

Depends on the aim. As a straight XNA replacement then Monogame. If you want to get closer to the hardware etc then SharpDX. There is also OpenTK if you would rather have cross platform (openGL for mono/.net) although I don't think its actively developed anymore.

Edited by 6677, 24 September 2012 - 01:29 PM.


#75 Sooker   Members   -  Reputation: 299

Like
0Likes
Like

Posted 24 September 2012 - 01:43 PM

i want to start making some small 2D games, so monogame seems to be the way to go?

#76 6677   Members   -  Reputation: 1058

Like
2Likes
Like

Posted 24 September 2012 - 02:27 PM

I would say yes if your aim is 2d. DX has 2d but its not as easy to use as monogame/XNA

Edited by 6677, 24 September 2012 - 02:30 PM.


#77 devbyskc   Members   -  Reputation: 117

Like
0Likes
Like

Posted 24 September 2012 - 04:57 PM

I too am beginning to do game development and decided to try XNA 4.0 with Visual Studio 2010. My basis is that there are a lot of people out there who do not "instantly" upgrade to the latest Microsoft has to offer. Microsoft seems to push out new technology and leave older stuff to whither. But IMHO that is a bad business model. Outside of the USA and possibly the EU, many countries still rely on Win XP and Win 7. So I decided to continue focus on the Win7 desktop market. So far I've been happy with the decision. XNA 4.0 within Visual Studio 2010 gives me all the tools I need to do my game development. Additionally other open source vendors have complementary tools which also fit this environment.

For other newbies like me, I would recommend staying the course with XNA. I have heard that Monogame is planning to release their framework for the Win 7 environment later this year. In conjunction with MonoDevelop that would make a nice alternative to XNA should anyone decide to migrate away from it.

#78 kd7tck   Members   -  Reputation: 719

Like
0Likes
Like

Posted 24 September 2012 - 07:00 PM

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.


They are open source friendly, just because you don't release your whole code base doesn't mean you hate open source. The guys behind these companies have always worked with open source projects, like improving open driver compatibility, even now valve is working with linux programmers on many projects. They are not going to throw their hard work out in the open, that would be stupid man. They are smart about it and fund projects that write patches for open source projects of all types.

Edited by kd7tck, 24 September 2012 - 07:03 PM.


#79 ATC   Members   -  Reputation: 551

Like
0Likes
Like

Posted 24 September 2012 - 07:32 PM

I too kinda feel like XNA is in it's death throes, and I would agree that MS is trying to make it slowly "fade away" rather than outright killing it and making a whole bunch of people cry. The problem with XNA from the beginning was building it with Direct3D9 as a back-end... D3D9 is extremely outdated and vastly inferior to 10 and 11. And XNA also leaves you stuck with only x86 (32-bit) applications. XNA's greatest strength (compatibility with multiple platforms: XBox, PC, Zune, WP7...) is also its greatest weakness; because compatibility with less powerful platforms means that PC games will suffer. I flirted with XNA for quite a while but soon abandoned it in favor of SlimDX.

I strongly suggest migrating from XNA to SlimDX. SlimDX is almost exactly like regular DirectX but with C# and the .NET Framework. In many ways this makes it an even more powerful tool (to me, at least). SlimDX is developed and supported actively by some very brilliant programmers, and it's extremely well written and stable. It has been used in commercial applications successfully, and I think it will only continue to grow in the future as more people become interested in it.

So make the switch to SlimDX. You'll never look back. It may be a bit difficult for you, at first, to deal with DirectX's technical complexity if you're coming from an XNA and/or Python/scripting background. But it will be worth the effort. Once you learn SlimDX it will be easy to learn native DirectX (provided you know some C/C++).
_______________________________________________________________________________
CEO & Lead Developer at ATCWARE™
"Project X-1"; a 100% managed, platform-agnostic game & simulation engine


Please visit our new forums and help us test them and break the ice!
___________________________________________________________________________________

#80 IndyOfComo   Members   -  Reputation: 633

Like
0Likes
Like

Posted 25 September 2012 - 09:14 AM

Part of this conversation has been "well, if your focus is this, then [blank]". Forgive the complete newbish question but what about those whose focus is XBLIG? Do these other options even matter to them?

Edited by IndyOfComo, 25 September 2012 - 09:15 AM.

Here is my technical background info.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS