Sign in to follow this  
Havok635

What to write with now?

Recommended Posts

So since xna is more or less dead now, what is the best next programming language to write with? I mean I'd love to write a game for the xbox but you can't now :/ Any ideas? Thanks in advance

Share this post


Link to post
Share on other sites

This seems to come up a lot lately, and the sentiment is false. You can still download it right here.

 

Just because they are done updating it does not mean you can't use it. XNA is still a great framework for making Windows games and you CAN still write games for the Xbox.

 

Further, MonoGame exists and is more or less a cross platform port of XNA.

Share this post


Link to post
Share on other sites

To expand on Jutaris' comments, XNA is not DEAD. It's just not being developed anymore.

 

However, everything that XNA has done in the past (PC/Xbox/Windows Phone 7 games), you can STILL DO. You can still get XNA, you can still write games with it, you can still release those games on any of the ever-supported platforms.

 

All "XNA is dead" really means, as it's stated is that Microsoft is no longer planning new revisions of it, so we're stuck with XNA 4.0 unless they change their minds.

Share this post


Link to post
Share on other sites

Hey thanks for the replies. This is good to hear because I love working with C#, just codes friendlier than C++ in my opinion. Plus I HATE pointers. Anyway even though I can still write with it I cant submit anything to the xbox indie market, so I can develop but not potentially sell. Anything on that?

Share this post


Link to post
Share on other sites

You need to sign up for a creator's club account to be able to submit to Xbox Live Indie Games. It's $99/year, but it's what allows you to develop and release on the Xbox.

 

People are still releasing XBLIGs, so it's definitely not disabled :)

Share this post


Link to post
Share on other sites

It's Progress, go back to 2007 the rave was Managed DirectX using C# and DirectX 9, MS then formalized that with XNA making it easier to write managed DirectX code, we're now in the space age of Windows 8, Metro UI, Tablets etc.. and MS will come up with some new way to use Managed code with DirectX 11, probably get announced after XBOX 720 has been finalized. Although it is strange that they would announce dropping support before announcing the new methodology, but of Course what we're all discussing is leaked info by some DIrectX MVP's and not official MS Headlines.

Share this post


Link to post
Share on other sites

 Firstly, yeah, you still can. I haven't seen anything, nor does the creators club site in any way indicate that XBLIG submissions are no longer being accepted. If you have a link showing something to the contrary, I'd love to see it.

 

Now, if you're in an unsupported region, don't have the cash for a membership, or are simply wary of the profitability of the XBLIG portal, well, those are all valid concerns.

 

Don't let them stop you from using XNA though. There's are tons of other selling opportunities both on Windows or on other platforms (via MonoGame or Xamarin for iOS and/or Android). Sites like The Humble Store, Desura, Gamers Gate... You can sell it for yourself.

 

But before you think about all that stuff, start making your game :)

Share this post


Link to post
Share on other sites

But before you think about all that stuff, start making your game

lol fair enough. :p Just don't want to write a game then have to recode the entire thing in a new language.

And I tried for 4 months now to join the creators club but it just sites there loading for eternity. I can't sign up :/

Share this post


Link to post
Share on other sites

If you are currently using C# and XNA, and comfortable, then stick with it.  I wouldn't worry until its no longer used for the XBox.

 

Push comes to shove, for making money from your games, you could switch to Java and Android.  C# and Java are very similar and if you are at the point where you are making money from your games then learning the Android side shouldn't be a problem.

Share this post


Link to post
Share on other sites

Hey thanks for the replies. This is good to hear because I love working with C#, just codes friendlier than C++ in my opinion. Plus I HATE pointers. Anyway even though I can still write with it I cant submit anything to the xbox indie market, so I can develop but not potentially sell. Anything on that?

You realise that they have probably scheduled to announce there next console right? And that if they are allowing development for it, it will probably take the approach that WP8 has taken, C++/CLI combined with D3D. So in effect they already have announce the new way of doing this. And this really shouldn't surprise you, as with X360 the next version will most likely run a stripped down version of Windows in the background as OS. And seeing that they are moving to one kernel rules all devices it is very likely that the next version is Windows 8 based.

Share this post


