Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Is XNA still worth learning?


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
14 replies to this topic

#1 stein102   Members   -  Reputation: 485

Like
0Likes
Like

Posted 18 October 2013 - 03:28 PM

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?



Sponsor:

#2 Techkid   Members   -  Reputation: 116

Like
3Likes
Like

Posted 18 October 2013 - 03:59 PM

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.



#3 Shane C   Crossbones+   -  Reputation: 1283

Like
0Likes
Like

Posted 18 October 2013 - 04:05 PM

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.

#4 frob   Moderators   -  Reputation: 22684

Like
11Likes
Like

Posted 18 October 2013 - 04:22 PM

XNA is no longer being developed because it is a set of wrappers and utility classes for tools that are no longer being developed.

XNA targets DirectX9, which is not changing. It uses a version of the .NET framework that is not changing. It is targeting platforms like the older X360 which is not changing.

With everything else not changing, there is no point in changing the wrappers. That doesn't mean the interfaces are invalid or not useful, since the underlying technologies will still be running for years to come.


Old technology doesn't suddenly vanish the day people stop updating it. Some things remain in use for many, many years.



If your game is going to target machines and tools from six years ago, then XNA is still viable. If you are just learning how things work, the basics of 3D using Direct3D, or want to program your own hobby game engine, XNA can be a great thing to learn.

Check out my book, Game Development with Unity, aimed at beginners who want to build fun games fast.

Also check out my personal website at bryanwagstaff.com, where I write about assorted stuff.


#5 Manhattanisgr8   Members   -  Reputation: 487

Like
7Likes
Like

Posted 18 October 2013 - 06:38 PM


To do that, I'd need to learn C#/XNA.

 

I taught myself C# using RB Whitaker's book C# Player's guide. Then over the summer I started taking the programming classes taught at my local college where they teach Java. Going from C# to Java was a breeze. Most of the syntax is the same. The only real differences is the naming standards. Like a method in java starts with lower case where a method in C# starts with uppercase. Learning XNA will also be quite easy. Me personally, I am going to continue to use XNA to develop for Windows and the XBox 360. Then switch over to Mono once they have their own content pipeline, which is just an open source version of XNA.


Cpl Alt, Travis A

USMC


#6 3Ddreamer   Crossbones+   -  Reputation: 3160

Like
4Likes
Like

Posted 18 October 2013 - 08:01 PM

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, 18 October 2013 - 08:05 PM.

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


#7 EddieV223   Members   -  Reputation: 1407

Like
2Likes
Like

Posted 18 October 2013 - 10:05 PM

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.


If this post or signature was helpful and/or constructive please give rep.

 

// C++ Video tutorials

http://www.youtube.com/watch?v=Wo60USYV9Ik

 

// Easy to learn 2D Game Library c++

SFML2.1 Download http://www.sfml-dev.org/download.php

SFML2.1 Tutorials http://www.sfml-dev.org/tutorials/2.1/

 

// SFML 2 book

http://www.amazon.com/gp/product/1849696845/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1849696845&linkCode=as2&tag=gamer2creator-20

 


#8 dejaime   Crossbones+   -  Reputation: 4119

Like
2Likes
Like

Posted 19 October 2013 - 09:51 AM

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.



#9 jbadams   Senior Staff   -  Reputation: 19320

Like
5Likes
Like

Posted 21 October 2013 - 03:29 AM


What I'd do? I'd wait.

(Note: I'm not singling you out, but just using the quoted snippet as a jumping off point to respond to the general idea, which a few different people have proposed.)

 

Waiting to see what's announced for XBox One isn't a terrible idea, but I wouldn't suggest just sitting and twiddling your thumbs doing nothing for however long it takes for that to happen -- especially given an option that's viable for a hobbyist or very low budget indie developer may not be forthcoming for quite some time if ever.

 

Why not learn XNA in the meantime and then dump it for a newer library/tool-kit if or when one actually appears.  The benefits of doing so are:

  • You'll get to do something until the XBox one tools are announced and made available.  Doing something is better than doing nothing.
  • You'll get to practice your C# programming skills, which will still be applicable if using C# in future.
  • You'll learn some of the general basics of game development that will still be relevant with a different framework.
  • Your XNA knowledge will transfer almost seamlessly to using MonoGame, which is still under active development and will continue to be supported.
  • With enough time you may even complete a working game that you can still release/show-off/put in your portfolio.

 

By all means drop it for newer tools if and when they're announced, but if waiting for those newer tools is your decision there's no real reason you shouldn't use that time waiting to learn XNA, or try out some other option such as Unity, LOVE, LibGDX, or any of the many other frameworks that are now readily available.



#10 dejaime   Crossbones+   -  Reputation: 4119

Like
3Likes
Like

Posted 21 October 2013 - 12:42 PM

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, 21 October 2013 - 12:52 PM.


#11 EddieV223   Members   -  Reputation: 1407

Like
2Likes
Like

Posted 21 October 2013 - 01:06 PM

If you want to code c# games right now, instead of waiting for xbox one, then use monogame.  It's at least still being updated.


If this post or signature was helpful and/or constructive please give rep.

 

// C++ Video tutorials

http://www.youtube.com/watch?v=Wo60USYV9Ik

 

// Easy to learn 2D Game Library c++

SFML2.1 Download http://www.sfml-dev.org/download.php

SFML2.1 Tutorials http://www.sfml-dev.org/tutorials/2.1/

 

// SFML 2 book

http://www.amazon.com/gp/product/1849696845/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1849696845&linkCode=as2&tag=gamer2creator-20

 


#12 stein102   Members   -  Reputation: 485

Like
2Likes
Like

Posted 21 October 2013 - 06:12 PM

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.



#13 dejaime   Crossbones+   -  Reputation: 4119

Like
3Likes
Like

Posted 21 October 2013 - 07:08 PM

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.



#14 Dan Violet Sagmiller   Members   -  Reputation: 897

Like
1Likes
Like

Posted 21 October 2013 - 09:18 PM

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, 21 October 2013 - 09:20 PM.

Moltar - "Do you even know how to use that?"

Space Ghost - “Moltar, I have a giant brain that is able to reduce any complex machine into a simple yes or no answer."

Dan - "Best Description of AI ever."

My Game(s), Warp Wars is in early development and can be found here: http://blog.WarpWars.Net.


#15 RichGelles   Members   -  Reputation: 101

Like
0Likes
Like

Posted 17 November 2013 - 07:56 AM

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






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