Sign in to follow this  

Is XNA still worth learning?

This topic is 1489 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm mostly a Java developer, but recently I've wanted to try my hand at developing an indie game for Xbox live. To do that, I'd need to learn C#/XNA. I could probably learn them at the same time easily enough by picking up an XNA book and going through that/online examples. My question is, with XNA being unsupported and Xbox One going to be released soon(Support for Indie devs still unannounced), would it be worth it to invest the time into learning XNA?

Share this post


Link to post
Share on other sites

It depends if you are looking to learn XNA for a long time or just for learning purposes. Honestly If you can't wait to make a indie game on xbox live then wait until they announce the language for xbox one. If you can't wait then make your indie game and hope for the best. XNA is very useful as you can use it for flash games and other software tasks.

Share this post


Link to post
Share on other sites
Me and a game programmer talked this subject over once and both agreed, it pretty much isn't worth the time.

I don't know what system most people will be using for XBox One games, but I'm guessing Unity will end up big on them. (Note: I'm not 100% sure of this though.)

But if you have your heart set on XNA, don't let this stop you.

Share this post


Link to post
Share on other sites

Hi,

 

Most people will still be using the device which has DirectX 9c compatibility, even after the new hardware is released soon and updated version comes within the next year.  It will take a couple years for the two station versions to be about at par in numbers, but even then many people will still play Xbox 360 for years into the future.

 

Long term, you really should consider your options there, too. As for computers being a target hardware platform, once a program is installed into the Program Files registry, the Windows Operating System update utility will detect the version of the graphics API (Direct3D/DirectX) which the software needs to fully execute and then provide the end-user with the necessary version of the .NET Framework which contains DirectX 9c support (if not there already, then it should be provided automatically). Of course, any later versions of .NET Framework are backward compatible with DirectX 9c developed programs and software, so later OS are no problem.  I write all this for future reference because the numbers of people who own PCs still continues to climb despite the trends of laptops, tablets, play stations, and smart phones. (Laptops are of course PCs and are mobility devices though not technically in the mobile device category as most people think of that.)  For this reason, learning Mono at this time might be a better option in preparation for the new utilities which are coming, because by the time you are ready to provide serious art assets and include them in development, then Mono will be fully ready for the next generation of PCs and devices.   You may develop now for this generation, but Mono will only get better for years down the road. tongue.png Remember that Mono is also, like XNA, targeting a graphics API which is mature, which means for you that the game source code will never be "broken" for years to come and Mono tool chain itself will only improve with very compatible changes.  Mono after all is fundamentally an implementation of XNA type technology.

 

XNA on the other hand, as already stated, has reached maturity (stopped growing and expanding) with the advantage of stability and reliability.  You need to think carefully about the abilities and goals to make a decision on XNA or not.  I agree with previous writers that as beginning developer, you really can't lose in any case by using XNA.  The stability and maturity of XNA is a tremendous advantage to new developers who need all the help that they can get for the first 1-2 years.  If you actually like debugging, then you might want to consider another option. laugh.png   

 

Xbox in a similar way has no problem in playing DirectX 9c programs for years to come, the way someone pointed to it earlier.  wink.png  

 

Since the previous posts here hit the nail on the head, I only wanted to confirm and explain the reasons why.  

Edited by 3Ddreamer

Share this post


Link to post
Share on other sites

Microsoft has hinted at a replacement for xna.  Probably sometime after the XBOX one is released they will announce some kind of Indie software dev kit including a replacement to xna.  So give it a couple months and see what happens before spending a lot of time on a no longer supported api.

Share this post


Link to post
Share on other sites

If you mean you want to learn a tool for long term programming and development; Microsoft already announced that it has no plans of releasing any more versions of XNA in the future (google <XNA dead> or something like that). Learning XNA now would be the same as studying any abandoned SDKs.

 

Still, it would still be worth it if you simply want to learn the basics on game development, as the "tools" you learn will make little difference on the long run. The most important thing is what you learn. You should really understand object orientation, software architecture, this kind of higher-level stuff. Then, you should pick your language, as C++, C#, and get experience with it, practical experience (not read some books experience). Here, XNA can be a learning tool.

 

But, If you want to target Xbox One, the only thing I think as guaranteed is DirectX (note that I thinking it's guaranteed means sheet).

You can go with Unity, as they have already announced support for it (possible support), but it has a steep cost for an individual indie developer.

 

What I'd do? I'd wait. Wait and see Xbox One tools and Dev Kits, officially announced. Specially when you'll probably have a cross-platform technology to choose and target PS4 and PC as well.

Share this post


Link to post
Share on other sites

I wouldn't suggest just sitting and twiddling your thumbs doing nothing for however long it takes for that to happen

Just to clarify, since I see I've clearly been misinterpreted, when I say wait, I don't mean sit on the couch and watch brainless reality shows eating over salted french fries.

 

I mean study in general, and, once Xbox One support list and development tools is announced, then you worry about Xbox One support. That's what I meant, wait to make this choice specifically.

 

Sorry if I confused anyone.

Edited by dejaime

Share this post


Link to post
Share on other sites

Hey everyone, thanks for all the replies. I really appreciate all the time you guys have put in to answering my questions. I think I'm going to take the common suggestion and "wait" to see what happens for the Xbox One indie support(I saw on the microsoft site that they were planning to have something free for indies anyway).

 

I have a lot of experience in LibGdx and Slick2D, right now I'm working with LibGdx but I don't really like it due to poor documentation and deployment seems like a hastle.

 

So now my three thoughts are:

1) Work on a few projects with LibGdx and try getting a few finished, polished projects done by the time I can work on something for the Xbox One

2) Learn XNA anyways because I have free access to XNA creators club for Xbox360 due to being a student