Link to post
Share on other sites

Hey thanks for the replies. This is good to hear because I love working with C#, just codes friendlier than C++ in my opinion. Plus I HATE pointers. Anyway even though I can still write with it I cant submit anything to the xbox indie market, so I can develop but not potentially sell. Anything on that?

You realise that they have probably scheduled to announce there next console right? And that if they are allowing development for it, it will probably take the approach that WP8 has taken, C++/CLI combined with D3D. So in effect they already have announce the new way of doing this. And this really shouldn't surprise you, as with X360 the next version will most likely run a stripped down version of Windows in the background as OS. And seeing that they are moving to one kernel rules all devices it is very likely that the next version is Windows 8 based.

You can use C# on WP8 - why would you think this won't be possible on the next Xbox?  Of course, nobody knows except Microsoft at the moment, but I wouldn't expect them to limit development to be only based on C++.  If anything, Win8 shows that there is a plethora of supported languages to use, so I wouldn't be too worried about losing C# support.

Share this post


Link to post
Share on other sites

 

Hey thanks for the replies. This is good to hear because I love working with C#, just codes friendlier than C++ in my opinion. Plus I HATE pointers. Anyway even though I can still write with it I cant submit anything to the xbox indie market, so I can develop but not potentially sell. Anything on that?

You realise that they have probably scheduled to announce there next console right? And that if they are allowing development for it, it will probably take the approach that WP8 has taken, C++/CLI combined with D3D. So in effect they already have announce the new way of doing this. And this really shouldn't surprise you, as with X360 the next version will most likely run a stripped down version of Windows in the background as OS. And seeing that they are moving to one kernel rules all devices it is very likely that the next version is Windows 8 based.

You can use C# on WP8 - why would you think this won't be possible on the next Xbox?  Of course, nobody knows except Microsoft at the moment, but I wouldn't expect them to limit development to be only based on C++.  If anything, Win8 shows that there is a plethora of supported languages to use, so I wouldn't be too worried about losing C# support.

What I was meaning is that the only way to interact with D3D to do any real graphically rendering from C# is through a native component, and you can bet that that's C++/CLI to do the interop with the C# application. http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj662943%28v=vs.105%29.aspx#BKMK_NativeonlyApplications


 

Share this post


Link to post
Share on other sites

What I was meaning is that the only way to interact with D3D to do any real graphically rendering from C# is through a native component, and you can bet that that's C++/CLI to do the interop with the C# application. http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj662943%28v=vs.105%29.aspx#BKMK_NativeonlyApplications

Is that different than XNA?  I don't think so - XNA is just a managed library written over the native interfaces to use the D3D COM based interfaces.

 

Even so, what is wrong with using something like SharpDX or SlimDX to use the API???

Share this post


Link to post
Share on other sites

Well risking sounding ignorant, I dont know what xna operates through or whatever. I haven't programmed in really a year so I'm rusty. I would just like to know if I should really consider relearning c++ or I can stick with what I know with c#. I've already been considering java for my first game since it will be server heavy. Again thank you all though for your replies. Its good to learn about all this stuff and its relationships

Share this post


Link to post
Share on other sites

Well risking sounding ignorant, I dont know what xna operates through or whatever. I haven't programmed in really a year so I'm rusty. I would just like to know if I should really consider relearning c++ or I can stick with what I know with c#. I've already been considering java for my first game since it will be server heavy. Again thank you all though for your replies. Its good to learn about all this stuff and its relationships

You can do either one - the option is yours.  There are direct bindings to the 3D APIs from C++, and there are also libraries available that make this functionality available from C# too.  There is not a big penalty for sticking with C#, and you always have the option to fall back to C++.

Share this post


Link to post
Share on other sites

Disclaimer: I haven't really tried XNA, so some of my assumptions may be wrong. I code in C++/DirectX 11 myself.

 

Microsoft seem to be focusing on C++ a lot lately, especially the new C++11 standard. I don't know how this ties into Xbox 720 yet, but we might just find out in April.

 

Two devs from XNA/DirectX have written a library called DirectX toolkit. It contains a lot of the functionality from XNA (http://directxtk.codeplex.com/).

 

With the new C++11 standard I feel that C++ has become easier and safer to use. You don't need to use the old-style pointers, you can just use unique_ptr or shared_ptr .There are a lot of videos available on channel9 about the new features. The ones from Herb Sutter are particularily good. Here are two intro videos in case you're interested:

 

Bjarne Stroustrup: http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Keynote-Bjarne-Stroustrup-Cpp11-Style and

Herb Sutter: http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond

Edited by Corvwyn

Share this post


Link to post
Share on other sites

Hey thanks for the replies. This is good to hear because I love working with C#, just codes friendlier than C++ in my opinion. Plus I HATE pointers. Anyway even though I can still write with it I cant submit anything to the xbox indie market, so I can develop but not potentially sell. Anything on that?

 

If C# is your cup of tea, there's always Managed DirectX.  I personally don't like C#, so I've never used it, but I've seen some interesting things evolve from it.  And even though Microsoft doesn't have any updates planned for it, that doesn't mean it's useless either.  It's possible that there isn't anything relavent to add to it, or their man power is being directed elsewhere to make something better than XNA. happy.png

 

I'm curious, what do you have against pointers?  

Share this post


Link to post
Share on other sites

Disclaimer: I haven't really tried XNA, so some of my assumptions may be wrong. I code in C++/DirectX 11 myself.

 

Microsoft seem to be focusing on C++ a lot lately, especially the new C++11 standard. I don't know how this ties into Xbox 720 yet, but we might just find out in April.

 

Two devs from XNA/DirectX have written a library called DirectX toolkit. It contains a lot of the functionality from XNA (http://directxtk.codeplex.com/).

 

With the new C++11 standard I feel that C++ has become easier and safer to use. You don't need to use the old-style pointers, you can just use unique_ptr or shared_ptr .There are a lot of videos available on channel9 about the new features. The ones from Herb Sutter are particularily good. Here are two intro videos in case you're interested:

 

Bjarne Stroustrup: http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Keynote-Bjarne-Stroustrup-Cpp11-Style and

Herb Sutter: http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond

Hey thanks for pointing out that stuff on C++, it might make going back to it a little less painless.

 

I'm curious, what do you have against pointers?

Well maybe its because I never truely had a decent grasp on the concept, but I always seem to get undesired results with them. Values and exceptions all over the place. I guess I just like how C# makes errors less likely. And I can return an array without haveing to use a pointer which again I seem to have error issues with

 

I'm mostly self taught btw, so by no means do I consider myself a professional programmer

Share this post


Link to post
Share on other sites

^ I'm also self taught (with the exception of a C++ class I took in high school, which didn't even touch pointers), so I guess I understand that.  You probably got off on the wrong foot with pointers.  For me, pointers are an absolute must and I'd go crazy without them.  Sometimes they can get confusing (especially double pointers).  If they are a problem, then I guess I'd recommend C++11 and concur with Corvwyn.

 

I've gotten used to managing pointers manually (in pure C) to the point where I think nothing of it.  

 

Shogun

Edited by blueshogun96

Share this post


Link to post
Share on other sites

In my opinion there's also the matter of productivity. By using unique/shared_ptr you avoid any nasty side-effects that might happen, and it takes less time to write code since you don't have to think of cases like that. There's a reason XNA and C# gained such popularity, and productivity is definitely one of them.

 

Things like this, along with other language improvements and the new libraries for DirectX should make C++/DirectX a much easier development choice than it was before. Sure, it might not be XNA, but it's becoming easier to use. This might be what the thread starter is looking for. 

 

Of course there will be a slight performance loss when using smart pointers, but as long as you use them as intended it should be negligible. unique_ptr should have virtually no performance loss. I use these almost exclusively, except in some lower level code. That being said, you should definitely learn how pointers work. The good thing with C++ is that you can always optimise if you find bottlenecks. If there's one thing I've learned to get things done, it's not to optimise prematurely. I'm not an expert here though. I'm apparently more of a tech demo developer and I haven't really finished a game yet :p

 

Hmm... This is starting to sound like a Microsoft/C++11 rant. I'd better stop.

Edited by Corvwyn

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this