3) Pick up a SFML book and attempt learning C++/SFML simultaneously (Not sure if good idea)

 

Also, this isn't something I'm going to jump on immediately. I'm working on a fairly large project with LibGdx at the moment, but I like to plan a little ways into the future.

Share this post


Link to post
Share on other sites

3) Pick up a SFML book and attempt learning C++/SFML simultaneously (Not sure if good idea)

 

When I go back to when I started with Game Development with C++, I remember people telling me "Oh, hard stuff", "You'll have to be really dedicated!" and other words of advice (or should I say discouragement?). Well, turned out to be really better than I expected. I simply practice and learn, that's as simple as that. C++ turned out as my favorite language over all others I've learned.

 

I must tell you that it is a little... bureaucratic... but really powerful. Most of what I heard before turned out as unfounded terrorism.

 

It is absolutely possible to learn SFML and C++ simultaneously.

But before that, go ahead, finish your LibGDX project.

Finishing something is the most important part of game dev as I know it.

Share this post


Link to post
Share on other sites

Coursera is offering a free college course on it right now, about halfway through. I believe you can still sign up.  https://class.coursera.org/gameprogramming-001

 

Over 22,000 students are enrolled in it.  Not exactly a small number of people still interested in this...

 

 

Also, a few weeks ago, I released a book on learning XNA and C#, for free.  http://learnbuildplay.com/Training/IndieGameDevBook

 

this is a over 300 pages.  It was intended for print, but I decided to release it for free.  Enjoy.

 

 

I think its fun to use and learn.  However, Unity also uses C#, is free to work with, is Multi OS, and will gain support for XBox One in 2014.  I use Unity now, but I still Use XNA with my students as a precursor to start learning about back buffers, Init/Update/Draw methods, and other common game architectures/models/methodologies.  And as is, XNA still has better 2D support.  Nearly anything you build in XNA (2D or 3D) will run in MonoGame.

Edited by Dan Violet Sagmiller

Share this post


Link to post
Share on other sites

Dan,

                That's very gernerous of you to release your book. And certainly there is much still interest in xna . The 22,000 in the coursera class does in fact prove there is not only interest from existing devs who use it but this course is structured at beginners who most know now about xna future with Microsoft and yet still want to learn it. These are 22000 new folks interested. In fact I guess I am 22001 , I started the course yesterday --Dr T left it open to join. You do not have any feedback etc like a live course but all the lectures etc are accessable. And after going through the first week's worth am very satisfied with it indeed.

 

                 my thoughts ---maybe misgivings is to learn c# and beginnings of xna through this course. See how I progress ---and begin to learn some basic game programming tennets. After that ---I may try to a look at your book and see if I can work my way through it --not sure what level its at ------

 

                 and then -----check out what is out there for c# development and games.

 

Rich

Share this post


Link to post
Share on other sites

This topic is 1489 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

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